diff --git a/pom.xml b/pom.xml
index 129e61df6b..b80a7eb8f2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
com.alibaba
druid
- 0.2.26
+ 0.2.27
jar
druid
diff --git a/src/main/java/com/alibaba/druid/VERSION.java b/src/main/java/com/alibaba/druid/VERSION.java
index 8291983bfa..a50fcf20f6 100644
--- a/src/main/java/com/alibaba/druid/VERSION.java
+++ b/src/main/java/com/alibaba/druid/VERSION.java
@@ -19,8 +19,8 @@ public final class VERSION {
public final static int MajorVersion = 0;
public final static int MinorVersion = 2;
- public final static int RevisionVersion = 26;
-
+ public final static int RevisionVersion = 27;
+
public static String getVersionNumber() {
return VERSION.MajorVersion + "." + VERSION.MinorVersion + "." + VERSION.RevisionVersion;
}
diff --git a/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlParameterizedOutputVisitor.java b/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlParameterizedOutputVisitor.java
index 2ffe1f754c..e3a06c4e8c 100644
--- a/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlParameterizedOutputVisitor.java
+++ b/src/main/java/com/alibaba/druid/sql/dialect/mysql/visitor/MySqlParameterizedOutputVisitor.java
@@ -15,6 +15,7 @@
*/
package com.alibaba.druid.sql.dialect.mysql.visitor;
+import java.security.AccessControlException;
import java.util.List;
import java.util.Properties;
@@ -46,7 +47,10 @@ public class MySqlParameterizedOutputVisitor extends MySqlOutputVisitor implemen
public MySqlParameterizedOutputVisitor(Appendable appender){
super(appender);
- configFromPropety(System.getProperties());
+ try {
+ configFromPropety(System.getProperties());
+ } catch (AccessControlException e) {
+ }
}
public void configFromPropety(Properties properties) {
@@ -87,7 +91,7 @@ public class MySqlParameterizedOutputVisitor extends MySqlOutputVisitor implemen
SQLObject parent = x.getParent();
computeSharding = parent instanceof SQLExprTableSource || parent instanceof SQLPropertyExpr;
}
-
+
if (computeSharding) {
int pos = name.lastIndexOf('_');
if (pos != -1 && pos != name.length() - 1) {
diff --git a/src/main/java/com/alibaba/druid/sql/visitor/SQLEvalVisitorUtils.java b/src/main/java/com/alibaba/druid/sql/visitor/SQLEvalVisitorUtils.java
index ee15695723..c2634ce5e4 100644
--- a/src/main/java/com/alibaba/druid/sql/visitor/SQLEvalVisitorUtils.java
+++ b/src/main/java/com/alibaba/druid/sql/visitor/SQLEvalVisitorUtils.java
@@ -94,7 +94,6 @@ import com.alibaba.druid.util.JdbcUtils;
import com.alibaba.druid.util.Utils;
import com.alibaba.druid.wall.spi.WallVisitorUtils;
import com.alibaba.druid.wall.spi.WallVisitorUtils.WallConditionContext;
-import com.alibaba.druid.wall.spi.WallVisitorUtils.WallSelectQueryContext;
public class SQLEvalVisitorUtils {
@@ -872,17 +871,14 @@ public class SQLEvalVisitorUtils {
if (x.getOperator() == SQLBinaryOperator.Like) {
if (isAlwayTrueLikePattern(x.getRight())) {
- final WallSelectQueryContext wallSelectQueryContext = WallVisitorUtils.getWallSelectQueryContext();
- if (wallSelectQueryContext != null) {
- wallSelectQueryContext.setTrueLike(Boolean.TRUE);
- }
+ x.putAttribute(WallVisitorUtils.HAS_TRUE_LIKE, Boolean.TRUE);
x.putAttribute(EVAL_VALUE, Boolean.TRUE);
return false;
}
}
if (x.getOperator() == SQLBinaryOperator.NotLike) {
- if (isAlwayTrueLikePattern(x)) {
+ if (isAlwayTrueLikePattern(x.getRight())) {
x.putAttribute(EVAL_VALUE, Boolean.FALSE);
return false;
}
@@ -1063,7 +1059,7 @@ public class SQLEvalVisitorUtils {
if (x instanceof SQLCharExpr) {
String text = ((SQLCharExpr) x).getText();
- if (text.length() >= 0) {
+ if (text.length() > 0) {
for (char ch : text.toCharArray()) {
if (ch != '%') {
return false;
diff --git a/src/main/java/com/alibaba/druid/stat/DruidStatManagerFacade.java b/src/main/java/com/alibaba/druid/stat/DruidStatManagerFacade.java
index 8e0f59139f..2824469f1c 100644
--- a/src/main/java/com/alibaba/druid/stat/DruidStatManagerFacade.java
+++ b/src/main/java/com/alibaba/druid/stat/DruidStatManagerFacade.java
@@ -34,9 +34,9 @@ import com.alibaba.druid.sql.visitor.SQLEvalVisitorUtils;
import com.alibaba.druid.support.http.stat.WebAppStatManager;
import com.alibaba.druid.support.spring.stat.SpringStatManager;
import com.alibaba.druid.util.DruidDataSourceUtils;
-import com.alibaba.druid.util.Utils;
import com.alibaba.druid.util.JdbcSqlStatUtils;
import com.alibaba.druid.util.StringUtils;
+import com.alibaba.druid.util.Utils;
/**
* 监控相关的对外数据暴露
@@ -245,7 +245,7 @@ public final class DruidStatManagerFacade {
} else if (valueA instanceof List && valueB instanceof List) {
List