@@ -24,6 +24,7 @@ mod roundtrip_tests {
2424 use super :: super :: { super :: error:: Result , protobuf} ;
2525 use crate :: error:: BallistaError ;
2626 use core:: panic;
27+ use datafusion:: arrow:: datatypes:: UnionMode ;
2728 use datafusion:: logical_plan:: Repartition ;
2829 use datafusion:: {
2930 arrow:: datatypes:: { DataType , Field , IntervalUnit , Schema , TimeUnit } ,
@@ -413,25 +414,31 @@ mod roundtrip_tests {
413414 true ,
414415 ) ,
415416 ] ) ,
416- DataType :: Union ( vec![
417- Field :: new( "nullable" , DataType :: Boolean , false ) ,
418- Field :: new( "name" , DataType :: Utf8 , false ) ,
419- Field :: new( "datatype" , DataType :: Binary , false ) ,
420- ] ) ,
421- DataType :: Union ( vec![
422- Field :: new( "nullable" , DataType :: Boolean , false ) ,
423- Field :: new( "name" , DataType :: Utf8 , false ) ,
424- Field :: new( "datatype" , DataType :: Binary , false ) ,
425- Field :: new(
426- "nested_struct" ,
427- DataType :: Struct ( vec![
428- Field :: new( "nullable" , DataType :: Boolean , false ) ,
429- Field :: new( "name" , DataType :: Utf8 , false ) ,
430- Field :: new( "datatype" , DataType :: Binary , false ) ,
431- ] ) ,
432- true ,
433- ) ,
434- ] ) ,
417+ DataType :: Union (
418+ vec![
419+ Field :: new( "nullable" , DataType :: Boolean , false ) ,
420+ Field :: new( "name" , DataType :: Utf8 , false ) ,
421+ Field :: new( "datatype" , DataType :: Binary , false ) ,
422+ ] ,
423+ UnionMode :: Dense ,
424+ ) ,
425+ DataType :: Union (
426+ vec![
427+ Field :: new( "nullable" , DataType :: Boolean , false ) ,
428+ Field :: new( "name" , DataType :: Utf8 , false ) ,
429+ Field :: new( "datatype" , DataType :: Binary , false ) ,
430+ Field :: new(
431+ "nested_struct" ,
432+ DataType :: Struct ( vec![
433+ Field :: new( "nullable" , DataType :: Boolean , false ) ,
434+ Field :: new( "name" , DataType :: Utf8 , false ) ,
435+ Field :: new( "datatype" , DataType :: Binary , false ) ,
436+ ] ) ,
437+ true ,
438+ ) ,
439+ ] ,
440+ UnionMode :: Sparse ,
441+ ) ,
435442 DataType :: Dictionary (
436443 Box :: new( DataType :: Utf8 ) ,
437444 Box :: new( DataType :: Struct ( vec![
@@ -558,25 +565,31 @@ mod roundtrip_tests {
558565 true ,
559566 ) ,
560567 ] ) ,
561- DataType :: Union ( vec![
562- Field :: new( "nullable" , DataType :: Boolean , false ) ,
563- Field :: new( "name" , DataType :: Utf8 , false ) ,
564- Field :: new( "datatype" , DataType :: Binary , false ) ,
565- ] ) ,
566- DataType :: Union ( vec![
567- Field :: new( "nullable" , DataType :: Boolean , false ) ,
568- Field :: new( "name" , DataType :: Utf8 , false ) ,
569- Field :: new( "datatype" , DataType :: Binary , false ) ,
570- Field :: new(
571- "nested_struct" ,
572- DataType :: Struct ( vec![
573- Field :: new( "nullable" , DataType :: Boolean , false ) ,
574- Field :: new( "name" , DataType :: Utf8 , false ) ,
575- Field :: new( "datatype" , DataType :: Binary , false ) ,
576- ] ) ,
577- true ,
578- ) ,
579- ] ) ,
568+ DataType :: Union (
569+ vec![
570+ Field :: new( "nullable" , DataType :: Boolean , false ) ,
571+ Field :: new( "name" , DataType :: Utf8 , false ) ,
572+ Field :: new( "datatype" , DataType :: Binary , false ) ,
573+ ] ,
574+ UnionMode :: Sparse ,
575+ ) ,
576+ DataType :: Union (
577+ vec![
578+ Field :: new( "nullable" , DataType :: Boolean , false ) ,
579+ Field :: new( "name" , DataType :: Utf8 , false ) ,
580+ Field :: new( "datatype" , DataType :: Binary , false ) ,
581+ Field :: new(
582+ "nested_struct" ,
583+ DataType :: Struct ( vec![
584+ Field :: new( "nullable" , DataType :: Boolean , false ) ,
585+ Field :: new( "name" , DataType :: Utf8 , false ) ,
586+ Field :: new( "datatype" , DataType :: Binary , false ) ,
587+ ] ) ,
588+ true ,
589+ ) ,
590+ ] ,
591+ UnionMode :: Dense ,
592+ ) ,
580593 DataType :: Dictionary (
581594 Box :: new( DataType :: Utf8 ) ,
582595 Box :: new( DataType :: Struct ( vec![
0 commit comments