File: tokenizer.result

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 (119 lines) | stat: -rw-r--r-- 2,732 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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
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;')
---
- - select 1;
  - ' select 2;'
  - ' select 3;'
...
sql_tokenizer.split_sql(';')
---
- []
...
sql_tokenizer.split_sql('')
---
- []
...
sql_tokenizer.split_sql('select 1')
---
- - select 1
...
sql_tokenizer.split_sql('create table test(a, b, c, d, primary key(a, b, c))')
---
- - create table test(a, b, c, d, primary key(a, b, c))
...
sql_tokenizer.split_sql('select ";" from ";;;;"\'\' as ";"; select 100;     \n\n')
---
- - select ";" from ";;;;"'' as ";";
  - ' select 100;'
...
test_run:cmd("setopt delimiter ';'")
---
- true
...
sql_tokenizer.split_sql('create trigger begin\n'..
				'select 1; select 2;\n'..
				'create table a (b,c,d);\n'..
			'end;');
---
- - 'create trigger begin

    select 1; select 2;

    create table a (b,c,d);

    end;'
...
test_run:cmd("setopt delimiter ''");
---
- true
...
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;')
---
- - 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;')
---
- - select abc from test where case abc when 100 then kek else grek end;
...
test_run:cmd("setopt delimiter ';'")
---
- true
...
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";');
---
- - 'create temp trigger begin

    select case cond when a 100 else 200 end;

    insert into tst values v a l u e s;

    end;'
  - "\n\n\n\t\t\n\n select 200..\";select1000\";"
...
test_run:cmd("setopt delimiter ''");
---
- true
...
sql_tokenizer.split_sql('select 1; -- test comment\n; select 2;')
---
- - select 1;
  - ' select 2;'
...
sql_tokenizer.split_sql("START TRANSACTION; insert into table values ('example kek--'); commit;")
---
- - START TRANSACTION;
  - ' insert into table values (''example kek--'');'
  - ' commit;'
...
sql_tokenizer.split_sql("insert into quoted(a) value 'lalala'")
---
- - insert into quoted(a) value 'lalala'
...
sql_tokenizer.split_sql("insert into table values('textextextext''textextext''extext--extext/*ext''ext*/'); commit;")
---
- - insert into table values('textextextext''textextext''extext--extext/*ext''ext*/');
  - ' commit;'
...