From 63706803d89edd7ec88490b19230a9977bb9c878 Mon Sep 17 00:00:00 2001 From: wenshao Date: Tue, 20 Sep 2011 12:26:07 +0000 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85HADataSource=E7=9A=84?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit git-svn-id: http://code.alibabatech.com/svn/druid/trunk@891 b9813039-fb51-4c41-a8b9-e21c2acb5095 --- .../pool/ha/MultiDataSourceStatement.java | 11 ++++++++-- .../druid/bvt/pool/ha/HADataSourceTest.java | 21 +++++++++++++++++++ 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/alibaba/druid/pool/ha/MultiDataSourceStatement.java b/src/main/java/com/alibaba/druid/pool/ha/MultiDataSourceStatement.java index 5857f29b97..35029004ca 100644 --- a/src/main/java/com/alibaba/druid/pool/ha/MultiDataSourceStatement.java +++ b/src/main/java/com/alibaba/druid/pool/ha/MultiDataSourceStatement.java @@ -423,7 +423,7 @@ public class MultiDataSourceStatement extends WrapperAdapter implements Statemen public boolean isPoolable() throws SQLException { return false; } - + @SuppressWarnings("unchecked") @Override public T unwrap(Class iface) throws SQLException { @@ -434,7 +434,7 @@ public class MultiDataSourceStatement extends WrapperAdapter implements Statemen if (iface.isInstance(this)) { return (T) this; } - + if (stmt != null) { return stmt.unwrap(iface); } @@ -442,4 +442,11 @@ public class MultiDataSourceStatement extends WrapperAdapter implements Statemen return null; } + public Boolean isEscapeProcessing() { + return escapeProcessing; + } + + public String getCursorName() { + return cursorName; + } } diff --git a/src/test/java/com/alibaba/druid/bvt/pool/ha/HADataSourceTest.java b/src/test/java/com/alibaba/druid/bvt/pool/ha/HADataSourceTest.java index e71f35bd0d..50c001b916 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/ha/HADataSourceTest.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/ha/HADataSourceTest.java @@ -50,6 +50,14 @@ public class HADataSourceTest extends TestCase { { MultiDataSourceStatement dsStmt = stmt.unwrap(MultiDataSourceStatement.class); Assert.assertTrue(dsStmt.getId() > 0); + + Assert.assertEquals(100, stmt.getMaxFieldSize()); + Assert.assertEquals(201, stmt.getMaxRows()); + Assert.assertEquals(true, dsStmt.isEscapeProcessing().booleanValue()); + Assert.assertEquals(101, stmt.getQueryTimeout()); + Assert.assertEquals("cName", dsStmt.getCursorName()); + Assert.assertEquals(ResultSet.FETCH_REVERSE, stmt.getFetchDirection()); + Assert.assertEquals(202, stmt.getFetchSize()); } ResultSet rs = stmt.executeQuery("SELECT 1"); @@ -63,6 +71,19 @@ public class HADataSourceTest extends TestCase { Assert.assertEquals("cName", mockStmt.getCursorName()); Assert.assertEquals(ResultSet.FETCH_REVERSE, mockStmt.getFetchDirection()); Assert.assertEquals(202, mockStmt.getFetchSize()); + + { + MultiDataSourceStatement dsStmt = stmt.unwrap(MultiDataSourceStatement.class); + Assert.assertTrue(dsStmt.getId() > 0); + + Assert.assertEquals(100, stmt.getMaxFieldSize()); + Assert.assertEquals(201, stmt.getMaxRows()); + Assert.assertEquals(true, dsStmt.isEscapeProcessing().booleanValue()); + Assert.assertEquals(101, stmt.getQueryTimeout()); + Assert.assertEquals("cName", dsStmt.getCursorName()); + Assert.assertEquals(ResultSet.FETCH_REVERSE, stmt.getFetchDirection()); + Assert.assertEquals(202, stmt.getFetchSize()); + } stmt.close();