mirror of
https://github.com/alibaba/druid.git
synced 2023-03-04 19:17:16 +00:00
improved sql parser.
This commit is contained in:
@@ -38,7 +38,7 @@ public class MySqlParameterizedBenchmark extends TestCase {
|
||||
// perf_parse(sql3); // 9174 5875 5805 5536 5717
|
||||
// perf_parse(sql4); // 2953 2502
|
||||
|
||||
perf_stat(sql); // 11793 13628 13561 13259 9909
|
||||
perf_stat(sql); // 11793 13628 13561 13259 9819
|
||||
|
||||
// perf_resolve(sql); // 4970 4586
|
||||
}
|
||||
|
||||
@@ -5,17 +5,17 @@ import junit.framework.TestCase;
|
||||
|
||||
public class HashTest_0 extends TestCase {
|
||||
public void test_issue() throws Exception {
|
||||
assertEquals(new SQLIdentifierExpr("a").name_hash_lower()
|
||||
, new SQLIdentifierExpr("A").name_hash_lower());;
|
||||
assertEquals(new SQLIdentifierExpr("a").nameHashCode64()
|
||||
, new SQLIdentifierExpr("A").nameHashCode64());;
|
||||
}
|
||||
|
||||
public void test_issue_1() throws Exception {
|
||||
assertEquals(new SQLIdentifierExpr("a").name_hash_lower()
|
||||
, new SQLIdentifierExpr("`A`").name_hash_lower());;
|
||||
assertEquals(new SQLIdentifierExpr("a").nameHashCode64()
|
||||
, new SQLIdentifierExpr("`A`").nameHashCode64());;
|
||||
}
|
||||
|
||||
public void test_issue_2() throws Exception {
|
||||
assertEquals(new SQLIdentifierExpr("\"a\"").name_hash_lower()
|
||||
, new SQLIdentifierExpr("`A`").name_hash_lower());;
|
||||
assertEquals(new SQLIdentifierExpr("\"a\"").nameHashCode64()
|
||||
, new SQLIdentifierExpr("`A`").nameHashCode64());;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,29 +1,28 @@
|
||||
package com.alibaba.druid.bvt.sql;
|
||||
|
||||
import com.alibaba.druid.sql.ast.expr.SQLIdentifierExpr;
|
||||
import com.alibaba.druid.sql.ast.expr.SQLPropertyExpr;
|
||||
import com.alibaba.druid.util.FNVUtils;
|
||||
import com.alibaba.druid.util.FnvHash;
|
||||
import junit.framework.TestCase;
|
||||
|
||||
public class HashTest_1_propertyExpr extends TestCase {
|
||||
public void test_issue() throws Exception {
|
||||
assertEquals(new SQLPropertyExpr("t","a").name_hash_lower()
|
||||
, new SQLPropertyExpr("t","A").name_hash_lower());;
|
||||
assertEquals(new SQLPropertyExpr("t","a").nameHashCode64()
|
||||
, new SQLPropertyExpr("t","A").nameHashCode64());;
|
||||
}
|
||||
|
||||
public void test_issue_1() throws Exception {
|
||||
assertEquals(new SQLPropertyExpr("t","a").name_hash_lower()
|
||||
, new SQLPropertyExpr("t","`A`").name_hash_lower());;
|
||||
assertEquals(new SQLPropertyExpr("t","a").nameHashCode64()
|
||||
, new SQLPropertyExpr("t","`A`").nameHashCode64());;
|
||||
}
|
||||
|
||||
public void test_issue_2() throws Exception {
|
||||
assertEquals(new SQLPropertyExpr("t","\"a\"").name_hash_lower()
|
||||
, new SQLPropertyExpr("t","`A`").name_hash_lower());;
|
||||
assertEquals(new SQLPropertyExpr("t","\"a\"").nameHashCode64()
|
||||
, new SQLPropertyExpr("t","`A`").nameHashCode64());;
|
||||
}
|
||||
|
||||
public void test_issue_3() throws Exception {
|
||||
assertEquals(new SQLPropertyExpr("ESCROW","HT_TASK_TRADE_HISTORY_NEW").name_hash_lower()
|
||||
, new SQLPropertyExpr("\"ESCROW\"","\"HT_TASK_TRADE_HISTORY_NEW\"").name_hash_lower());;
|
||||
assertEquals(new SQLPropertyExpr("ESCROW","HT_TASK_TRADE_HISTORY_NEW").nameHashCode64()
|
||||
, new SQLPropertyExpr("\"ESCROW\"","\"HT_TASK_TRADE_HISTORY_NEW\"").nameHashCode64());;
|
||||
}
|
||||
|
||||
public void test_issue_4() throws Exception {
|
||||
@@ -33,14 +32,16 @@ public class HashTest_1_propertyExpr extends TestCase {
|
||||
|
||||
public void test_issue_5() throws Exception {
|
||||
assertEquals(
|
||||
FNVUtils.fnv_64_lower("a.b")
|
||||
, FNVUtils.fnv_64_lower(new SQLPropertyExpr("\"a\"","\"b\"")));;
|
||||
FnvHash.fnv_64_lower("a.b"),
|
||||
new SQLPropertyExpr("\"a\"","\"b\"")
|
||||
.hashCode64()
|
||||
);
|
||||
}
|
||||
|
||||
public void test_issue_6() throws Exception {
|
||||
assertEquals(
|
||||
FNVUtils.fnv_64_lower("ESCROW.HT_TASK_TRADE_HISTORY_NEW")
|
||||
, FNVUtils.fnv_64_lower(new SQLPropertyExpr("\"ESCROW\"","\"HT_TASK_TRADE_HISTORY_NEW\"")));;
|
||||
FnvHash.fnv_64_lower("ESCROW.HT_TASK_TRADE_HISTORY_NEW"),
|
||||
new SQLPropertyExpr("\"ESCROW\"","\"HT_TASK_TRADE_HISTORY_NEW\"").hashCode64());
|
||||
}
|
||||
|
||||
//ESCROW.HT_TASK_TRADE_HISTORY_NEW
|
||||
|
||||
Reference in New Issue
Block a user