@@ -33,6 +33,7 @@ var Cases = []TestCase{
3333 {Run : FnJSONKeys },
3434 {Run : FnJSONExtract },
3535 {Run : FnJSONContainsPath },
36+ {Run : FnJSONUnquote },
3637 {Run : JSONArray },
3738 {Run : JSONObject },
3839 {Run : CharsetConversionOperators },
@@ -180,21 +181,21 @@ var Cases = []TestCase{
180181
181182func FnJSONKeys (yield Query ) {
182183 for _ , obj := range inputJSONObjects {
183- yield (fmt .Sprintf ("JSON_KEYS('%s' )" , obj ), nil , false )
184+ yield (fmt .Sprintf ("JSON_KEYS(%s )" , obj ), nil , false )
184185
185186 for _ , path1 := range inputJSONPaths {
186- yield (fmt .Sprintf ("JSON_KEYS('%s' , '%s')" , obj , path1 ), nil , false )
187+ yield (fmt .Sprintf ("JSON_KEYS(%s , '%s')" , obj , path1 ), nil , false )
187188 }
188189 }
189190}
190191
191192func FnJSONExtract (yield Query ) {
192193 for _ , obj := range inputJSONObjects {
193194 for _ , path1 := range inputJSONPaths {
194- yield (fmt .Sprintf ("JSON_EXTRACT('%s' , '%s')" , obj , path1 ), nil , false )
195+ yield (fmt .Sprintf ("JSON_EXTRACT(%s , '%s')" , obj , path1 ), nil , false )
195196
196197 for _ , path2 := range inputJSONPaths {
197- yield (fmt .Sprintf ("JSON_EXTRACT('%s' , '%s', '%s')" , obj , path1 , path2 ), nil , false )
198+ yield (fmt .Sprintf ("JSON_EXTRACT(%s , '%s', '%s')" , obj , path1 , path2 ), nil , false )
198199 }
199200 }
200201 }
@@ -235,17 +236,21 @@ func FnJSONExtract(yield Query) {
235236func FnJSONContainsPath (yield Query ) {
236237 for _ , obj := range inputJSONObjects {
237238 for _ , path1 := range inputJSONPaths {
238- yield (fmt .Sprintf ("JSON_CONTAINS_PATH('%s' , 'one', '%s')" , obj , path1 ), nil , false )
239- yield (fmt .Sprintf ("JSON_CONTAINS_PATH('%s' , 'all', '%s')" , obj , path1 ), nil , false )
239+ yield (fmt .Sprintf ("JSON_CONTAINS_PATH(%s , 'one', '%s')" , obj , path1 ), nil , false )
240+ yield (fmt .Sprintf ("JSON_CONTAINS_PATH(%s , 'all', '%s')" , obj , path1 ), nil , false )
240241
241242 for _ , path2 := range inputJSONPaths {
242- yield (fmt .Sprintf ("JSON_CONTAINS_PATH('%s' , 'one', '%s', '%s')" , obj , path1 , path2 ), nil , false )
243- yield (fmt .Sprintf ("JSON_CONTAINS_PATH('%s' , 'all', '%s', '%s')" , obj , path1 , path2 ), nil , false )
243+ yield (fmt .Sprintf ("JSON_CONTAINS_PATH(%s , 'one', '%s', '%s')" , obj , path1 , path2 ), nil , false )
244+ yield (fmt .Sprintf ("JSON_CONTAINS_PATH(%s , 'all', '%s', '%s')" , obj , path1 , path2 ), nil , false )
244245 }
245246 }
246247 }
247248}
248249
250+ func FnJSONUnquote (yield Query ) {
251+ yield ("JSON_UNQUOTE(NULL)" , nil , false )
252+ }
253+
249254func JSONArray (yield Query ) {
250255 for _ , a := range inputJSONPrimitives {
251256 yield (fmt .Sprintf ("JSON_ARRAY(%s)" , a ), nil , false )
0 commit comments