mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-28 18:24:01 +00:00
fix parsesql.treeRepr when nil is in input (#18974)
* fix parsesql.treeRepr when nil is in input * return newNode(nkNone) as default value, not nil
This commit is contained in:
@@ -3,6 +3,17 @@ discard """
|
||||
"""
|
||||
import parsesql
|
||||
|
||||
doAssert treeRepr(parseSql("INSERT INTO STATS VALUES (10, 5.5); ")
|
||||
) == """
|
||||
|
||||
nkStmtList
|
||||
nkInsert
|
||||
nkIdent STATS
|
||||
nkNone
|
||||
nkValueList
|
||||
nkIntegerLit 10
|
||||
nkNumericLit 5.5"""
|
||||
|
||||
doAssert $parseSQL("SELECT foo FROM table;") == "select foo from table;"
|
||||
doAssert $parseSQL("""
|
||||
SELECT
|
||||
@@ -183,8 +194,31 @@ SET ContactName = 'Alfred Schmidt', City= 'Frankfurt'
|
||||
WHERE CustomerID = 1;
|
||||
""") == "update Customers set ContactName = 'Alfred Schmidt' , City = 'Frankfurt' where CustomerID = 1;"
|
||||
|
||||
doAssert treeRepr(parseSql("""UPDATE Customers
|
||||
SET ContactName = 'Alice', City= 'Frankfurt';""")
|
||||
) == """
|
||||
|
||||
nkStmtList
|
||||
nkUpdate
|
||||
nkIdent Customers
|
||||
nkAsgn
|
||||
nkIdent ContactName
|
||||
nkStringLit Alice
|
||||
nkAsgn
|
||||
nkIdent City
|
||||
nkStringLit Frankfurt
|
||||
nkNone"""
|
||||
|
||||
doAssert $parseSQL("DELETE FROM table_name;") == "delete from table_name;"
|
||||
|
||||
doAssert treeRepr(parseSQL("DELETE FROM table_name;")
|
||||
) == """
|
||||
|
||||
nkStmtList
|
||||
nkDelete
|
||||
nkIdent table_name
|
||||
nkNone"""
|
||||
|
||||
doAssert $parseSQL("DELETE * FROM table_name;") == "delete from table_name;"
|
||||
|
||||
doAssert $parseSQL("""
|
||||
|
||||
Reference in New Issue
Block a user