diff --git a/src/main/java/com/alibaba/druid/pool/ha/MultiDataSourceStatManager.java b/src/main/java/com/alibaba/druid/pool/ha/MultiDataSourceStatManager.java index d36051825c..ce792c6285 100644 --- a/src/main/java/com/alibaba/druid/pool/ha/MultiDataSourceStatManager.java +++ b/src/main/java/com/alibaba/druid/pool/ha/MultiDataSourceStatManager.java @@ -23,9 +23,8 @@ import javax.management.JMException; import javax.management.MBeanServer; import javax.management.ObjectName; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - +import com.alibaba.druid.support.logging.Log; +import com.alibaba.druid.support.logging.LogFactory; import com.alibaba.druid.util.ConcurrentIdentityHashMap; public class MultiDataSourceStatManager implements MultiDataSourceStatManagerMBean { diff --git a/src/main/java/com/alibaba/druid/stat/DruidDataSourceStatManager.java b/src/main/java/com/alibaba/druid/stat/DruidDataSourceStatManager.java index 9c24aa42a9..75f42e7f36 100644 --- a/src/main/java/com/alibaba/druid/stat/DruidDataSourceStatManager.java +++ b/src/main/java/com/alibaba/druid/stat/DruidDataSourceStatManager.java @@ -32,10 +32,9 @@ import javax.management.openmbean.TabularData; import javax.management.openmbean.TabularDataSupport; import javax.management.openmbean.TabularType; -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.support.logging.Log; +import com.alibaba.druid.support.logging.LogFactory; import com.alibaba.druid.util.ConcurrentIdentityHashMap; import com.alibaba.druid.util.JMXUtils; diff --git a/src/test/java/com/alibaba/druid/bvt/sql/postgresql/PGSelectTest.java b/src/test/java/com/alibaba/druid/bvt/sql/postgresql/PGSelectTest.java index 80ca862691..5f6c85399c 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/postgresql/PGSelectTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/postgresql/PGSelectTest.java @@ -8,9 +8,17 @@ import com.alibaba.druid.sql.PGTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.postgresql.parser.PGSQLStatementParser; import com.alibaba.druid.sql.dialect.postgresql.visitor.PGSchemaStatVisitor; +import com.alibaba.druid.sql.visitor.ParameterizedOutputVisitorUtils; +import com.alibaba.druid.util.JdbcUtils; public class PGSelectTest extends PGTest { + + protected void setUp() throws Exception { + super.setUp(); + + System.out.println(); + } public void test_0() throws Exception { String sql = "select categoryId , offerIds from cnres.function_select_get_spt_p4p_offer_list (' 1031918 , 1031919 , 1037004 ') as a(categoryId numeric,offerIds character varying(4000))"; @@ -24,13 +32,16 @@ public class PGSelectTest extends PGTest { PGSchemaStatVisitor visitor = new PGSchemaStatVisitor(); statemen.accept(visitor); - - System.out.println("Tables : " + visitor.getTables()); - System.out.println("fields : " + visitor.getColumns()); - System.out.println("coditions : " + visitor.getConditions()); +// +// System.out.println("Tables : " + visitor.getTables()); +// System.out.println("fields : " + visitor.getColumns()); +// System.out.println("coditions : " + visitor.getConditions()); Assert.assertEquals(2, visitor.getColumns().size()); + + String mergedSql = ParameterizedOutputVisitorUtils.parameterize(sql, JdbcUtils.POSTGRESQL); + System.out.println(mergedSql); } public void test_1() throws Exception { @@ -46,12 +57,63 @@ public class PGSelectTest extends PGTest { PGSchemaStatVisitor visitor = new PGSchemaStatVisitor(); statemen.accept(visitor); - System.out.println("Tables : " + visitor.getTables()); - System.out.println("fields : " + visitor.getColumns()); - System.out.println("coditions : " + visitor.getConditions()); +// System.out.println("Tables : " + visitor.getTables()); +// System.out.println("fields : " + visitor.getColumns()); +// System.out.println("coditions : " + visitor.getConditions()); Assert.assertEquals(2, visitor.getColumns().size()); + + String mergedSql = ParameterizedOutputVisitorUtils.parameterize(sql, JdbcUtils.POSTGRESQL); + System.out.println(mergedSql); + } + + public void test_2() throws Exception { + String sql = " select offerId , offerIds from cnres.function_select_get_self_rel_offer_by_behavior (' 350740 ') as a(offerId numeric,offerIds character varying(4000)) "; + + PGSQLStatementParser parser = new PGSQLStatementParser(sql); + List statementList = parser.parseStatementList(); + SQLStatement statemen = statementList.get(0); + print(statementList); + + Assert.assertEquals(1, statementList.size()); + + PGSchemaStatVisitor visitor = new PGSchemaStatVisitor(); + statemen.accept(visitor); + +// System.out.println("Tables : " + visitor.getTables()); +// System.out.println("fields : " + visitor.getColumns()); +// System.out.println("coditions : " + visitor.getConditions()); + + + Assert.assertEquals(2, visitor.getColumns().size()); + + String mergedSql = ParameterizedOutputVisitorUtils.parameterize(sql, JdbcUtils.POSTGRESQL); + System.out.println(mergedSql); + } + + public void test_3() throws Exception { + String sql = " select memberId , offerIds from cnres.function_select_get_seller_hot_offer_list('\\'-1\\'') as a(memberId character varying(20),offerIds character varying(4000)) "; + + PGSQLStatementParser parser = new PGSQLStatementParser(sql); + List statementList = parser.parseStatementList(); + SQLStatement statemen = statementList.get(0); + print(statementList); + + Assert.assertEquals(1, statementList.size()); + + PGSchemaStatVisitor visitor = new PGSchemaStatVisitor(); + statemen.accept(visitor); + +// System.out.println("Tables : " + visitor.getTables()); +// System.out.println("fields : " + visitor.getColumns()); +// System.out.println("coditions : " + visitor.getConditions()); + + + Assert.assertEquals(2, visitor.getColumns().size()); + + String mergedSql = ParameterizedOutputVisitorUtils.parameterize(sql, JdbcUtils.POSTGRESQL); + System.out.println(mergedSql); } }