@@ -7,14 +7,6 @@ output domain : {NULL}
77output : NULL
88
99
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-
1810ast : parse_json('null')
1911raw expr : parse_json('null')
2012checked expr : CAST<String>("null" AS Variant)
@@ -24,14 +16,6 @@ output domain : Undefined
2416output : 'null'
2517
2618
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-
3519ast : parse_json('true')
3620raw expr : parse_json('true')
3721checked expr : CAST<String>("true" AS Variant)
@@ -146,6 +130,24 @@ evaluation (internal):
146130+--------+------------------------------------------------------------------------------------------------------------------------------------+
147131
148132
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+
149151ast : parse_json('+10')
150152raw expr : parse_json('+10')
151153checked expr : CAST<String>("+10" AS Variant)
@@ -182,6 +184,24 @@ output domain : Undefined
182184output : '12'
183185
184186
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+
185205ast : parse_json('99999999999999999999999999999999999999')
186206raw expr : parse_json('99999999999999999999999999999999999999')
187207checked expr : CAST<String>("99999999999999999999999999999999999999" AS Variant)
@@ -191,6 +211,15 @@ output domain : Undefined
191211output : '99999999999999999999999999999999999999'
192212
193213
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+
194223ast : parse_json('[1,2,,4]')
195224raw expr : parse_json('[1,2,,4]')
196225checked expr : CAST<String>("[1,2,,4]" AS Variant)
@@ -200,6 +229,23 @@ output domain : Undefined
200229output : '[1,2,null,4]'
201230
202231
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+
203249ast : try_parse_json(NULL)
204250raw expr : try_parse_json(NULL)
205251checked expr : try_parse_json<Variant NULL>(CAST<NULL>(NULL AS Variant NULL))
@@ -212,10 +258,10 @@ output : NULL
212258ast : try_parse_json('nuLL')
213259raw expr : try_parse_json('nuLL')
214260checked expr : try_parse_json<String>("nuLL")
215- optimized expr : NULL
261+ optimized expr : 0x2000000000000000
216262output type : Variant NULL
217- output domain : {NULL}
218- output : NULL
263+ output domain : Undefined
264+ output : 'null'
219265
220266
221267ast : try_parse_json('null')
@@ -363,10 +409,10 @@ output : NULL
363409ast : check_json('nuLL')
364410raw expr : check_json('nuLL')
365411checked expr : check_json<String>("nuLL")
366- optimized expr : "expected ident, pos 3"
412+ optimized expr : NULL
367413output 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
370416
371417
372418ast : check_json(s)
0 commit comments