1+ {
2+ "query": "SELECT 1 FROM my_table WHERE first_col = 'foo' AND second_col COLLATE utf8_bin = 'bar';",
3+ "lexer": {
4+ "@type": "PhpMyAdmin\\SqlParser\\Lexer",
5+ "str": "SELECT 1 FROM my_table WHERE first_col = 'foo' AND second_col COLLATE utf8_bin = 'bar';",
6+ "len": 96,
7+ "last": 96,
8+ "list": {
9+ "@type": "PhpMyAdmin\\SqlParser\\TokensList",
10+ "tokens": [
11+ {
12+ "@type": "PhpMyAdmin\\SqlParser\\Token",
13+ "token": "SELECT",
14+ "value": "SELECT",
15+ "keyword": "SELECT",
16+ "type": 1,
17+ "flags": 3,
18+ "position": 0
19+ },
20+ {
21+ "@type": "PhpMyAdmin\\SqlParser\\Token",
22+ "token": " ",
23+ "value": " ",
24+ "keyword": null,
25+ "type": 3,
26+ "flags": 0,
27+ "position": 6
28+ },
29+ {
30+ "@type": "PhpMyAdmin\\SqlParser\\Token",
31+ "token": "1",
32+ "value": 1,
33+ "keyword": null,
34+ "type": 6,
35+ "flags": 0,
36+ "position": 8
37+ },
38+ {
39+ "@type": "PhpMyAdmin\\SqlParser\\Token",
40+ "token": " ",
41+ "value": " ",
42+ "keyword": null,
43+ "type": 3,
44+ "flags": 0,
45+ "position": 9
46+ },
47+ {
48+ "@type": "PhpMyAdmin\\SqlParser\\Token",
49+ "token": "FROM",
50+ "value": "FROM",
51+ "keyword": "FROM",
52+ "type": 1,
53+ "flags": 3,
54+ "position": 10
55+ },
56+ {
57+ "@type": "PhpMyAdmin\\SqlParser\\Token",
58+ "token": " ",
59+ "value": " ",
60+ "keyword": null,
61+ "type": 3,
62+ "flags": 0,
63+ "position": 14
64+ },
65+ {
66+ "@type": "PhpMyAdmin\\SqlParser\\Token",
67+ "token": "my_table",
68+ "value": "my_table",
69+ "keyword": null,
70+ "type": 0,
71+ "flags": 0,
72+ "position": 17
73+ },
74+ {
75+ "@type": "PhpMyAdmin\\SqlParser\\Token",
76+ "token": " ",
77+ "value": " ",
78+ "keyword": null,
79+ "type": 3,
80+ "flags": 0,
81+ "position": 25
82+ },
83+ {
84+ "@type": "PhpMyAdmin\\SqlParser\\Token",
85+ "token": "WHERE",
86+ "value": "WHERE",
87+ "keyword": "WHERE",
88+ "type": 1,
89+ "flags": 3,
90+ "position": 26
91+ },
92+ {
93+ "@type": "PhpMyAdmin\\SqlParser\\Token",
94+ "token": " ",
95+ "value": " ",
96+ "keyword": null,
97+ "type": 3,
98+ "flags": 0,
99+ "position": 31
100+ },
101+ {
102+ "@type": "PhpMyAdmin\\SqlParser\\Token",
103+ "token": "first_col",
104+ "value": "first_col",
105+ "keyword": null,
106+ "type": 0,
107+ "flags": 0,
108+ "position": 34
109+ },
110+ {
111+ "@type": "PhpMyAdmin\\SqlParser\\Token",
112+ "token": " ",
113+ "value": " ",
114+ "keyword": null,
115+ "type": 3,
116+ "flags": 0,
117+ "position": 43
118+ },
119+ {
120+ "@type": "PhpMyAdmin\\SqlParser\\Token",
121+ "token": "=",
122+ "value": "=",
123+ "keyword": null,
124+ "type": 2,
125+ "flags": 2,
126+ "position": 44
127+ },
128+ {
129+ "@type": "PhpMyAdmin\\SqlParser\\Token",
130+ "token": " ",
131+ "value": " ",
132+ "keyword": null,
133+ "type": 3,
134+ "flags": 0,
135+ "position": 45
136+ },
137+ {
138+ "@type": "PhpMyAdmin\\SqlParser\\Token",
139+ "token": "'foo'",
140+ "value": "foo",
141+ "keyword": null,
142+ "type": 7,
143+ "flags": 1,
144+ "position": 46
145+ },
146+ {
147+ "@type": "PhpMyAdmin\\SqlParser\\Token",
148+ "token": " ",
149+ "value": " ",
150+ "keyword": null,
151+ "type": 3,
152+ "flags": 0,
153+ "position": 51
154+ },
155+ {
156+ "@type": "PhpMyAdmin\\SqlParser\\Token",
157+ "token": "AND",
158+ "value": "AND",
159+ "keyword": "AND",
160+ "type": 1,
161+ "flags": 3,
162+ "position": 52
163+ },
164+ {
165+ "@type": "PhpMyAdmin\\SqlParser\\Token",
166+ "token": " ",
167+ "value": " ",
168+ "keyword": null,
169+ "type": 3,
170+ "flags": 0,
171+ "position": 55
172+ },
173+ {
174+ "@type": "PhpMyAdmin\\SqlParser\\Token",
175+ "token": "second_col",
176+ "value": "second_col",
177+ "keyword": null,
178+ "type": 0,
179+ "flags": 0,
180+ "position": 60
181+ },
182+ {
183+ "@type": "PhpMyAdmin\\SqlParser\\Token",
184+ "token": " ",
185+ "value": " ",
186+ "keyword": null,
187+ "type": 3,
188+ "flags": 0,
189+ "position": 70
190+ },
191+ {
192+ "@type": "PhpMyAdmin\\SqlParser\\Token",
193+ "token": "COLLATE",
194+ "value": "COLLATE",
195+ "keyword": "COLLATE",
196+ "type": 1,
197+ "flags": 3,
198+ "position": 71
199+ },
200+ {
201+ "@type": "PhpMyAdmin\\SqlParser\\Token",
202+ "token": " ",
203+ "value": " ",
204+ "keyword": null,
205+ "type": 3,
206+ "flags": 0,
207+ "position": 78
208+ },
209+ {
210+ "@type": "PhpMyAdmin\\SqlParser\\Token",
211+ "token": "utf8_bin",
212+ "value": "utf8_bin",
213+ "keyword": null,
214+ "type": 0,
215+ "flags": 0,
216+ "position": 79
217+ },
218+ {
219+ "@type": "PhpMyAdmin\\SqlParser\\Token",
220+ "token": " ",
221+ "value": " ",
222+ "keyword": null,
223+ "type": 3,
224+ "flags": 0,
225+ "position": 87
226+ },
227+ {
228+ "@type": "PhpMyAdmin\\SqlParser\\Token",
229+ "token": "=",
230+ "value": "=",
231+ "keyword": null,
232+ "type": 2,
233+ "flags": 2,
234+ "position": 88
235+ },
236+ {
237+ "@type": "PhpMyAdmin\\SqlParser\\Token",
238+ "token": " ",
239+ "value": " ",
240+ "keyword": null,
241+ "type": 3,
242+ "flags": 0,
243+ "position": 89
244+ },
245+ {
246+ "@type": "PhpMyAdmin\\SqlParser\\Token",
247+ "token": "'bar'",
248+ "value": "bar",
249+ "keyword": null,
250+ "type": 7,
251+ "flags": 1,
252+ "position": 90
253+ },
254+ {
255+ "@type": "PhpMyAdmin\\SqlParser\\Token",
256+ "token": ";",
257+ "value": ";",
258+ "keyword": null,
259+ "type": 9,
260+ "flags": 0,
261+ "position": 95
262+ },
263+ {
264+ "@type": "PhpMyAdmin\\SqlParser\\Token",
265+ "token": null,
266+ "value": null,
267+ "keyword": null,
268+ "type": 9,
269+ "flags": 0,
270+ "position": null
271+ }
272+ ],
273+ "count": 29,
274+ "idx": 29
275+ },
276+ "delimiter": ";",
277+ "delimiterLen": 1,
278+ "strict": false,
279+ "errors": []
280+ },
281+ "parser": {
282+ "@type": "PhpMyAdmin\\SqlParser\\Parser",
283+ "list": {
284+ "@type": "@1"
285+ },
286+ "statements": [
287+ {
288+ "@type": "PhpMyAdmin\\SqlParser\\Statements\\SelectStatement",
289+ "expr": [
290+ {
291+ "@type": "PhpMyAdmin\\SqlParser\\Components\\Expression",
292+ "database": null,
293+ "table": null,
294+ "column": null,
295+ "expr": "1",
296+ "alias": null,
297+ "function": null,
298+ "subquery": null
299+ }
300+ ],
301+ "from": [
302+ {
303+ "@type": "PhpMyAdmin\\SqlParser\\Components\\Expression",
304+ "database": null,
305+ "table": "my_table",
306+ "column": null,
307+ "expr": "my_table",
308+ "alias": null,
309+ "function": null,
310+ "subquery": null
311+ }
312+ ],
313+ "indexHints": null,
314+ "partition": null,
315+ "where": [
316+ {
317+ "@type": "PhpMyAdmin\\SqlParser\\Components\\Condition",
318+ "identifiers": [
319+ "first_col",
320+ "foo"
321+ ],
322+ "isOperator": false,
323+ "expr": "first_col = 'foo'"
324+ },
325+ {
326+ "@type": "PhpMyAdmin\\SqlParser\\Components\\Condition",
327+ "identifiers": [],
328+ "isOperator": true,
329+ "expr": "AND"
330+ },
331+ {
332+ "@type": "PhpMyAdmin\\SqlParser\\Components\\Condition",
333+ "identifiers": [
334+ "second_col",
335+ "utf8_bin",
336+ "bar"
337+ ],
338+ "isOperator": false,
339+ "expr": "second_col COLLATE utf8_bin = 'bar'"
340+ }
341+ ],
342+ "group": null,
343+ "groupOptions": null,
344+ "having": null,
345+ "order": null,
346+ "limit": null,
347+ "procedure": null,
348+ "into": null,
349+ "join": null,
350+ "union": [],
351+ "endOptions": null,
352+ "options": {
353+ "@type": "PhpMyAdmin\\SqlParser\\Components\\OptionsArray",
354+ "options": []
355+ },
356+ "first": 0,
357+ "last": 26
358+ }
359+ ],
360+ "brackets": 0,
361+ "strict": false,
362+ "errors": []
363+ },
364+ "errors": {
365+ "lexer": [],
366+ "parser": []
367+ }
368+ }
0 commit comments