@@ -34,6 +34,7 @@ var Cases = []TestCase{
3434 {Run : FnJSONExtract },
3535 {Run : FnJSONRemove },
3636 {Run : FnJSONContainsPath },
37+ {Run : FnJSONUnquote },
3738 {Run : JSONArray },
3839 {Run : JSONObject },
3940 {Run : CharsetConversionOperators },
@@ -181,21 +182,21 @@ var Cases = []TestCase{
181182
182183func FnJSONKeys (yield Query ) {
183184 for _ , obj := range inputJSONObjects {
184- yield (fmt .Sprintf ("JSON_KEYS('%s' )" , obj ), nil , false )
185+ yield (fmt .Sprintf ("JSON_KEYS(%s )" , obj ), nil , false )
185186
186187 for _ , path1 := range inputJSONPaths {
187- yield (fmt .Sprintf ("JSON_KEYS('%s' , '%s')" , obj , path1 ), nil , false )
188+ yield (fmt .Sprintf ("JSON_KEYS(%s , '%s')" , obj , path1 ), nil , false )
188189 }
189190 }
190191}
191192
192193func FnJSONExtract (yield Query ) {
193194 for _ , obj := range inputJSONObjects {
194195 for _ , path1 := range inputJSONPaths {
195- yield (fmt .Sprintf ("JSON_EXTRACT('%s' , '%s')" , obj , path1 ), nil , false )
196+ yield (fmt .Sprintf ("JSON_EXTRACT(%s , '%s')" , obj , path1 ), nil , false )
196197
197198 for _ , path2 := range inputJSONPaths {
198- yield (fmt .Sprintf ("JSON_EXTRACT('%s' , '%s', '%s')" , obj , path1 , path2 ), nil , false )
199+ yield (fmt .Sprintf ("JSON_EXTRACT(%s , '%s', '%s')" , obj , path1 , path2 ), nil , false )
199200 }
200201 }
201202 }
@@ -236,25 +237,29 @@ func FnJSONExtract(yield Query) {
236237func FnJSONRemove (yield Query ) {
237238 for _ , obj := range inputJSONObjects {
238239 for _ , path1 := range inputJSONPaths {
239- yield (fmt .Sprintf ("JSON_REMOVE('%s' , '%s')" , obj , path1 ), nil , false )
240+ yield (fmt .Sprintf ("JSON_REMOVE(%s , '%s')" , obj , path1 ), nil , false )
240241 }
241242 }
242243}
243244
244245func FnJSONContainsPath (yield Query ) {
245246 for _ , obj := range inputJSONObjects {
246247 for _ , path1 := range inputJSONPaths {
247- yield (fmt .Sprintf ("JSON_CONTAINS_PATH('%s' , 'one', '%s')" , obj , path1 ), nil , false )
248- yield (fmt .Sprintf ("JSON_CONTAINS_PATH('%s' , 'all', '%s')" , obj , path1 ), nil , false )
248+ yield (fmt .Sprintf ("JSON_CONTAINS_PATH(%s , 'one', '%s')" , obj , path1 ), nil , false )
249+ yield (fmt .Sprintf ("JSON_CONTAINS_PATH(%s , 'all', '%s')" , obj , path1 ), nil , false )
249250
250251 for _ , path2 := range inputJSONPaths {
251- yield (fmt .Sprintf ("JSON_CONTAINS_PATH('%s' , 'one', '%s', '%s')" , obj , path1 , path2 ), nil , false )
252- yield (fmt .Sprintf ("JSON_CONTAINS_PATH('%s' , 'all', '%s', '%s')" , obj , path1 , path2 ), nil , false )
252+ yield (fmt .Sprintf ("JSON_CONTAINS_PATH(%s , 'one', '%s', '%s')" , obj , path1 , path2 ), nil , false )
253+ yield (fmt .Sprintf ("JSON_CONTAINS_PATH(%s , 'all', '%s', '%s')" , obj , path1 , path2 ), nil , false )
253254 }
254255 }
255256 }
256257}
257258
259+ func FnJSONUnquote (yield Query ) {
260+ yield ("JSON_UNQUOTE(NULL)" , nil , false )
261+ }
262+
258263func JSONArray (yield Query ) {
259264 for _ , a := range inputJSONPrimitives {
260265 yield (fmt .Sprintf ("JSON_ARRAY(%s)" , a ), nil , false )
0 commit comments