mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
fix a few spelling errors and a function name typo in SQLEvalVisitorUtils#registerBaseFunctions
This commit is contained in:
+2
-3
@@ -10,6 +10,5 @@
|
||||
out/
|
||||
*.ipr
|
||||
*.iws
|
||||
*.iml
|
||||
/bin
|
||||
/target
|
||||
*.iml
|
||||
/bin
|
||||
@@ -15,6 +15,17 @@
|
||||
*/
|
||||
package com.alibaba.druid.filter;
|
||||
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import com.alibaba.druid.pool.DruidPooledConnection;
|
||||
import com.alibaba.druid.proxy.jdbc.CallableStatementProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.ClobProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.ConnectionProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.DataSourceProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.PreparedStatementProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.ResultSetMetaDataProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.ResultSetProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.StatementProxy;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.io.Reader;
|
||||
@@ -44,17 +55,6 @@ import java.sql.Wrapper;
|
||||
import java.util.Calendar;
|
||||
import java.util.Properties;
|
||||
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import com.alibaba.druid.pool.DruidPooledConnection;
|
||||
import com.alibaba.druid.proxy.jdbc.CallableStatementProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.ClobProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.ConnectionProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.DataSourceProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.PreparedStatementProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.ResultSetMetaDataProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.ResultSetProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.StatementProxy;
|
||||
|
||||
/**
|
||||
* @author wenshao<szujobs@hotmail.com>
|
||||
*/
|
||||
@@ -62,7 +62,7 @@ public interface Filter extends Wrapper {
|
||||
|
||||
void init(DataSourceProxy dataSource);
|
||||
|
||||
void destory();
|
||||
void destroy();
|
||||
|
||||
void configFromProperties(Properties properties);
|
||||
|
||||
|
||||
@@ -15,6 +15,18 @@
|
||||
*/
|
||||
package com.alibaba.druid.filter;
|
||||
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import com.alibaba.druid.pool.DruidPooledConnection;
|
||||
import com.alibaba.druid.proxy.jdbc.CallableStatementProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.ClobProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.ConnectionProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.DataSourceProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.PreparedStatementProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.ResultSetMetaDataProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.ResultSetProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.StatementProxy;
|
||||
|
||||
import javax.management.NotificationBroadcasterSupport;
|
||||
import java.io.InputStream;
|
||||
import java.io.Reader;
|
||||
import java.math.BigDecimal;
|
||||
@@ -40,19 +52,6 @@ import java.util.Calendar;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
|
||||
import javax.management.NotificationBroadcasterSupport;
|
||||
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import com.alibaba.druid.pool.DruidPooledConnection;
|
||||
import com.alibaba.druid.proxy.jdbc.CallableStatementProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.ClobProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.ConnectionProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.DataSourceProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.PreparedStatementProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.ResultSetMetaDataProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.ResultSetProxy;
|
||||
import com.alibaba.druid.proxy.jdbc.StatementProxy;
|
||||
|
||||
/**
|
||||
* 提供JdbcFilter的基本实现,使得实现一个JdbcFilter更容易。
|
||||
*
|
||||
@@ -65,7 +64,7 @@ public abstract class FilterAdapter extends NotificationBroadcasterSupport imple
|
||||
}
|
||||
|
||||
@Override
|
||||
public void destory() {
|
||||
public void destroy() {
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -15,41 +15,6 @@
|
||||
*/
|
||||
package com.alibaba.druid.pool;
|
||||
|
||||
import static com.alibaba.druid.util.Utils.getBoolean;
|
||||
|
||||
import java.io.Closeable;
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.ConcurrentModificationException;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.ServiceLoader;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
|
||||
import javax.management.JMException;
|
||||
import javax.management.ObjectName;
|
||||
import javax.naming.NamingException;
|
||||
import javax.naming.Reference;
|
||||
import javax.naming.Referenceable;
|
||||
import javax.naming.StringRefAddr;
|
||||
import javax.sql.ConnectionEvent;
|
||||
import javax.sql.ConnectionEventListener;
|
||||
import javax.sql.ConnectionPoolDataSource;
|
||||
import javax.sql.PooledConnection;
|
||||
|
||||
import com.alibaba.druid.Constants;
|
||||
import com.alibaba.druid.TransactionTimeoutException;
|
||||
import com.alibaba.druid.VERSION;
|
||||
@@ -90,6 +55,40 @@ import com.alibaba.druid.util.Utils;
|
||||
import com.alibaba.druid.wall.WallFilter;
|
||||
import com.alibaba.druid.wall.WallProviderStatValue;
|
||||
|
||||
import javax.management.JMException;
|
||||
import javax.management.ObjectName;
|
||||
import javax.naming.NamingException;
|
||||
import javax.naming.Reference;
|
||||
import javax.naming.Referenceable;
|
||||
import javax.naming.StringRefAddr;
|
||||
import javax.sql.ConnectionEvent;
|
||||
import javax.sql.ConnectionEventListener;
|
||||
import javax.sql.ConnectionPoolDataSource;
|
||||
import javax.sql.PooledConnection;
|
||||
import java.io.Closeable;
|
||||
import java.security.AccessController;
|
||||
import java.security.PrivilegedAction;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.ConcurrentModificationException;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.Iterator;
|
||||
import java.util.LinkedHashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Properties;
|
||||
import java.util.ServiceLoader;
|
||||
import java.util.concurrent.CountDownLatch;
|
||||
import java.util.concurrent.TimeUnit;
|
||||
import java.util.concurrent.atomic.AtomicLong;
|
||||
import java.util.concurrent.locks.Lock;
|
||||
import java.util.concurrent.locks.ReentrantLock;
|
||||
|
||||
import static com.alibaba.druid.util.Utils.getBoolean;
|
||||
|
||||
/**
|
||||
* @author ljw<ljw2083@alibaba-inc.com>
|
||||
* @author wenshao<szujobs@hotmail.com>
|
||||
@@ -126,7 +125,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
|
||||
// threads
|
||||
private CreateConnectionThread createConnectionThread;
|
||||
private DestroyConnectionThread destoryConnectionThread;
|
||||
private DestroyConnectionThread destroyConnectionThread;
|
||||
private LogStatsThread logStatsThread;
|
||||
|
||||
private final CountDownLatch initedLatch = new CountDownLatch(2);
|
||||
@@ -143,13 +142,13 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
|
||||
protected JdbcDataSourceStat dataSourceStat;
|
||||
|
||||
private boolean useGloalDataSourceStat = false;
|
||||
private boolean useGlobalDataSourceStat = false;
|
||||
|
||||
private boolean mbeanRegistered = false;
|
||||
|
||||
public static ThreadLocal<Long> waitNanosLocal = new ThreadLocal<Long>();
|
||||
|
||||
private boolean logDiffrentThread = true;
|
||||
private boolean logDifferentThread = true;
|
||||
|
||||
public DruidDataSource(){
|
||||
this(false);
|
||||
@@ -181,9 +180,9 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
}
|
||||
}
|
||||
{
|
||||
Boolean value = getBoolean(properties, "druid.useGloalDataSourceStat");
|
||||
Boolean value = getBoolean(properties, "druid.useGlobalDataSourceStat");
|
||||
if (value != null) {
|
||||
this.setUseGloalDataSourceStat(value);
|
||||
this.setUseGlobalDataSourceStat(value);
|
||||
}
|
||||
}
|
||||
{
|
||||
@@ -235,12 +234,12 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isUseGloalDataSourceStat() {
|
||||
return useGloalDataSourceStat;
|
||||
public boolean isUseGlobalDataSourceStat() {
|
||||
return useGlobalDataSourceStat;
|
||||
}
|
||||
|
||||
public void setUseGloalDataSourceStat(boolean useGloalDataSourceStat) {
|
||||
this.useGloalDataSourceStat = useGloalDataSourceStat;
|
||||
public void setUseGlobalDataSourceStat(boolean useGlobalDataSourceStat) {
|
||||
this.useGlobalDataSourceStat = useGlobalDataSourceStat;
|
||||
}
|
||||
|
||||
public String getInitStackTrace() {
|
||||
@@ -544,8 +543,8 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
+ maxActive);
|
||||
}
|
||||
|
||||
if (timeBetweenLogStatsMillis > 0 && useGloalDataSourceStat) {
|
||||
throw new IllegalArgumentException("timeBetweenLogStatsMillis not support useGloalDataSourceStat=true");
|
||||
if (timeBetweenLogStatsMillis > 0 && useGlobalDataSourceStat) {
|
||||
throw new IllegalArgumentException("timeBetweenLogStatsMillis not support useGlobalDataSourceStat=true");
|
||||
}
|
||||
|
||||
if (this.driverClass != null) {
|
||||
@@ -576,7 +575,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
initValidConnectionChecker();
|
||||
validationQueryCheck();
|
||||
|
||||
if (isUseGloalDataSourceStat()) {
|
||||
if (isUseGlobalDataSourceStat()) {
|
||||
dataSourceStat = JdbcDataSourceStat.getGlobal();
|
||||
if (dataSourceStat == null) {
|
||||
dataSourceStat = new JdbcDataSourceStat("Global", "Global", this.dbType);
|
||||
@@ -651,9 +650,9 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
}
|
||||
|
||||
private void createAndStartDestroyThread() {
|
||||
String threadName = "Druid-ConnectionPool-Destory-" + System.identityHashCode(this);
|
||||
destoryConnectionThread = new DestroyConnectionThread(threadName);
|
||||
destoryConnectionThread.start();
|
||||
String threadName = "Druid-ConnectionPool-Destroy-" + System.identityHashCode(this);
|
||||
destroyConnectionThread = new DestroyConnectionThread(threadName);
|
||||
destroyConnectionThread.start();
|
||||
}
|
||||
|
||||
protected void createAndStartCreatorThread() {
|
||||
@@ -1126,7 +1125,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
return;
|
||||
}
|
||||
|
||||
if (logDiffrentThread && pooledConnection.getOwnerThread() != Thread.currentThread()) {
|
||||
if (logDifferentThread && pooledConnection.getOwnerThread() != Thread.currentThread()) {
|
||||
LOG.warn("get/close not same thread");
|
||||
}
|
||||
|
||||
@@ -1244,8 +1243,8 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
createConnectionThread.interrupt();
|
||||
}
|
||||
|
||||
if (destoryConnectionThread != null) {
|
||||
destoryConnectionThread.interrupt();
|
||||
if (destroyConnectionThread != null) {
|
||||
destroyConnectionThread.interrupt();
|
||||
}
|
||||
|
||||
for (int i = 0; i < poolingCount; ++i) {
|
||||
@@ -1276,7 +1275,7 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
this.closeTimeMillis = System.currentTimeMillis();
|
||||
|
||||
for (Filter filter : filters) {
|
||||
filter.destory();
|
||||
filter.destroy();
|
||||
}
|
||||
} finally {
|
||||
lock.unlock();
|
||||
@@ -2395,12 +2394,12 @@ public class DruidDataSource extends DruidAbstractDataSource implements DruidDat
|
||||
return super.unwrap(iface);
|
||||
}
|
||||
|
||||
public boolean isLogDiffrentThread() {
|
||||
return logDiffrentThread;
|
||||
public boolean isLogDifferentThread() {
|
||||
return logDifferentThread;
|
||||
}
|
||||
|
||||
public void setLogDiffrentThread(boolean logDiffrentThread) {
|
||||
this.logDiffrentThread = logDiffrentThread;
|
||||
public void setLogDifferentThread(boolean logDifferentThread) {
|
||||
this.logDifferentThread = logDifferentThread;
|
||||
}
|
||||
|
||||
public DruidPooledConnection tryGetConnection() throws SQLException {
|
||||
|
||||
@@ -15,23 +15,6 @@
|
||||
*/
|
||||
package com.alibaba.druid.sql.visitor;
|
||||
|
||||
import static com.alibaba.druid.sql.visitor.SQLEvalVisitor.EVAL_ERROR;
|
||||
import static com.alibaba.druid.sql.visitor.SQLEvalVisitor.EVAL_EXPR;
|
||||
import static com.alibaba.druid.sql.visitor.SQLEvalVisitor.EVAL_VALUE;
|
||||
import static com.alibaba.druid.sql.visitor.SQLEvalVisitor.EVAL_VALUE_NULL;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import com.alibaba.druid.DruidRuntimeException;
|
||||
import com.alibaba.druid.sql.SQLUtils;
|
||||
import com.alibaba.druid.sql.ast.SQLExpr;
|
||||
@@ -95,6 +78,23 @@ import com.alibaba.druid.util.Utils;
|
||||
import com.alibaba.druid.wall.spi.WallVisitorUtils;
|
||||
import com.alibaba.druid.wall.spi.WallVisitorUtils.WallConditionContext;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
import static com.alibaba.druid.sql.visitor.SQLEvalVisitor.EVAL_ERROR;
|
||||
import static com.alibaba.druid.sql.visitor.SQLEvalVisitor.EVAL_EXPR;
|
||||
import static com.alibaba.druid.sql.visitor.SQLEvalVisitor.EVAL_VALUE;
|
||||
import static com.alibaba.druid.sql.visitor.SQLEvalVisitor.EVAL_VALUE_NULL;
|
||||
|
||||
public class SQLEvalVisitorUtils {
|
||||
|
||||
private static Map<String, Function> functions = new HashMap<String, Function>();
|
||||
@@ -209,7 +209,7 @@ public class SQLEvalVisitorUtils {
|
||||
functions.put("trim", Trim.instance);
|
||||
functions.put("ucase", Ucase.instance);
|
||||
functions.put("upper", Ucase.instance);
|
||||
functions.put("ucase", Lcase.instance);
|
||||
functions.put("lcase", Lcase.instance);
|
||||
functions.put("lower", Lcase.instance);
|
||||
functions.put("hex", Hex.instance);
|
||||
functions.put("unhex", Unhex.instance);
|
||||
|
||||
@@ -1,11 +1,9 @@
|
||||
package com.alibaba.druid;
|
||||
|
||||
import java.beans.PropertyVetoException;
|
||||
import java.sql.SQLException;
|
||||
|
||||
import org.junit.Assert;
|
||||
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import com.mchange.v2.c3p0.ComboPooledDataSource;
|
||||
import org.junit.AfterClass;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Before;
|
||||
import org.junit.BeforeClass;
|
||||
import org.junit.Test;
|
||||
@@ -17,8 +15,8 @@ import org.nutz.dao.impl.NutDao;
|
||||
import org.nutz.trans.Atom;
|
||||
import org.nutz.trans.Trans;
|
||||
|
||||
import com.alibaba.druid.pool.DruidDataSource;
|
||||
import com.mchange.v2.c3p0.ComboPooledDataSource;
|
||||
import java.beans.PropertyVetoException;
|
||||
import java.sql.SQLException;
|
||||
|
||||
/*
|
||||
* Copyright 1999-2011 Alibaba Group Holding Ltd.
|
||||
@@ -79,7 +77,7 @@ public class TestRollBack {
|
||||
}
|
||||
|
||||
@AfterClass
|
||||
public static void destory() {
|
||||
public static void destroy() {
|
||||
c3p0.close();
|
||||
druid.close();
|
||||
}
|
||||
|
||||
+6
-6
@@ -8,23 +8,23 @@ import com.alibaba.druid.pool.DruidDataSource;
|
||||
import com.alibaba.druid.util.JdbcUtils;
|
||||
|
||||
|
||||
public class PropertyTest_useGloalDataSourceStat extends TestCase {
|
||||
public class PropertyTest_useGlobalDataSourceStat extends TestCase {
|
||||
private DruidDataSource dataSource;
|
||||
|
||||
public void test_true() {
|
||||
System.setProperty("druid.useGloalDataSourceStat", "true");
|
||||
System.setProperty("druid.useGlobalDataSourceStat", "true");
|
||||
dataSource = new DruidDataSource();
|
||||
Assert.assertTrue(dataSource.isUseGloalDataSourceStat());
|
||||
Assert.assertTrue(dataSource.isUseGlobalDataSourceStat());
|
||||
}
|
||||
|
||||
public void test_false() {
|
||||
System.setProperty("druid.useGloalDataSourceStat", "false");
|
||||
System.setProperty("druid.useGlobalDataSourceStat", "false");
|
||||
dataSource = new DruidDataSource();
|
||||
Assert.assertFalse(dataSource.isUseGloalDataSourceStat());
|
||||
Assert.assertFalse(dataSource.isUseGlobalDataSourceStat());
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
System.clearProperty("druid.useGloalDataSourceStat");
|
||||
System.clearProperty("druid.useGlobalDataSourceStat");
|
||||
JdbcUtils.close(dataSource);
|
||||
}
|
||||
}
|
||||
@@ -28,12 +28,12 @@ public class GlobalStatTest0 extends TestCase {
|
||||
dataSourceA = new DruidDataSource();
|
||||
dataSourceA.setUrl("jdbc:mock:xx_A");
|
||||
dataSourceA.setFilters("stat");
|
||||
dataSourceA.setUseGloalDataSourceStat(true);
|
||||
dataSourceA.setUseGlobalDataSourceStat(true);
|
||||
|
||||
dataSourceB = new DruidDataSource();
|
||||
dataSourceB.setUrl("jdbc:mock:xx_A");
|
||||
dataSourceB.setFilters("stat");
|
||||
dataSourceB.setUseGloalDataSourceStat(true);
|
||||
dataSourceB.setUseGlobalDataSourceStat(true);
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
|
||||
@@ -25,12 +25,12 @@ public class GlobalStatTest1 extends TestCase {
|
||||
dataSourceA = new DruidDataSource();
|
||||
dataSourceA.setUrl("jdbc:mock:xx_A");
|
||||
dataSourceA.setFilters("stat");
|
||||
dataSourceA.setUseGloalDataSourceStat(true);
|
||||
dataSourceA.setUseGlobalDataSourceStat(true);
|
||||
|
||||
dataSourceB = new DruidDataSource();
|
||||
dataSourceB.setUrl("jdbc:mock:xx_A");
|
||||
dataSourceB.setFilters("stat");
|
||||
dataSourceB.setUseGloalDataSourceStat(true);
|
||||
dataSourceB.setUseGlobalDataSourceStat(true);
|
||||
}
|
||||
|
||||
protected void tearDown() throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user