From c07c55ff9e90857d5da1224f72309f5bd4f48835 Mon Sep 17 00:00:00 2001 From: wenshao Date: Tue, 4 Dec 2012 17:14:12 +0800 Subject: [PATCH 1/5] change benchmark case --- src/test/java/com/alibaba/druid/benckmark/pool/Case1.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/alibaba/druid/benckmark/pool/Case1.java b/src/test/java/com/alibaba/druid/benckmark/pool/Case1.java index b34119b814..3d32d551ff 100644 --- a/src/test/java/com/alibaba/druid/benckmark/pool/Case1.java +++ b/src/test/java/com/alibaba/druid/benckmark/pool/Case1.java @@ -49,9 +49,9 @@ public class Case1 extends TestCase { private int maxPoolSize = 50; private int maxActive = 50; private String validationQuery = "SELECT 1"; - private int threadCount = 2; - private int loopCount = 5; - final int LOOP_COUNT = 1000 * 500; + private int threadCount = 1; + private int loopCount = 10; + final int LOOP_COUNT = 1000 * 1000 * 1 / threadCount; protected void setUp() throws Exception { jdbcUrl = "jdbc:h2:mem:"; From dc417b547abefeba3758247e29b81c204cbb86cb Mon Sep 17 00:00:00 2001 From: wenshao Date: Wed, 5 Dec 2012 18:53:29 +0800 Subject: [PATCH 2/5] add ibatis wrapper --- .gitignore | 3 +- .../druid/filter/config/ConfigFilter.java | 3 +- .../druid/support/console/DruidStat.java | 1 - .../druid/support/ibatis/IbatisUtils.java | 129 ++++++++++++ .../SpringIbatisBeanTypeAutoProxyCreator.java | 128 ++++++++++++ ...ngIbatisBeanTypeAutoProxyCreatorMBean.java | 8 + .../ibatis/SqlMapClientImplWrapper.java | 185 +++++++++++++++++ .../support/ibatis/SqlMapClientWrapper.java | 112 +++++++++++ .../support/ibatis/SqlMapExecutorWrapper.java | 186 ++++++++++++++++++ .../support/ibatis/SqlMapSessionWrapper.java | 56 ++++++ .../pool/mybatis/spring-config-mybatis.xml | 4 + 11 files changed, 812 insertions(+), 3 deletions(-) create mode 100644 src/main/java/com/alibaba/druid/support/ibatis/IbatisUtils.java create mode 100644 src/main/java/com/alibaba/druid/support/ibatis/SpringIbatisBeanTypeAutoProxyCreator.java create mode 100644 src/main/java/com/alibaba/druid/support/ibatis/SpringIbatisBeanTypeAutoProxyCreatorMBean.java create mode 100644 src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientImplWrapper.java create mode 100644 src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientWrapper.java create mode 100644 src/main/java/com/alibaba/druid/support/ibatis/SqlMapExecutorWrapper.java create mode 100644 src/main/java/com/alibaba/druid/support/ibatis/SqlMapSessionWrapper.java diff --git a/.gitignore b/.gitignore index ec609c9ea6..ff29a33604 100644 --- a/.gitignore +++ b/.gitignore @@ -10,4 +10,5 @@ out/ *.ipr *.iws -*.iml \ No newline at end of file +*.iml +/bin diff --git a/src/main/java/com/alibaba/druid/filter/config/ConfigFilter.java b/src/main/java/com/alibaba/druid/filter/config/ConfigFilter.java index 6f54d09769..9fa5e095a7 100644 --- a/src/main/java/com/alibaba/druid/filter/config/ConfigFilter.java +++ b/src/main/java/com/alibaba/druid/filter/config/ConfigFilter.java @@ -279,7 +279,8 @@ public class ConfigFilter extends FilterAdapter { } } - private InputStream getFileAsStream(String filePath) throws FileNotFoundException { + @SuppressWarnings("resource") + private InputStream getFileAsStream(String filePath) throws FileNotFoundException { InputStream inStream = null; File file = new File(filePath); if (file.exists()) { diff --git a/src/main/java/com/alibaba/druid/support/console/DruidStat.java b/src/main/java/com/alibaba/druid/support/console/DruidStat.java index 0ea33930b3..8bf4375617 100644 --- a/src/main/java/com/alibaba/druid/support/console/DruidStat.java +++ b/src/main/java/com/alibaba/druid/support/console/DruidStat.java @@ -36,7 +36,6 @@ import com.sun.tools.attach.AgentLoadException; import com.sun.tools.attach.AttachNotSupportedException; import com.sun.tools.attach.VirtualMachine; -@SuppressWarnings({ "restriction" }) public class DruidStat { private static final String LOCAL_CONNECTOR_ADDRESS_PROP = "com.sun.management.jmxremote.localConnectorAddress"; diff --git a/src/main/java/com/alibaba/druid/support/ibatis/IbatisUtils.java b/src/main/java/com/alibaba/druid/support/ibatis/IbatisUtils.java new file mode 100644 index 0000000000..db9d23b7b5 --- /dev/null +++ b/src/main/java/com/alibaba/druid/support/ibatis/IbatisUtils.java @@ -0,0 +1,129 @@ +package com.alibaba.druid.support.ibatis; + +import java.lang.reflect.Field; +import java.lang.reflect.Method; + +import com.alibaba.druid.support.logging.Log; +import com.alibaba.druid.support.logging.LogFactory; +import com.ibatis.sqlmap.client.SqlMapExecutor; +import com.ibatis.sqlmap.engine.impl.SqlMapClientImpl; +import com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl; +import com.ibatis.sqlmap.engine.scope.SessionScope; + +public class IbatisUtils { + private static Log LOG = LogFactory.getLog(IbatisUtils.class); + + private static boolean VERSION_2_3_4 = false; + + private static Method methodGetId = null; + private static Method methodGetResource = null; + + static { + try { + Class clazz = Thread.currentThread().getContextClassLoader().loadClass("com.ibatis.sqlmap.engine.mapping.result.AutoResultMap"); + Method[] methods = clazz.getMethods(); + for (Method method : methods) { + if (method.equals("setResultObjectValues")) { // ibatis 2.3.4 add method 'setResultObjectValues' + VERSION_2_3_4 = true; + break; + } + } + } catch (Throwable e) { + // skip + } + } + + public static boolean isVersion2_3_4() { + return VERSION_2_3_4; + } + + public static SqlMapExecutor setClientImpl(SqlMapExecutor session, SqlMapClientImplWrapper clientImplWrapper) { + if (session == null || clientImplWrapper == null) { + return session; + } + + if (session.getClass() == SqlMapSessionImpl.class) { + SqlMapSessionImpl sessionImpl = (SqlMapSessionImpl) session; + set(sessionImpl, clientImplWrapper); + } + + return session; + } + + /** + * 通过反射的方式得到id,能够兼容2.3.0和2.3.4 + * + * @return + */ + protected static String createId(Object statement) { + try { + if (methodGetId == null) { + Class clazz = statement.getClass(); + methodGetId = clazz.getMethod("getId"); + } + + Object returnValue = methodGetId.invoke(statement); + + if (returnValue == null) { + return null; + } + + return returnValue.toString(); + } catch (Exception ex) { + LOG.error("createIdError", ex); + return null; + } + } + + /** + * 通过反射的方式得到resource,能够兼容2.3.0和2.3.4 + * + * @return + */ + protected static String createResource(Object statement) { + try { + if (methodGetResource == null) { + methodGetResource = statement.getClass().getMethod("getResource"); + } + + return (String) methodGetResource.invoke(statement); + } catch (Exception ex) { + return null; + } + } + + private static Field sessionField; + + public static void set(SqlMapSessionImpl session, SqlMapClientImpl client) { + if (sessionField == null) { + for (Field field : SqlMapSessionImpl.class.getDeclaredFields()) { + if (field.getName().equals("session") || field.getName().equals("sessionScope")) { + sessionField = field; + sessionField.setAccessible(true); + break; + } + } + } + + if (sessionField != null) { + SessionScope sessionScope; + try { + sessionScope = (SessionScope) sessionField.get(session); + + if (sessionScope != null) { + if (sessionScope.getSqlMapClient() != null && sessionScope.getSqlMapClient().getClass() == SqlMapClientImpl.class) { + sessionScope.setSqlMapClient(client); + } + if (sessionScope.getSqlMapExecutor() != null && sessionScope.getSqlMapExecutor().getClass() == SqlMapClientImpl.class) { + sessionScope.setSqlMapExecutor(client); + } + if (sessionScope.getSqlMapTxMgr() != null && sessionScope.getSqlMapTxMgr().getClass() == SqlMapClientImpl.class) { + sessionScope.setSqlMapTxMgr(client); + } + } + } catch (Exception e) { + LOG.error(e.getMessage(), e); + } + } + } +} diff --git a/src/main/java/com/alibaba/druid/support/ibatis/SpringIbatisBeanTypeAutoProxyCreator.java b/src/main/java/com/alibaba/druid/support/ibatis/SpringIbatisBeanTypeAutoProxyCreator.java new file mode 100644 index 0000000000..b09458a32c --- /dev/null +++ b/src/main/java/com/alibaba/druid/support/ibatis/SpringIbatisBeanTypeAutoProxyCreator.java @@ -0,0 +1,128 @@ +package com.alibaba.druid.support.ibatis; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.springframework.aop.TargetSource; +import org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator; +import org.springframework.beans.BeansException; +import org.springframework.beans.factory.BeanFactory; +import org.springframework.beans.factory.FactoryBean; +import org.springframework.beans.factory.InitializingBean; +import org.springframework.context.ApplicationContext; +import org.springframework.context.ApplicationContextAware; +import org.springframework.util.Assert; +import org.springframework.util.PatternMatchUtils; + +import com.ibatis.sqlmap.client.SqlMapClient; +import com.ibatis.sqlmap.engine.impl.ExtendedSqlMapClient; + +/** + * 类BeanTypeAutoProxyCreator.java的实现描述:使用配置类型代替Springframework中配置名称的实现 + * + * @author hualiang.lihl 2011-12-31 上午10:48:20 + */ +@SuppressWarnings("deprecation") +public class SpringIbatisBeanTypeAutoProxyCreator extends AbstractAutoProxyCreator implements InitializingBean, ApplicationContextAware, SpringIbatisBeanTypeAutoProxyCreatorMBean { + + private final static Log LOG = LogFactory.getLog(SpringIbatisBeanTypeAutoProxyCreator.class); + + private static final long serialVersionUID = -9094985530794052264L; + + private Class targetBeanType = SqlMapClient.class; + + private ApplicationContext context; + + private List beanNames = new ArrayList(); + private final List proxyBeanNames = new ArrayList(); + + /** + * @param targetClass the targetClass to set + */ + public void setTargetBeanType(Class targetClass) { + this.targetBeanType = targetClass; + } + + public void setApplicationContext(ApplicationContext context) throws BeansException { + this.context = context; + } + + /** + * Identify as bean to proxy if the bean name is in the configured list of names. + */ + @SuppressWarnings("rawtypes") + protected Object[] getAdvicesAndAdvisorsForBean(Class beanClass, String beanName, TargetSource targetSource) { + for (Iterator it = this.beanNames.iterator(); it.hasNext();) { + String mappedName = (String) it.next(); + if (FactoryBean.class.isAssignableFrom(beanClass)) { + if (!mappedName.startsWith(BeanFactory.FACTORY_BEAN_PREFIX)) { + continue; + } + mappedName = mappedName.substring(BeanFactory.FACTORY_BEAN_PREFIX.length()); + } + if (isMatch(beanName, mappedName)) { + return PROXY_WITHOUT_ADDITIONAL_INTERCEPTORS; + } + } + return DO_NOT_PROXY; + } + + @SuppressWarnings({ "rawtypes" }) + protected Object createProxy(Class beanClass, String beanName, Object[] specificInterceptors, + TargetSource targetSource) { + try { + Object target = targetSource.getTarget(); + + if (target instanceof SqlMapClientWrapper) { + proxyBeanNames.add(beanName); + return target; + } + + if (target instanceof SqlMapClient) { + proxyBeanNames.add(beanName); + + return new SqlMapClientWrapper((ExtendedSqlMapClient) target); + } + + return super.createProxy(beanClass, beanName, specificInterceptors, targetSource); + } catch (Throwable ex) { + LOG.error(ex.getMessage(), ex); + return super.createProxy(beanClass, beanName, specificInterceptors, targetSource); + } + } + + /** + * Return if the given bean name matches the mapped name. + *

+ * The default implementation checks for "xxx*", "*xxx" and "*xxx*" matches, as well as direct equality. Can be + * overridden in subclasses. + * + * @param beanName the bean name to check + * @param mappedName the name in the configured list of names + * @return if the names match + * @see org.springframework.util.PatternMatchUtils#simpleMatch(String, String) + */ + protected boolean isMatch(String beanName, String mappedName) { + return PatternMatchUtils.simpleMatch(mappedName, beanName); + } + + public void afterPropertiesSet() throws Exception { + Assert.notNull(targetBeanType, "targetType cannot be null"); + String[] beanNames = context.getBeanNamesForType(targetBeanType); + for (String name : beanNames) { + this.beanNames.add(name); + } + } + + public List getBeanNames() { + return beanNames; + } + + public List getProxyBeanNames() { + return proxyBeanNames; + } + +} diff --git a/src/main/java/com/alibaba/druid/support/ibatis/SpringIbatisBeanTypeAutoProxyCreatorMBean.java b/src/main/java/com/alibaba/druid/support/ibatis/SpringIbatisBeanTypeAutoProxyCreatorMBean.java new file mode 100644 index 0000000000..6a23d7309d --- /dev/null +++ b/src/main/java/com/alibaba/druid/support/ibatis/SpringIbatisBeanTypeAutoProxyCreatorMBean.java @@ -0,0 +1,8 @@ +package com.alibaba.druid.support.ibatis; + +import java.util.List; + +public interface SpringIbatisBeanTypeAutoProxyCreatorMBean { + + List getProxyBeanNames(); +} diff --git a/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientImplWrapper.java b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientImplWrapper.java new file mode 100644 index 0000000000..a5996ee07b --- /dev/null +++ b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientImplWrapper.java @@ -0,0 +1,185 @@ +package com.alibaba.druid.support.ibatis; + +import java.lang.reflect.Method; +import java.sql.Connection; +import java.sql.SQLException; +import java.util.List; +import java.util.Map; + +import com.ibatis.common.util.PaginatedList; +import com.ibatis.sqlmap.client.SqlMapSession; +import com.ibatis.sqlmap.client.event.RowHandler; +import com.ibatis.sqlmap.engine.execution.BatchException; +import com.ibatis.sqlmap.engine.impl.SqlMapClientImpl; +import com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl; + +@SuppressWarnings("deprecation") +public class SqlMapClientImplWrapper extends SqlMapClientImpl { + + private SqlMapClientImpl raw; + + private static Method getLocalSqlMapSessionMethod = null; + + public SqlMapClientImplWrapper(SqlMapClientImpl raw){ + super(raw.getDelegate()); + this.raw = raw; + } + + protected SqlMapSessionWrapper getLocalSqlMapSessionWrapper() { + try { + if (getLocalSqlMapSessionMethod == null) { + getLocalSqlMapSessionMethod = raw.getClass().getDeclaredMethod("getLocalSqlMapSession"); + getLocalSqlMapSessionMethod.setAccessible(true); + } + SqlMapSessionImpl sessionImpl = (SqlMapSessionImpl) getLocalSqlMapSessionMethod.invoke(raw); + IbatisUtils.set(sessionImpl, this); + return new SqlMapSessionWrapper(raw, sessionImpl); + } catch (Exception e) { + throw new IllegalStateException(e.getMessage(), e); + } + } + + public SqlMapSession openSession(Connection conn) { + SqlMapSession session = raw.openSession(conn); + IbatisUtils.setClientImpl(session, this); + return new SqlMapSessionWrapper(raw, session); + } + + public SqlMapSession getSession() { + SqlMapSession session = raw.getSession(); + IbatisUtils.setClientImpl(session, this); + return new SqlMapSessionWrapper(raw, session); + } + + // ///// + public Object insert(String id, Object param) throws SQLException { + return getLocalSqlMapSessionWrapper().insert(id, param); + } + + public Object insert(String id) throws SQLException { + return getLocalSqlMapSessionWrapper().insert(id); + } + + public int update(String id, Object param) throws SQLException { + return getLocalSqlMapSessionWrapper().update(id, param); + } + + public int update(String id) throws SQLException { + return getLocalSqlMapSessionWrapper().update(id); + } + + public int delete(String id, Object param) throws SQLException { + return getLocalSqlMapSessionWrapper().delete(id, param); + } + + public int delete(String id) throws SQLException { + return getLocalSqlMapSessionWrapper().delete(id); + } + + public Object queryForObject(String id, Object paramObject) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForObject(id, paramObject); + } + + public Object queryForObject(String id) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForObject(id); + } + + public Object queryForObject(String id, Object paramObject, Object resultObject) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForObject(id, paramObject, resultObject); + } + + @SuppressWarnings("rawtypes") + public List queryForList(String id, Object paramObject) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForList(id, paramObject); + } + + @SuppressWarnings("rawtypes") + public List queryForList(String id) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForList(id); + } + + @SuppressWarnings("rawtypes") + public List queryForList(String id, Object paramObject, int skip, int max) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForList(id, paramObject, skip, max); + } + + @SuppressWarnings("rawtypes") + public List queryForList(String id, int skip, int max) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForList(id, skip, max); + } + + /** + * @deprecated All paginated list features have been deprecated + */ + public PaginatedList queryForPaginatedList(String id, Object paramObject, int pageSize) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForPaginatedList(id, paramObject, pageSize); + } + + /** + * @deprecated All paginated list features have been deprecated + */ + public PaginatedList queryForPaginatedList(String id, int pageSize) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForPaginatedList(id, pageSize); + } + + @SuppressWarnings("rawtypes") + public Map queryForMap(String id, Object paramObject, String keyProp) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForMap(id, paramObject, keyProp); + } + + @SuppressWarnings("rawtypes") + public Map queryForMap(String id, Object paramObject, String keyProp, String valueProp) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForMap(id, paramObject, keyProp, valueProp); + } + + public void queryWithRowHandler(String id, Object paramObject, RowHandler rowHandler) throws SQLException { + getLocalSqlMapSessionWrapper().queryWithRowHandler(id, paramObject, rowHandler); + } + + public void queryWithRowHandler(String id, RowHandler rowHandler) throws SQLException { + getLocalSqlMapSessionWrapper().queryWithRowHandler(id, rowHandler); + } + + public void startTransaction() throws SQLException { + getLocalSqlMapSessionWrapper().startTransaction(); + } + + public void startTransaction(int transactionIsolation) throws SQLException { + getLocalSqlMapSessionWrapper().startTransaction(transactionIsolation); + } + + public void commitTransaction() throws SQLException { + getLocalSqlMapSessionWrapper().commitTransaction(); + } + + public void endTransaction() throws SQLException { + try { + getLocalSqlMapSessionWrapper().endTransaction(); + } finally { + getLocalSqlMapSessionWrapper().close(); + } + } + + public void startBatch() throws SQLException { + getLocalSqlMapSessionWrapper().startBatch(); + } + + public int executeBatch() throws SQLException { + return getLocalSqlMapSessionWrapper().executeBatch(); + } + + @SuppressWarnings("rawtypes") + public List executeBatchDetailed() throws SQLException, BatchException { + return getLocalSqlMapSessionWrapper().executeBatchDetailed(); + } + + public void setUserConnection(Connection connection) throws SQLException { + try { + getLocalSqlMapSessionWrapper().setUserConnection(connection); + } finally { + if (connection == null) { + getLocalSqlMapSessionWrapper().close(); + } + } + } +} diff --git a/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientWrapper.java b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientWrapper.java new file mode 100644 index 0000000000..21000f2abe --- /dev/null +++ b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientWrapper.java @@ -0,0 +1,112 @@ +package com.alibaba.druid.support.ibatis; + +import java.sql.Connection; +import java.sql.SQLException; + +import javax.sql.DataSource; + +import com.ibatis.sqlmap.client.SqlMapClient; +import com.ibatis.sqlmap.client.SqlMapSession; +import com.ibatis.sqlmap.engine.execution.SqlExecutor; +import com.ibatis.sqlmap.engine.impl.ExtendedSqlMapClient; +import com.ibatis.sqlmap.engine.impl.SqlMapExecutorDelegate; +import com.ibatis.sqlmap.engine.mapping.result.ResultObjectFactory; +import com.ibatis.sqlmap.engine.mapping.statement.MappedStatement; + +@SuppressWarnings("deprecation") +public class SqlMapClientWrapper extends SqlMapExecutorWrapper implements SqlMapClient, ExtendedSqlMapClient { + + protected final ExtendedSqlMapClient client; + + public SqlMapClientWrapper(ExtendedSqlMapClient client){ + super(client, client); + this.client = client; + + } + + public ExtendedSqlMapClient getClient() { + return this.client; + } + + public void startTransaction() throws SQLException { + client.startTransaction(); + } + + public void startTransaction(int transactionIsolation) throws SQLException { + client.startTransaction(transactionIsolation); + } + + public void commitTransaction() throws SQLException { + client.commitTransaction(); + } + + public void endTransaction() throws SQLException { + client.endTransaction(); + } + + public void setUserConnection(Connection connnection) throws SQLException { + client.setUserConnection(connnection); + } + + public Connection getUserConnection() throws SQLException { + return client.getUserConnection(); + } + + public Connection getCurrentConnection() throws SQLException { + return client.getCurrentConnection(); + } + + public DataSource getDataSource() { + return client.getDataSource(); + } + + public SqlMapSession openSession() { + SqlMapSession session = client.openSession(); + IbatisUtils.setClientImpl(session, clientImplWrapper); + return new SqlMapSessionWrapper(client, session); + } + + public SqlMapSession openSession(Connection conn) { + SqlMapSession session = client.openSession(conn); + IbatisUtils.setClientImpl(session, clientImplWrapper); + return new SqlMapSessionWrapper(client, session); + } + + public SqlMapSession getSession() { + SqlMapSession session = client.getSession(); + IbatisUtils.setClientImpl(session, clientImplWrapper); + return new SqlMapSessionWrapper(client, session); + } + + public void flushDataCache() { + client.flushDataCache(); + } + + public void flushDataCache(String cacheId) { + client.flushDataCache(cacheId); + } + + public MappedStatement getMappedStatement(String id) { + return client.getMappedStatement(id); + } + + public boolean isLazyLoadingEnabled() { + return client.isLazyLoadingEnabled(); + } + + public boolean isEnhancementEnabled() { + return client.isEnhancementEnabled(); + } + + public SqlExecutor getSqlExecutor() { + return client.getSqlExecutor(); + } + + public SqlMapExecutorDelegate getDelegate() { + return client.getDelegate(); + } + + public ResultObjectFactory getResultObjectFactory() { + return client.getResultObjectFactory(); + } +} diff --git a/src/main/java/com/alibaba/druid/support/ibatis/SqlMapExecutorWrapper.java b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapExecutorWrapper.java new file mode 100644 index 0000000000..f185c17747 --- /dev/null +++ b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapExecutorWrapper.java @@ -0,0 +1,186 @@ +package com.alibaba.druid.support.ibatis; + +import java.sql.SQLException; +import java.util.List; +import java.util.Map; + +import com.ibatis.common.util.PaginatedList; +import com.ibatis.sqlmap.client.SqlMapExecutor; +import com.ibatis.sqlmap.client.event.RowHandler; +import com.ibatis.sqlmap.engine.execution.BatchException; +import com.ibatis.sqlmap.engine.impl.ExtendedSqlMapClient; +import com.ibatis.sqlmap.engine.impl.SqlMapClientImpl; + +@SuppressWarnings("deprecation") +public class SqlMapExecutorWrapper implements SqlMapExecutor { + + private SqlMapExecutor executor; + + protected final SqlMapClientImpl clientImpl; + protected final SqlMapClientImplWrapper clientImplWrapper; + + public SqlMapExecutorWrapper(ExtendedSqlMapClient client, SqlMapExecutor executor){ + this.executor = executor; + + this.clientImpl = client.getClass() == SqlMapClientImpl.class ? (SqlMapClientImpl) client : null; + this.clientImplWrapper = clientImpl != null ? new SqlMapClientImplWrapper(clientImpl) : null; + } + + public Object insert(String id, Object parameterObject) throws SQLException { + IbatisUtils.setClientImpl(executor, clientImplWrapper); + return executor.insert(id, parameterObject); + } + + public Object insert(String id) throws SQLException { + IbatisUtils.setClientImpl(executor, clientImplWrapper); + return executor.insert(id); + } + + public int update(String id, Object parameterObject) throws SQLException { + IbatisUtils.setClientImpl(executor, clientImplWrapper); + int effectedRowCount = executor.update(id, parameterObject); + return effectedRowCount; + } + + public int update(String id) throws SQLException { + IbatisUtils.setClientImpl(executor, clientImplWrapper); + int effectedRowCount = executor.update(id); + + return effectedRowCount; + } + + public int delete(String id, Object parameterObject) throws SQLException { + + IbatisUtils.setClientImpl(executor, clientImplWrapper); + int effectedRowCount = executor.delete(id, parameterObject); + + return effectedRowCount; + } + + public int delete(String id) throws SQLException { + + IbatisUtils.setClientImpl(executor, clientImplWrapper); + int effectedRowCount = executor.delete(id); + + return effectedRowCount; + } + + public Object queryForObject(String id, Object parameterObject) throws SQLException { + IbatisUtils.setClientImpl(executor, clientImplWrapper); + Object object = executor.queryForObject(id, parameterObject); + + return object; + } + + public Object queryForObject(String id) throws SQLException { + + IbatisUtils.setClientImpl(executor, clientImplWrapper); + Object object = executor.queryForObject(id); + + return object; + } + + public Object queryForObject(String id, Object parameterObject, Object resultObject) throws SQLException { + + IbatisUtils.setClientImpl(executor, clientImplWrapper); + Object object = executor.queryForObject(id, parameterObject, resultObject); + + return object; + } + + @SuppressWarnings("rawtypes") + public List queryForList(String id, Object parameterObject) throws SQLException { + + IbatisUtils.setClientImpl(executor, clientImplWrapper); + List list = executor.queryForList(id, parameterObject); + + return list; + } + + @SuppressWarnings("rawtypes") + public List queryForList(String id) throws SQLException { + + IbatisUtils.setClientImpl(executor, clientImplWrapper); + List list = executor.queryForList(id); + + return list; + } + + @SuppressWarnings("rawtypes") + public List queryForList(String id, Object parameterObject, int skip, int max) throws SQLException { + IbatisUtils.setClientImpl(executor, clientImplWrapper); + List list = executor.queryForList(id, parameterObject, skip, max); + + return list; + } + + @SuppressWarnings("rawtypes") + public List queryForList(String id, int skip, int max) throws SQLException { + + IbatisUtils.setClientImpl(executor, clientImplWrapper); + List list = executor.queryForList(id, skip, max); + + return list; + } + + public void queryWithRowHandler(String id, Object parameterObject, RowHandler rowHandler) throws SQLException { + IbatisUtils.setClientImpl(executor, clientImplWrapper); + executor.queryWithRowHandler(id, parameterObject, rowHandler); + } + + public void queryWithRowHandler(String id, RowHandler rowHandler) throws SQLException { + IbatisUtils.setClientImpl(executor, clientImplWrapper); + executor.queryWithRowHandler(id, rowHandler); + } + + public PaginatedList queryForPaginatedList(String id, Object parameterObject, int pageSize) throws SQLException { + + IbatisUtils.setClientImpl(executor, clientImplWrapper); + PaginatedList list = executor.queryForPaginatedList(id, parameterObject, pageSize); + + return list; + } + + public PaginatedList queryForPaginatedList(String id, int pageSize) throws SQLException { + IbatisUtils.setClientImpl(executor, clientImplWrapper); + PaginatedList list = executor.queryForPaginatedList(id, pageSize); + + return list; + } + + @SuppressWarnings("rawtypes") + public Map queryForMap(String id, Object parameterObject, String keyProp) throws SQLException { + + IbatisUtils.setClientImpl(executor, clientImplWrapper); + Map map = executor.queryForMap(id, parameterObject, keyProp); + + return map; + } + + @SuppressWarnings("rawtypes") + public Map queryForMap(String id, Object parameterObject, String keyProp, String valueProp) throws SQLException { + + IbatisUtils.setClientImpl(executor, clientImplWrapper); + Map map = executor.queryForMap(id, parameterObject, keyProp, valueProp); + + return map; + } + + public void startBatch() throws SQLException { + IbatisUtils.setClientImpl(executor, clientImplWrapper); + executor.startBatch(); + } + + public int executeBatch() throws SQLException { + + IbatisUtils.setClientImpl(executor, clientImplWrapper); + return executor.executeBatch(); + } + + @SuppressWarnings("rawtypes") + public List executeBatchDetailed() throws SQLException, BatchException { + IbatisUtils.setClientImpl(executor, clientImplWrapper); + return executor.executeBatchDetailed(); + } + +} diff --git a/src/main/java/com/alibaba/druid/support/ibatis/SqlMapSessionWrapper.java b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapSessionWrapper.java new file mode 100644 index 0000000000..d41e465716 --- /dev/null +++ b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapSessionWrapper.java @@ -0,0 +1,56 @@ +package com.alibaba.druid.support.ibatis; + +import java.sql.Connection; +import java.sql.SQLException; + +import javax.sql.DataSource; + +import com.ibatis.sqlmap.client.SqlMapSession; +import com.ibatis.sqlmap.engine.impl.ExtendedSqlMapClient; + +@SuppressWarnings("deprecation") +public class SqlMapSessionWrapper extends SqlMapExecutorWrapper implements SqlMapSession { + private SqlMapSession session; + + public SqlMapSessionWrapper(ExtendedSqlMapClient client, SqlMapSession session){ + super(client, session); + this.session = session; + } + + public void startTransaction() throws SQLException { + session.startTransaction(); + } + + public void startTransaction(int transactionIsolation) throws SQLException { + session.startTransaction(transactionIsolation); + } + + public void commitTransaction() throws SQLException { + session.commitTransaction(); + } + + public void endTransaction() throws SQLException { + session.endTransaction(); + } + + public void setUserConnection(Connection connnection) throws SQLException { + session.setUserConnection(connnection); + } + + @Deprecated + public Connection getUserConnection() throws SQLException { + return session.getUserConnection(); + } + + public Connection getCurrentConnection() throws SQLException { + return session.getCurrentConnection(); + } + + public DataSource getDataSource() { + return session.getDataSource(); + } + + public void close() { + session.close(); + } +} diff --git a/src/test/resources/com/alibaba/druid/pool/mybatis/spring-config-mybatis.xml b/src/test/resources/com/alibaba/druid/pool/mybatis/spring-config-mybatis.xml index bc802baddd..efcab2a65d 100644 --- a/src/test/resources/com/alibaba/druid/pool/mybatis/spring-config-mybatis.xml +++ b/src/test/resources/com/alibaba/druid/pool/mybatis/spring-config-mybatis.xml @@ -18,5 +18,9 @@ http://www.springframework.org/schema/aop http://www.springframework.org/schema/ + + + + From 3b466c2eb9e4f4a5feba117f6bd9c152f38284cc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B8=A9=E9=AB=98=E9=93=81?= Date: Thu, 6 Dec 2012 09:10:56 +0800 Subject: [PATCH 3/5] ibatis support & testcase --- .../druid/support/ibatis/IbatisUtils.java | 4 +- .../ibatis/SqlMapClientImplWrapper.java | 342 +++++++++++------- .../support/ibatis/SqlMapExecutorWrapper.java | 29 +- .../druid/wall/spi/WallVisitorUtils.java | 43 ++- .../wall/WallVisitorUtilsLargeOrTest.java | 19 + .../bvt/sql/postgresql/PGSelectTest5.java | 56 +++ .../bvt/sql/sqlserver/SQLServerTopTest2.java | 41 +++ .../pool/ibatis/spring-config-ibatis.xml | 3 + .../pool/mybatis/spring-config-mybatis.xml | 4 - 9 files changed, 385 insertions(+), 156 deletions(-) create mode 100644 src/test/java/com/alibaba/druid/bvt/filter/wall/WallVisitorUtilsLargeOrTest.java create mode 100644 src/test/java/com/alibaba/druid/bvt/sql/postgresql/PGSelectTest5.java create mode 100644 src/test/java/com/alibaba/druid/bvt/sql/sqlserver/SQLServerTopTest2.java diff --git a/src/main/java/com/alibaba/druid/support/ibatis/IbatisUtils.java b/src/main/java/com/alibaba/druid/support/ibatis/IbatisUtils.java index db9d23b7b5..c6cc3ed4bb 100644 --- a/src/main/java/com/alibaba/druid/support/ibatis/IbatisUtils.java +++ b/src/main/java/com/alibaba/druid/support/ibatis/IbatisUtils.java @@ -55,7 +55,7 @@ public class IbatisUtils { * * @return */ - protected static String createId(Object statement) { + protected static String getId(Object statement) { try { if (methodGetId == null) { Class clazz = statement.getClass(); @@ -80,7 +80,7 @@ public class IbatisUtils { * * @return */ - protected static String createResource(Object statement) { + protected static String getResource(Object statement) { try { if (methodGetResource == null) { methodGetResource = statement.getClass().getMethod("getResource"); diff --git a/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientImplWrapper.java b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientImplWrapper.java index a5996ee07b..9c6c89dc2e 100644 --- a/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientImplWrapper.java +++ b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientImplWrapper.java @@ -5,8 +5,12 @@ import java.sql.Connection; import java.sql.SQLException; import java.util.List; import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; +import java.util.concurrent.ConcurrentMap; +import com.alibaba.druid.stat.JdbcSqlStat; import com.ibatis.common.util.PaginatedList; +import com.ibatis.sqlmap.client.SqlMapExecutor; import com.ibatis.sqlmap.client.SqlMapSession; import com.ibatis.sqlmap.client.event.RowHandler; import com.ibatis.sqlmap.engine.execution.BatchException; @@ -16,170 +20,240 @@ import com.ibatis.sqlmap.engine.impl.SqlMapSessionImpl; @SuppressWarnings("deprecation") public class SqlMapClientImplWrapper extends SqlMapClientImpl { - private SqlMapClientImpl raw; + private SqlMapClientImpl raw; - private static Method getLocalSqlMapSessionMethod = null; + private static Method getLocalSqlMapSessionMethod = null; - public SqlMapClientImplWrapper(SqlMapClientImpl raw){ - super(raw.getDelegate()); - this.raw = raw; - } + private ConcurrentMap statementInfoMap = new ConcurrentHashMap(); - protected SqlMapSessionWrapper getLocalSqlMapSessionWrapper() { - try { - if (getLocalSqlMapSessionMethod == null) { - getLocalSqlMapSessionMethod = raw.getClass().getDeclaredMethod("getLocalSqlMapSession"); - getLocalSqlMapSessionMethod.setAccessible(true); - } - SqlMapSessionImpl sessionImpl = (SqlMapSessionImpl) getLocalSqlMapSessionMethod.invoke(raw); - IbatisUtils.set(sessionImpl, this); - return new SqlMapSessionWrapper(raw, sessionImpl); - } catch (Exception e) { - throw new IllegalStateException(e.getMessage(), e); - } - } + public SqlMapClientImplWrapper(SqlMapClientImpl raw) { + super(raw.getDelegate()); + this.raw = raw; + } - public SqlMapSession openSession(Connection conn) { - SqlMapSession session = raw.openSession(conn); - IbatisUtils.setClientImpl(session, this); - return new SqlMapSessionWrapper(raw, session); - } + public void setLocal(String id, SqlMapExecutor executor) { + IbatisStatementInfo stmtInfo = statementInfoMap.get(id); - public SqlMapSession getSession() { - SqlMapSession session = raw.getSession(); - IbatisUtils.setClientImpl(session, this); - return new SqlMapSessionWrapper(raw, session); - } + if (stmtInfo != null) { + JdbcSqlStat.setContextSqlName(stmtInfo.getId()); + JdbcSqlStat.setContextSqlFile(stmtInfo.getResource()); + return; + } - // ///// - public Object insert(String id, Object param) throws SQLException { - return getLocalSqlMapSessionWrapper().insert(id, param); - } + Object statement = null; + if (executor instanceof SqlMapSessionImpl) { + statement = ((SqlMapSessionImpl) executor).getMappedStatement(id); + } - public Object insert(String id) throws SQLException { - return getLocalSqlMapSessionWrapper().insert(id); - } + if (executor instanceof SqlMapClientImpl) { + statement = ((SqlMapClientImpl) executor).getMappedStatement(id); + } - public int update(String id, Object param) throws SQLException { - return getLocalSqlMapSessionWrapper().update(id, param); - } + if (statement == null) { + return; + } - public int update(String id) throws SQLException { - return getLocalSqlMapSessionWrapper().update(id); - } + String stmtId = IbatisUtils.getId(statement); + String stmtResource = IbatisUtils.getResource(statement); + stmtInfo = new IbatisStatementInfo(stmtId, stmtResource); + statementInfoMap.putIfAbsent(id, stmtInfo); + + JdbcSqlStat.setContextSqlName(stmtId); + JdbcSqlStat.setContextSqlFile(stmtResource); + } - public int delete(String id, Object param) throws SQLException { - return getLocalSqlMapSessionWrapper().delete(id, param); - } + protected SqlMapSessionWrapper getLocalSqlMapSessionWrapper() { + try { + if (getLocalSqlMapSessionMethod == null) { + getLocalSqlMapSessionMethod = raw.getClass().getDeclaredMethod( + "getLocalSqlMapSession"); + getLocalSqlMapSessionMethod.setAccessible(true); + } + SqlMapSessionImpl sessionImpl = (SqlMapSessionImpl) getLocalSqlMapSessionMethod + .invoke(raw); + IbatisUtils.set(sessionImpl, this); + return new SqlMapSessionWrapper(raw, sessionImpl); + } catch (Exception e) { + throw new IllegalStateException(e.getMessage(), e); + } + } - public int delete(String id) throws SQLException { - return getLocalSqlMapSessionWrapper().delete(id); - } + public SqlMapSession openSession(Connection conn) { + SqlMapSession session = raw.openSession(conn); + IbatisUtils.setClientImpl(session, this); + return new SqlMapSessionWrapper(raw, session); + } - public Object queryForObject(String id, Object paramObject) throws SQLException { - return getLocalSqlMapSessionWrapper().queryForObject(id, paramObject); - } + public SqlMapSession getSession() { + SqlMapSession session = raw.getSession(); + IbatisUtils.setClientImpl(session, this); + return new SqlMapSessionWrapper(raw, session); + } - public Object queryForObject(String id) throws SQLException { - return getLocalSqlMapSessionWrapper().queryForObject(id); - } + // ///// + public Object insert(String id, Object param) throws SQLException { + return getLocalSqlMapSessionWrapper().insert(id, param); + } - public Object queryForObject(String id, Object paramObject, Object resultObject) throws SQLException { - return getLocalSqlMapSessionWrapper().queryForObject(id, paramObject, resultObject); - } + public Object insert(String id) throws SQLException { + return getLocalSqlMapSessionWrapper().insert(id); + } - @SuppressWarnings("rawtypes") - public List queryForList(String id, Object paramObject) throws SQLException { - return getLocalSqlMapSessionWrapper().queryForList(id, paramObject); - } + public int update(String id, Object param) throws SQLException { + return getLocalSqlMapSessionWrapper().update(id, param); + } - @SuppressWarnings("rawtypes") - public List queryForList(String id) throws SQLException { - return getLocalSqlMapSessionWrapper().queryForList(id); - } + public int update(String id) throws SQLException { + return getLocalSqlMapSessionWrapper().update(id); + } - @SuppressWarnings("rawtypes") - public List queryForList(String id, Object paramObject, int skip, int max) throws SQLException { - return getLocalSqlMapSessionWrapper().queryForList(id, paramObject, skip, max); - } + public int delete(String id, Object param) throws SQLException { + return getLocalSqlMapSessionWrapper().delete(id, param); + } - @SuppressWarnings("rawtypes") - public List queryForList(String id, int skip, int max) throws SQLException { - return getLocalSqlMapSessionWrapper().queryForList(id, skip, max); - } + public int delete(String id) throws SQLException { + return getLocalSqlMapSessionWrapper().delete(id); + } - /** - * @deprecated All paginated list features have been deprecated - */ - public PaginatedList queryForPaginatedList(String id, Object paramObject, int pageSize) throws SQLException { - return getLocalSqlMapSessionWrapper().queryForPaginatedList(id, paramObject, pageSize); - } + public Object queryForObject(String id, Object paramObject) + throws SQLException { + return getLocalSqlMapSessionWrapper().queryForObject(id, paramObject); + } - /** - * @deprecated All paginated list features have been deprecated - */ - public PaginatedList queryForPaginatedList(String id, int pageSize) throws SQLException { - return getLocalSqlMapSessionWrapper().queryForPaginatedList(id, pageSize); - } + public Object queryForObject(String id) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForObject(id); + } - @SuppressWarnings("rawtypes") - public Map queryForMap(String id, Object paramObject, String keyProp) throws SQLException { - return getLocalSqlMapSessionWrapper().queryForMap(id, paramObject, keyProp); - } + public Object queryForObject(String id, Object paramObject, + Object resultObject) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForObject(id, paramObject, + resultObject); + } - @SuppressWarnings("rawtypes") - public Map queryForMap(String id, Object paramObject, String keyProp, String valueProp) throws SQLException { - return getLocalSqlMapSessionWrapper().queryForMap(id, paramObject, keyProp, valueProp); - } + @SuppressWarnings("rawtypes") + public List queryForList(String id, Object paramObject) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForList(id, paramObject); + } - public void queryWithRowHandler(String id, Object paramObject, RowHandler rowHandler) throws SQLException { - getLocalSqlMapSessionWrapper().queryWithRowHandler(id, paramObject, rowHandler); - } + @SuppressWarnings("rawtypes") + public List queryForList(String id) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForList(id); + } - public void queryWithRowHandler(String id, RowHandler rowHandler) throws SQLException { - getLocalSqlMapSessionWrapper().queryWithRowHandler(id, rowHandler); - } + @SuppressWarnings("rawtypes") + public List queryForList(String id, Object paramObject, int skip, int max) + throws SQLException { + return getLocalSqlMapSessionWrapper().queryForList(id, paramObject, + skip, max); + } - public void startTransaction() throws SQLException { - getLocalSqlMapSessionWrapper().startTransaction(); - } + @SuppressWarnings("rawtypes") + public List queryForList(String id, int skip, int max) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForList(id, skip, max); + } - public void startTransaction(int transactionIsolation) throws SQLException { - getLocalSqlMapSessionWrapper().startTransaction(transactionIsolation); - } + /** + * @deprecated All paginated list features have been deprecated + */ + public PaginatedList queryForPaginatedList(String id, Object paramObject, + int pageSize) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForPaginatedList(id, + paramObject, pageSize); + } - public void commitTransaction() throws SQLException { - getLocalSqlMapSessionWrapper().commitTransaction(); - } + /** + * @deprecated All paginated list features have been deprecated + */ + public PaginatedList queryForPaginatedList(String id, int pageSize) + throws SQLException { + return getLocalSqlMapSessionWrapper().queryForPaginatedList(id, + pageSize); + } - public void endTransaction() throws SQLException { - try { - getLocalSqlMapSessionWrapper().endTransaction(); - } finally { - getLocalSqlMapSessionWrapper().close(); - } - } + @SuppressWarnings("rawtypes") + public Map queryForMap(String id, Object paramObject, String keyProp) + throws SQLException { + return getLocalSqlMapSessionWrapper().queryForMap(id, paramObject, + keyProp); + } - public void startBatch() throws SQLException { - getLocalSqlMapSessionWrapper().startBatch(); - } + @SuppressWarnings("rawtypes") + public Map queryForMap(String id, Object paramObject, String keyProp, + String valueProp) throws SQLException { + return getLocalSqlMapSessionWrapper().queryForMap(id, paramObject, + keyProp, valueProp); + } - public int executeBatch() throws SQLException { - return getLocalSqlMapSessionWrapper().executeBatch(); - } + public void queryWithRowHandler(String id, Object paramObject, + RowHandler rowHandler) throws SQLException { + getLocalSqlMapSessionWrapper().queryWithRowHandler(id, paramObject, + rowHandler); + } - @SuppressWarnings("rawtypes") - public List executeBatchDetailed() throws SQLException, BatchException { - return getLocalSqlMapSessionWrapper().executeBatchDetailed(); - } + public void queryWithRowHandler(String id, RowHandler rowHandler) + throws SQLException { + getLocalSqlMapSessionWrapper().queryWithRowHandler(id, rowHandler); + } - public void setUserConnection(Connection connection) throws SQLException { - try { - getLocalSqlMapSessionWrapper().setUserConnection(connection); - } finally { - if (connection == null) { - getLocalSqlMapSessionWrapper().close(); - } - } - } + public void startTransaction() throws SQLException { + getLocalSqlMapSessionWrapper().startTransaction(); + } + + public void startTransaction(int transactionIsolation) throws SQLException { + getLocalSqlMapSessionWrapper().startTransaction(transactionIsolation); + } + + public void commitTransaction() throws SQLException { + getLocalSqlMapSessionWrapper().commitTransaction(); + } + + public void endTransaction() throws SQLException { + try { + getLocalSqlMapSessionWrapper().endTransaction(); + } finally { + getLocalSqlMapSessionWrapper().close(); + } + } + + public void startBatch() throws SQLException { + getLocalSqlMapSessionWrapper().startBatch(); + } + + public int executeBatch() throws SQLException { + return getLocalSqlMapSessionWrapper().executeBatch(); + } + + @SuppressWarnings("rawtypes") + public List executeBatchDetailed() throws SQLException, BatchException { + return getLocalSqlMapSessionWrapper().executeBatchDetailed(); + } + + public void setUserConnection(Connection connection) throws SQLException { + try { + getLocalSqlMapSessionWrapper().setUserConnection(connection); + } finally { + if (connection == null) { + getLocalSqlMapSessionWrapper().close(); + } + } + } + + public static class IbatisStatementInfo { + private final String id; + private final String resource; + + public IbatisStatementInfo(String id, String resource) { + this.id = id; + this.resource = resource; + } + + public String getId() { + return id; + } + + public String getResource() { + return resource; + } + + } } diff --git a/src/main/java/com/alibaba/druid/support/ibatis/SqlMapExecutorWrapper.java b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapExecutorWrapper.java index f185c17747..f53af2534a 100644 --- a/src/main/java/com/alibaba/druid/support/ibatis/SqlMapExecutorWrapper.java +++ b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapExecutorWrapper.java @@ -27,22 +27,26 @@ public class SqlMapExecutorWrapper implements SqlMapExecutor { } public Object insert(String id, Object parameterObject) throws SQLException { + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); return executor.insert(id, parameterObject); } public Object insert(String id) throws SQLException { + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); return executor.insert(id); } public int update(String id, Object parameterObject) throws SQLException { + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); int effectedRowCount = executor.update(id, parameterObject); return effectedRowCount; } public int update(String id) throws SQLException { + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); int effectedRowCount = executor.update(id); @@ -50,7 +54,7 @@ public class SqlMapExecutorWrapper implements SqlMapExecutor { } public int delete(String id, Object parameterObject) throws SQLException { - + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); int effectedRowCount = executor.delete(id, parameterObject); @@ -58,7 +62,7 @@ public class SqlMapExecutorWrapper implements SqlMapExecutor { } public int delete(String id) throws SQLException { - + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); int effectedRowCount = executor.delete(id); @@ -66,6 +70,7 @@ public class SqlMapExecutorWrapper implements SqlMapExecutor { } public Object queryForObject(String id, Object parameterObject) throws SQLException { + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); Object object = executor.queryForObject(id, parameterObject); @@ -73,7 +78,7 @@ public class SqlMapExecutorWrapper implements SqlMapExecutor { } public Object queryForObject(String id) throws SQLException { - + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); Object object = executor.queryForObject(id); @@ -81,7 +86,7 @@ public class SqlMapExecutorWrapper implements SqlMapExecutor { } public Object queryForObject(String id, Object parameterObject, Object resultObject) throws SQLException { - + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); Object object = executor.queryForObject(id, parameterObject, resultObject); @@ -90,7 +95,7 @@ public class SqlMapExecutorWrapper implements SqlMapExecutor { @SuppressWarnings("rawtypes") public List queryForList(String id, Object parameterObject) throws SQLException { - + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); List list = executor.queryForList(id, parameterObject); @@ -99,7 +104,7 @@ public class SqlMapExecutorWrapper implements SqlMapExecutor { @SuppressWarnings("rawtypes") public List queryForList(String id) throws SQLException { - + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); List list = executor.queryForList(id); @@ -108,6 +113,7 @@ public class SqlMapExecutorWrapper implements SqlMapExecutor { @SuppressWarnings("rawtypes") public List queryForList(String id, Object parameterObject, int skip, int max) throws SQLException { + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); List list = executor.queryForList(id, parameterObject, skip, max); @@ -116,7 +122,7 @@ public class SqlMapExecutorWrapper implements SqlMapExecutor { @SuppressWarnings("rawtypes") public List queryForList(String id, int skip, int max) throws SQLException { - + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); List list = executor.queryForList(id, skip, max); @@ -124,17 +130,19 @@ public class SqlMapExecutorWrapper implements SqlMapExecutor { } public void queryWithRowHandler(String id, Object parameterObject, RowHandler rowHandler) throws SQLException { + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); executor.queryWithRowHandler(id, parameterObject, rowHandler); } public void queryWithRowHandler(String id, RowHandler rowHandler) throws SQLException { + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); executor.queryWithRowHandler(id, rowHandler); } public PaginatedList queryForPaginatedList(String id, Object parameterObject, int pageSize) throws SQLException { - + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); PaginatedList list = executor.queryForPaginatedList(id, parameterObject, pageSize); @@ -142,6 +150,7 @@ public class SqlMapExecutorWrapper implements SqlMapExecutor { } public PaginatedList queryForPaginatedList(String id, int pageSize) throws SQLException { + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); PaginatedList list = executor.queryForPaginatedList(id, pageSize); @@ -150,7 +159,7 @@ public class SqlMapExecutorWrapper implements SqlMapExecutor { @SuppressWarnings("rawtypes") public Map queryForMap(String id, Object parameterObject, String keyProp) throws SQLException { - + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); Map map = executor.queryForMap(id, parameterObject, keyProp); @@ -159,7 +168,7 @@ public class SqlMapExecutorWrapper implements SqlMapExecutor { @SuppressWarnings("rawtypes") public Map queryForMap(String id, Object parameterObject, String keyProp, String valueProp) throws SQLException { - + clientImplWrapper.setLocal(id, executor); IbatisUtils.setClientImpl(executor, clientImplWrapper); Map map = executor.queryForMap(id, parameterObject, keyProp, valueProp); diff --git a/src/main/java/com/alibaba/druid/wall/spi/WallVisitorUtils.java b/src/main/java/com/alibaba/druid/wall/spi/WallVisitorUtils.java index 7236ac488f..1bc9eb4e56 100644 --- a/src/main/java/com/alibaba/druid/wall/spi/WallVisitorUtils.java +++ b/src/main/java/com/alibaba/druid/wall/spi/WallVisitorUtils.java @@ -21,7 +21,9 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.math.BigDecimal; import java.net.URL; +import java.util.ArrayList; import java.util.Enumeration; +import java.util.List; import java.util.Set; import com.alibaba.druid.sql.ast.SQLExpr; @@ -245,16 +247,45 @@ public class WallVisitorUtils { } } } + + if (x.getOperator() == SQLBinaryOperator.BooleanOr) { + List groupList = new ArrayList(); + SQLExpr left = x.getLeft(); + for (;;) { + if (left instanceof SQLBinaryOpExpr && ((SQLBinaryOpExpr) left).getOperator() == x.getOperator()) { + SQLBinaryOpExpr binaryLeft = (SQLBinaryOpExpr) left; + groupList.add(binaryLeft.getRight()); + left = binaryLeft.getLeft(); + } else { + groupList.add(left); + break; + } + } + groupList.add(x.getRight()); + + boolean allFalse = true; + for (int i = groupList.size() - 1; i >= 0; --i) { + Object result = getValue(groupList.get(i)); + if (Boolean.TRUE == result) { + return true; + } + + if (Boolean.FALSE != result) { + allFalse = false; + } + } + + if (allFalse) { + return false; + } + + return null; + } + Object leftResult = getValue(x.getLeft()); Object rightResult = getValue(x.getRight()); - if (x.getOperator() == SQLBinaryOperator.BooleanOr) { - if (Boolean.TRUE == leftResult || Boolean.TRUE == rightResult) { - return true; - } - } - if (x.getOperator() == SQLBinaryOperator.BooleanAnd) { if (Boolean.FALSE == leftResult || Boolean.FALSE == rightResult) { return false; diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallVisitorUtilsLargeOrTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallVisitorUtilsLargeOrTest.java new file mode 100644 index 0000000000..d8cf189324 --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallVisitorUtilsLargeOrTest.java @@ -0,0 +1,19 @@ +package com.alibaba.druid.bvt.filter.wall; + +import com.alibaba.druid.sql.SQLUtils; +import com.alibaba.druid.wall.spi.WallVisitorUtils; + +import junit.framework.Assert; +import junit.framework.TestCase; + +public class WallVisitorUtilsLargeOrTest extends TestCase { + public void test_largeOr() throws Exception { + StringBuilder buf = new StringBuilder(); + buf.append("ID = 1"); + for (int i = 2; i <= 1000 * 10; ++i) { + buf.append(" OR ID = " + i); + } + + Assert.assertEquals(null, WallVisitorUtils.getValue(SQLUtils.toSQLExpr(buf.toString()))); + } +} diff --git a/src/test/java/com/alibaba/druid/bvt/sql/postgresql/PGSelectTest5.java b/src/test/java/com/alibaba/druid/bvt/sql/postgresql/PGSelectTest5.java new file mode 100644 index 0000000000..7ccc21c51f --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/sql/postgresql/PGSelectTest5.java @@ -0,0 +1,56 @@ +/* + * Copyright 1999-2011 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.alibaba.druid.bvt.sql.postgresql; + +import java.util.List; + +import junit.framework.Assert; + +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; + +public class PGSelectTest5 extends PGTest { + + public void test_0() throws Exception { + String sql = " SELECT rs.* FROM ( WITH RECURSIVE r AS( SELECT * FROM t_e_shopcatalog WHERE parentcatalogid= (SELECT catalogid FROM t_e_shopcatalog where catalogname='学习分类' and parentcatalogid='0') UNION ALL SELECT t_e_shopcatalog.* FROM t_e_shopcatalog, r WHERE t_e_shopcatalog.parentcatalogid = r.catalogid )SELECT * FROM r )rs WHERE 1=1"; + + 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()); + Assert.assertEquals(0, visitor.getTables().size()); + } + +} + +// select categoryId , offerIds from cnres.function_select_get_spt_p4p_offer_list (' 1031918 , 1031919 , 1037004 ') as +// a(categoryId numeric,offerIds character varying(4000)) +// select memberId , offerIds from cnres.function_select_get_seller_hot_offer_list('\'gzyyd168\'') as a(memberId +// character varying(20),offerIds character varying(4000)) + diff --git a/src/test/java/com/alibaba/druid/bvt/sql/sqlserver/SQLServerTopTest2.java b/src/test/java/com/alibaba/druid/bvt/sql/sqlserver/SQLServerTopTest2.java new file mode 100644 index 0000000000..05c9c05a14 --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/sql/sqlserver/SQLServerTopTest2.java @@ -0,0 +1,41 @@ +/* + * Copyright 1999-2011 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.alibaba.druid.bvt.sql.sqlserver; + +import junit.framework.Assert; +import junit.framework.TestCase; + +import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; +import com.alibaba.druid.sql.dialect.sqlserver.parser.SQLServerStatementParser; +import com.alibaba.druid.sql.test.TestUtils; + +public class SQLServerTopTest2 extends TestCase { + + public void test_isEmpty() throws Exception { + String sql = "SELECT TOP ? * FROM T"; + + String expect = "SELECT TOP ? *\nFROM T"; + + SQLServerStatementParser parser = new SQLServerStatementParser(sql); + SQLSelectStatement stmt = (SQLSelectStatement) parser.parseStatementList().get(0); + + String text = TestUtils.outputSqlServer(stmt); + + Assert.assertEquals(expect, text); + + System.out.println(text); + } +} diff --git a/src/test/resources/com/alibaba/druid/pool/ibatis/spring-config-ibatis.xml b/src/test/resources/com/alibaba/druid/pool/ibatis/spring-config-ibatis.xml index ea987687cb..cd295f98c0 100644 --- a/src/test/resources/com/alibaba/druid/pool/ibatis/spring-config-ibatis.xml +++ b/src/test/resources/com/alibaba/druid/pool/ibatis/spring-config-ibatis.xml @@ -7,6 +7,9 @@ http://www.springframework.org/schema/beans http://www.springframework.org/schem http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd" default-lazy-init="false"> + + + diff --git a/src/test/resources/com/alibaba/druid/pool/mybatis/spring-config-mybatis.xml b/src/test/resources/com/alibaba/druid/pool/mybatis/spring-config-mybatis.xml index efcab2a65d..bc802baddd 100644 --- a/src/test/resources/com/alibaba/druid/pool/mybatis/spring-config-mybatis.xml +++ b/src/test/resources/com/alibaba/druid/pool/mybatis/spring-config-mybatis.xml @@ -18,9 +18,5 @@ http://www.springframework.org/schema/aop http://www.springframework.org/schema/ - - - - From f60181ac45ac5055c948f7004dd23e4508a1c339 Mon Sep 17 00:00:00 2001 From: wenshao Date: Thu, 6 Dec 2012 13:19:21 +0800 Subject: [PATCH 4/5] add ibatis wrapper & bug fixed for testOnBorrow --- .../druid/pool/DruidAbstractDataSource.java | 9 +++ .../ast/statement/SQLColumnPrimaryKey.java | 15 ++++ .../ast/statement/SQLColumnUniqueIndex.java | 15 ++++ .../com/alibaba/druid/stat/JdbcSqlStat.java | 4 - .../druid/support/ibatis/IbatisUtils.java | 15 ++++ .../SpringIbatisBeanTypeAutoProxyCreator.java | 15 ++++ ...ngIbatisBeanTypeAutoProxyCreatorMBean.java | 15 ++++ .../ibatis/SqlMapClientImplWrapper.java | 15 ++++ .../support/ibatis/SqlMapClientWrapper.java | 15 ++++ .../support/ibatis/SqlMapExecutorWrapper.java | 15 ++++ .../support/ibatis/SqlMapSessionWrapper.java | 15 ++++ .../bvt/pool/TestOnBorrowFileAndNameTest.java | 76 +++++++++++++++++++ 12 files changed, 220 insertions(+), 4 deletions(-) create mode 100644 src/test/java/com/alibaba/druid/bvt/pool/TestOnBorrowFileAndNameTest.java diff --git a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java index 1752ca98f3..d195cf0228 100644 --- a/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java +++ b/src/main/java/com/alibaba/druid/pool/DruidAbstractDataSource.java @@ -56,6 +56,7 @@ import com.alibaba.druid.pool.vendor.NullExceptionSorter; import com.alibaba.druid.proxy.jdbc.DataSourceProxy; import com.alibaba.druid.proxy.jdbc.TransactionInfo; import com.alibaba.druid.stat.JdbcDataSourceStat; +import com.alibaba.druid.stat.JdbcSqlStat; import com.alibaba.druid.stat.JdbcStatManager; import com.alibaba.druid.support.logging.Log; import com.alibaba.druid.support.logging.LogFactory; @@ -1161,6 +1162,11 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements } protected boolean testConnectionInternal(Connection conn) { + String sqlFile = JdbcSqlStat.getContextSqlFile(); + String sqlName = JdbcSqlStat.getContextSqlName(); + + JdbcSqlStat.setContextSqlFile(null); + JdbcSqlStat.setContextSqlName(null); try { if (validConnectionChecker != null) { return validConnectionChecker.isValidConnection(conn, validationQuery, validationQueryTimeout); @@ -1194,6 +1200,9 @@ public abstract class DruidAbstractDataSource extends WrapperAdapter implements } catch (Exception ex) { // skip return false; + } finally { + JdbcSqlStat.setContextSqlFile(sqlFile); + JdbcSqlStat.setContextSqlName(sqlName); } } diff --git a/src/main/java/com/alibaba/druid/sql/ast/statement/SQLColumnPrimaryKey.java b/src/main/java/com/alibaba/druid/sql/ast/statement/SQLColumnPrimaryKey.java index 4814740746..1379bcc78d 100644 --- a/src/main/java/com/alibaba/druid/sql/ast/statement/SQLColumnPrimaryKey.java +++ b/src/main/java/com/alibaba/druid/sql/ast/statement/SQLColumnPrimaryKey.java @@ -1,3 +1,18 @@ +/* + * Copyright 1999-2011 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package com.alibaba.druid.sql.ast.statement; import com.alibaba.druid.sql.visitor.SQLASTVisitor; diff --git a/src/main/java/com/alibaba/druid/sql/ast/statement/SQLColumnUniqueIndex.java b/src/main/java/com/alibaba/druid/sql/ast/statement/SQLColumnUniqueIndex.java index beaf3ed5cc..271fd3e927 100644 --- a/src/main/java/com/alibaba/druid/sql/ast/statement/SQLColumnUniqueIndex.java +++ b/src/main/java/com/alibaba/druid/sql/ast/statement/SQLColumnUniqueIndex.java @@ -1,3 +1,18 @@ +/* + * Copyright 1999-2011 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package com.alibaba.druid.sql.ast.statement; import com.alibaba.druid.sql.visitor.SQLASTVisitor; diff --git a/src/main/java/com/alibaba/druid/stat/JdbcSqlStat.java b/src/main/java/com/alibaba/druid/stat/JdbcSqlStat.java index 09add0fd33..771b4aab55 100644 --- a/src/main/java/com/alibaba/druid/stat/JdbcSqlStat.java +++ b/src/main/java/com/alibaba/druid/stat/JdbcSqlStat.java @@ -251,7 +251,6 @@ public final class JdbcSqlStat implements JdbcSqlStatMBean { this.dataSource = dataSource; } - @Deprecated public final static String getContextSqlName() { JdbcStatContext context = JdbcStatManager.getInstance().getStatContext(); if (context == null) { @@ -260,7 +259,6 @@ public final class JdbcSqlStat implements JdbcSqlStatMBean { return context.getName(); } - @Deprecated public final static void setContextSqlName(String val) { JdbcStatContext context = JdbcStatManager.getInstance().getStatContext(); if (context == null) { @@ -271,7 +269,6 @@ public final class JdbcSqlStat implements JdbcSqlStatMBean { context.setName(val); } - @Deprecated public final static String getContextSqlFile() { JdbcStatContext context = JdbcStatManager.getInstance().getStatContext(); if (context == null) { @@ -280,7 +277,6 @@ public final class JdbcSqlStat implements JdbcSqlStatMBean { return context.getFile(); } - @Deprecated public final static void setContextSqlFile(String val) { JdbcStatContext context = JdbcStatManager.getInstance().getStatContext(); if (context == null) { diff --git a/src/main/java/com/alibaba/druid/support/ibatis/IbatisUtils.java b/src/main/java/com/alibaba/druid/support/ibatis/IbatisUtils.java index c6cc3ed4bb..02ba2a8c6f 100644 --- a/src/main/java/com/alibaba/druid/support/ibatis/IbatisUtils.java +++ b/src/main/java/com/alibaba/druid/support/ibatis/IbatisUtils.java @@ -1,3 +1,18 @@ +/* + * Copyright 1999-2011 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package com.alibaba.druid.support.ibatis; import java.lang.reflect.Field; diff --git a/src/main/java/com/alibaba/druid/support/ibatis/SpringIbatisBeanTypeAutoProxyCreator.java b/src/main/java/com/alibaba/druid/support/ibatis/SpringIbatisBeanTypeAutoProxyCreator.java index b09458a32c..46144b2d21 100644 --- a/src/main/java/com/alibaba/druid/support/ibatis/SpringIbatisBeanTypeAutoProxyCreator.java +++ b/src/main/java/com/alibaba/druid/support/ibatis/SpringIbatisBeanTypeAutoProxyCreator.java @@ -1,3 +1,18 @@ +/* + * Copyright 1999-2011 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package com.alibaba.druid.support.ibatis; import java.util.ArrayList; diff --git a/src/main/java/com/alibaba/druid/support/ibatis/SpringIbatisBeanTypeAutoProxyCreatorMBean.java b/src/main/java/com/alibaba/druid/support/ibatis/SpringIbatisBeanTypeAutoProxyCreatorMBean.java index 6a23d7309d..2a62b5e71e 100644 --- a/src/main/java/com/alibaba/druid/support/ibatis/SpringIbatisBeanTypeAutoProxyCreatorMBean.java +++ b/src/main/java/com/alibaba/druid/support/ibatis/SpringIbatisBeanTypeAutoProxyCreatorMBean.java @@ -1,3 +1,18 @@ +/* + * Copyright 1999-2011 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package com.alibaba.druid.support.ibatis; import java.util.List; diff --git a/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientImplWrapper.java b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientImplWrapper.java index 9c6c89dc2e..ad7b8cb19d 100644 --- a/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientImplWrapper.java +++ b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientImplWrapper.java @@ -1,3 +1,18 @@ +/* + * Copyright 1999-2011 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package com.alibaba.druid.support.ibatis; import java.lang.reflect.Method; diff --git a/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientWrapper.java b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientWrapper.java index 21000f2abe..cdff5f1e43 100644 --- a/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientWrapper.java +++ b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapClientWrapper.java @@ -1,3 +1,18 @@ +/* + * Copyright 1999-2011 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package com.alibaba.druid.support.ibatis; import java.sql.Connection; diff --git a/src/main/java/com/alibaba/druid/support/ibatis/SqlMapExecutorWrapper.java b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapExecutorWrapper.java index f53af2534a..85c7b96cce 100644 --- a/src/main/java/com/alibaba/druid/support/ibatis/SqlMapExecutorWrapper.java +++ b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapExecutorWrapper.java @@ -1,3 +1,18 @@ +/* + * Copyright 1999-2011 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package com.alibaba.druid.support.ibatis; import java.sql.SQLException; diff --git a/src/main/java/com/alibaba/druid/support/ibatis/SqlMapSessionWrapper.java b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapSessionWrapper.java index d41e465716..631c82fd01 100644 --- a/src/main/java/com/alibaba/druid/support/ibatis/SqlMapSessionWrapper.java +++ b/src/main/java/com/alibaba/druid/support/ibatis/SqlMapSessionWrapper.java @@ -1,3 +1,18 @@ +/* + * Copyright 1999-2011 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package com.alibaba.druid.support.ibatis; import java.sql.Connection; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/TestOnBorrowFileAndNameTest.java b/src/test/java/com/alibaba/druid/bvt/pool/TestOnBorrowFileAndNameTest.java new file mode 100644 index 0000000000..d520a83716 --- /dev/null +++ b/src/test/java/com/alibaba/druid/bvt/pool/TestOnBorrowFileAndNameTest.java @@ -0,0 +1,76 @@ +package com.alibaba.druid.bvt.pool; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.util.Iterator; + +import junit.framework.Assert; +import junit.framework.TestCase; + +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.stat.DruidDataSourceStatManager; +import com.alibaba.druid.stat.JdbcSqlStat; +import com.alibaba.druid.stat.JdbcStatManager; + +public class TestOnBorrowFileAndNameTest extends TestCase { + private DruidDataSource dataSource; + + protected void setUp() throws Exception { + DruidDataSourceStatManager.cear(); + + dataSource = new DruidDataSource(); + dataSource.setUrl("jdbc:mock:xxx"); + dataSource.setName("com.alibaba.dragoon.monitor"); + dataSource.setMinIdle(0); + dataSource.setPoolPreparedStatements(false); + dataSource.setValidationQuery("SELECT 1"); + dataSource.setFilters("stat"); + + } + + protected void tearDown() throws Exception { + dataSource.close(); + Assert.assertEquals(0, DruidDataSourceStatManager.getInstance().getDataSourceList().size()); + } + + public void test_stat() throws Exception { + + String sql = "SELECT NOW()"; + + JdbcSqlStat.setContextSqlName("select_now"); + JdbcSqlStat.setContextSqlFile("test_file"); + + Connection conn = dataSource.getConnection(); + PreparedStatement stmt = conn.prepareStatement(sql); + ResultSet rs = stmt.executeQuery(); + rs.next(); + + conn.close(); + + Assert.assertEquals(true, stmt.isClosed()); + Assert.assertEquals(true, rs.isClosed()); + + rs.close(); + stmt.close(); + + dataSource.shrink(); + + JdbcStatManager.getInstance().getDataSourceList(); + Assert.assertEquals(1, DruidDataSourceStatManager.getInstance().getDataSourceList().size()); + + Assert.assertEquals(2, dataSource.getDataSourceStat().getSqlList().size()); + + Iterator iterator = dataSource.getDataSourceStat().getSqlStatMap().values().iterator(); + JdbcSqlStat sql_0 = iterator.next(); + JdbcSqlStat sql_1 = iterator.next(); + + Assert.assertEquals("SELECT 1", sql_0.getSql()); + Assert.assertNull(sql_0.getFile()); + Assert.assertNull(sql_0.getName()); + + Assert.assertEquals("SELECT NOW()", sql_1.getSql()); + Assert.assertEquals("test_file", sql_1.getFile()); + Assert.assertEquals("select_now", sql_1.getName()); + } +} From 79827f37e25f280a392ede21a49249df509caa24 Mon Sep 17 00:00:00 2001 From: wenshao Date: Thu, 6 Dec 2012 14:24:02 +0800 Subject: [PATCH 5/5] sql parser support with subquery, orginaize testcase code imports --- .../druid/sql/ast/statement/SQLSelect.java | 15 +- .../statement/SQLWithSubqueryClause.java} | 193 +++++++++--------- .../ast/clause/OracleWithSubqueryEntry.java | 49 +++++ .../dialect/oracle/ast/stmt/OracleSelect.java | 12 +- .../oracle/parser/OracleSelectParser.java | 156 +++++++------- .../oracle/visitor/OracleASTVisitor.java | 10 +- .../visitor/OracleASTVisitorAdapter.java | 18 +- .../oracle/visitor/OracleOutputVisitor.java | 31 +-- .../visitor/OracleSchemaStatVisitor.java | 20 +- .../druid/sql/parser/SQLSelectParser.java | 49 ++++- .../sql/visitor/SQLASTOutputVisitor.java | 43 ++++ .../druid/sql/visitor/SQLASTVisitor.java | 9 + .../sql/visitor/SQLASTVisitorAdapter.java | 19 ++ src/test/java/com/alibaba/druid/DBCPTest.java | 1 - .../com/alibaba/druid/DragoonMetaInfTest.java | 1 - .../java/com/alibaba/druid/TestMySqlPing.java | 1 - .../alibaba/druid/benckmark/pool/Case0.java | 1 - .../benckmark/pool/Case_Concurrent_50.java | 1 - .../alibaba/druid/bvt/AlipayUseCaseTest.java | 2 - .../bvt/console/DruidStatNullDataTest.java | 13 +- .../druid/bvt/console/DruidStatTest.java | 18 +- .../alibaba/druid/bvt/console/OptionTest.java | 11 +- .../bvt/filter/FilterChainImplTest3.java | 1 - .../bvt/filter/FilterChainTest_NClob.java | 1 - .../bvt/filter/FilterChainTest_NClob_2.java | 1 - .../bvt/filter/FilterChainTest_ResultSet.java | 1 - .../filter/FilterChainTest_ResultSet_2.java | 1 - .../bvt/filter/StatFilterAfterResetTest.java | 1 - .../StatFilterExecuteFirstResultSetTest.java | 1 - .../bvt/filter/StatFilterExecuteTest.java | 2 - .../filter/StatFilterOpenBlobCountTest.java | 3 - .../filter/StatFilterOpenBlobCountTest2.java | 3 - .../filter/StatFilterOpenClobCountTest2.java | 1 - .../filter/StatFilterOpenReaderCountTest.java | 5 +- .../StatFilterResultSetMultiCloseTest.java | 2 - .../bvt/filter/config/ConfigFilterTest5.java | 4 +- .../bvt/filter/wall/MySqlWallLimitTest.java | 4 +- .../wall/MySqlWallLoadDataInfileTest.java | 4 +- .../wall/MySqlWallPermitFunctionTest.java | 4 +- .../filter/wall/MySqlWallPermitTableTest.java | 4 +- .../wall/OracleWallPermitTableTest.java | 4 +- .../wall/SQLServerWallPermitFunctionTest.java | 4 +- .../wall/SQLServerWallPermitObjectTest.java | 4 +- .../wall/SQLServerWallPermitSchemaTest.java | 4 +- .../bvt/filter/wall/SQLServerWallTest.java | 6 +- .../wall/WallVisitorUtilsLargeOrTest.java | 6 +- .../druid/bvt/hibernate/entity/Sample.java | 5 +- .../bvt/pool/Bug_for_dupCloseStmtError.java | 4 +- .../com/alibaba/druid/bvt/pool/Case1.java | 6 +- .../bvt/pool/DruidConnectionHolderTest.java | 1 - .../pool/DruidDataSourceC3P0AdapterTest.java | 4 +- .../bvt/pool/DruidDataSourceDecryptTest.java | 7 +- .../druid/bvt/pool/DruidDataSourceTest5.java | 4 +- .../druid/bvt/pool/DruidDataSourceTest7.java | 4 +- .../druid/bvt/pool/DruidDataSourceTest8.java | 4 +- .../pool/DruidDataSourceTest_autocommit.java | 4 +- .../pool/DruidDataSourceTest_autocommit2.java | 4 +- .../pool/DruidDataSourceTest_autocommit3.java | 4 +- .../pool/DruidDataSourceTest_autocommit4.java | 4 +- .../pool/DruidDataSourceTest_clearCache.java | 2 - .../pool/DruidDataSourceTest_createError.java | 4 +- .../bvt/pool/DruidDataSourceTest_enable.java | 3 - .../DruidDataSourceTest_exceptionSorter.java | 2 - .../DruidDataSourceTest_lastCreateError.java | 5 +- .../pool/DruidDataSourceTest_lastError.java | 4 +- ...dDataSourceTest_loadSysPropertyFilter.java | 11 +- .../bvt/pool/DruidDataSourceTest_oracle3.java | 1 - ...DruidDataSourceTest_wrapDriverFilters.java | 11 +- ...ruidPooledConnectionTest_prepareError.java | 4 +- .../druid/bvt/pool/ManagedDataSourceTest.java | 4 +- .../alibaba/druid/bvt/pool/PSCacheTest4.java | 1 - .../druid/bvt/pool/TestActiveTrace.java | 1 - .../bvt/pool/TestPoolPreparedStatement.java | 1 - .../bvt/pool/TestPoolPreparedStatement2.java | 1 - .../druid/bvt/pool/TestRemoveAbandoned2.java | 1 - .../basic/PoolablePreparedStatementTest.java | 2 +- .../bvt/pool/basic/PoolableStatementTest.java | 1 - .../druid/bvt/pool/basic/TestCommit.java | 1 - .../PoolPreparedStatementsChangeTest.java | 1 - .../proxy/filter/MergeStatFilterTest3.java | 1 - .../bvt/sql/cobar/DMLCallParserTest.java | 4 +- .../bvt/sql/cobar/DMLDeleteParserTest.java | 4 +- .../bvt/sql/cobar/DMLInsertParserTest.java | 4 +- .../bvt/sql/cobar/DMLReplaceParserTest.java | 4 +- .../bvt/sql/cobar/DMLUpdateParserTest.java | 6 +- .../druid/bvt/sql/cobar/HintsTest.java | 4 +- .../druid/bvt/sql/cobar/MTSParserTest.java | 6 +- .../druid/bvt/sql/eval/EvalBetweenTest.java | 6 +- .../druid/bvt/sql/eval/EvalCaseThen.java | 6 +- .../druid/bvt/sql/eval/EvalConcatTest.java | 6 +- .../druid/bvt/sql/eval/EvalInTest.java | 6 +- .../druid/bvt/sql/eval/EvalIsNullTest.java | 6 +- .../sql/mysql/ArithmeticOperatorsTest.java | 6 +- .../sql/mysql/AssignmentOperatorsTest.java | 6 +- .../druid/bvt/sql/mysql/BitFunctionsTest.java | 6 +- .../bvt/sql/mysql/BooleanValuesTest.java | 6 +- .../druid/bvt/sql/mysql/CALL_Test.java | 6 +- .../mysql/CastFunctionsAndOperatorsTest.java | 6 +- .../druid/bvt/sql/mysql/CobarHintsTest.java | 1 - .../sql/mysql/ControlFlowFunctionsTest.java | 6 +- .../sql/mysql/DateAndTimeFunctionsTest.java | 6 +- .../bvt/sql/mysql/DateAndTimeValuesTest.java | 6 +- .../druid/bvt/sql/mysql/DeleteSyntaxTest.java | 6 +- ...EncryptionAndCompressionFunctionsTest.java | 6 +- ...ullTextSearchesWithQueryExpansionTest.java | 6 +- .../alibaba/druid/bvt/sql/mysql/HelpTest.java | 4 +- .../bvt/sql/mysql/HexadecimalValuesTest.java | 6 +- .../sql/mysql/InformationFunctionsTest.java | 6 +- .../druid/bvt/sql/mysql/InsertSyntaxTest.java | 6 +- .../bvt/sql/mysql/LogicalOperatorsTest.java | 6 +- .../sql/mysql/MathematicalFunctionsTest.java | 6 +- .../sql/mysql/MiscellaneousFunctionsTest.java | 6 +- .../sql/mysql/MySqlAlterTableAddIndex_0.java | 6 +- .../sql/mysql/MySqlAlterTableAddIndex_1.java | 6 +- .../mysql/MySqlAlterTableAddPrimaryKey.java | 6 +- .../sql/mysql/MySqlAlterTableDropIndex_0.java | 6 +- .../sql/mysql/MySqlAlterTableDropIndex_1.java | 6 +- .../bvt/sql/mysql/MySqlAlterTableTest.java | 6 +- .../bvt/sql/mysql/MySqlAlterTableTest1.java | 6 +- .../bvt/sql/mysql/MySqlAlterTableTest2.java | 6 +- .../bvt/sql/mysql/MySqlAlterTableTest3.java | 6 +- .../bvt/sql/mysql/MySqlDropTableTest.java | 1 - .../druid/bvt/sql/mysql/MySqlFormatTest.java | 6 +- .../bvt/sql/mysql/MySqlInsertTest_0.java | 2 - .../bvt/sql/mysql/MySqlSelectTest_3.java | 1 - .../bvt/sql/mysql/MySqlSelectTest_4.java | 1 - .../mysql/MySqlUpdateStatementLimitTest.java | 5 +- .../bvt/sql/mysql/RegularExpressionsTest.java | 6 +- .../bvt/sql/mysql/SELECT_Syntax_Test.java | 6 +- .../sql/mysql/SHOW_COLUMNS_Syntax_Test.java | 6 +- .../sql/mysql/SHOW_DATABASES_Syntax_Test.java | 6 +- .../sql/mysql/SHOW_STATUS_Syntax_Test.java | 6 +- .../sql/mysql/SHOW_TABLES_Syntax_Test.java | 6 +- .../sql/mysql/SHOW_WARNINGS_Syntax_Test.java | 6 +- .../bvt/sql/mysql/START_TRANSACTION_Test.java | 6 +- .../mysql/StringComparisonFunctionsTest.java | 6 +- .../bvt/sql/mysql/StringFunctionsTest.java | 6 +- .../druid/bvt/sql/mysql/XMLFunctionsTest.java | 6 +- .../visitor/MySqlSchemaStatVisitorTest5.java | 1 - .../druid/bvt/sql/oracle/MergeTest.java | 4 +- .../bvt/sql/oracle/OracleAlterIndexTest1.java | 1 - .../bvt/sql/oracle/OracleAlterIndexTest2.java | 1 - .../bvt/sql/oracle/OracleAlterIndexTest3.java | 1 - .../bvt/sql/oracle/OracleAlterIndexTest4.java | 1 - .../sql/oracle/OracleAlterSessionTest.java | 1 - .../sql/oracle/OracleAlterTablespaceTest.java | 1 - .../sql/oracle/OracleAlterTriggerTest.java | 1 - .../sql/oracle/OracleAlterTriggerTest2.java | 1 - .../bvt/sql/oracle/OracleAlterViewTest.java | 1 - .../bvt/sql/oracle/OracleAnalyticTest.java | 6 +- .../druid/bvt/sql/oracle/OracleAnyTest.java | 6 +- .../druid/bvt/sql/oracle/OracleBlockTest.java | 1 - .../bvt/sql/oracle/OracleBlockTest1.java | 1 - .../bvt/sql/oracle/OracleBlockTest3.java | 1 - .../bvt/sql/oracle/OracleBlockTest4.java | 1 - .../bvt/sql/oracle/OracleBlockTest6.java | 1 - .../druid/bvt/sql/oracle/OracleCallTest.java | 1 - .../sql/oracle/OracleCreateSequenceTest.java | 1 - .../bvt/sql/oracle/OracleEXTRACTTest.java | 6 +- .../bvt/sql/oracle/OracleExplainTest.java | 1 - .../bvt/sql/oracle/OracleExplainTest2.java | 1 - .../bvt/sql/oracle/OracleExplainTest3.java | 1 - .../sql/oracle/OracleFlashbackQueryTest.java | 6 +- .../sql/oracle/OracleFlashbackQueryTest2.java | 6 +- .../sql/oracle/OracleFlashbackQueryTest3.java | 6 +- .../bvt/sql/oracle/OracleFormatTest.java | 4 +- .../bvt/sql/oracle/OracleFormatTest2.java | 4 +- .../druid/bvt/sql/oracle/OracleGrantTest.java | 1 - .../bvt/sql/oracle/OracleInsertTest5.java | 1 - .../bvt/sql/oracle/OracleInsertTest6.java | 1 - .../bvt/sql/oracle/OracleInsertTest7.java | 1 - .../bvt/sql/oracle/OracleIntervalTest.java | 6 +- .../bvt/sql/oracle/OracleIsASetTest.java | 6 +- .../bvt/sql/oracle/OracleIsEmptyTest.java | 6 +- .../sql/oracle/OracleNumberLiteralTest.java | 6 +- .../bvt/sql/oracle/OracleSQLParserTest.java | 6 - .../bvt/sql/oracle/OracleSelectTest1.java | 1 - .../bvt/sql/oracle/OracleSelectTest20.java | 1 - .../bvt/sql/oracle/OracleSelectTest25.java | 1 - .../bvt/sql/oracle/OracleSelectTest36.java | 1 - .../bvt/sql/oracle/OracleSelectTest37.java | 6 - .../bvt/sql/oracle/OracleSelectTest38.java | 6 - .../bvt/sql/oracle/OracleSelectTest39.java | 6 - .../sql/oracle/OracleSetTransactionTest.java | 1 - .../sql/oracle/OracleSetTransactionTest2.java | 1 - .../druid/bvt/sql/oracle/OracleTest2.java | 6 +- .../OracleOutputVisitorTest_PrettyFormat.java | 10 +- .../bvt/sql/postgresql/PGDeleteTest.java | 1 - .../bvt/sql/postgresql/PGSelectTest5.java | 4 +- .../bvt/sql/postgresql/TruncateTest.java | 1 - .../bvt/support/http/WebStatFilterTest2.java | 4 +- .../bvt/utils/ThreadLocalRandomTest.java | 4 +- .../filter/config/ConfigFileGenerator.java | 15 +- .../java/com/alibaba/druid/pool/Case0.java | 1 - .../java/com/alibaba/druid/pool/Case3.java | 2 - .../com/alibaba/druid/pool/CobarTest.java | 4 +- .../alibaba/druid/pool/ConcurrentTest.java | 2 - .../alibaba/druid/pool/ConcurrentTest2.java | 2 - .../com/alibaba/druid/pool/DruidTest.java | 2 - .../OracleConnectionPoolDataSourceTest.java | 1 - .../TestDruidOraclePreparedStatement.java | 1 - .../pool/TestIdle3_Concurrent_MaxActive.java | 5 - ...tIdle3_Concurrent_Starvation_Longtime.java | 1 - .../com/alibaba/druid/pool/TestMySqlPing.java | 1 - .../pool/TestOracle_DruidDataSource.java | 1 - .../alibaba/druid/pool/TestPoolStatement.java | 4 +- .../java/com/alibaba/druid/pool/Test_C2.java | 5 +- .../com/alibaba/druid/pool/dbcp/Test0.java | 2 - .../druid/pool/dbcp/TestIdleForKylin.java | 2 - .../com/alibaba/druid/proxy/demo/Demo1.java | 4 +- .../java/com/alibaba/druid/sql/MysqlTest.java | 1 - .../java/com/alibaba/druid/sql/PGTest.java | 4 +- .../com/alibaba/druid/stat/MemoryTest.java | 1 - .../com/alibaba/druid/stat/TestOracle.java | 4 - 214 files changed, 683 insertions(+), 710 deletions(-) rename src/main/java/com/alibaba/druid/sql/{dialect/oracle/ast/clause/SubqueryFactoringClause.java => ast/statement/SQLWithSubqueryClause.java} (57%) create mode 100644 src/main/java/com/alibaba/druid/sql/dialect/oracle/ast/clause/OracleWithSubqueryEntry.java diff --git a/src/main/java/com/alibaba/druid/sql/ast/statement/SQLSelect.java b/src/main/java/com/alibaba/druid/sql/ast/statement/SQLSelect.java index ec26633f9d..db599dcd1e 100644 --- a/src/main/java/com/alibaba/druid/sql/ast/statement/SQLSelect.java +++ b/src/main/java/com/alibaba/druid/sql/ast/statement/SQLSelect.java @@ -21,15 +21,24 @@ import com.alibaba.druid.sql.visitor.SQLASTVisitor; public class SQLSelect extends SQLObjectImpl { - private static final long serialVersionUID = 1L; + private static final long serialVersionUID = 1L; - protected SQLSelectQuery query; - protected SQLOrderBy orderBy; + protected SQLWithSubqueryClause withSubQuery; + protected SQLSelectQuery query; + protected SQLOrderBy orderBy; public SQLSelect(){ } + public SQLWithSubqueryClause getWithSubQuery() { + return withSubQuery; + } + + public void setWithSubQuery(SQLWithSubqueryClause withSubQuery) { + this.withSubQuery = withSubQuery; + } + public SQLSelectQuery getQuery() { return this.query; } diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/ast/clause/SubqueryFactoringClause.java b/src/main/java/com/alibaba/druid/sql/ast/statement/SQLWithSubqueryClause.java similarity index 57% rename from src/main/java/com/alibaba/druid/sql/dialect/oracle/ast/clause/SubqueryFactoringClause.java rename to src/main/java/com/alibaba/druid/sql/ast/statement/SQLWithSubqueryClause.java index 2e0c221963..afc34684ad 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/oracle/ast/clause/SubqueryFactoringClause.java +++ b/src/main/java/com/alibaba/druid/sql/ast/statement/SQLWithSubqueryClause.java @@ -1,102 +1,91 @@ -/* - * Copyright 1999-2011 Alibaba Group Holding Ltd. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.alibaba.druid.sql.dialect.oracle.ast.clause; - -import java.util.ArrayList; -import java.util.List; - -import com.alibaba.druid.sql.ast.SQLName; -import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr; -import com.alibaba.druid.sql.ast.statement.SQLSelectQuery; -import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObjectImpl; -import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor; - -public class SubqueryFactoringClause extends OracleSQLObjectImpl { - - private static final long serialVersionUID = 1L; - - private final List entries = new ArrayList(); - - public List getEntries() { - return entries; - } - - public static class Entry extends OracleSQLObjectImpl { - - private static final long serialVersionUID = 1L; - - private SQLIdentifierExpr name; - private final List columns = new ArrayList(); - private SQLSelectQuery subQuery; - private SearchClause searchClause; - private CycleClause cycleClause; - - public CycleClause getCycleClause() { - return cycleClause; - } - - public void setCycleClause(CycleClause cycleClause) { - this.cycleClause = cycleClause; - } - - public SearchClause getSearchClause() { - return searchClause; - } - - public void setSearchClause(SearchClause searchClause) { - this.searchClause = searchClause; - } - - public SQLIdentifierExpr getName() { - return name; - } - - public void setName(SQLIdentifierExpr name) { - this.name = name; - } - - public SQLSelectQuery getSubQuery() { - return subQuery; - } - - public void setSubQuery(SQLSelectQuery subQuery) { - this.subQuery = subQuery; - } - - public List getColumns() { - return columns; - } - - @Override - public void accept0(OracleASTVisitor visitor) { - if (visitor.visit(this)) { - acceptChild(visitor, name); - acceptChild(visitor, columns); - acceptChild(visitor, subQuery); - } - visitor.endVisit(this); - } - - } - - @Override - public void accept0(OracleASTVisitor visitor) { - if (visitor.visit(this)) { - acceptChild(visitor, entries); - } - visitor.endVisit(this); - } -} +/* + * Copyright 1999-2011 Alibaba Group Holding Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package com.alibaba.druid.sql.ast.statement; + +import java.util.ArrayList; +import java.util.List; + +import com.alibaba.druid.sql.ast.SQLName; +import com.alibaba.druid.sql.ast.SQLObjectImpl; +import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr; +import com.alibaba.druid.sql.visitor.SQLASTVisitor; + +public class SQLWithSubqueryClause extends SQLObjectImpl { + + private static final long serialVersionUID = 1L; + + private Boolean recursive; + private final List entries = new ArrayList(); + + public List getEntries() { + return entries; + } + + public Boolean getRecursive() { + return recursive; + } + + public void setRecursive(Boolean recursive) { + this.recursive = recursive; + } + + @Override + protected void accept0(SQLASTVisitor visitor) { + if (visitor.visit(this)) { + acceptChild(visitor, entries); + } + visitor.endVisit(this); + } + + public static class Entry extends SQLObjectImpl { + + private static final long serialVersionUID = 1L; + protected SQLIdentifierExpr name; + protected final List columns = new ArrayList(); + protected SQLSelectQuery subQuery; + + @Override + protected void accept0(SQLASTVisitor visitor) { + if (visitor.visit(this)) { + acceptChild(visitor, name); + acceptChild(visitor, columns); + acceptChild(visitor, subQuery); + } + visitor.endVisit(this); + } + + public SQLIdentifierExpr getName() { + return name; + } + + public void setName(SQLIdentifierExpr name) { + this.name = name; + } + + public SQLSelectQuery getSubQuery() { + return subQuery; + } + + public void setSubQuery(SQLSelectQuery subQuery) { + this.subQuery = subQuery; + } + + public List getColumns() { + return columns; + } + + } +} diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/ast/clause/OracleWithSubqueryEntry.java b/src/main/java/com/alibaba/druid/sql/dialect/oracle/ast/clause/OracleWithSubqueryEntry.java new file mode 100644 index 0000000000..4705de774a --- /dev/null +++ b/src/main/java/com/alibaba/druid/sql/dialect/oracle/ast/clause/OracleWithSubqueryEntry.java @@ -0,0 +1,49 @@ +package com.alibaba.druid.sql.dialect.oracle.ast.clause; + +import com.alibaba.druid.sql.ast.statement.SQLWithSubqueryClause.Entry; +import com.alibaba.druid.sql.dialect.oracle.ast.OracleSQLObject; +import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor; +import com.alibaba.druid.sql.visitor.SQLASTVisitor; + +public class OracleWithSubqueryEntry extends Entry implements OracleSQLObject { + + private static final long serialVersionUID = 1L; + + private SearchClause searchClause; + private CycleClause cycleClause; + + public CycleClause getCycleClause() { + return cycleClause; + } + + public void setCycleClause(CycleClause cycleClause) { + this.cycleClause = cycleClause; + } + + public SearchClause getSearchClause() { + return searchClause; + } + + public void setSearchClause(SearchClause searchClause) { + this.searchClause = searchClause; + } + + + @Override + public void accept0(OracleASTVisitor visitor) { + if (visitor.visit(this)) { + acceptChild(visitor, name); + acceptChild(visitor, columns); + acceptChild(visitor, subQuery); + acceptChild(visitor, searchClause); + acceptChild(visitor, cycleClause); + } + visitor.endVisit(this); + } + + @Override + protected void accept0(SQLASTVisitor visitor) { + this.accept0((OracleASTVisitor) visitor); + } + +} diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/ast/stmt/OracleSelect.java b/src/main/java/com/alibaba/druid/sql/dialect/oracle/ast/stmt/OracleSelect.java index 578ee4a47c..f9c7ca4b3c 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/oracle/ast/stmt/OracleSelect.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/oracle/ast/stmt/OracleSelect.java @@ -16,7 +16,6 @@ package com.alibaba.druid.sql.dialect.oracle.ast.stmt; import com.alibaba.druid.sql.ast.statement.SQLSelect; -import com.alibaba.druid.sql.dialect.oracle.ast.clause.SubqueryFactoringClause; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleASTVisitor; import com.alibaba.druid.sql.visitor.SQLASTVisitor; @@ -24,7 +23,6 @@ public class OracleSelect extends SQLSelect { private static final long serialVersionUID = 1L; - private SubqueryFactoringClause factoring; private OracleSelectForUpdate forUpdate; private OracleSelectRestriction restriction; @@ -32,14 +30,6 @@ public class OracleSelect extends SQLSelect { } - public SubqueryFactoringClause getFactoring() { - return factoring; - } - - public void setFactoring(SubqueryFactoringClause factoring) { - this.factoring = factoring; - } - public OracleSelectRestriction getRestriction() { return this.restriction; } @@ -71,7 +61,7 @@ public class OracleSelect extends SQLSelect { protected void accept0(OracleASTVisitor visitor) { if (visitor.visit(this)) { - acceptChild(visitor, this.factoring); + acceptChild(visitor, this.withSubQuery); acceptChild(visitor, this.query); acceptChild(visitor, this.restriction); acceptChild(visitor, this.orderBy); diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleSelectParser.java b/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleSelectParser.java index b02fba05bd..ea0a1679b1 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleSelectParser.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/oracle/parser/OracleSelectParser.java @@ -23,11 +23,13 @@ import com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr; import com.alibaba.druid.sql.ast.expr.SQLBinaryOperator; import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr; import com.alibaba.druid.sql.ast.expr.SQLListExpr; +import com.alibaba.druid.sql.ast.statement.SQLSelect; import com.alibaba.druid.sql.ast.statement.SQLSelectGroupByClause; import com.alibaba.druid.sql.ast.statement.SQLSelectQuery; import com.alibaba.druid.sql.ast.statement.SQLTableSource; import com.alibaba.druid.sql.ast.statement.SQLUnionOperator; import com.alibaba.druid.sql.ast.statement.SQLUnionQuery; +import com.alibaba.druid.sql.ast.statement.SQLWithSubqueryClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.CycleClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.FlashbackQueryClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.FlashbackQueryClause.AsOfFlashbackQueryClause; @@ -46,10 +48,10 @@ import com.alibaba.druid.sql.dialect.oracle.ast.clause.ModelClause.ModelRulesCla import com.alibaba.druid.sql.dialect.oracle.ast.clause.ModelClause.QueryPartitionClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.ModelClause.ReferenceModelClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.ModelClause.ReturnRowsClause; +import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleWithSubqueryEntry; import com.alibaba.druid.sql.dialect.oracle.ast.clause.PartitionExtensionClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.SampleClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.SearchClause; -import com.alibaba.druid.sql.dialect.oracle.ast.clause.SubqueryFactoringClause; import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAggregateExpr; import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleOrderByItem; import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleSelect; @@ -82,78 +84,7 @@ public class OracleSelectParser extends SQLSelectParser { public OracleSelect select() { OracleSelect select = new OracleSelect(); - if (lexer.token() == Token.WITH) { - lexer.nextToken(); - - SubqueryFactoringClause subqueryFactoringClause = new SubqueryFactoringClause(); - for (;;) { - SubqueryFactoringClause.Entry entry = new SubqueryFactoringClause.Entry(); - entry.setName((SQLIdentifierExpr) this.exprParser.name()); - - if (lexer.token() == Token.LPAREN) { - lexer.nextToken(); - exprParser.names(entry.getColumns()); - accept(Token.RPAREN); - } - - accept(Token.AS); - accept(Token.LPAREN); - entry.setSubQuery(query()); - accept(Token.RPAREN); - - if (identifierEquals("SEARCH")) { - lexer.nextToken(); - SearchClause searchClause = new SearchClause(); - - if (lexer.token() != Token.IDENTIFIER) { - throw new SQLParseException("syntax erorr : " + lexer.token()); - } - - searchClause.setType(SearchClause.Type.valueOf(lexer.stringVal())); - lexer.nextToken(); - - acceptIdentifier("FIRST"); - accept(Token.BY); - - searchClause.getItems().add((OracleOrderByItem) exprParser.parseSelectOrderByItem()); - - while (lexer.token() == (Token.COMMA)) { - lexer.nextToken(); - searchClause.getItems().add((OracleOrderByItem) exprParser.parseSelectOrderByItem()); - } - - accept(Token.SET); - - searchClause.setOrderingColumn((SQLIdentifierExpr) exprParser.name()); - - entry.setSearchClause(searchClause); - } - - if (identifierEquals("CYCLE")) { - lexer.nextToken(); - CycleClause cycleClause = new CycleClause(); - exprParser.exprList(cycleClause.getAliases()); - accept(Token.SET); - cycleClause.setMark(exprParser.expr()); - acceptIdentifier("TO"); - cycleClause.setValue(exprParser.expr()); - accept(Token.DEFAULT); - cycleClause.setDefaultValue(exprParser.expr()); - entry.setCycleClause(cycleClause); - } - - subqueryFactoringClause.getEntries().add(entry); - - if (lexer.token() == Token.COMMA) { - lexer.nextToken(); - continue; - } - - break; - } - - select.setFactoring(subqueryFactoringClause); - } + withSubquery(select); select.setQuery(query()); select.setOrderBy(this.parseOrderBy()); @@ -226,6 +157,81 @@ public class OracleSelectParser extends SQLSelectParser { return select; } + protected void withSubquery(SQLSelect select) { + if (lexer.token() == Token.WITH) { + lexer.nextToken(); + + SQLWithSubqueryClause subqueryFactoringClause = new SQLWithSubqueryClause(); + for (;;) { + OracleWithSubqueryEntry entry = new OracleWithSubqueryEntry(); + entry.setName((SQLIdentifierExpr) this.exprParser.name()); + + if (lexer.token() == Token.LPAREN) { + lexer.nextToken(); + exprParser.names(entry.getColumns()); + accept(Token.RPAREN); + } + + accept(Token.AS); + accept(Token.LPAREN); + entry.setSubQuery(query()); + accept(Token.RPAREN); + + if (identifierEquals("SEARCH")) { + lexer.nextToken(); + SearchClause searchClause = new SearchClause(); + + if (lexer.token() != Token.IDENTIFIER) { + throw new SQLParseException("syntax erorr : " + lexer.token()); + } + + searchClause.setType(SearchClause.Type.valueOf(lexer.stringVal())); + lexer.nextToken(); + + acceptIdentifier("FIRST"); + accept(Token.BY); + + searchClause.getItems().add((OracleOrderByItem) exprParser.parseSelectOrderByItem()); + + while (lexer.token() == (Token.COMMA)) { + lexer.nextToken(); + searchClause.getItems().add((OracleOrderByItem) exprParser.parseSelectOrderByItem()); + } + + accept(Token.SET); + + searchClause.setOrderingColumn((SQLIdentifierExpr) exprParser.name()); + + entry.setSearchClause(searchClause); + } + + if (identifierEquals("CYCLE")) { + lexer.nextToken(); + CycleClause cycleClause = new CycleClause(); + exprParser.exprList(cycleClause.getAliases()); + accept(Token.SET); + cycleClause.setMark(exprParser.expr()); + acceptIdentifier("TO"); + cycleClause.setValue(exprParser.expr()); + accept(Token.DEFAULT); + cycleClause.setDefaultValue(exprParser.expr()); + entry.setCycleClause(cycleClause); + } + + subqueryFactoringClause.getEntries().add(entry); + + if (lexer.token() == Token.COMMA) { + lexer.nextToken(); + continue; + } + + break; + } + + select.setWithSubQuery(subqueryFactoringClause); + } + } + public SQLSelectQuery query() { if (lexer.token() == (Token.LPAREN)) { lexer.nextToken(); @@ -644,7 +650,7 @@ public class OracleSelectParser extends SQLSelectParser { if (identifierEquals("NOCYCLE")) { hierachical.setNoCycle(true); lexer.nextToken(); - + if (lexer.token() == Token.PRIOR) { lexer.nextToken(); hierachical.setPrior(true); @@ -679,7 +685,7 @@ public class OracleSelectParser extends SQLSelectParser { if (identifierEquals("NOCYCLE")) { hierachical.setNoCycle(true); lexer.nextToken(); - + if (lexer.token() == Token.PRIOR) { lexer.nextToken(); hierachical.setPrior(true); diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleASTVisitor.java b/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleASTVisitor.java index b0b6f519a3..aa11852c81 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleASTVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleASTVisitor.java @@ -29,10 +29,10 @@ import com.alibaba.druid.sql.dialect.oracle.ast.clause.OraclePartitionByRangeCla import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleRangeValuesClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleReturningClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleStorageClause; +import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleWithSubqueryEntry; import com.alibaba.druid.sql.dialect.oracle.ast.clause.PartitionExtensionClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.SampleClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.SearchClause; -import com.alibaba.druid.sql.dialect.oracle.ast.clause.SubqueryFactoringClause; import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAggregateExpr; import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAnalytic; import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAnalyticWindowing; @@ -266,13 +266,9 @@ public interface OracleASTVisitor extends SQLASTVisitor { void endVisit(GroupingSetExpr x); - boolean visit(SubqueryFactoringClause x); + boolean visit(OracleWithSubqueryEntry x); - void endVisit(SubqueryFactoringClause x); - - boolean visit(SubqueryFactoringClause.Entry x); - - void endVisit(SubqueryFactoringClause.Entry x); + void endVisit(OracleWithSubqueryEntry x); boolean visit(SearchClause x); diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleASTVisitorAdapter.java b/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleASTVisitorAdapter.java index 66beb8473e..914e8dd240 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleASTVisitorAdapter.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleASTVisitorAdapter.java @@ -37,11 +37,10 @@ import com.alibaba.druid.sql.dialect.oracle.ast.clause.OraclePartitionByRangeCla import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleRangeValuesClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleReturningClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleStorageClause; +import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleWithSubqueryEntry; import com.alibaba.druid.sql.dialect.oracle.ast.clause.PartitionExtensionClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.SampleClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.SearchClause; -import com.alibaba.druid.sql.dialect.oracle.ast.clause.SubqueryFactoringClause; -import com.alibaba.druid.sql.dialect.oracle.ast.clause.SubqueryFactoringClause.Entry; import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAggregateExpr; import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAnalytic; import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAnalyticWindowing; @@ -539,24 +538,13 @@ public class OracleASTVisitorAdapter extends SQLASTVisitorAdapter implements Ora } @Override - public boolean visit(SubqueryFactoringClause x) { + public boolean visit(OracleWithSubqueryEntry x) { return true; } @Override - public void endVisit(SubqueryFactoringClause x) { - - } - - @Override - public boolean visit(Entry x) { - - return true; - } - - @Override - public void endVisit(Entry x) { + public void endVisit(OracleWithSubqueryEntry x) { } diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java b/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java index 9a09c1bf88..662e5bf151 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleOutputVisitor.java @@ -62,10 +62,10 @@ import com.alibaba.druid.sql.dialect.oracle.ast.clause.OraclePartitionByRangeCla import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleRangeValuesClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleReturningClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleStorageClause; +import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleWithSubqueryEntry; import com.alibaba.druid.sql.dialect.oracle.ast.clause.PartitionExtensionClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.SampleClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.SearchClause; -import com.alibaba.druid.sql.dialect.oracle.ast.clause.SubqueryFactoringClause; import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAggregateExpr; import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAnalytic; import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAnalyticWindowing; @@ -192,7 +192,7 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS return; } - if(isPrettyFormat()) { + if (isPrettyFormat()) { if (x.getParent() != null) { print(";"); } else { @@ -213,12 +213,12 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS public boolean visit(OracleAggregateExpr expr) { print(expr.getMethodName()); print("("); - + if (expr.getOption() != null) { print(expr.getOption().toString()); print(' '); } - + printAndAccept(expr.getArguments(), ", "); print(")"); @@ -394,8 +394,8 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS } public boolean visit(OracleSelect x) { - if (x.getFactoring() != null) { - x.getFactoring().accept(this); + if (x.getWithSubQuery() != null) { + x.getWithSubQuery().accept(this); println(); } @@ -1122,7 +1122,7 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS } @Override - public boolean visit(SubqueryFactoringClause.Entry x) { + public boolean visit(OracleWithSubqueryEntry x) { x.getName().accept(this); if (x.getColumns().size() > 0) { @@ -1154,22 +1154,7 @@ public class OracleOutputVisitor extends SQLASTOutputVisitor implements OracleAS } @Override - public void endVisit(SubqueryFactoringClause.Entry x) { - - } - - @Override - public boolean visit(SubqueryFactoringClause x) { - print("WITH"); - incrementIndent(); - println(); - printlnAndAccept(x.getEntries(), ", "); - decrementIndent(); - return false; - } - - @Override - public void endVisit(SubqueryFactoringClause x) { + public void endVisit(OracleWithSubqueryEntry x) { } diff --git a/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleSchemaStatVisitor.java b/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleSchemaStatVisitor.java index 04f9702def..146b2dde25 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleSchemaStatVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/oracle/visitor/OracleSchemaStatVisitor.java @@ -58,11 +58,10 @@ import com.alibaba.druid.sql.dialect.oracle.ast.clause.OraclePartitionByRangeCla import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleRangeValuesClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleReturningClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleStorageClause; +import com.alibaba.druid.sql.dialect.oracle.ast.clause.OracleWithSubqueryEntry; import com.alibaba.druid.sql.dialect.oracle.ast.clause.PartitionExtensionClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.SampleClause; import com.alibaba.druid.sql.dialect.oracle.ast.clause.SearchClause; -import com.alibaba.druid.sql.dialect.oracle.ast.clause.SubqueryFactoringClause; -import com.alibaba.druid.sql.dialect.oracle.ast.clause.SubqueryFactoringClause.Entry; import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAggregateExpr; import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAnalytic; import com.alibaba.druid.sql.dialect.oracle.ast.expr.OracleAnalyticWindowing; @@ -281,7 +280,7 @@ public class OracleSchemaStatVisitor extends SchemaStatVisitor implements Oracle x.getOrderBy().setParent(x); } - accept(x.getFactoring()); + accept(x.getWithSubQuery()); accept(x.getQuery()); setCurrentTable(x, (String) x.getQuery().getAttribute("table")); @@ -810,18 +809,7 @@ public class OracleSchemaStatVisitor extends SchemaStatVisitor implements Oracle } @Override - public boolean visit(SubqueryFactoringClause x) { - - return true; - } - - @Override - public void endVisit(SubqueryFactoringClause x) { - - } - - @Override - public boolean visit(Entry x) { + public boolean visit(OracleWithSubqueryEntry x) { Map aliasMap = getAliasMap(); if (aliasMap != null) { String alias = null; @@ -839,7 +827,7 @@ public class OracleSchemaStatVisitor extends SchemaStatVisitor implements Oracle } @Override - public void endVisit(Entry x) { + public void endVisit(OracleWithSubqueryEntry x) { } diff --git a/src/main/java/com/alibaba/druid/sql/parser/SQLSelectParser.java b/src/main/java/com/alibaba/druid/sql/parser/SQLSelectParser.java index 9bb086c199..82791df7e6 100644 --- a/src/main/java/com/alibaba/druid/sql/parser/SQLSelectParser.java +++ b/src/main/java/com/alibaba/druid/sql/parser/SQLSelectParser.java @@ -18,6 +18,7 @@ package com.alibaba.druid.sql.parser; import com.alibaba.druid.sql.ast.SQLExpr; import com.alibaba.druid.sql.ast.SQLOrderBy; import com.alibaba.druid.sql.ast.SQLSetQuantifier; +import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr; import com.alibaba.druid.sql.ast.statement.SQLExprTableSource; import com.alibaba.druid.sql.ast.statement.SQLJoinTableSource; import com.alibaba.druid.sql.ast.statement.SQLSelect; @@ -29,8 +30,10 @@ import com.alibaba.druid.sql.ast.statement.SQLSubqueryTableSource; import com.alibaba.druid.sql.ast.statement.SQLTableSource; import com.alibaba.druid.sql.ast.statement.SQLUnionOperator; import com.alibaba.druid.sql.ast.statement.SQLUnionQuery; +import com.alibaba.druid.sql.ast.statement.SQLWithSubqueryClause; public class SQLSelectParser extends SQLParser { + protected SQLExprParser exprParser; public SQLSelectParser(String sql){ @@ -40,7 +43,7 @@ public class SQLSelectParser extends SQLParser { public SQLSelectParser(Lexer lexer){ super(lexer); } - + public SQLSelectParser(SQLExprParser exprParser){ super(exprParser.getLexer()); this.exprParser = exprParser; @@ -49,6 +52,8 @@ public class SQLSelectParser extends SQLParser { public SQLSelect select() { SQLSelect select = new SQLSelect(); + withSubquery(select); + select.setQuery(query()); select.setOrderBy(parseOrderBy()); @@ -159,6 +164,46 @@ public class SQLSelectParser extends SQLParser { return queryRest(queryBlock); } + protected void withSubquery(SQLSelect select) { + if (lexer.token() == Token.WITH) { + lexer.nextToken(); + + SQLWithSubqueryClause withQueryClause = new SQLWithSubqueryClause(); + + if (lexer.token == Token.RECURSIVE || identifierEquals("RECURSIVE")) { + lexer.nextToken(); + withQueryClause.setRecursive(true); + } + + for (;;) { + SQLWithSubqueryClause.Entry entry = new SQLWithSubqueryClause.Entry(); + entry.setName((SQLIdentifierExpr) this.exprParser.name()); + + if (lexer.token() == Token.LPAREN) { + lexer.nextToken(); + exprParser.names(entry.getColumns()); + accept(Token.RPAREN); + } + + accept(Token.AS); + accept(Token.LPAREN); + entry.setSubQuery(query()); + accept(Token.RPAREN); + + withQueryClause.getEntries().add(entry); + + if (lexer.token() == Token.COMMA) { + lexer.nextToken(); + continue; + } + + break; + } + + select.setWithSubQuery(withQueryClause); + } + } + protected void parseWhere(SQLSelectQueryBlock queryBlock) { if (lexer.token() == Token.WHERE) { lexer.nextToken(); @@ -221,7 +266,7 @@ public class SQLSelectParser extends SQLParser { if (lexer.token() == Token.LPAREN) { lexer.nextToken(); SQLTableSource tableSource; - if (lexer.token() == Token.SELECT) { + if (lexer.token() == Token.SELECT || lexer.token() == Token.WITH) { SQLSelect select = select(); accept(Token.RPAREN); queryRest(select.getQuery()); diff --git a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java index 2699ffa30f..eb58f9f49f 100644 --- a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTOutputVisitor.java @@ -98,6 +98,7 @@ import com.alibaba.druid.sql.ast.statement.SQLUniqueConstraint; import com.alibaba.druid.sql.ast.statement.SQLUpdateSetItem; import com.alibaba.druid.sql.ast.statement.SQLUpdateStatement; import com.alibaba.druid.sql.ast.statement.SQLUseStatement; +import com.alibaba.druid.sql.ast.statement.SQLWithSubqueryClause; public class SQLASTOutputVisitor extends SQLASTVisitorAdapter { @@ -550,6 +551,12 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter { public boolean visit(SQLSelect x) { x.getQuery().setParent(x); + + if (x.getWithSubQuery() != null) { + x.getWithSubQuery().accept(this); + println(); + } + x.getQuery().accept(this); if (x.getOrderBy() != null) { @@ -1193,4 +1200,40 @@ public class SQLASTOutputVisitor extends SQLASTVisitorAdapter { print(" UNIQUE INDEX"); return false; } + + @Override + public boolean visit(SQLWithSubqueryClause x) { + print("WITH"); + if (x.getRecursive() == Boolean.TRUE) { + print(" RECURSIVE"); + } + incrementIndent(); + println(); + printlnAndAccept(x.getEntries(), ", "); + decrementIndent(); + return false; + } + + @Override + public boolean visit(SQLWithSubqueryClause.Entry x) { + x.getName().accept(this); + + if (x.getColumns().size() > 0) { + print(" ("); + printAndAccept(x.getColumns(), ", "); + print(")"); + } + println(); + print("AS"); + println(); + print("("); + incrementIndent(); + println(); + x.getSubQuery().accept(this); + decrementIndent(); + println(); + print(")"); + + return false; + } } diff --git a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTVisitor.java b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTVisitor.java index ba59bc9386..1cbbf09cab 100644 --- a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTVisitor.java +++ b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTVisitor.java @@ -91,6 +91,7 @@ import com.alibaba.druid.sql.ast.statement.SQLUniqueConstraint; import com.alibaba.druid.sql.ast.statement.SQLUpdateSetItem; import com.alibaba.druid.sql.ast.statement.SQLUpdateStatement; import com.alibaba.druid.sql.ast.statement.SQLUseStatement; +import com.alibaba.druid.sql.ast.statement.SQLWithSubqueryClause; public interface SQLASTVisitor { @@ -405,4 +406,12 @@ public interface SQLASTVisitor { void endVisit(SQLColumnUniqueIndex x); boolean visit(SQLColumnUniqueIndex x); + + void endVisit(SQLWithSubqueryClause x); + + boolean visit(SQLWithSubqueryClause x); + + void endVisit(SQLWithSubqueryClause.Entry x); + + boolean visit(SQLWithSubqueryClause.Entry x); } diff --git a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTVisitorAdapter.java b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTVisitorAdapter.java index 6f093e7bb7..fd3b363f7d 100644 --- a/src/main/java/com/alibaba/druid/sql/visitor/SQLASTVisitorAdapter.java +++ b/src/main/java/com/alibaba/druid/sql/visitor/SQLASTVisitorAdapter.java @@ -92,6 +92,7 @@ import com.alibaba.druid.sql.ast.statement.SQLUniqueConstraint; import com.alibaba.druid.sql.ast.statement.SQLUpdateSetItem; import com.alibaba.druid.sql.ast.statement.SQLUpdateStatement; import com.alibaba.druid.sql.ast.statement.SQLUseStatement; +import com.alibaba.druid.sql.ast.statement.SQLWithSubqueryClause; public class SQLASTVisitorAdapter implements SQLASTVisitor { @@ -735,4 +736,22 @@ public class SQLASTVisitorAdapter implements SQLASTVisitor { public boolean visit(SQLColumnUniqueIndex x) { return true; } + + @Override + public void endVisit(SQLWithSubqueryClause x) { + } + + @Override + public boolean visit(SQLWithSubqueryClause x) { + return true; + } + + @Override + public void endVisit(SQLWithSubqueryClause.Entry x) { + } + + @Override + public boolean visit(SQLWithSubqueryClause.Entry x) { + return true; + } } diff --git a/src/test/java/com/alibaba/druid/DBCPTest.java b/src/test/java/com/alibaba/druid/DBCPTest.java index 419ae57ef1..ec4c515872 100644 --- a/src/test/java/com/alibaba/druid/DBCPTest.java +++ b/src/test/java/com/alibaba/druid/DBCPTest.java @@ -23,7 +23,6 @@ import junit.framework.TestCase; import org.apache.commons.dbcp.BasicDataSource; import com.alibaba.druid.mock.MockDriver; -import com.alibaba.druid.pool.DruidDataSource; public class DBCPTest extends TestCase { diff --git a/src/test/java/com/alibaba/druid/DragoonMetaInfTest.java b/src/test/java/com/alibaba/druid/DragoonMetaInfTest.java index d0390981c8..a02f625290 100644 --- a/src/test/java/com/alibaba/druid/DragoonMetaInfTest.java +++ b/src/test/java/com/alibaba/druid/DragoonMetaInfTest.java @@ -17,7 +17,6 @@ package com.alibaba.druid; import java.io.IOException; import java.io.InputStream; -import java.io.InputStreamReader; import java.io.Reader; import java.io.Writer; import java.net.URL; diff --git a/src/test/java/com/alibaba/druid/TestMySqlPing.java b/src/test/java/com/alibaba/druid/TestMySqlPing.java index 3ff5efafd0..f5e92c4e0c 100644 --- a/src/test/java/com/alibaba/druid/TestMySqlPing.java +++ b/src/test/java/com/alibaba/druid/TestMySqlPing.java @@ -21,7 +21,6 @@ import java.sql.SQLException; import java.sql.Statement; import junit.framework.TestCase; -import oracle.jdbc.OracleConnection; public class TestMySqlPing extends TestCase { diff --git a/src/test/java/com/alibaba/druid/benckmark/pool/Case0.java b/src/test/java/com/alibaba/druid/benckmark/pool/Case0.java index 005ed5b885..28dd3e5320 100644 --- a/src/test/java/com/alibaba/druid/benckmark/pool/Case0.java +++ b/src/test/java/com/alibaba/druid/benckmark/pool/Case0.java @@ -16,7 +16,6 @@ package com.alibaba.druid.benckmark.pool; import java.sql.Connection; -import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import java.text.NumberFormat; diff --git a/src/test/java/com/alibaba/druid/benckmark/pool/Case_Concurrent_50.java b/src/test/java/com/alibaba/druid/benckmark/pool/Case_Concurrent_50.java index df2884ff53..12838dda77 100644 --- a/src/test/java/com/alibaba/druid/benckmark/pool/Case_Concurrent_50.java +++ b/src/test/java/com/alibaba/druid/benckmark/pool/Case_Concurrent_50.java @@ -17,7 +17,6 @@ package com.alibaba.druid.benckmark.pool; import java.sql.Connection; import java.sql.ResultSet; -import java.sql.SQLException; import java.sql.Statement; import java.text.NumberFormat; import java.util.concurrent.CountDownLatch; diff --git a/src/test/java/com/alibaba/druid/bvt/AlipayUseCaseTest.java b/src/test/java/com/alibaba/druid/bvt/AlipayUseCaseTest.java index 4db63f48f4..7e7d11077f 100644 --- a/src/test/java/com/alibaba/druid/bvt/AlipayUseCaseTest.java +++ b/src/test/java/com/alibaba/druid/bvt/AlipayUseCaseTest.java @@ -15,8 +15,6 @@ */ package com.alibaba.druid.bvt; -import static org.junit.Assert.*; - import org.junit.After; import org.junit.Before; import org.junit.Test; diff --git a/src/test/java/com/alibaba/druid/bvt/console/DruidStatNullDataTest.java b/src/test/java/com/alibaba/druid/bvt/console/DruidStatNullDataTest.java index 2de5a69f8c..07d346f880 100644 --- a/src/test/java/com/alibaba/druid/bvt/console/DruidStatNullDataTest.java +++ b/src/test/java/com/alibaba/druid/bvt/console/DruidStatNullDataTest.java @@ -1,14 +1,17 @@ package com.alibaba.druid.bvt.console; -import org.junit.runner.notification.Failure; +import java.lang.management.ManagementFactory; + +import junit.framework.TestCase; + import org.junit.runner.JUnitCore; import org.junit.runner.Result; -import com.alibaba.druid.support.console.DruidStat; -import com.alibaba.druid.util.JdbcUtils; +import org.junit.runner.notification.Failure; + import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.support.console.DruidStat; import com.alibaba.druid.support.console.Option; -import junit.framework.TestCase; -import java.lang.management.ManagementFactory; +import com.alibaba.druid.util.JdbcUtils; public class DruidStatNullDataTest extends TestCase { diff --git a/src/test/java/com/alibaba/druid/bvt/console/DruidStatTest.java b/src/test/java/com/alibaba/druid/bvt/console/DruidStatTest.java index 3d9e932407..937665cc76 100644 --- a/src/test/java/com/alibaba/druid/bvt/console/DruidStatTest.java +++ b/src/test/java/com/alibaba/druid/bvt/console/DruidStatTest.java @@ -1,19 +1,21 @@ package com.alibaba.druid.bvt.console; -import java.util.List; +import java.lang.management.ManagementFactory; import java.sql.Connection; import java.sql.Statement; -import com.alibaba.druid.support.console.Option; -import org.junit.runner.notification.Failure; +import java.util.List; + +import junit.framework.TestCase; + import org.junit.runner.JUnitCore; import org.junit.runner.Result; -import com.alibaba.druid.support.console.DruidStat; -import com.alibaba.druid.util.JdbcUtils; -import com.alibaba.druid.pool.DruidDataSource; +import org.junit.runner.notification.Failure; -import java.lang.management.ManagementFactory; -import junit.framework.TestCase; +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.support.console.DruidStat; +import com.alibaba.druid.support.console.Option; +import com.alibaba.druid.util.JdbcUtils; public class DruidStatTest extends TestCase { diff --git a/src/test/java/com/alibaba/druid/bvt/console/OptionTest.java b/src/test/java/com/alibaba/druid/bvt/console/OptionTest.java index 1c738be72a..bf6c89811e 100644 --- a/src/test/java/com/alibaba/druid/bvt/console/OptionTest.java +++ b/src/test/java/com/alibaba/druid/bvt/console/OptionTest.java @@ -1,13 +1,14 @@ package com.alibaba.druid.bvt.console; -import org.junit.runner.notification.Failure; +import junit.framework.Assert; +import junit.framework.TestCase; + import org.junit.runner.JUnitCore; import org.junit.runner.Result; -import com.alibaba.druid.support.console.OptionParseException; -import com.alibaba.druid.support.console.Option; +import org.junit.runner.notification.Failure; -import junit.framework.TestCase; -import junit.framework.Assert; +import com.alibaba.druid.support.console.Option; +import com.alibaba.druid.support.console.OptionParseException; public class OptionTest extends TestCase { diff --git a/src/test/java/com/alibaba/druid/bvt/filter/FilterChainImplTest3.java b/src/test/java/com/alibaba/druid/bvt/filter/FilterChainImplTest3.java index 57e5e0a0af..f28aa873db 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/FilterChainImplTest3.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/FilterChainImplTest3.java @@ -11,7 +11,6 @@ import junit.framework.Assert; import junit.framework.TestCase; import com.alibaba.druid.filter.FilterAdapter; -import com.alibaba.druid.mock.MockCallableStatement; import com.alibaba.druid.mock.MockConnection; import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.mock.MockStatement; diff --git a/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_NClob.java b/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_NClob.java index 7e524b33bd..3641962cc2 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_NClob.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_NClob.java @@ -27,7 +27,6 @@ import com.alibaba.druid.filter.FilterChainImpl; import com.alibaba.druid.mock.MockNClob; import com.alibaba.druid.mock.MockResultSet; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.proxy.jdbc.ClobProxy; import com.alibaba.druid.proxy.jdbc.NClobProxy; import com.alibaba.druid.proxy.jdbc.ResultSetProxyImpl; import com.alibaba.druid.proxy.jdbc.StatementProxy; diff --git a/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_NClob_2.java b/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_NClob_2.java index 3d5330fd6d..daad72853e 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_NClob_2.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_NClob_2.java @@ -29,7 +29,6 @@ import com.alibaba.druid.mock.MockNClob; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.proxy.jdbc.CallableStatementProxy; import com.alibaba.druid.proxy.jdbc.CallableStatementProxyImpl; -import com.alibaba.druid.proxy.jdbc.ClobProxy; import com.alibaba.druid.proxy.jdbc.NClobProxy; import com.alibaba.druid.util.JdbcUtils; diff --git a/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_ResultSet.java b/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_ResultSet.java index 0d6b7f9560..5235212903 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_ResultSet.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_ResultSet.java @@ -15,7 +15,6 @@ */ package com.alibaba.druid.bvt.filter; -import java.sql.Clob; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Collections; diff --git a/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_ResultSet_2.java b/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_ResultSet_2.java index 85df77e764..9d506bcafd 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_ResultSet_2.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/FilterChainTest_ResultSet_2.java @@ -29,7 +29,6 @@ import com.alibaba.druid.mock.MockResultSet; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.proxy.jdbc.CallableStatementProxy; import com.alibaba.druid.proxy.jdbc.CallableStatementProxyImpl; -import com.alibaba.druid.proxy.jdbc.ClobProxy; import com.alibaba.druid.proxy.jdbc.ResultSetProxy; import com.alibaba.druid.util.JdbcUtils; diff --git a/src/test/java/com/alibaba/druid/bvt/filter/StatFilterAfterResetTest.java b/src/test/java/com/alibaba/druid/bvt/filter/StatFilterAfterResetTest.java index e03cc7b530..d8dd977083 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/StatFilterAfterResetTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/StatFilterAfterResetTest.java @@ -25,7 +25,6 @@ import junit.framework.TestCase; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.stat.JdbcSqlStat; import com.alibaba.druid.stat.JdbcStatManager; -import com.alibaba.druid.util.Histogram; import com.alibaba.druid.util.JdbcUtils; public class StatFilterAfterResetTest extends TestCase { diff --git a/src/test/java/com/alibaba/druid/bvt/filter/StatFilterExecuteFirstResultSetTest.java b/src/test/java/com/alibaba/druid/bvt/filter/StatFilterExecuteFirstResultSetTest.java index 7002b27692..5b96fc6b7a 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/StatFilterExecuteFirstResultSetTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/StatFilterExecuteFirstResultSetTest.java @@ -28,7 +28,6 @@ import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.mock.MockPreparedStatement; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.stat.JdbcSqlStat; -import com.alibaba.druid.util.Histogram; import com.alibaba.druid.util.JdbcUtils; public class StatFilterExecuteFirstResultSetTest extends TestCase { diff --git a/src/test/java/com/alibaba/druid/bvt/filter/StatFilterExecuteTest.java b/src/test/java/com/alibaba/druid/bvt/filter/StatFilterExecuteTest.java index 546ae1acf3..50a7ce5a25 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/StatFilterExecuteTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/StatFilterExecuteTest.java @@ -17,7 +17,6 @@ package com.alibaba.druid.bvt.filter; import java.sql.Connection; import java.sql.PreparedStatement; -import java.sql.ResultSet; import java.sql.SQLException; import junit.framework.Assert; @@ -28,7 +27,6 @@ import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.mock.MockPreparedStatement; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.stat.JdbcSqlStat; -import com.alibaba.druid.util.Histogram; import com.alibaba.druid.util.JdbcUtils; public class StatFilterExecuteTest extends TestCase { diff --git a/src/test/java/com/alibaba/druid/bvt/filter/StatFilterOpenBlobCountTest.java b/src/test/java/com/alibaba/druid/bvt/filter/StatFilterOpenBlobCountTest.java index 10bd9e0139..35f74cc75d 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/StatFilterOpenBlobCountTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/StatFilterOpenBlobCountTest.java @@ -1,7 +1,6 @@ package com.alibaba.druid.bvt.filter; import java.sql.Blob; -import java.sql.Clob; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -13,9 +12,7 @@ import junit.framework.TestCase; import com.alibaba.druid.filter.FilterAdapter; import com.alibaba.druid.filter.FilterChain; import com.alibaba.druid.mock.MockBlob; -import com.alibaba.druid.mock.MockClob; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.proxy.jdbc.ClobProxyImpl; import com.alibaba.druid.proxy.jdbc.ResultSetProxy; import com.alibaba.druid.stat.JdbcSqlStat; import com.alibaba.druid.util.JdbcUtils; diff --git a/src/test/java/com/alibaba/druid/bvt/filter/StatFilterOpenBlobCountTest2.java b/src/test/java/com/alibaba/druid/bvt/filter/StatFilterOpenBlobCountTest2.java index 0196c94cc0..78902a896f 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/StatFilterOpenBlobCountTest2.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/StatFilterOpenBlobCountTest2.java @@ -1,6 +1,5 @@ package com.alibaba.druid.bvt.filter; -import java.sql.Clob; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; @@ -13,9 +12,7 @@ import junit.framework.TestCase; import com.alibaba.druid.filter.FilterAdapter; import com.alibaba.druid.filter.FilterChain; import com.alibaba.druid.mock.MockBlob; -import com.alibaba.druid.mock.MockClob; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.proxy.jdbc.ClobProxyImpl; import com.alibaba.druid.proxy.jdbc.ResultSetProxy; import com.alibaba.druid.stat.JdbcSqlStat; import com.alibaba.druid.util.JdbcUtils; diff --git a/src/test/java/com/alibaba/druid/bvt/filter/StatFilterOpenClobCountTest2.java b/src/test/java/com/alibaba/druid/bvt/filter/StatFilterOpenClobCountTest2.java index 6d54576ad7..231a92ae52 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/StatFilterOpenClobCountTest2.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/StatFilterOpenClobCountTest2.java @@ -1,6 +1,5 @@ package com.alibaba.druid.bvt.filter; -import java.sql.Clob; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; diff --git a/src/test/java/com/alibaba/druid/bvt/filter/StatFilterOpenReaderCountTest.java b/src/test/java/com/alibaba/druid/bvt/filter/StatFilterOpenReaderCountTest.java index 749b46f58b..652870501d 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/StatFilterOpenReaderCountTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/StatFilterOpenReaderCountTest.java @@ -1,16 +1,15 @@ package com.alibaba.druid.bvt.filter; -import java.io.ByteArrayInputStream; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import org.nutz.lang.stream.StringReader; - import junit.framework.Assert; import junit.framework.TestCase; +import org.nutz.lang.stream.StringReader; + import com.alibaba.druid.filter.FilterAdapter; import com.alibaba.druid.filter.FilterChain; import com.alibaba.druid.pool.DruidDataSource; diff --git a/src/test/java/com/alibaba/druid/bvt/filter/StatFilterResultSetMultiCloseTest.java b/src/test/java/com/alibaba/druid/bvt/filter/StatFilterResultSetMultiCloseTest.java index 948a7efd22..ff764191ad 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/StatFilterResultSetMultiCloseTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/StatFilterResultSetMultiCloseTest.java @@ -24,8 +24,6 @@ import junit.framework.TestCase; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.stat.JdbcSqlStat; -import com.alibaba.druid.stat.JdbcStatManager; -import com.alibaba.druid.util.Histogram; import com.alibaba.druid.util.JdbcUtils; public class StatFilterResultSetMultiCloseTest extends TestCase { diff --git a/src/test/java/com/alibaba/druid/bvt/filter/config/ConfigFilterTest5.java b/src/test/java/com/alibaba/druid/bvt/filter/config/ConfigFilterTest5.java index eec6fd0992..97d55c52ac 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/config/ConfigFilterTest5.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/config/ConfigFilterTest5.java @@ -1,10 +1,10 @@ package com.alibaba.druid.bvt.filter.config; -import com.alibaba.druid.filter.config.ConfigFilter; - import junit.framework.Assert; import junit.framework.TestCase; +import com.alibaba.druid.filter.config.ConfigFilter; + public class ConfigFilterTest5 extends TestCase { public void test_loadClassPath() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallLimitTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallLimitTest.java index 8f0dffa6b2..6d1d6b7586 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallLimitTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallLimitTest.java @@ -15,12 +15,12 @@ */ package com.alibaba.druid.bvt.filter.wall; +import junit.framework.TestCase; + import org.junit.Assert; import com.alibaba.druid.wall.WallUtils; -import junit.framework.TestCase; - /** * 这个场景测试访问MySql系统函数 * diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallLoadDataInfileTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallLoadDataInfileTest.java index 2ffea6fbe5..206a2b79f3 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallLoadDataInfileTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallLoadDataInfileTest.java @@ -15,12 +15,12 @@ */ package com.alibaba.druid.bvt.filter.wall; +import junit.framework.TestCase; + import org.junit.Assert; import com.alibaba.druid.wall.WallUtils; -import junit.framework.TestCase; - /** * 这个场景测试访问MySql系统函数 * diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallPermitFunctionTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallPermitFunctionTest.java index 3716d63b95..6c8093a161 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallPermitFunctionTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallPermitFunctionTest.java @@ -15,12 +15,12 @@ */ package com.alibaba.druid.bvt.filter.wall; +import junit.framework.TestCase; + import org.junit.Assert; import com.alibaba.druid.wall.WallUtils; -import junit.framework.TestCase; - public class MySqlWallPermitFunctionTest extends TestCase { public void test_permitTable() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallPermitTableTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallPermitTableTest.java index e92ed45c84..bbb2b6e797 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallPermitTableTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/MySqlWallPermitTableTest.java @@ -15,13 +15,13 @@ */ package com.alibaba.druid.bvt.filter.wall; +import junit.framework.TestCase; + import org.junit.Assert; import com.alibaba.druid.wall.WallConfig; import com.alibaba.druid.wall.WallUtils; -import junit.framework.TestCase; - public class MySqlWallPermitTableTest extends TestCase { public void test_default() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/OracleWallPermitTableTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/OracleWallPermitTableTest.java index 888d47e881..d19a1db7c8 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/OracleWallPermitTableTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/OracleWallPermitTableTest.java @@ -15,12 +15,12 @@ */ package com.alibaba.druid.bvt.filter.wall; +import junit.framework.TestCase; + import org.junit.Assert; import com.alibaba.druid.wall.WallUtils; -import junit.framework.TestCase; - public class OracleWallPermitTableTest extends TestCase { public void test_permitTable() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitFunctionTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitFunctionTest.java index 319d8f78b0..ce19941227 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitFunctionTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitFunctionTest.java @@ -15,12 +15,12 @@ */ package com.alibaba.druid.bvt.filter.wall; +import junit.framework.TestCase; + import org.junit.Assert; import com.alibaba.druid.wall.WallUtils; -import junit.framework.TestCase; - /** * SQLServerWallPermitFunctionTest * diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitObjectTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitObjectTest.java index c2f0f7f5ab..10f7b23de9 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitObjectTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitObjectTest.java @@ -15,12 +15,12 @@ */ package com.alibaba.druid.bvt.filter.wall; +import junit.framework.TestCase; + import org.junit.Assert; import com.alibaba.druid.wall.WallUtils; -import junit.framework.TestCase; - /** * SQLServerWallPermitObjectTest * diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitSchemaTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitSchemaTest.java index d69fe42d97..ed71a174a5 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitSchemaTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallPermitSchemaTest.java @@ -15,12 +15,12 @@ */ package com.alibaba.druid.bvt.filter.wall; +import junit.framework.TestCase; + import org.junit.Assert; import com.alibaba.druid.wall.WallUtils; -import junit.framework.TestCase; - /** * SQLServerWallPermitSchemaTest * diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallTest.java index a27c5a93ac..00a7e6a7b9 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/SQLServerWallTest.java @@ -15,14 +15,12 @@ */ package com.alibaba.druid.bvt.filter.wall; +import junit.framework.TestCase; + import org.junit.Assert; import com.alibaba.druid.wall.WallUtils; -import junit.framework.Test; -import junit.framework.TestCase; -import junit.framework.TestSuite; - /** * SQLServerWallTest * diff --git a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallVisitorUtilsLargeOrTest.java b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallVisitorUtilsLargeOrTest.java index d8cf189324..affb76963c 100644 --- a/src/test/java/com/alibaba/druid/bvt/filter/wall/WallVisitorUtilsLargeOrTest.java +++ b/src/test/java/com/alibaba/druid/bvt/filter/wall/WallVisitorUtilsLargeOrTest.java @@ -1,11 +1,11 @@ package com.alibaba.druid.bvt.filter.wall; -import com.alibaba.druid.sql.SQLUtils; -import com.alibaba.druid.wall.spi.WallVisitorUtils; - import junit.framework.Assert; import junit.framework.TestCase; +import com.alibaba.druid.sql.SQLUtils; +import com.alibaba.druid.wall.spi.WallVisitorUtils; + public class WallVisitorUtilsLargeOrTest extends TestCase { public void test_largeOr() throws Exception { StringBuilder buf = new StringBuilder(); diff --git a/src/test/java/com/alibaba/druid/bvt/hibernate/entity/Sample.java b/src/test/java/com/alibaba/druid/bvt/hibernate/entity/Sample.java index 8f5baa1dcc..dfbf79b703 100644 --- a/src/test/java/com/alibaba/druid/bvt/hibernate/entity/Sample.java +++ b/src/test/java/com/alibaba/druid/bvt/hibernate/entity/Sample.java @@ -1,9 +1,12 @@ package com.alibaba.druid.bvt.hibernate.entity; -import javax.persistence.*; import java.io.Serializable; import java.util.Date; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; + /** * @author yinheli */ diff --git a/src/test/java/com/alibaba/druid/bvt/pool/Bug_for_dupCloseStmtError.java b/src/test/java/com/alibaba/druid/bvt/pool/Bug_for_dupCloseStmtError.java index fc6e0f7c85..fc78cf8bca 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/Bug_for_dupCloseStmtError.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/Bug_for_dupCloseStmtError.java @@ -18,10 +18,10 @@ package com.alibaba.druid.bvt.pool; import java.sql.Connection; import java.sql.PreparedStatement; -import org.junit.Assert; - import junit.framework.TestCase; +import org.junit.Assert; + import com.alibaba.druid.mock.MockConnection; import com.alibaba.druid.mock.MockConnectionClosedException; import com.alibaba.druid.pool.DruidDataSource; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/Case1.java b/src/test/java/com/alibaba/druid/bvt/pool/Case1.java index dda1b2f743..6f977e9f5c 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/Case1.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/Case1.java @@ -19,13 +19,13 @@ import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.stat.DruidDataSourceStatManager; -import junit.framework.Assert; -import junit.framework.TestCase; - public class Case1 extends TestCase { protected void setUp() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidConnectionHolderTest.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidConnectionHolderTest.java index b7431245ff..6351d6f4ea 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidConnectionHolderTest.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidConnectionHolderTest.java @@ -1,6 +1,5 @@ package com.alibaba.druid.bvt.pool; -import java.sql.Connection; import java.sql.SQLException; import junit.framework.TestCase; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceC3P0AdapterTest.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceC3P0AdapterTest.java index 4ada4a1e46..8e9ca5c1b7 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceC3P0AdapterTest.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceC3P0AdapterTest.java @@ -3,10 +3,10 @@ package com.alibaba.druid.bvt.pool; import java.sql.Connection; import java.sql.SQLFeatureNotSupportedException; -import org.junit.Assert; - import junit.framework.TestCase; +import org.junit.Assert; + import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.pool.DruidDataSourceC3P0Adapter; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceDecryptTest.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceDecryptTest.java index fd18785e42..3db3d4f6aa 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceDecryptTest.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceDecryptTest.java @@ -1,11 +1,12 @@ package com.alibaba.druid.bvt.pool; -import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.util.JdbcUtils; +import java.sql.SQLException; + import org.junit.Assert; import org.junit.Test; -import java.sql.SQLException; +import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.util.JdbcUtils; /** * @author Jonas Yang diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest5.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest5.java index fdc56cc0ac..c9bf17ca9c 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest5.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest5.java @@ -4,10 +4,10 @@ import java.sql.Connection; import java.sql.SQLException; import java.util.concurrent.atomic.AtomicBoolean; -import org.junit.Assert; - import junit.framework.TestCase; +import org.junit.Assert; + import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.ValidConnectionChecker; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest7.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest7.java index ea3cbecc14..293acbbbdf 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest7.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest7.java @@ -3,10 +3,10 @@ package com.alibaba.druid.bvt.pool; import java.sql.SQLException; import java.util.Properties; -import org.junit.Assert; - import junit.framework.TestCase; +import org.junit.Assert; + import com.alibaba.druid.filter.FilterAdapter; import com.alibaba.druid.filter.FilterChain; import com.alibaba.druid.pool.DruidDataSource; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest8.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest8.java index ae8cbe7b84..520f8395a0 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest8.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest8.java @@ -3,10 +3,10 @@ package com.alibaba.druid.bvt.pool; import java.sql.SQLException; import java.util.Properties; -import org.junit.Assert; - import junit.framework.TestCase; +import org.junit.Assert; + import com.alibaba.druid.filter.FilterAdapter; import com.alibaba.druid.filter.FilterChain; import com.alibaba.druid.pool.DruidDataSource; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_autocommit.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_autocommit.java index 303abf05c9..e2ad205573 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_autocommit.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_autocommit.java @@ -4,10 +4,10 @@ import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; -import org.junit.Assert; - import junit.framework.TestCase; +import org.junit.Assert; + import com.alibaba.druid.filter.FilterAdapter; import com.alibaba.druid.filter.FilterChain; import com.alibaba.druid.pool.DruidDataSource; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_autocommit2.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_autocommit2.java index 0c0e0c1d2c..6fa86fbf01 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_autocommit2.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_autocommit2.java @@ -4,10 +4,10 @@ import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; -import org.junit.Assert; - import junit.framework.TestCase; +import org.junit.Assert; + import com.alibaba.druid.filter.FilterAdapter; import com.alibaba.druid.filter.FilterChain; import com.alibaba.druid.pool.DruidDataSource; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_autocommit3.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_autocommit3.java index 9a7486d7b0..b421d606e5 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_autocommit3.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_autocommit3.java @@ -4,10 +4,10 @@ import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; -import org.junit.Assert; - import junit.framework.TestCase; +import org.junit.Assert; + import com.alibaba.druid.filter.FilterAdapter; import com.alibaba.druid.filter.FilterChain; import com.alibaba.druid.pool.DruidDataSource; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_autocommit4.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_autocommit4.java index 3c5b04e261..c34f94241a 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_autocommit4.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_autocommit4.java @@ -4,10 +4,10 @@ import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; -import org.junit.Assert; - import junit.framework.TestCase; +import org.junit.Assert; + import com.alibaba.druid.filter.FilterAdapter; import com.alibaba.druid.filter.FilterChain; import com.alibaba.druid.pool.DruidDataSource; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_clearCache.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_clearCache.java index 16f04351a2..edac9d24a7 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_clearCache.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_clearCache.java @@ -6,9 +6,7 @@ import java.sql.PreparedStatement; import junit.framework.Assert; import junit.framework.TestCase; -import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.pool.vendor.OracleValidConnectionChecker; /** * 这个场景测试minIdle > maxActive diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_createError.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_createError.java index 306a0a14bf..ece867dc70 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_createError.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_createError.java @@ -3,10 +3,10 @@ package com.alibaba.druid.bvt.pool; import java.sql.SQLException; import java.util.Properties; -import org.junit.Assert; - import junit.framework.TestCase; +import org.junit.Assert; + import com.alibaba.druid.filter.FilterAdapter; import com.alibaba.druid.filter.FilterChain; import com.alibaba.druid.pool.DruidDataSource; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_enable.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_enable.java index 691d1b67e8..7d4000ee9a 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_enable.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_enable.java @@ -1,15 +1,12 @@ package com.alibaba.druid.bvt.pool; import java.sql.Connection; -import java.sql.PreparedStatement; import junit.framework.Assert; import junit.framework.TestCase; -import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.pool.DataSourceDisableException; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.pool.vendor.OracleValidConnectionChecker; /** * 这个场景测试minIdle > maxActive diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_exceptionSorter.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_exceptionSorter.java index 6a6f6c5825..161a497005 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_exceptionSorter.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_exceptionSorter.java @@ -5,8 +5,6 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import javax.sql.PooledConnection; - import junit.framework.TestCase; import org.junit.Assert; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_lastCreateError.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_lastCreateError.java index 0ad76b6282..242b244a1b 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_lastCreateError.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_lastCreateError.java @@ -1,13 +1,12 @@ package com.alibaba.druid.bvt.pool; -import java.sql.Connection; import java.sql.SQLException; import java.util.Properties; -import org.junit.Assert; - import junit.framework.TestCase; +import org.junit.Assert; + import com.alibaba.druid.filter.FilterAdapter; import com.alibaba.druid.filter.FilterChain; import com.alibaba.druid.pool.DruidDataSource; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_lastError.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_lastError.java index f058464fe9..98610a7138 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_lastError.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_lastError.java @@ -3,10 +3,10 @@ package com.alibaba.druid.bvt.pool; import java.sql.Connection; import java.sql.SQLException; -import org.junit.Assert; - import junit.framework.TestCase; +import org.junit.Assert; + import com.alibaba.druid.filter.FilterAdapter; import com.alibaba.druid.filter.FilterChain; import com.alibaba.druid.pool.DruidDataSource; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_loadSysPropertyFilter.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_loadSysPropertyFilter.java index 0f3117059d..f3ff18ea0a 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_loadSysPropertyFilter.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_loadSysPropertyFilter.java @@ -1,17 +1,10 @@ package com.alibaba.druid.bvt.pool; -import java.sql.Connection; -import java.sql.SQLException; -import java.util.Properties; - -import org.junit.Assert; - import junit.framework.TestCase; -import com.alibaba.druid.filter.FilterAdapter; -import com.alibaba.druid.filter.FilterChain; +import org.junit.Assert; + import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.proxy.jdbc.ConnectionProxy; /** * 这个场景测试defaultAutoCommit diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_oracle3.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_oracle3.java index 1b266c8f03..c4ec2c4c24 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_oracle3.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_oracle3.java @@ -3,7 +3,6 @@ package com.alibaba.druid.bvt.pool; import junit.framework.Assert; import junit.framework.TestCase; -import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.vendor.OracleValidConnectionChecker; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_wrapDriverFilters.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_wrapDriverFilters.java index fa53d1347c..2a59edd7c7 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_wrapDriverFilters.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidDataSourceTest_wrapDriverFilters.java @@ -1,17 +1,10 @@ package com.alibaba.druid.bvt.pool; -import java.sql.Connection; -import java.sql.SQLException; -import java.util.Properties; - -import org.junit.Assert; - import junit.framework.TestCase; -import com.alibaba.druid.filter.FilterAdapter; -import com.alibaba.druid.filter.FilterChain; +import org.junit.Assert; + import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.proxy.jdbc.ConnectionProxy; /** * 这个场景测试defaultAutoCommit diff --git a/src/test/java/com/alibaba/druid/bvt/pool/DruidPooledConnectionTest_prepareError.java b/src/test/java/com/alibaba/druid/bvt/pool/DruidPooledConnectionTest_prepareError.java index f12d54889a..dfdbc47cb2 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/DruidPooledConnectionTest_prepareError.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/DruidPooledConnectionTest_prepareError.java @@ -3,10 +3,10 @@ package com.alibaba.druid.bvt.pool; import java.sql.Connection; import java.sql.SQLException; -import org.junit.Assert; - import junit.framework.TestCase; +import org.junit.Assert; + import com.alibaba.druid.filter.FilterAdapter; import com.alibaba.druid.filter.FilterChain; import com.alibaba.druid.pool.DruidDataSource; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/ManagedDataSourceTest.java b/src/test/java/com/alibaba/druid/bvt/pool/ManagedDataSourceTest.java index 9967e04f43..d59a0d556a 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/ManagedDataSourceTest.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/ManagedDataSourceTest.java @@ -19,10 +19,10 @@ import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; -import org.junit.Assert; - import junit.framework.TestCase; +import org.junit.Assert; + import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.stat.DruidDataSourceStatManager; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/PSCacheTest4.java b/src/test/java/com/alibaba/druid/bvt/pool/PSCacheTest4.java index b7e11c2752..c8bc335644 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/PSCacheTest4.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/PSCacheTest4.java @@ -18,7 +18,6 @@ package com.alibaba.druid.bvt.pool; import junit.framework.Assert; import junit.framework.TestCase; -import com.alibaba.druid.TestForZY.A; import com.alibaba.druid.pool.DruidConnectionHolder; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidPooledConnection; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/TestActiveTrace.java b/src/test/java/com/alibaba/druid/bvt/pool/TestActiveTrace.java index 00897d0d93..e5f6104ec4 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/TestActiveTrace.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/TestActiveTrace.java @@ -15,7 +15,6 @@ */ package com.alibaba.druid.bvt.pool; -import java.lang.management.ManagementFactory; import java.sql.Connection; import junit.framework.Assert; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/TestPoolPreparedStatement.java b/src/test/java/com/alibaba/druid/bvt/pool/TestPoolPreparedStatement.java index a96e93760d..d062de3ba3 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/TestPoolPreparedStatement.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/TestPoolPreparedStatement.java @@ -21,7 +21,6 @@ import java.sql.PreparedStatement; import junit.framework.Assert; import junit.framework.TestCase; -import com.alibaba.druid.filter.stat.StatFilter; import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.mock.MockPreparedStatement; import com.alibaba.druid.pool.DruidDataSource; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/TestPoolPreparedStatement2.java b/src/test/java/com/alibaba/druid/bvt/pool/TestPoolPreparedStatement2.java index 81d5521b6f..f93159fab5 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/TestPoolPreparedStatement2.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/TestPoolPreparedStatement2.java @@ -21,7 +21,6 @@ import java.sql.PreparedStatement; import junit.framework.Assert; import junit.framework.TestCase; -import com.alibaba.druid.filter.stat.StatFilter; import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidPooledConnection; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/TestRemoveAbandoned2.java b/src/test/java/com/alibaba/druid/bvt/pool/TestRemoveAbandoned2.java index f07c3b631c..8a74e07b9e 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/TestRemoveAbandoned2.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/TestRemoveAbandoned2.java @@ -16,7 +16,6 @@ package com.alibaba.druid.bvt.pool; import java.sql.Connection; -import java.util.concurrent.atomic.AtomicLong; import junit.framework.Assert; import junit.framework.TestCase; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolablePreparedStatementTest.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolablePreparedStatementTest.java index 0669d6f7fd..46804e7704 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolablePreparedStatementTest.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolablePreparedStatementTest.java @@ -29,8 +29,8 @@ import junit.framework.TestCase; import com.alibaba.druid.mock.MockPreparedStatement; import com.alibaba.druid.pool.DruidPooledPreparedStatement; -import com.alibaba.druid.pool.PreparedStatementHolder; import com.alibaba.druid.pool.DruidPooledPreparedStatement.PreparedStatementKey; +import com.alibaba.druid.pool.PreparedStatementHolder; public class PoolablePreparedStatementTest extends TestCase { diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableStatementTest.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableStatementTest.java index 1d3ce256f6..a94d34da39 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableStatementTest.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/PoolableStatementTest.java @@ -15,7 +15,6 @@ */ package com.alibaba.druid.bvt.pool.basic; -import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; diff --git a/src/test/java/com/alibaba/druid/bvt/pool/basic/TestCommit.java b/src/test/java/com/alibaba/druid/bvt/pool/basic/TestCommit.java index d204fc5198..d315caff09 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/basic/TestCommit.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/basic/TestCommit.java @@ -24,7 +24,6 @@ import junit.framework.TestCase; import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidPooledConnection; -import com.alibaba.druid.pool.vendor.NullExceptionSorter; import com.alibaba.druid.stat.DruidDataSourceStatManager; public class TestCommit extends TestCase { diff --git a/src/test/java/com/alibaba/druid/bvt/pool/dynamic/PoolPreparedStatementsChangeTest.java b/src/test/java/com/alibaba/druid/bvt/pool/dynamic/PoolPreparedStatementsChangeTest.java index 3e859d5cca..9a2c3fdc0c 100644 --- a/src/test/java/com/alibaba/druid/bvt/pool/dynamic/PoolPreparedStatementsChangeTest.java +++ b/src/test/java/com/alibaba/druid/bvt/pool/dynamic/PoolPreparedStatementsChangeTest.java @@ -23,7 +23,6 @@ import java.sql.ResultSet; import junit.framework.Assert; import junit.framework.TestCase; -import com.alibaba.druid.mock.MockResultSet; import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.support.logging.Log; diff --git a/src/test/java/com/alibaba/druid/bvt/proxy/filter/MergeStatFilterTest3.java b/src/test/java/com/alibaba/druid/bvt/proxy/filter/MergeStatFilterTest3.java index 0907b8ac50..30f7cbe255 100644 --- a/src/test/java/com/alibaba/druid/bvt/proxy/filter/MergeStatFilterTest3.java +++ b/src/test/java/com/alibaba/druid/bvt/proxy/filter/MergeStatFilterTest3.java @@ -23,7 +23,6 @@ import junit.framework.Assert; import junit.framework.TestCase; import com.alibaba.druid.pool.DruidDataSource; -import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.util.IOUtils; public class MergeStatFilterTest3 extends TestCase { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLCallParserTest.java b/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLCallParserTest.java index 62e8921619..9c97275e6e 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLCallParserTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLCallParserTest.java @@ -18,6 +18,8 @@ */ package com.alibaba.druid.bvt.sql.cobar; +import junit.framework.TestCase; + import org.junit.Assert; import com.alibaba.druid.sql.SQLUtils; @@ -25,8 +27,6 @@ import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.TestCase; - /** * @author YU Danping */ diff --git a/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLDeleteParserTest.java b/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLDeleteParserTest.java index 9710b5e6eb..cf12fc7646 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLDeleteParserTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLDeleteParserTest.java @@ -15,6 +15,8 @@ */ package com.alibaba.druid.bvt.sql.cobar; +import junit.framework.TestCase; + import org.junit.Assert; import com.alibaba.druid.sql.SQLUtils; @@ -22,8 +24,6 @@ import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.TestCase; - public class DMLDeleteParserTest extends TestCase { public void testDelete_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLInsertParserTest.java b/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLInsertParserTest.java index 70c728df7e..bce5932d5a 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLInsertParserTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLInsertParserTest.java @@ -15,6 +15,8 @@ */ package com.alibaba.druid.bvt.sql.cobar; +import junit.framework.TestCase; + import org.junit.Assert; import com.alibaba.druid.sql.SQLUtils; @@ -22,8 +24,6 @@ import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.TestCase; - public class DMLInsertParserTest extends TestCase { public void testInsert_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLReplaceParserTest.java b/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLReplaceParserTest.java index a9546d29ed..f9b402a3e3 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLReplaceParserTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLReplaceParserTest.java @@ -15,6 +15,8 @@ */ package com.alibaba.druid.bvt.sql.cobar; +import junit.framework.TestCase; + import org.junit.Assert; import com.alibaba.druid.sql.SQLUtils; @@ -22,8 +24,6 @@ import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.TestCase; - public class DMLReplaceParserTest extends TestCase { public void testReplace_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLUpdateParserTest.java b/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLUpdateParserTest.java index c8c4b33209..146fb18fe8 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLUpdateParserTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/cobar/DMLUpdateParserTest.java @@ -15,14 +15,14 @@ */ package com.alibaba.druid.bvt.sql.cobar; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.Assert; -import junit.framework.TestCase; - public class DMLUpdateParserTest extends TestCase { public void test_update_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/cobar/HintsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/cobar/HintsTest.java index 1d5801a269..74918f8757 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/cobar/HintsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/cobar/HintsTest.java @@ -15,6 +15,8 @@ */ package com.alibaba.druid.bvt.sql.cobar; +import junit.framework.TestCase; + import org.junit.Assert; import com.alibaba.druid.sql.SQLUtils; @@ -22,8 +24,6 @@ import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.TestCase; - public class HintsTest extends TestCase { public void test_hints_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/cobar/MTSParserTest.java b/src/test/java/com/alibaba/druid/bvt/sql/cobar/MTSParserTest.java index 3bd547d227..26cc9f4ec7 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/cobar/MTSParserTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/cobar/MTSParserTest.java @@ -15,14 +15,14 @@ */ package com.alibaba.druid.bvt.sql.cobar; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.Assert; -import junit.framework.TestCase; - public class MTSParserTest extends TestCase { public void test_mts_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalBetweenTest.java b/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalBetweenTest.java index c50dab7cbd..d8db36bdd5 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalBetweenTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalBetweenTest.java @@ -1,11 +1,11 @@ package com.alibaba.druid.bvt.sql.eval; -import com.alibaba.druid.sql.visitor.SQLEvalVisitorUtils; -import com.alibaba.druid.util.JdbcConstants; - import junit.framework.Assert; import junit.framework.TestCase; +import com.alibaba.druid.sql.visitor.SQLEvalVisitorUtils; +import com.alibaba.druid.util.JdbcConstants; + public class EvalBetweenTest extends TestCase { public void test_between() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalCaseThen.java b/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalCaseThen.java index 61cdecb7e7..f1c1b06456 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalCaseThen.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalCaseThen.java @@ -1,11 +1,11 @@ package com.alibaba.druid.bvt.sql.eval; -import com.alibaba.druid.sql.visitor.SQLEvalVisitorUtils; -import com.alibaba.druid.util.JdbcConstants; - import junit.framework.Assert; import junit.framework.TestCase; +import com.alibaba.druid.sql.visitor.SQLEvalVisitorUtils; +import com.alibaba.druid.util.JdbcConstants; + public class EvalCaseThen extends TestCase { public void test_eval_then() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalConcatTest.java b/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalConcatTest.java index a0654d797d..067577a40e 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalConcatTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalConcatTest.java @@ -1,11 +1,11 @@ package com.alibaba.druid.bvt.sql.eval; -import com.alibaba.druid.sql.visitor.SQLEvalVisitorUtils; -import com.alibaba.druid.util.JdbcConstants; - import junit.framework.Assert; import junit.framework.TestCase; +import com.alibaba.druid.sql.visitor.SQLEvalVisitorUtils; +import com.alibaba.druid.util.JdbcConstants; + public class EvalConcatTest extends TestCase { public void test_concat() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalInTest.java b/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalInTest.java index a1003daf4e..f95738eb72 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalInTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalInTest.java @@ -1,11 +1,11 @@ package com.alibaba.druid.bvt.sql.eval; -import com.alibaba.druid.sql.visitor.SQLEvalVisitorUtils; -import com.alibaba.druid.util.JdbcConstants; - import junit.framework.Assert; import junit.framework.TestCase; +import com.alibaba.druid.sql.visitor.SQLEvalVisitorUtils; +import com.alibaba.druid.util.JdbcConstants; + public class EvalInTest extends TestCase { public void test_in() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalIsNullTest.java b/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalIsNullTest.java index db34c2891f..e0316797ce 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalIsNullTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/eval/EvalIsNullTest.java @@ -1,11 +1,11 @@ package com.alibaba.druid.bvt.sql.eval; -import com.alibaba.druid.sql.visitor.SQLEvalVisitorUtils; -import com.alibaba.druid.util.JdbcConstants; - import junit.framework.Assert; import junit.framework.TestCase; +import com.alibaba.druid.sql.visitor.SQLEvalVisitorUtils; +import com.alibaba.druid.util.JdbcConstants; + public class EvalIsNullTest extends TestCase { public void test_null() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/ArithmeticOperatorsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/ArithmeticOperatorsTest.java index e86da08baa..2f31809278 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/ArithmeticOperatorsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/ArithmeticOperatorsTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class ArithmeticOperatorsTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/AssignmentOperatorsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/AssignmentOperatorsTest.java index 9392a4cf0e..f38786cbd9 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/AssignmentOperatorsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/AssignmentOperatorsTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class AssignmentOperatorsTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/BitFunctionsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/BitFunctionsTest.java index 7fffe86d2b..7929c6e252 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/BitFunctionsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/BitFunctionsTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class BitFunctionsTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/BooleanValuesTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/BooleanValuesTest.java index d4dc2da3a9..dc436c6294 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/BooleanValuesTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/BooleanValuesTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class BooleanValuesTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/CALL_Test.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/CALL_Test.java index a6b194632b..0a413c6c90 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/CALL_Test.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/CALL_Test.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class CALL_Test extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/CastFunctionsAndOperatorsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/CastFunctionsAndOperatorsTest.java index cb6d7931c7..e35620f9e9 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/CastFunctionsAndOperatorsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/CastFunctionsAndOperatorsTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class CastFunctionsAndOperatorsTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/CobarHintsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/CobarHintsTest.java index 83975f71c5..4336299343 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/CobarHintsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/CobarHintsTest.java @@ -17,7 +17,6 @@ package com.alibaba.druid.bvt.sql.mysql; import junit.framework.TestCase; -import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.visitor.ParameterizedOutputVisitorUtils; import com.alibaba.druid.util.JdbcUtils; diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/ControlFlowFunctionsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/ControlFlowFunctionsTest.java index 2a3eb71fba..09699b7b4f 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/ControlFlowFunctionsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/ControlFlowFunctionsTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class ControlFlowFunctionsTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/DateAndTimeFunctionsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/DateAndTimeFunctionsTest.java index 4ec2ad7f7b..486456f6a5 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/DateAndTimeFunctionsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/DateAndTimeFunctionsTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class DateAndTimeFunctionsTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/DateAndTimeValuesTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/DateAndTimeValuesTest.java index 000f69e3d7..36bd8b3217 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/DateAndTimeValuesTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/DateAndTimeValuesTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class DateAndTimeValuesTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/DeleteSyntaxTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/DeleteSyntaxTest.java index 32b014104f..f34ebaffca 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/DeleteSyntaxTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/DeleteSyntaxTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class DeleteSyntaxTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/EncryptionAndCompressionFunctionsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/EncryptionAndCompressionFunctionsTest.java index d08fa3124d..b75897b115 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/EncryptionAndCompressionFunctionsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/EncryptionAndCompressionFunctionsTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class EncryptionAndCompressionFunctionsTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/FullTextSearchesWithQueryExpansionTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/FullTextSearchesWithQueryExpansionTest.java index 79203ca7a7..572b69a993 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/FullTextSearchesWithQueryExpansionTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/FullTextSearchesWithQueryExpansionTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class FullTextSearchesWithQueryExpansionTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/HelpTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/HelpTest.java index 9a1b6455df..b5b02125f9 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/HelpTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/HelpTest.java @@ -15,6 +15,8 @@ */ package com.alibaba.druid.bvt.sql.mysql; +import junit.framework.TestCase; + import org.junit.Assert; import com.alibaba.druid.sql.SQLUtils; @@ -22,8 +24,6 @@ import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.TestCase; - public class HelpTest extends TestCase { public void test_help_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/HexadecimalValuesTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/HexadecimalValuesTest.java index 98d40e8910..9ea604cc34 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/HexadecimalValuesTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/HexadecimalValuesTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class HexadecimalValuesTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/InformationFunctionsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/InformationFunctionsTest.java index 70f5e119a3..ae049c0198 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/InformationFunctionsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/InformationFunctionsTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class InformationFunctionsTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/InsertSyntaxTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/InsertSyntaxTest.java index 36b66fba37..abc3250308 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/InsertSyntaxTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/InsertSyntaxTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class InsertSyntaxTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/LogicalOperatorsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/LogicalOperatorsTest.java index 9f6357bf73..3b17fd3fff 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/LogicalOperatorsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/LogicalOperatorsTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class LogicalOperatorsTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MathematicalFunctionsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MathematicalFunctionsTest.java index 3732c5f8e2..267461843a 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MathematicalFunctionsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MathematicalFunctionsTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class MathematicalFunctionsTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MiscellaneousFunctionsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MiscellaneousFunctionsTest.java index 275e5c3041..c2a56b9bc6 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MiscellaneousFunctionsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MiscellaneousFunctionsTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class MiscellaneousFunctionsTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableAddIndex_0.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableAddIndex_0.java index 849444a387..b376240bb5 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableAddIndex_0.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableAddIndex_0.java @@ -15,14 +15,14 @@ */ package com.alibaba.druid.bvt.sql.mysql; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.Assert; -import junit.framework.TestCase; - public class MySqlAlterTableAddIndex_0 extends TestCase { public void test_alter_first() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableAddIndex_1.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableAddIndex_1.java index ee5201daa7..3436df8b58 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableAddIndex_1.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableAddIndex_1.java @@ -15,14 +15,14 @@ */ package com.alibaba.druid.bvt.sql.mysql; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.Assert; -import junit.framework.TestCase; - public class MySqlAlterTableAddIndex_1 extends TestCase { public void test_alter_first() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableAddPrimaryKey.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableAddPrimaryKey.java index c268d4961d..fd36b7b84e 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableAddPrimaryKey.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableAddPrimaryKey.java @@ -15,14 +15,14 @@ */ package com.alibaba.druid.bvt.sql.mysql; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.Assert; -import junit.framework.TestCase; - public class MySqlAlterTableAddPrimaryKey extends TestCase { public void test_alter_first() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableDropIndex_0.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableDropIndex_0.java index 58a9f7112b..2c23aa0450 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableDropIndex_0.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableDropIndex_0.java @@ -15,14 +15,14 @@ */ package com.alibaba.druid.bvt.sql.mysql; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.Assert; -import junit.framework.TestCase; - public class MySqlAlterTableDropIndex_0 extends TestCase { public void test_alter_first() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableDropIndex_1.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableDropIndex_1.java index de8da297bd..7b94a8c636 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableDropIndex_1.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableDropIndex_1.java @@ -15,14 +15,14 @@ */ package com.alibaba.druid.bvt.sql.mysql; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.Assert; -import junit.framework.TestCase; - public class MySqlAlterTableDropIndex_1 extends TestCase { public void test_alter_first() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableTest.java index f8c12485e3..8eba621a9c 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableTest.java @@ -15,14 +15,14 @@ */ package com.alibaba.druid.bvt.sql.mysql; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.Assert; -import junit.framework.TestCase; - public class MySqlAlterTableTest extends TestCase { public void test_alter_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableTest1.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableTest1.java index 0797a5824e..ee7eeaa315 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableTest1.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableTest1.java @@ -15,14 +15,14 @@ */ package com.alibaba.druid.bvt.sql.mysql; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.Assert; -import junit.framework.TestCase; - public class MySqlAlterTableTest1 extends TestCase { public void test_alter_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableTest2.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableTest2.java index ef4f9f0958..9611d59faf 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableTest2.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableTest2.java @@ -15,14 +15,14 @@ */ package com.alibaba.druid.bvt.sql.mysql; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.Assert; -import junit.framework.TestCase; - public class MySqlAlterTableTest2 extends TestCase { public void test_alter_first() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableTest3.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableTest3.java index 7550a40047..4f782358c8 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableTest3.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlAlterTableTest3.java @@ -15,14 +15,14 @@ */ package com.alibaba.druid.bvt.sql.mysql; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.parser.Token; -import junit.framework.Assert; -import junit.framework.TestCase; - public class MySqlAlterTableTest3 extends TestCase { public void test_alter_first() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlDropTableTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlDropTableTest.java index 136946df3d..e686f4ed0a 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlDropTableTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlDropTableTest.java @@ -24,7 +24,6 @@ import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlSchemaStatVisitor; import com.alibaba.druid.stat.TableStat; -import com.alibaba.druid.stat.TableStat.Column; public class MySqlDropTableTest extends MysqlTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlFormatTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlFormatTest.java index 5ebb1bfbd3..768dbaea24 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlFormatTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlFormatTest.java @@ -15,12 +15,12 @@ */ package com.alibaba.druid.bvt.sql.mysql; -import com.alibaba.druid.sql.SQLUtils; -import com.alibaba.druid.util.JdbcUtils; - import junit.framework.Assert; import junit.framework.TestCase; +import com.alibaba.druid.sql.SQLUtils; +import com.alibaba.druid.util.JdbcUtils; + public class MySqlFormatTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlInsertTest_0.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlInsertTest_0.java index d9e84e2171..ad2b7f4789 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlInsertTest_0.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlInsertTest_0.java @@ -23,10 +23,8 @@ import com.alibaba.druid.sql.MysqlTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.ast.expr.SQLCharExpr; import com.alibaba.druid.sql.ast.statement.SQLInsertStatement; -import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlInsertStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlSchemaStatVisitor; -import com.alibaba.druid.sql.parser.SQLStatementParser; public class MySqlInsertTest_0 extends MysqlTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlSelectTest_3.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlSelectTest_3.java index 28abbec290..c0fabc61fb 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlSelectTest_3.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlSelectTest_3.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.MysqlTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class MySqlSelectTest_3 extends MysqlTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlSelectTest_4.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlSelectTest_4.java index 92a9f2b5f2..b113828f2c 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlSelectTest_4.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlSelectTest_4.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.MysqlTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class MySqlSelectTest_4 extends MysqlTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlUpdateStatementLimitTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlUpdateStatementLimitTest.java index 0e24ba6842..c786d8641b 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlUpdateStatementLimitTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/MySqlUpdateStatementLimitTest.java @@ -15,11 +15,10 @@ */ package com.alibaba.druid.bvt.sql.mysql; -import com.alibaba.druid.sql.SQLUtils; -import com.alibaba.druid.sql.parser.SQLParserUtils; - import junit.framework.TestCase; +import com.alibaba.druid.sql.SQLUtils; + public class MySqlUpdateStatementLimitTest extends TestCase{ public void test_limit(){ String sql = "update t set name = 'x' where id < 100 limit 10"; diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/RegularExpressionsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/RegularExpressionsTest.java index a9a3ae5e56..faf50a625d 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/RegularExpressionsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/RegularExpressionsTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class RegularExpressionsTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/SELECT_Syntax_Test.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/SELECT_Syntax_Test.java index 35787ec46e..904a317dce 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/SELECT_Syntax_Test.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/SELECT_Syntax_Test.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class SELECT_Syntax_Test extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_COLUMNS_Syntax_Test.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_COLUMNS_Syntax_Test.java index 8fc79ddfe3..e59e16ecc6 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_COLUMNS_Syntax_Test.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_COLUMNS_Syntax_Test.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class SHOW_COLUMNS_Syntax_Test extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_DATABASES_Syntax_Test.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_DATABASES_Syntax_Test.java index 34a5a17709..c61061aae4 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_DATABASES_Syntax_Test.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_DATABASES_Syntax_Test.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class SHOW_DATABASES_Syntax_Test extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_STATUS_Syntax_Test.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_STATUS_Syntax_Test.java index fbe1646067..82ff8c496b 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_STATUS_Syntax_Test.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_STATUS_Syntax_Test.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class SHOW_STATUS_Syntax_Test extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_TABLES_Syntax_Test.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_TABLES_Syntax_Test.java index 33dcc1a540..e50c294696 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_TABLES_Syntax_Test.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_TABLES_Syntax_Test.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class SHOW_TABLES_Syntax_Test extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_WARNINGS_Syntax_Test.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_WARNINGS_Syntax_Test.java index 91518bc5b6..647593f6c0 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_WARNINGS_Syntax_Test.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/SHOW_WARNINGS_Syntax_Test.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class SHOW_WARNINGS_Syntax_Test extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/START_TRANSACTION_Test.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/START_TRANSACTION_Test.java index bcd1102ec9..d56cc80e3f 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/START_TRANSACTION_Test.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/START_TRANSACTION_Test.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class START_TRANSACTION_Test extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/StringComparisonFunctionsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/StringComparisonFunctionsTest.java index 13c8e052ce..bf2cb60f05 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/StringComparisonFunctionsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/StringComparisonFunctionsTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class StringComparisonFunctionsTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/StringFunctionsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/StringFunctionsTest.java index 0e0fecf113..47ee627c55 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/StringFunctionsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/StringFunctionsTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class StringFunctionsTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/XMLFunctionsTest.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/XMLFunctionsTest.java index 188a9bdaf1..13a291dc57 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/XMLFunctionsTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/XMLFunctionsTest.java @@ -17,14 +17,14 @@ package com.alibaba.druid.bvt.sql.mysql; import java.util.List; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; import com.alibaba.druid.sql.parser.SQLStatementParser; -import junit.framework.Assert; -import junit.framework.TestCase; - public class XMLFunctionsTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/mysql/visitor/MySqlSchemaStatVisitorTest5.java b/src/test/java/com/alibaba/druid/bvt/sql/mysql/visitor/MySqlSchemaStatVisitorTest5.java index 4781c00ce2..bbbc18d5df 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/mysql/visitor/MySqlSchemaStatVisitorTest5.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/mysql/visitor/MySqlSchemaStatVisitorTest5.java @@ -23,7 +23,6 @@ import junit.framework.TestCase; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.parser.MySqlStatementParser; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat.Column; public class MySqlSchemaStatVisitorTest5 extends TestCase { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/MergeTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/MergeTest.java index 2d92a28f05..d7fad5032d 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/MergeTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/MergeTest.java @@ -15,11 +15,11 @@ */ package com.alibaba.druid.bvt.sql.oracle; +import junit.framework.TestCase; + import com.alibaba.druid.sql.visitor.ParameterizedOutputVisitorUtils; import com.alibaba.druid.util.JdbcUtils; -import junit.framework.TestCase; - public class MergeTest extends TestCase { public void test_mergeCall() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterIndexTest1.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterIndexTest1.java index ae0e1bfe99..267fa80602 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterIndexTest1.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterIndexTest1.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleAlterIndexTest1 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterIndexTest2.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterIndexTest2.java index 241823d3a9..ca2fa10287 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterIndexTest2.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterIndexTest2.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleAlterIndexTest2 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterIndexTest3.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterIndexTest3.java index 351715f312..aab09dd170 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterIndexTest3.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterIndexTest3.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleAlterIndexTest3 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterIndexTest4.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterIndexTest4.java index 979adf32ea..1a7220be24 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterIndexTest4.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterIndexTest4.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleAlterIndexTest4 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterSessionTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterSessionTest.java index cc27572958..c6bec6d6dd 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterSessionTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterSessionTest.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleAlterSessionTest extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterTablespaceTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterTablespaceTest.java index 1d20340865..1a82a68dc0 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterTablespaceTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterTablespaceTest.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleAlterTablespaceTest extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterTriggerTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterTriggerTest.java index 7e7207e352..e036a99981 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterTriggerTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterTriggerTest.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleAlterTriggerTest extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterTriggerTest2.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterTriggerTest2.java index 880ded9c05..67962e09f7 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterTriggerTest2.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterTriggerTest2.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleAlterTriggerTest2 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterViewTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterViewTest.java index e5d1c98d69..c00f897c70 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterViewTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAlterViewTest.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleAlterViewTest extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAnalyticTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAnalyticTest.java index 4973fb13f5..d0363a078d 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAnalyticTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAnalyticTest.java @@ -15,13 +15,13 @@ */ package com.alibaba.druid.bvt.sql.oracle; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.test.TestUtils; -import junit.framework.Assert; -import junit.framework.TestCase; - public class OracleAnalyticTest extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAnyTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAnyTest.java index ee881b58b8..b3f820ba64 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAnyTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleAnyTest.java @@ -15,13 +15,13 @@ */ package com.alibaba.druid.bvt.sql.oracle; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.test.TestUtils; -import junit.framework.Assert; -import junit.framework.TestCase; - public class OracleAnyTest extends TestCase { public void test_any() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest.java index f73942edb6..61f488a60e 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleBlockTest extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest1.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest1.java index bf76735733..ae1a6378bd 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest1.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest1.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleBlockTest1 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest3.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest3.java index 4266f81b3c..ec30769642 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest3.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest3.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleBlockTest3 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest4.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest4.java index 4ed43326b6..0b83d12953 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest4.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest4.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleBlockTest4 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest6.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest6.java index 26e7e1b4f9..85e2f164b0 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest6.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleBlockTest6.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleBlockTest6 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleCallTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleCallTest.java index 177c3ceeff..9caa6a0dfc 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleCallTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleCallTest.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleCallTest extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleCreateSequenceTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleCreateSequenceTest.java index f11bb6d554..4eb42e4ebf 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleCreateSequenceTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleCreateSequenceTest.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleCreateSequenceTest extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleEXTRACTTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleEXTRACTTest.java index 9ebc1a0322..47ed9a346e 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleEXTRACTTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleEXTRACTTest.java @@ -15,13 +15,13 @@ */ package com.alibaba.druid.bvt.sql.oracle; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.test.TestUtils; -import junit.framework.Assert; -import junit.framework.TestCase; - public class OracleEXTRACTTest extends TestCase { public void test_Extract() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleExplainTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleExplainTest.java index 3c99949a49..1a849f372b 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleExplainTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleExplainTest.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleExplainTest extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleExplainTest2.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleExplainTest2.java index 729ed0b343..0186d9629a 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleExplainTest2.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleExplainTest2.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleExplainTest2 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleExplainTest3.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleExplainTest3.java index 32eca3c58f..1a078956a1 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleExplainTest3.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleExplainTest3.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleExplainTest3 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFlashbackQueryTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFlashbackQueryTest.java index 3961d78c26..201865ec0f 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFlashbackQueryTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFlashbackQueryTest.java @@ -15,13 +15,13 @@ */ package com.alibaba.druid.bvt.sql.oracle; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.test.TestUtils; -import junit.framework.Assert; -import junit.framework.TestCase; - public class OracleFlashbackQueryTest extends TestCase { public void test_isEmpty() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFlashbackQueryTest2.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFlashbackQueryTest2.java index 18efe2f438..0b4f7ed8db 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFlashbackQueryTest2.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFlashbackQueryTest2.java @@ -15,13 +15,13 @@ */ package com.alibaba.druid.bvt.sql.oracle; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.test.TestUtils; -import junit.framework.Assert; -import junit.framework.TestCase; - public class OracleFlashbackQueryTest2 extends TestCase { public void test_isEmpty() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFlashbackQueryTest3.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFlashbackQueryTest3.java index 92decf6545..040e62cdc5 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFlashbackQueryTest3.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFlashbackQueryTest3.java @@ -15,13 +15,13 @@ */ package com.alibaba.druid.bvt.sql.oracle; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.test.TestUtils; -import junit.framework.Assert; -import junit.framework.TestCase; - public class OracleFlashbackQueryTest3 extends TestCase { public void test_isEmpty() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFormatTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFormatTest.java index a56d61ba7a..db55083aa9 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFormatTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFormatTest.java @@ -15,10 +15,10 @@ */ package com.alibaba.druid.bvt.sql.oracle; -import com.alibaba.druid.sql.SQLUtils; - import junit.framework.TestCase; +import com.alibaba.druid.sql.SQLUtils; + public class OracleFormatTest extends TestCase{ public void test_formatOracle(){ String sql = SQLUtils.formatOracle("select substr('123''''a''''bc',0,3) FROM dual"); diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFormatTest2.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFormatTest2.java index d141ca034f..bb00bde681 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFormatTest2.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleFormatTest2.java @@ -15,11 +15,11 @@ */ package com.alibaba.druid.bvt.sql.oracle; +import junit.framework.TestCase; + import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.util.JdbcUtils; -import junit.framework.TestCase; - public class OracleFormatTest2 extends TestCase { public void test_formatOracle() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleGrantTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleGrantTest.java index ce155b0ced..7db6540b4e 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleGrantTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleGrantTest.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleGrantTest extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleInsertTest5.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleInsertTest5.java index c02c6129d7..a6475f5314 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleInsertTest5.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleInsertTest5.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleInsertTest5 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleInsertTest6.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleInsertTest6.java index 823997322d..bc9c0d3a30 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleInsertTest6.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleInsertTest6.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleInsertTest6 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleInsertTest7.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleInsertTest7.java index 225e7b87cc..3fa9e4aa17 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleInsertTest7.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleInsertTest7.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleInsertTest7 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleIntervalTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleIntervalTest.java index 8fdcd501ac..370ddaa7b7 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleIntervalTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleIntervalTest.java @@ -15,13 +15,13 @@ */ package com.alibaba.druid.bvt.sql.oracle; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.test.TestUtils; -import junit.framework.Assert; -import junit.framework.TestCase; - public class OracleIntervalTest extends TestCase { public void test_interval_literal() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleIsASetTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleIsASetTest.java index e63da86c5b..2bdcaf6bc1 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleIsASetTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleIsASetTest.java @@ -15,13 +15,13 @@ */ package com.alibaba.druid.bvt.sql.oracle; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.test.TestUtils; -import junit.framework.Assert; -import junit.framework.TestCase; - public class OracleIsASetTest extends TestCase { public void test_is_a_set() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleIsEmptyTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleIsEmptyTest.java index 1764f9812a..1125d06d42 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleIsEmptyTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleIsEmptyTest.java @@ -15,13 +15,13 @@ */ package com.alibaba.druid.bvt.sql.oracle; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.test.TestUtils; -import junit.framework.Assert; -import junit.framework.TestCase; - public class OracleIsEmptyTest extends TestCase { public void test_isEmpty() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleNumberLiteralTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleNumberLiteralTest.java index 9786402e2b..4f47cb501b 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleNumberLiteralTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleNumberLiteralTest.java @@ -15,13 +15,13 @@ */ package com.alibaba.druid.bvt.sql.oracle; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.test.TestUtils; -import junit.framework.Assert; -import junit.framework.TestCase; - public class OracleNumberLiteralTest extends TestCase { public void test_number_literal() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSQLParserTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSQLParserTest.java index d394ace237..068a8d4e3f 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSQLParserTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSQLParserTest.java @@ -21,12 +21,6 @@ import junit.framework.Assert; import junit.framework.TestCase; import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOperator; -import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr; -import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleUpdateSetListClause; -import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleUpdateSetListSingleColumnItem; -import com.alibaba.druid.sql.dialect.oracle.ast.stmt.OracleUpdateStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleOutputVisitor; diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest1.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest1.java index 005f1c97dc..edf3d862f4 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest1.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest1.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleSelectTest1 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest20.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest20.java index 253d7cab51..7ec810cb56 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest20.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest20.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleSelectTest20 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest25.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest25.java index 8bd53a7687..85a182a81b 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest25.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest25.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleSelectTest25 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest36.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest36.java index 6889a3eb76..dcf81f59c6 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest36.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest36.java @@ -20,7 +20,6 @@ import java.util.List; import junit.framework.Assert; import com.alibaba.druid.sql.OracleTest; -import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr; import com.alibaba.druid.sql.ast.expr.SQLBinaryOperator; diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest37.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest37.java index 134123e915..df9c27112f 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest37.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest37.java @@ -20,13 +20,7 @@ import java.util.List; import junit.framework.Assert; import com.alibaba.druid.sql.OracleTest; -import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOperator; -import com.alibaba.druid.sql.ast.statement.SQLSelect; -import com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock; -import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; import com.alibaba.druid.stat.TableStat; diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest38.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest38.java index 6d413b27fc..e134554bf3 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest38.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest38.java @@ -20,13 +20,7 @@ import java.util.List; import junit.framework.Assert; import com.alibaba.druid.sql.OracleTest; -import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOperator; -import com.alibaba.druid.sql.ast.statement.SQLSelect; -import com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock; -import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; import com.alibaba.druid.stat.TableStat; diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest39.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest39.java index bcc78ec319..739d297eb4 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest39.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSelectTest39.java @@ -20,13 +20,7 @@ import java.util.List; import junit.framework.Assert; import com.alibaba.druid.sql.OracleTest; -import com.alibaba.druid.sql.SQLUtils; import com.alibaba.druid.sql.ast.SQLStatement; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOpExpr; -import com.alibaba.druid.sql.ast.expr.SQLBinaryOperator; -import com.alibaba.druid.sql.ast.statement.SQLSelect; -import com.alibaba.druid.sql.ast.statement.SQLSelectQueryBlock; -import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; import com.alibaba.druid.stat.TableStat; diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSetTransactionTest.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSetTransactionTest.java index 7410ab1b8c..fb18907f3e 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSetTransactionTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSetTransactionTest.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleSetTransactionTest extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSetTransactionTest2.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSetTransactionTest2.java index d3e46ce092..9b8f712024 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSetTransactionTest2.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleSetTransactionTest2.java @@ -23,7 +23,6 @@ import com.alibaba.druid.sql.OracleTest; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleSchemaStatVisitor; -import com.alibaba.druid.stat.TableStat; public class OracleSetTransactionTest2 extends OracleTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleTest2.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleTest2.java index 261a358200..9bb48e7828 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleTest2.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/OracleTest2.java @@ -15,13 +15,13 @@ */ package com.alibaba.druid.bvt.sql.oracle; +import junit.framework.Assert; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.statement.SQLSelectStatement; import com.alibaba.druid.sql.dialect.oracle.parser.OracleStatementParser; import com.alibaba.druid.sql.test.TestUtils; -import junit.framework.Assert; -import junit.framework.TestCase; - public class OracleTest2 extends TestCase { public void test_isEmpty() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/oracle/visitor/OracleOutputVisitorTest_PrettyFormat.java b/src/test/java/com/alibaba/druid/bvt/sql/oracle/visitor/OracleOutputVisitorTest_PrettyFormat.java index 125922191a..917165b6a8 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/oracle/visitor/OracleOutputVisitorTest_PrettyFormat.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/oracle/visitor/OracleOutputVisitorTest_PrettyFormat.java @@ -1,15 +1,17 @@ package com.alibaba.druid.bvt.sql.oracle.visitor; +import java.util.List; + +import junit.framework.Assert; + +import org.junit.Test; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.oracle.visitor.OracleOutputVisitor; import com.alibaba.druid.sql.parser.SQLParserUtils; import com.alibaba.druid.sql.parser.SQLStatementParser; import com.alibaba.druid.sql.visitor.SQLASTOutputVisitor; import com.alibaba.druid.util.JdbcUtils; -import junit.framework.Assert; -import org.junit.Test; - -import java.util.List; /** * diff --git a/src/test/java/com/alibaba/druid/bvt/sql/postgresql/PGDeleteTest.java b/src/test/java/com/alibaba/druid/bvt/sql/postgresql/PGDeleteTest.java index a980096d18..3404c06d1b 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/postgresql/PGDeleteTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/postgresql/PGDeleteTest.java @@ -24,7 +24,6 @@ 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.stat.TableStat; -import com.alibaba.druid.stat.TableStat.Column; public class PGDeleteTest extends PGTest { diff --git a/src/test/java/com/alibaba/druid/bvt/sql/postgresql/PGSelectTest5.java b/src/test/java/com/alibaba/druid/bvt/sql/postgresql/PGSelectTest5.java index 7ccc21c51f..c2da99f069 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/postgresql/PGSelectTest5.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/postgresql/PGSelectTest5.java @@ -43,8 +43,8 @@ public class PGSelectTest5 extends PGTest { System.out.println("fields : " + visitor.getColumns()); System.out.println("coditions : " + visitor.getConditions()); - Assert.assertEquals(2, visitor.getColumns().size()); - Assert.assertEquals(0, visitor.getTables().size()); + Assert.assertEquals(1, visitor.getColumns().size()); + Assert.assertEquals(1, visitor.getTables().size()); } } diff --git a/src/test/java/com/alibaba/druid/bvt/sql/postgresql/TruncateTest.java b/src/test/java/com/alibaba/druid/bvt/sql/postgresql/TruncateTest.java index 123383f6a0..34a03d54ef 100644 --- a/src/test/java/com/alibaba/druid/bvt/sql/postgresql/TruncateTest.java +++ b/src/test/java/com/alibaba/druid/bvt/sql/postgresql/TruncateTest.java @@ -24,7 +24,6 @@ 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.stat.TableStat; -import com.alibaba.druid.stat.TableStat.Column; public class TruncateTest extends PGTest { diff --git a/src/test/java/com/alibaba/druid/bvt/support/http/WebStatFilterTest2.java b/src/test/java/com/alibaba/druid/bvt/support/http/WebStatFilterTest2.java index a090d2c5b5..3088a45a4f 100644 --- a/src/test/java/com/alibaba/druid/bvt/support/http/WebStatFilterTest2.java +++ b/src/test/java/com/alibaba/druid/bvt/support/http/WebStatFilterTest2.java @@ -15,6 +15,8 @@ */ package com.alibaba.druid.bvt.support.http; +import junit.framework.TestCase; + import org.junit.Assert; import org.springframework.mock.web.MockFilterChain; import org.springframework.mock.web.MockFilterConfig; @@ -26,8 +28,6 @@ import org.springframework.mock.web.MockServletContext; import com.alibaba.druid.support.http.WebStatFilter; import com.alibaba.druid.support.http.stat.WebAppStat; -import junit.framework.TestCase; - public class WebStatFilterTest2 extends TestCase { public void test_lru() throws Exception { diff --git a/src/test/java/com/alibaba/druid/bvt/utils/ThreadLocalRandomTest.java b/src/test/java/com/alibaba/druid/bvt/utils/ThreadLocalRandomTest.java index 42ace65c5b..4598b9d144 100644 --- a/src/test/java/com/alibaba/druid/bvt/utils/ThreadLocalRandomTest.java +++ b/src/test/java/com/alibaba/druid/bvt/utils/ThreadLocalRandomTest.java @@ -1,9 +1,9 @@ package com.alibaba.druid.bvt.utils; -import com.alibaba.druid.util.ThreadLocalRandom; - import junit.framework.TestCase; +import com.alibaba.druid.util.ThreadLocalRandom; + public class ThreadLocalRandomTest extends TestCase { public void test_random() throws Exception { ThreadLocalRandom.current().nextBoolean(); diff --git a/src/test/java/com/alibaba/druid/filter/config/ConfigFileGenerator.java b/src/test/java/com/alibaba/druid/filter/config/ConfigFileGenerator.java index 5adf582235..a3e5ca1218 100644 --- a/src/test/java/com/alibaba/druid/filter/config/ConfigFileGenerator.java +++ b/src/test/java/com/alibaba/druid/filter/config/ConfigFileGenerator.java @@ -1,17 +1,18 @@ package com.alibaba.druid.filter.config; -import com.alibaba.druid.pool.DruidDataSourceFactory; -import com.alibaba.druid.util.JdbcUtils; - -import junit.framework.Assert; -import org.junit.After; -import org.junit.Before; - import java.io.File; import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; +import junit.framework.Assert; + +import org.junit.After; +import org.junit.Before; + +import com.alibaba.druid.pool.DruidDataSourceFactory; +import com.alibaba.druid.util.JdbcUtils; + /** * @author Jonas Yang */ diff --git a/src/test/java/com/alibaba/druid/pool/Case0.java b/src/test/java/com/alibaba/druid/pool/Case0.java index 79769d2b0b..9d1662a3be 100644 --- a/src/test/java/com/alibaba/druid/pool/Case0.java +++ b/src/test/java/com/alibaba/druid/pool/Case0.java @@ -20,7 +20,6 @@ import java.sql.Connection; import junit.framework.Assert; import junit.framework.TestCase; -import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.util.JMXUtils; public class Case0 extends TestCase { diff --git a/src/test/java/com/alibaba/druid/pool/Case3.java b/src/test/java/com/alibaba/druid/pool/Case3.java index 7754dc2524..3494a3c7c5 100644 --- a/src/test/java/com/alibaba/druid/pool/Case3.java +++ b/src/test/java/com/alibaba/druid/pool/Case3.java @@ -22,8 +22,6 @@ import java.sql.Statement; import junit.framework.Assert; import junit.framework.TestCase; -import com.alibaba.druid.pool.DruidDataSource; - public class Case3 extends TestCase { public void test_1() throws Exception { diff --git a/src/test/java/com/alibaba/druid/pool/CobarTest.java b/src/test/java/com/alibaba/druid/pool/CobarTest.java index f4e2b42152..1349c2c28c 100644 --- a/src/test/java/com/alibaba/druid/pool/CobarTest.java +++ b/src/test/java/com/alibaba/druid/pool/CobarTest.java @@ -17,11 +17,11 @@ package com.alibaba.druid.pool; import java.sql.Connection; +import junit.framework.TestCase; + import com.alibaba.druid.pool.vendor.MySqlExceptionSorter; import com.alibaba.druid.util.JdbcUtils; -import junit.framework.TestCase; - public class CobarTest extends TestCase { private String jdbcUrl; diff --git a/src/test/java/com/alibaba/druid/pool/ConcurrentTest.java b/src/test/java/com/alibaba/druid/pool/ConcurrentTest.java index 949bb700ac..2a903a8daa 100644 --- a/src/test/java/com/alibaba/druid/pool/ConcurrentTest.java +++ b/src/test/java/com/alibaba/druid/pool/ConcurrentTest.java @@ -22,8 +22,6 @@ import junit.framework.TestCase; import org.junit.Assert; -import com.alibaba.druid.pool.DruidDataSource; - public class ConcurrentTest extends TestCase { private String jdbcUrl; diff --git a/src/test/java/com/alibaba/druid/pool/ConcurrentTest2.java b/src/test/java/com/alibaba/druid/pool/ConcurrentTest2.java index 35d94e2329..07796ac132 100644 --- a/src/test/java/com/alibaba/druid/pool/ConcurrentTest2.java +++ b/src/test/java/com/alibaba/druid/pool/ConcurrentTest2.java @@ -22,8 +22,6 @@ import java.util.concurrent.TimeUnit; import junit.framework.TestCase; -import org.junit.Assert; - public class ConcurrentTest2 extends TestCase { private String jdbcUrl; diff --git a/src/test/java/com/alibaba/druid/pool/DruidTest.java b/src/test/java/com/alibaba/druid/pool/DruidTest.java index bdcba95b3d..e3b40f0a60 100644 --- a/src/test/java/com/alibaba/druid/pool/DruidTest.java +++ b/src/test/java/com/alibaba/druid/pool/DruidTest.java @@ -23,8 +23,6 @@ import java.sql.SQLException; import java.sql.Statement; import java.util.Date; -import com.alibaba.druid.pool.DruidDataSource; - public class DruidTest { private static DruidDataSource DS; diff --git a/src/test/java/com/alibaba/druid/pool/OracleConnectionPoolDataSourceTest.java b/src/test/java/com/alibaba/druid/pool/OracleConnectionPoolDataSourceTest.java index e91fd5684c..461d665460 100644 --- a/src/test/java/com/alibaba/druid/pool/OracleConnectionPoolDataSourceTest.java +++ b/src/test/java/com/alibaba/druid/pool/OracleConnectionPoolDataSourceTest.java @@ -17,7 +17,6 @@ package com.alibaba.druid.pool; import junit.framework.TestCase; import oracle.jdbc.pool.OracleConnectionPoolDataSource; -import oracle.jdbc.pool.OracleConnectionPoolDataSource; public class OracleConnectionPoolDataSourceTest extends TestCase { diff --git a/src/test/java/com/alibaba/druid/pool/TestDruidOraclePreparedStatement.java b/src/test/java/com/alibaba/druid/pool/TestDruidOraclePreparedStatement.java index dce8047869..0c2e83cd36 100644 --- a/src/test/java/com/alibaba/druid/pool/TestDruidOraclePreparedStatement.java +++ b/src/test/java/com/alibaba/druid/pool/TestDruidOraclePreparedStatement.java @@ -18,7 +18,6 @@ package com.alibaba.druid.pool; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.sql.Statement; import junit.framework.TestCase; diff --git a/src/test/java/com/alibaba/druid/pool/TestIdle3_Concurrent_MaxActive.java b/src/test/java/com/alibaba/druid/pool/TestIdle3_Concurrent_MaxActive.java index 672cdadd54..30e84032e1 100644 --- a/src/test/java/com/alibaba/druid/pool/TestIdle3_Concurrent_MaxActive.java +++ b/src/test/java/com/alibaba/druid/pool/TestIdle3_Concurrent_MaxActive.java @@ -15,18 +15,13 @@ */ package com.alibaba.druid.pool; -import java.lang.management.ManagementFactory; import java.sql.Connection; -import java.util.Random; import java.util.concurrent.CountDownLatch; -import javax.management.ObjectName; - import junit.framework.Assert; import junit.framework.TestCase; import com.alibaba.druid.mock.MockDriver; -import com.alibaba.druid.pool.DruidDataSource; public class TestIdle3_Concurrent_MaxActive extends TestCase { diff --git a/src/test/java/com/alibaba/druid/pool/TestIdle3_Concurrent_Starvation_Longtime.java b/src/test/java/com/alibaba/druid/pool/TestIdle3_Concurrent_Starvation_Longtime.java index ee58c86764..eee45a309d 100644 --- a/src/test/java/com/alibaba/druid/pool/TestIdle3_Concurrent_Starvation_Longtime.java +++ b/src/test/java/com/alibaba/druid/pool/TestIdle3_Concurrent_Starvation_Longtime.java @@ -27,7 +27,6 @@ import junit.framework.Assert; import junit.framework.TestCase; import com.alibaba.druid.mock.MockDriver; -import com.alibaba.druid.pool.DruidDataSource; public class TestIdle3_Concurrent_Starvation_Longtime extends TestCase { diff --git a/src/test/java/com/alibaba/druid/pool/TestMySqlPing.java b/src/test/java/com/alibaba/druid/pool/TestMySqlPing.java index 8096c633df..03b7f3387b 100644 --- a/src/test/java/com/alibaba/druid/pool/TestMySqlPing.java +++ b/src/test/java/com/alibaba/druid/pool/TestMySqlPing.java @@ -16,7 +16,6 @@ package com.alibaba.druid.pool; import java.sql.DriverManager; -import java.sql.SQLException; import junit.framework.TestCase; diff --git a/src/test/java/com/alibaba/druid/pool/TestOracle_DruidDataSource.java b/src/test/java/com/alibaba/druid/pool/TestOracle_DruidDataSource.java index 5f5a1680ae..ada10ded42 100644 --- a/src/test/java/com/alibaba/druid/pool/TestOracle_DruidDataSource.java +++ b/src/test/java/com/alibaba/druid/pool/TestOracle_DruidDataSource.java @@ -18,7 +18,6 @@ package com.alibaba.druid.pool; import java.sql.Connection; import java.sql.ResultSet; import java.sql.Statement; -import java.util.TreeMap; import java.util.concurrent.CountDownLatch; import junit.framework.TestCase; diff --git a/src/test/java/com/alibaba/druid/pool/TestPoolStatement.java b/src/test/java/com/alibaba/druid/pool/TestPoolStatement.java index 64530b06f1..5b5b00a655 100644 --- a/src/test/java/com/alibaba/druid/pool/TestPoolStatement.java +++ b/src/test/java/com/alibaba/druid/pool/TestPoolStatement.java @@ -22,10 +22,10 @@ import java.sql.SQLException; import java.sql.Statement; import java.util.Random; -import com.alibaba.druid.util.JdbcUtils; - import junit.framework.TestCase; +import com.alibaba.druid.util.JdbcUtils; + public class TestPoolStatement extends TestCase { private DruidDataSource dataSource; diff --git a/src/test/java/com/alibaba/druid/pool/Test_C2.java b/src/test/java/com/alibaba/druid/pool/Test_C2.java index f8315b8cad..e0c5b99373 100644 --- a/src/test/java/com/alibaba/druid/pool/Test_C2.java +++ b/src/test/java/com/alibaba/druid/pool/Test_C2.java @@ -16,14 +16,11 @@ package com.alibaba.druid.pool; import java.sql.Connection; -import java.sql.SQLException; import java.util.concurrent.CountDownLatch; -import org.junit.Assert; - import junit.framework.TestCase; -import com.alibaba.druid.pool.DruidDataSource; +import org.junit.Assert; public class Test_C2 extends TestCase { diff --git a/src/test/java/com/alibaba/druid/pool/dbcp/Test0.java b/src/test/java/com/alibaba/druid/pool/dbcp/Test0.java index 2673baa208..eca6e49264 100644 --- a/src/test/java/com/alibaba/druid/pool/dbcp/Test0.java +++ b/src/test/java/com/alibaba/druid/pool/dbcp/Test0.java @@ -17,12 +17,10 @@ package com.alibaba.druid.pool.dbcp; import java.sql.Connection; -import junit.framework.Assert; import junit.framework.TestCase; import org.apache.commons.dbcp.BasicDataSource; -import com.alibaba.druid.mock.MockConnection; import com.alibaba.druid.mock.MockDriver; public class Test0 extends TestCase { diff --git a/src/test/java/com/alibaba/druid/pool/dbcp/TestIdleForKylin.java b/src/test/java/com/alibaba/druid/pool/dbcp/TestIdleForKylin.java index ec1f0434f7..f6f6a111e6 100644 --- a/src/test/java/com/alibaba/druid/pool/dbcp/TestIdleForKylin.java +++ b/src/test/java/com/alibaba/druid/pool/dbcp/TestIdleForKylin.java @@ -21,8 +21,6 @@ import java.sql.ResultSet; import junit.framework.TestCase; -import org.apache.commons.dbcp.BasicDataSource; - import com.alibaba.druid.mock.MockConnection; import com.alibaba.druid.mock.MockDriver; import com.alibaba.druid.pool.DruidDataSource; diff --git a/src/test/java/com/alibaba/druid/proxy/demo/Demo1.java b/src/test/java/com/alibaba/druid/proxy/demo/Demo1.java index 082fbed5b5..2886c50893 100644 --- a/src/test/java/com/alibaba/druid/proxy/demo/Demo1.java +++ b/src/test/java/com/alibaba/druid/proxy/demo/Demo1.java @@ -18,11 +18,11 @@ package com.alibaba.druid.proxy.demo; import java.sql.Connection; import java.sql.DriverManager; -import com.alibaba.druid.stat.JdbcStatManager; - import junit.framework.Assert; import junit.framework.TestCase; +import com.alibaba.druid.stat.JdbcStatManager; + public class Demo1 extends TestCase { public void test_0() throws Exception { diff --git a/src/test/java/com/alibaba/druid/sql/MysqlTest.java b/src/test/java/com/alibaba/druid/sql/MysqlTest.java index 6f117e2785..8756cf6aa6 100644 --- a/src/test/java/com/alibaba/druid/sql/MysqlTest.java +++ b/src/test/java/com/alibaba/druid/sql/MysqlTest.java @@ -21,7 +21,6 @@ import junit.framework.TestCase; import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.mysql.visitor.MySqlOutputVisitor; -import com.alibaba.druid.sql.dialect.postgresql.visitor.PGOutputVisitor; public class MysqlTest extends TestCase { protected String output(List stmtList) { diff --git a/src/test/java/com/alibaba/druid/sql/PGTest.java b/src/test/java/com/alibaba/druid/sql/PGTest.java index d3af1db9d7..c7688d2bf5 100644 --- a/src/test/java/com/alibaba/druid/sql/PGTest.java +++ b/src/test/java/com/alibaba/druid/sql/PGTest.java @@ -17,11 +17,11 @@ package com.alibaba.druid.sql; import java.util.List; +import junit.framework.TestCase; + import com.alibaba.druid.sql.ast.SQLStatement; import com.alibaba.druid.sql.dialect.postgresql.visitor.PGOutputVisitor; -import junit.framework.TestCase; - public class PGTest extends TestCase { protected String output(List stmtList) { StringBuilder out = new StringBuilder(); diff --git a/src/test/java/com/alibaba/druid/stat/MemoryTest.java b/src/test/java/com/alibaba/druid/stat/MemoryTest.java index ce62be4cfb..bd758739da 100644 --- a/src/test/java/com/alibaba/druid/stat/MemoryTest.java +++ b/src/test/java/com/alibaba/druid/stat/MemoryTest.java @@ -2,7 +2,6 @@ package com.alibaba.druid.stat; import java.lang.management.ManagementFactory; import java.text.NumberFormat; -import java.util.concurrent.atomic.AtomicLong; import junit.framework.TestCase; diff --git a/src/test/java/com/alibaba/druid/stat/TestOracle.java b/src/test/java/com/alibaba/druid/stat/TestOracle.java index 1a949791db..cf487c3b9d 100644 --- a/src/test/java/com/alibaba/druid/stat/TestOracle.java +++ b/src/test/java/com/alibaba/druid/stat/TestOracle.java @@ -16,15 +16,11 @@ package com.alibaba.druid.stat; import java.sql.Connection; -import java.sql.DatabaseMetaData; import java.sql.DriverManager; import java.sql.PreparedStatement; -import java.sql.ResultSet; import junit.framework.TestCase; -import com.alibaba.druid.util.JdbcUtils; - public class TestOracle extends TestCase { public void test_0() throws Exception {