1+ use std:: collections:: HashMap ;
12use std:: sync:: Arc ;
23
34use datafusion:: arrow:: array:: { Array , ArrayRef , DictionaryArray , RecordBatch } ;
@@ -503,8 +504,16 @@ fn test_json_get_utf8() {
503504 let ColumnarValue :: Scalar ( sv) = json_get_str
504505 . invoke_with_args ( ScalarFunctionArgs {
505506 args : args. to_vec ( ) ,
507+ arg_fields : vec ! [
508+ Arc :: new( Field :: new( "arg_1" , DataType :: LargeUtf8 , false ) ) ,
509+ Arc :: new( Field :: new( "arg_2" , DataType :: LargeUtf8 , false ) ) ,
510+ Arc :: new( Field :: new( "arg_3" , DataType :: LargeUtf8 , false ) ) ,
511+ ] ,
506512 number_rows : 1 ,
507- return_type : & DataType :: Utf8 ,
513+ return_field : Arc :: new (
514+ Field :: new ( "ret_field" , DataType :: Utf8 , false )
515+ . with_metadata ( HashMap :: from_iter ( vec ! [ ( "is_json" . to_string( ) , "true" . to_string( ) ) ] ) ) ,
516+ ) ,
508517 } )
509518 . unwrap ( )
510519 else {
@@ -528,8 +537,16 @@ fn test_json_get_large_utf8() {
528537 let ColumnarValue :: Scalar ( sv) = json_get_str
529538 . invoke_with_args ( ScalarFunctionArgs {
530539 args : args. to_vec ( ) ,
540+ arg_fields : vec ! [
541+ Arc :: new( Field :: new( "arg_1" , DataType :: LargeUtf8 , false ) ) ,
542+ Arc :: new( Field :: new( "arg_2" , DataType :: LargeUtf8 , false ) ) ,
543+ Arc :: new( Field :: new( "arg_3" , DataType :: LargeUtf8 , false ) ) ,
544+ ] ,
531545 number_rows : 1 ,
532- return_type : & DataType :: LargeUtf8 ,
546+ return_field : Arc :: new (
547+ Field :: new ( "ret_field" , DataType :: Utf8 , false )
548+ . with_metadata ( HashMap :: from_iter ( vec ! [ ( "is_json" . to_string( ) , "true" . to_string( ) ) ] ) ) ,
549+ ) ,
533550 } )
534551 . unwrap ( )
535552 else {
0 commit comments