Browse Source

251 fix quote sentament (#223)

* fix-sql-parser-quote-senamentXXq!

* fix_grave_quote_in_test_py

Co-authored-by: root <root@SHJD-LT-002177.360buyAD.local>
JackieChan 1 year ago
parent
commit
3cfd02d45d

+ 2 - 1
script/download.sh

@@ -1 +1,2 @@
-wget https://github.com/DTC8/sql-parser/releases/download/hsql.plus-1a5b3f5/hsql.plus-1a5b3f5.tar.gz -O hsql.tar.gz
+wget https://github.com/DTC8/sql-parser/releases/download/hsql.plus-2d5c6a1/hsql.plus-2d5c6a1.tar.gz -O hsql.tar.gz
+ 

+ 1 - 1
src/libs/hsql/include/parser/flex_lexer.h

@@ -730,7 +730,7 @@ extern int yylex \
 #undef yyTABLES_NAME
 #endif
 
-#line 278 "flex_lexer.l"
+#line 283 "flex_lexer.l"
 
 
 #line 737 "flex_lexer.h"

BIN
src/libs/hsql/libs/libsqlparser.a


BIN
src/libs/hsql/libs/libsqlparser.so


+ 47 - 64
tests/test_dtcd_cache_only.py

@@ -49,41 +49,29 @@ def test_update():
     rowsaffected = cursor.execute(sql)
     assert rowsaffected == 1
 
-    #sql = "update opensource set name = \"Lee3\" where uid = 1"
-    #rowsaffected = cursor.execute(sql)
-    #assert rowsaffected == 1
-
-    sql = "update opensource set name = `Lee` where uid = 1"
+    sql = "update opensource set name = \"Lee3\" where uid = 1"
     rowsaffected = cursor.execute(sql)
-    assert rowsaffected == 0
-
-    #sql = "update opensource set name = \"Lee4\" where uid = '1'"
-    #rowsaffected = cursor.execute(sql)
-    #assert rowsaffected == 1    
-
-    #sql = "update opensource set name = \"Lee\" where uid = \"1\""
-    #rowsaffected = cursor.execute(sql)
-    #assert rowsaffected == 1        
-
-    #sql = "update opensource set name = 'Lee2' where `uid` = 1"
-    #rowsaffected = cursor.execute(sql)
-    #assert rowsaffected == 1
+    assert rowsaffected == 1
 
-    #sql = "update opensource set name = \"Lee\" where `uid` = 1"
-    #rowsaffected = cursor.execute(sql)
-    #assert rowsaffected == 1    
+    sql = "update opensource set `name` = 'Lee2' where uid = 1"
+    rowsaffected = cursor.execute(sql)
+    assert rowsaffected == 1
 
-    #sql = "update opensource set `name` = \"Lee2\" where `uid` = 1"
-    #rowsaffected = cursor.execute(sql)
-    #assert rowsaffected == 1        
+    sql = "update opensource set \"name\" = 'Lee' where uid = 1"
+    rowsaffected = cursor.execute(sql)
+    assert rowsaffected == 0
 
-    #sql = "update opensource set `name` = \"Lee\" where `uid` = gh"
-    #rowsaffected = cursor.execute(sql)
-    #assert rowsaffected == 0
+    sql = "update opensource set name = \"Lee4\" where uid = '1'"
+    rowsaffected = cursor.execute(sql)
+    assert rowsaffected == 0    
 
-    #sql = "update opensource set `name` = Lee2 where `uid` = 1"
-    #rowsaffected = cursor.execute(sql)
-    #assert rowsaffected == 0
+    sql = "update opensource set name = \"Lee\" where uid = \"1\""
+    rowsaffected = cursor.execute(sql)
+    assert rowsaffected == 0        
+   
+    sql = "update opensource set name = \"Lee\" where uid = 1"
+    rowsaffected = cursor.execute(sql)
+    assert rowsaffected == 1    
 
     db.commit()
     cursor.close()
@@ -219,6 +207,11 @@ def test_insert_automated_conversion():
     insert = cursor.execute(sql)
     assert insert == 1
 
+    #name string to num
+    sql = "insert into opensource(uid,name,city,sex,age) values(2, \"jack\", 'Shanghai', 1, '18')"
+    insert = cursor.execute(sql)
+    assert insert == 1
+
     #name string to num, error
     sql = "insert into opensource(uid,name,city,sex,age) values(1, 'jack', 'Shanghai', 1, '18a')"
     insert = cursor.execute(sql)
@@ -239,16 +232,6 @@ def test_insert_with_double_quotes():
     db.close()    
     assert rowsaffected == 1
 
-def test_insert_with_double_quotes():
-    db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
-    cursor = db.cursor()
-    sql = "insert into opensource(uid, name) values(33, \"hello\")"
-    rowsaffected = cursor.execute(sql)
-    db.commit()
-    cursor.close()
-    db.close()    
-    assert rowsaffected == 1
-
 def test_insert_with_grave():
     db = pymysql.connect(host='127.0.0.1', port=20015, user='test', password='test', database='test')
     cursor = db.cursor()
@@ -257,17 +240,17 @@ def test_insert_with_grave():
     rowsaffected = cursor.execute(sql)
     assert rowsaffected == 1
 
-    #sql = "insert into opensource(`uid`, name) values(33, 'hello')"
-    #rowsaffected = cursor.execute(sql)
-    #assert rowsaffected == 1
+    sql = "insert into opensource(`uid`, name) values(33, 'hello')"
+    rowsaffected = cursor.execute(sql)
+    assert rowsaffected == 1
 
-    #sql = "insert into opensource(`uid`, `name`) values(33, 'hello')"
-    #rowsaffected = cursor.execute(sql)
-    #assert rowsaffected == 1
+    sql = "insert into opensource(`uid`, `name`) values(33, 'hello')"
+    rowsaffected = cursor.execute(sql)
+    assert rowsaffected == 1
 
-    #sql = "insert into `opensource`(`uid`, `name`) values(33, 'hello')"
-    #rowsaffected = cursor.execute(sql)
-    #assert rowsaffected == 1    
+    sql = "insert into `opensource`(`uid`, `name`) values(33, \"hello\")"
+    rowsaffected = cursor.execute(sql)
+    assert rowsaffected == 1
 
     sql = "insert into opensource(uid, name) values(33, `hello`)"
     rowsaffected = cursor.execute(sql)
@@ -277,13 +260,13 @@ def test_insert_with_grave():
     rowsaffected = cursor.execute(sql)
     assert rowsaffected == 0    
 
-    #sql = "insert into \"opensource\"(uid, name) values(33, 'hello')"
-    #rowsaffected = cursor.execute(sql)
-    #assert rowsaffected == 1
+    sql = "insert into \"opensource\"(uid, name) values(33, 'hello')"
+    rowsaffected = cursor.execute(sql)
+    assert rowsaffected == 0
 
-    #sql = "insert into 'opensource'(uid, name) values(33, 'hello')"
-    #rowsaffected = cursor.execute(sql)
-    #assert rowsaffected == 1    
+    sql = "insert into 'opensource'(uid, name) values(33, 'hello')"
+    rowsaffected = cursor.execute(sql)
+    assert rowsaffected == 0   
 
     db.commit()
     cursor.close()
@@ -297,17 +280,17 @@ def test_insert_with_set_keyword():
     rowsaffected = cursor.execute(sql)
     assert rowsaffected == 1   
 
-    #sql = "insert into opensource set `uid` = 33, `name` = 'hello'"
-    #rowsaffected = cursor.execute(sql)
-    #assert rowsaffected == 1   
+    sql = "insert into opensource set `uid` = 33, `name` = 'hello'"
+    rowsaffected = cursor.execute(sql)
+    assert rowsaffected == 1   
 
-    #sql = "insert into opensource set `uid` = 33, `name` = '12312'"
-    #rowsaffected = cursor.execute(sql)
-    #assert rowsaffected == 1       
+    sql = "insert into opensource set `uid` = 33, `name` = '12312'"
+    rowsaffected = cursor.execute(sql)
+    assert rowsaffected == 1       
 
-    #sql = "insert into opensource set `uid` = 33, `name` = \"12312\""
-    #rowsaffected = cursor.execute(sql)
-    #assert rowsaffected == 1           
+    sql = "insert into opensource set `uid` = 33, `name` = \"12312\""
+    rowsaffected = cursor.execute(sql)
+    assert rowsaffected == 1           
 
     sql = "insert into opensource set uid = 33, name = 'hello'"
     rowsaffected = cursor.execute(sql)