diff --git a/test/box/sql.result b/test/box/sql.result index 1a557c1d6bea0af58c1f42f25765d4a38b6db9fc..1cdae55115318df9863c7cd81210e22752221231 100644 --- a/test/box/sql.result +++ b/test/box/sql.result @@ -3,7 +3,7 @@ ok --- select * from t0 An error occurred: ERR_CODE_ILLEGAL_PARAMS, 'Illegal parameters' -insert into t0 values (1, "I am a tuple") +insert into t0 values (1, 'I am a tuple') Insert OK, 1 row affected select * from t0 where k0 = 1 Found 1 tuple: @@ -29,39 +29,39 @@ delete from t0 where k0 = 1 Delete OK, 1 row affected select * from t0 where k0 = 1 No match -update t0 set k1 = "I am a new tuple" where k0=1 -Insert OK, 0 row affected -select * from t0 where k0 = 1 +update t0 set k1 = 'I am a new tuple' where k0=1 +Update OK, 0 row affected +select * from t0 where k0=1 No match -insert into t0 values (1, "I am a new tuple") +insert into t0 values (1, 'I am a new tuple') Insert OK, 1 row affected select * from t0 where k0 = 1 Found 1 tuple: [1, 'I am a new tuple'] -update t0 set k1 = "I am the newest tuple" where k0=1 -Insert OK, 1 row affected +update t0 set k1 = 'I am the newest tuple' where k0=1 +Update OK, 1 row affected select * from t0 where k0 = 1 Found 1 tuple: [1, 'I am the newest tuple'] -update t0 set k1 = "Huh", k2 = "Oh-ho-ho" where k0=1 +update t0 set k1 = 'Huh', k2 = 'Oh-ho-ho' where k0=1 An error occurred: ERR_CODE_ILLEGAL_PARAMS, 'Illegal parameters' select * from t0 where k0 = 1 Found 1 tuple: [1, 'I am the newest tuple'] -insert into t0 values (1, "I am a new tuple", "stub") -Insert OK, 1 row affected -update t0 set k1 = "Huh", k2 = "Oh-ho-ho" where k0=1 +insert into t0 values (1, 'I am a new tuple', 'stub') Insert OK, 1 row affected +update t0 set k1 = 'Huh', k2 = 'Oh-ho-ho' where k0=1 +Update OK, 1 row affected select * from t0 where k0 = 1 Found 1 tuple: [1, 'Huh', 'Oh-ho-ho'] -update t0 set k1 = "", k2 = "" where k0=1 -Insert OK, 1 row affected +update t0 set k1 = '', k2 = '' where k0=1 +Update OK, 1 row affected select * from t0 where k0 = 1 Found 1 tuple: [1, '', ''] update t0 set k1 = 2, k2 = 3 where k0=1 -Insert OK, 1 row affected +Update OK, 1 row affected select * from t0 where k0 = 1 Found 1 tuple: [1, 2, 3] diff --git a/test/box/sql.test b/test/box/sql.test index 63f2367b437515e854837e3f464c2506f0f12366..727bb7d69147557242be11818549609723d42c53 100644 --- a/test/box/sql.test +++ b/test/box/sql.test @@ -1,43 +1,45 @@ # encoding: tarantool -exec sql 'ping' +exec sql "ping" # xxx: bug -- currently selects no rows -exec sql 'select * from t0' -exec sql 'insert into t0 values (1, "I am a tuple")' -exec sql 'select * from t0 where k0 = 1' +exec sql "select * from t0" +exec sql "insert into t0 values (1, 'I am a tuple')" +exec sql "select * from t0 where k0 = 1" # currently there is no way to find out how many records # a namespace contains -exec sql 'select * from t0 where k0 = 0' -exec sql 'select * from t0 where k0 = 2' +exec sql "select * from t0 where k0 = 0" +exec sql "select * from t0 where k0 = 2" server.restart() -exec sql 'select * from t0 where k0 = 1' -exec admin "save snapshot" -exec sql 'select * from t0 where k0 = 1' +exec sql "select * from t0 where k0 = 1" +exec admin 'save snapshot' +exec sql "select * from t0 where k0 = 1" server.restart() -exec sql 'select * from t0 where k0 = 1' -exec sql 'delete from t0 where k0 = 1' -exec sql 'select * from t0 where k0 = 1' -exec sql 'update t0 set k1 = "I am a new tuple" where k0=1' -exec sql 'select * from t0 where k0 = 1' -exec sql 'insert into t0 values (1, "I am a new tuple")' -exec sql 'select * from t0 where k0 = 1' -exec sql 'update t0 set k1 = "I am the newest tuple" where k0=1' -exec sql 'select * from t0 where k0 = 1' +exec sql "select * from t0 where k0 = 1" +exec sql "delete from t0 where k0 = 1" +exec sql "select * from t0 where k0 = 1" +# xxx: update comes through, returns 0 rows affected +exec sql "update t0 set k1 = 'I am a new tuple' where k0=1" +# nothing is selected, since nothing was there +exec sql "select * from t0 where k0=1" +exec sql "insert into t0 values (1, 'I am a new tuple')" +exec sql "select * from t0 where k0 = 1" +exec sql "update t0 set k1 = 'I am the newest tuple' where k0=1" +exec sql "select * from t0 where k0 = 1" # this is illegal, can't change tuple dimension with update -exec sql 'update t0 set k1 = "Huh", k2 = "Oh-ho-ho" where k0=1' -exec sql 'select * from t0 where k0 = 1' -exec sql 'insert into t0 values (1, "I am a new tuple", "stub")' -exec sql 'update t0 set k1 = "Huh", k2 = "Oh-ho-ho" where k0=1' -exec sql 'select * from t0 where k0 = 1' +exec sql "update t0 set k1 = 'Huh', k2 = 'Oh-ho-ho' where k0=1" +exec sql "select * from t0 where k0 = 1" +exec sql "insert into t0 values (1, 'I am a new tuple', 'stub')" +exec sql "update t0 set k1 = 'Huh', k2 = 'Oh-ho-ho' where k0=1" +exec sql "select * from t0 where k0 = 1" # check empty strings -exec sql 'update t0 set k1 = "", k2 = "" where k0=1' -exec sql 'select * from t0 where k0 = 1' +exec sql "update t0 set k1 = '', k2 = '' where k0=1" +exec sql "select * from t0 where k0 = 1" # check type change -exec sql 'update t0 set k1 = 2, k2 = 3 where k0=1' -exec sql 'select * from t0 where k0 = 1' +exec sql "update t0 set k1 = 2, k2 = 3 where k0=1" +exec sql "select * from t0 where k0 = 1" # check limits -exec sql 'insert into t0 values (0)' -exec sql 'select * from t0 where k0=0' -exec sql 'insert into t0 values (4294967295)' -exec sql 'select * from t0 where k0=4294967295' +exec sql "insert into t0 values (0)" +exec sql "select * from t0 where k0=0" +exec sql "insert into t0 values (4294967295)" +exec sql "select * from t0 where k0=4294967295" # vim: syntax=python diff --git a/test/lib/sql.g b/test/lib/sql.g index 4e464e36a7cb9d2d7b9b779d1a18fb16d0d9e1b9..087fff5383b30dd8c4cc0f927fee1aec045c375d 100644 --- a/test/lib/sql.g +++ b/test/lib/sql.g @@ -10,7 +10,7 @@ parser sql: ignore: '\\s+' token NUM: '[+-]?[0-9]+' token ID: '[a-z_]+[0-9]+' - token STR: '"([^\\"]+|\\\\.)*"' + token STR: '\'([^\']+|\\\\.)*\'' token PING: 'ping' token INSERT: 'insert' token UPDATE: 'update' diff --git a/test/lib/sql.py b/test/lib/sql.py index 73030fdc04bd09792fd62c72d32ff0788e7e8787..f1ef9ca2542ecdece96b5e3cb8e1742a250fbefd 100644 --- a/test/lib/sql.py +++ b/test/lib/sql.py @@ -19,7 +19,7 @@ class sqlScanner(runtime.Scanner): ('\\s+', re.compile('\\s+')), ('NUM', re.compile('[+-]?[0-9]+')), ('ID', re.compile('[a-z_]+[0-9]+')), - ('STR', re.compile('"([^\\"]+|\\\\.)*"')), + ('STR', re.compile("'([^']+|\\\\.)*'")), ('PING', re.compile('ping')), ('INSERT', re.compile('insert')), ('UPDATE', re.compile('update')), diff --git a/test/lib/sql_ast.py b/test/lib/sql_ast.py index fa0e04e50bb2ea777a6676a57d1eb6ea4a7bbea3..af2b21a4eba50e4841fc0cc826c2f078f6f9130a 100644 --- a/test/lib/sql_ast.py +++ b/test/lib/sql_ast.py @@ -208,7 +208,7 @@ class StatementUpdate(StatementPing): if return_code: return format_error(return_code) (result_code, row_count) = struct.unpack("<LL", response) - return "Insert OK, {0} row affected".format(row_count) + return "Update OK, {0} row affected".format(row_count) class StatementDelete(StatementPing): reqeust_type = DELETE_REQUEST_TYPE