File tree Expand file tree Collapse file tree 1 file changed +13
-4
lines changed
rust/cubesql/cubesql/src/compile/engine/df Expand file tree Collapse file tree 1 file changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -217,10 +217,11 @@ impl ValueObject for JsonValueObject {
217217 self . rows[ index]
218218 ) ) ) ;
219219 } ;
220- let value = as_object. remove ( field_name) . ok_or ( CubeError :: user ( format ! (
221- r#"Unexpected response from Cube, Field "{}" doesn't exist in row: {:?}"# ,
222- field_name, as_object
223- ) ) ) ?;
220+ let value = as_object
221+ . get ( field_name)
222+ . unwrap_or ( & Value :: Null )
223+ // TODO expose strings as references to avoid clonning
224+ . clone ( ) ;
224225 Ok ( match value {
225226 Value :: String ( s) => FieldValue :: String ( s) ,
226227 Value :: Number ( n) => FieldValue :: Number ( n. as_f64 ( ) . ok_or (
@@ -853,6 +854,7 @@ mod tests {
853854 #[ tokio:: test]
854855 async fn test_df_cube_scan_execute ( ) {
855856 let schema = Arc :: new ( Schema :: new ( vec ! [
857+ Field :: new( "KibanaSampleDataEcommerce.count" , DataType :: Utf8 , false ) ,
856858 Field :: new( "KibanaSampleDataEcommerce.count" , DataType :: Utf8 , false ) ,
857859 Field :: new(
858860 "KibanaSampleDataEcommerce.maxPrice" ,
@@ -924,6 +926,13 @@ mod tests {
924926 RecordBatch :: try_new(
925927 schema. clone( ) ,
926928 vec![
929+ Arc :: new( StringArray :: from( vec![
930+ None ,
931+ Some ( "5" ) ,
932+ Some ( "5" ) ,
933+ None ,
934+ None
935+ ] ) ) as ArrayRef ,
927936 Arc :: new( StringArray :: from( vec![
928937 None ,
929938 Some ( "5" ) ,
You can’t perform that action at this time.
0 commit comments