@@ -7,14 +7,6 @@ output domain : {NULL}
7
7
output : NULL
8
8
9
9
10
- error:
11
- --> SQL:1:1
12
- |
13
- 1 | parse_json('nuLL')
14
- | ^^^^^^^^^^^^^^^^^^ expected ident, pos 3 while evaluating function `parse_json('nuLL')` in expr `CAST('nuLL' AS Variant)`
15
-
16
-
17
-
18
10
ast : parse_json('null')
19
11
raw expr : parse_json('null')
20
12
checked expr : CAST<String>("null" AS Variant)
@@ -24,14 +16,6 @@ output domain : Undefined
24
16
output : 'null'
25
17
26
18
27
- error:
28
- --> SQL:1:1
29
- |
30
- 1 | parse_json(' ')
31
- | ^^^^^^^^^^^^^^^^ EOF while parsing a value, pos 2 while evaluating function `parse_json(' ')` in expr `CAST(' ' AS Variant)`
32
-
33
-
34
-
35
19
ast : parse_json('true')
36
20
raw expr : parse_json('true')
37
21
checked expr : CAST<String>("true" AS Variant)
@@ -146,6 +130,24 @@ evaluation (internal):
146
130
+--------+------------------------------------------------------------------------------------------------------------------------------------+
147
131
148
132
133
+ ast : parse_json(' ')
134
+ raw expr : parse_json(' ')
135
+ checked expr : CAST<String>(" " AS Variant)
136
+ optimized expr : 0x2000000000000000
137
+ output type : Variant
138
+ output domain : Undefined
139
+ output : 'null'
140
+
141
+
142
+ ast : parse_json('nuLL')
143
+ raw expr : parse_json('nuLL')
144
+ checked expr : CAST<String>("nuLL" AS Variant)
145
+ optimized expr : 0x2000000000000000
146
+ output type : Variant
147
+ output domain : Undefined
148
+ output : 'null'
149
+
150
+
149
151
ast : parse_json('+10')
150
152
raw expr : parse_json('+10')
151
153
checked expr : CAST<String>("+10" AS Variant)
@@ -182,6 +184,24 @@ output domain : Undefined
182
184
output : '12'
183
185
184
186
187
+ ast : parse_json('0xabc')
188
+ raw expr : parse_json('0xabc')
189
+ checked expr : CAST<String>("0xabc" AS Variant)
190
+ optimized expr : 0x2000000020000003500abc
191
+ output type : Variant
192
+ output domain : Undefined
193
+ output : '2748'
194
+
195
+
196
+ ast : parse_json('0x12abc.def')
197
+ raw expr : parse_json('0x12abc.def')
198
+ checked expr : CAST<String>("0x12abc.def" AS Variant)
199
+ optimized expr : 0x20000000200000096040f2abcdef000000
200
+ output type : Variant
201
+ output domain : Undefined
202
+ output : '76476.87084960938'
203
+
204
+
185
205
ast : parse_json('99999999999999999999999999999999999999')
186
206
raw expr : parse_json('99999999999999999999999999999999999999')
187
207
checked expr : CAST<String>("99999999999999999999999999999999999999" AS Variant)
@@ -191,6 +211,15 @@ output domain : Undefined
191
211
output : '99999999999999999999999999999999999999'
192
212
193
213
214
+ ast : parse_json('\'single quoted string\'')
215
+ raw expr : parse_json('\'single quoted string\'')
216
+ checked expr : CAST<String>("'single quoted string'" AS Variant)
217
+ optimized expr : 0x200000001000001473696e676c652071756f74656420737472696e67
218
+ output type : Variant
219
+ output domain : Undefined
220
+ output : '"single quoted string"'
221
+
222
+
194
223
ast : parse_json('[1,2,,4]')
195
224
raw expr : parse_json('[1,2,,4]')
196
225
checked expr : CAST<String>("[1,2,,4]" AS Variant)
@@ -200,6 +229,23 @@ output domain : Undefined
200
229
output : '[1,2,null,4]'
201
230
202
231
232
+ ast : parse_json('{ key :"val", key123_$测试 :"val" }')
233
+ raw expr : parse_json('{ key :"val", key123_$测试 :"val" }')
234
+ checked expr : CAST<String>("{ key :\"val\", key123_$测试 :\"val\" }" AS Variant)
235
+ optimized expr : 0x40000002100000031000000e10000003100000036b65796b65793132335f24e6b58be8af9576616c76616c
236
+ output type : Variant
237
+ output domain : Undefined
238
+ output : '{"key":"val","key123_$测试":"val"}'
239
+
240
+
241
+ error:
242
+ --> SQL:1:1
243
+ |
244
+ 1 | parse_json('{ 123 :"val" }')
245
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ object attribute name cannot be a number, pos 3 while evaluating function `parse_json('{ 123 :"val" }')` in expr `CAST('{ 123 :"val" }' AS Variant)`
246
+
247
+
248
+
203
249
ast : try_parse_json(NULL)
204
250
raw expr : try_parse_json(NULL)
205
251
checked expr : try_parse_json<Variant NULL>(CAST<NULL>(NULL AS Variant NULL))
@@ -212,10 +258,10 @@ output : NULL
212
258
ast : try_parse_json('nuLL')
213
259
raw expr : try_parse_json('nuLL')
214
260
checked expr : try_parse_json<String>("nuLL")
215
- optimized expr : NULL
261
+ optimized expr : 0x2000000000000000
216
262
output type : Variant NULL
217
- output domain : {NULL}
218
- output : NULL
263
+ output domain : Undefined
264
+ output : 'null'
219
265
220
266
221
267
ast : try_parse_json('null')
@@ -363,10 +409,10 @@ output : NULL
363
409
ast : check_json('nuLL')
364
410
raw expr : check_json('nuLL')
365
411
checked expr : check_json<String>("nuLL")
366
- optimized expr : "expected ident, pos 3"
412
+ optimized expr : NULL
367
413
output type : String NULL
368
- output domain : {"expected ident, pos 3"..="expected ident, pos 3" }
369
- output : 'expected ident, pos 3'
414
+ output domain : {NULL }
415
+ output : NULL
370
416
371
417
372
418
ast : check_json(s)
0 commit comments