diff --git a/pom.xml b/pom.xml
index 80224114d0..328a02d5a3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -11,7 +11,7 @@
com.alibaba
druid
- 1.0.13
+ 1.0.14
jar
druid
diff --git a/src/main/java/com/alibaba/druid/VERSION.java b/src/main/java/com/alibaba/druid/VERSION.java
index 33ea3c73a6..eba0312ffd 100644
--- a/src/main/java/com/alibaba/druid/VERSION.java
+++ b/src/main/java/com/alibaba/druid/VERSION.java
@@ -19,7 +19,7 @@ public final class VERSION {
public final static int MajorVersion = 1;
public final static int MinorVersion = 0;
- public final static int RevisionVersion = 13;
+ public final static int RevisionVersion = 14;
public static String getVersionNumber() {
return VERSION.MajorVersion + "." + VERSION.MinorVersion + "." + VERSION.RevisionVersion;
diff --git a/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java b/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java
index 27605810e4..4f48219327 100644
--- a/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java
+++ b/src/main/java/com/alibaba/druid/sql/parser/SQLExprParser.java
@@ -458,6 +458,11 @@ public class SQLExprParser extends SQLParser {
sqlExpr = new SQLNumberExpr(lexer.decimalValue());
lexer.nextToken();
break;
+ case IDENTIFIER: // 当+号后面为字段的情况
+ sqlExpr = new SQLIdentifierExpr(lexer.stringVal());
+ sqlExpr = new SQLUnaryExpr(SQLUnaryOperator.Plus, sqlExpr);
+ lexer.nextToken();
+ break;
case LPAREN:
lexer.nextToken();
sqlExpr = expr();
diff --git a/src/main/resources/support/http/resources/js/doT.js b/src/main/resources/support/http/resources/js/doT.js
index 029f807de9..9927e3711e 100644
--- a/src/main/resources/support/http/resources/js/doT.js
+++ b/src/main/resources/support/http/resources/js/doT.js
@@ -6,7 +6,7 @@
"use strict";
var doT = {
- version: '1.0.9',
+ version: '1.0.14',
templateSettings: {
evaluate: /\{\{([\s\S]+?\}?)\}\}/g,
interpolate: /\{\{=([\s\S]+?)\}\}/g,
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 3311c2123a..bc2acf0c14 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
@@ -621,6 +621,29 @@ public class DateAndTimeFunctionsTest extends TestCase {
Assert.assertEquals("SELECT YEARWEEK('1987-01-01');", text);
}
+
+
+ public void test_54() throws Exception {
+ String sql = "SELECT t.c1, DATE_ADD('2008-01-02', INTERVAL +t.c1 DAY) from t";
+
+ SQLStatementParser parser = new MySqlStatementParser(sql);
+ List stmtList = parser.parseStatementList();
+
+ String text = output(stmtList);
+
+ Assert.assertEquals("SELECT t.c1, DATE_ADD('2008-01-02', INTERVAL +t.c1 DAY)\nFROM t;", text);
+ }
+
+ public void test_55() throws Exception {
+ String sql = "SELECT t.c1, DATE_ADD('2008-01-02', INTERVAL -t.c1 DAY) from t";
+
+ SQLStatementParser parser = new MySqlStatementParser(sql);
+ List stmtList = parser.parseStatementList();
+
+ String text = output(stmtList);
+
+ Assert.assertEquals("SELECT t.c1, DATE_ADD('2008-01-02', INTERVAL -t.c1 DAY)\nFROM t;", text);
+ }
private String output(List stmtList) {
StringBuilder out = new StringBuilder();