File: tokenizer.test.lua

package info (click to toggle)
tarantool 2.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 85,364 kB
  • sloc: ansic: 513,760; cpp: 69,489; sh: 25,650; python: 19,190; perl: 14,973; makefile: 4,173; yacc: 1,329; sql: 1,074; pascal: 620; ruby: 190; awk: 18; lisp: 7
file content (39 lines) | stat: -rw-r--r-- 1,629 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
env = require('test_run')
test_run = env.new()
engine = test_run:get_cfg('engine')
_ = box.space._session_settings:update('sql_default_engine', {{'=', 2, engine}})

sql_tokenizer = require('sql_tokenizer')

sql_tokenizer.split_sql('select 1; select 2; select 3;')
sql_tokenizer.split_sql(';')
sql_tokenizer.split_sql('')
sql_tokenizer.split_sql('select 1')
sql_tokenizer.split_sql('create table test(a, b, c, d, primary key(a, b, c))')
sql_tokenizer.split_sql('select ";" from ";;;;"\'\' as ";"; select 100;     \n\n')

test_run:cmd("setopt delimiter ';'")
sql_tokenizer.split_sql('create trigger begin\n'..
				'select 1; select 2;\n'..
				'create table a (b,c,d);\n'..
			'end;');
test_run:cmd("setopt delimiter ''");

sql_tokenizer.split_sql('-- comment comment comment; select 1; select 2;')
sql_tokenizer.split_sql('select 1; select /* comment comment select 100; select 1000; */ 3; select 2;')
sql_tokenizer.split_sql('select abc from test where case abc when 100 then kek else grek end;')

test_run:cmd("setopt delimiter ';'")
sql_tokenizer.split_sql('create temp trigger begin\n'..
				'select case cond when a 100 else 200 end;\n'..
				'insert into tst values v a l u e s;\n'..
			'end;\n\n\n\t\t\n\n select 200..";select1000";');
test_run:cmd("setopt delimiter ''");

sql_tokenizer.split_sql('select 1; -- test comment\n; select 2;')

sql_tokenizer.split_sql("START TRANSACTION; insert into table values ('example kek--'); commit;")

sql_tokenizer.split_sql("insert into quoted(a) value 'lalala'")

sql_tokenizer.split_sql("insert into table values('textextextext''textextext''extext--extext/*ext''ext*/'); commit;")