@@ -27,7 +27,7 @@ import org.apache.spark.sql.catalyst.TableIdentifier
27
27
import org .apache .spark .sql .catalyst .analysis .{CannotReplaceMissingTableException , TableAlreadyExistsException }
28
28
import org .apache .spark .sql .catalyst .plans .logical .{AppendData , LogicalPlan , OverwriteByExpression , OverwritePartitionsDynamic }
29
29
import org .apache .spark .sql .connector .InMemoryV1Provider
30
- import org .apache .spark .sql .connector .catalog .{Identifier , InMemoryTable , InMemoryTableCatalog , TableCatalog }
30
+ import org .apache .spark .sql .connector .catalog .{Column , Identifier , InMemoryTable , InMemoryTableCatalog , TableCatalog }
31
31
import org .apache .spark .sql .connector .catalog .CatalogManager .SESSION_CATALOG_NAME
32
32
import org .apache .spark .sql .connector .expressions .{BucketTransform , ClusterByTransform , DaysTransform , FieldReference , HoursTransform , IdentityTransform , LiteralValue , MonthsTransform , YearsTransform }
33
33
import org .apache .spark .sql .execution .QueryExecution
@@ -409,7 +409,8 @@ class DataFrameWriterV2Suite extends QueryTest with SharedSparkSession with Befo
409
409
val table = catalog(" testcat" ).loadTable(Identifier .of(Array (), " table_name" ))
410
410
411
411
assert(table.name === " testcat.table_name" )
412
- assert(table.schema === new StructType ().add(" id" , LongType ).add(" data" , StringType ))
412
+ assert(table.columns sameElements
413
+ Array (Column .create(" id" , LongType ), Column .create(" data" , StringType )))
413
414
assert(table.partitioning.isEmpty)
414
415
assert(table.properties == defaultOwnership.asJava)
415
416
}
@@ -424,7 +425,8 @@ class DataFrameWriterV2Suite extends QueryTest with SharedSparkSession with Befo
424
425
val table = catalog(" testcat" ).loadTable(Identifier .of(Array (), " table_name" ))
425
426
426
427
assert(table.name === " testcat.table_name" )
427
- assert(table.schema === new StructType ().add(" id" , LongType ).add(" data" , StringType ))
428
+ assert(table.columns sameElements
429
+ Array (Column .create(" id" , LongType ), Column .create(" data" , StringType )))
428
430
assert(table.partitioning.isEmpty)
429
431
assert(table.properties === (Map (" provider" -> " foo" ) ++ defaultOwnership).asJava)
430
432
}
@@ -439,7 +441,8 @@ class DataFrameWriterV2Suite extends QueryTest with SharedSparkSession with Befo
439
441
val table = catalog(" testcat" ).loadTable(Identifier .of(Array (), " table_name" ))
440
442
441
443
assert(table.name === " testcat.table_name" )
442
- assert(table.schema === new StructType ().add(" id" , LongType ).add(" data" , StringType ))
444
+ assert(table.columns sameElements
445
+ Array (Column .create(" id" , LongType ), Column .create(" data" , StringType )))
443
446
assert(table.partitioning.isEmpty)
444
447
assert(table.properties === (Map (" prop" -> " value" ) ++ defaultOwnership).asJava)
445
448
}
@@ -454,7 +457,8 @@ class DataFrameWriterV2Suite extends QueryTest with SharedSparkSession with Befo
454
457
val table = catalog(" testcat" ).loadTable(Identifier .of(Array (), " table_name" ))
455
458
456
459
assert(table.name === " testcat.table_name" )
457
- assert(table.schema === new StructType ().add(" id" , LongType ).add(" data" , StringType ))
460
+ assert(table.columns sameElements
461
+ Array (Column .create(" id" , LongType ), Column .create(" data" , StringType )))
458
462
assert(table.partitioning === Seq (IdentityTransform (FieldReference (" id" ))))
459
463
assert(table.properties == defaultOwnership.asJava)
460
464
}
@@ -550,7 +554,8 @@ class DataFrameWriterV2Suite extends QueryTest with SharedSparkSession with Befo
550
554
551
555
// table should not have been changed
552
556
assert(table.name === " testcat.table_name" )
553
- assert(table.schema === new StructType ().add(" id" , LongType ).add(" data" , StringType ))
557
+ assert(table.columns sameElements
558
+ Array (Column .create(" id" , LongType ), Column .create(" data" , StringType )))
554
559
assert(table.partitioning === Seq (IdentityTransform (FieldReference (" id" ))))
555
560
assert(table.properties === (Map (" provider" -> " foo" ) ++ defaultOwnership).asJava)
556
561
}
@@ -586,7 +591,8 @@ class DataFrameWriterV2Suite extends QueryTest with SharedSparkSession with Befo
586
591
587
592
// validate the initial table
588
593
assert(table.name === " testcat.table_name" )
589
- assert(table.schema === new StructType ().add(" id" , LongType ).add(" data" , StringType ))
594
+ assert(table.columns sameElements
595
+ Array (Column .create(" id" , LongType ), Column .create(" data" , StringType )))
590
596
assert(table.partitioning === Seq (IdentityTransform (FieldReference (" id" ))))
591
597
assert(table.properties === (Map (" provider" -> " foo" ) ++ defaultOwnership).asJava)
592
598
@@ -602,10 +608,10 @@ class DataFrameWriterV2Suite extends QueryTest with SharedSparkSession with Befo
602
608
603
609
// validate the replacement table
604
610
assert(replaced.name === " testcat.table_name" )
605
- assert(replaced.schema === new StructType ()
606
- .add (" id" , LongType )
607
- .add (" data" , StringType )
608
- .add (" even_or_odd" , StringType ))
611
+ assert(replaced.columns sameElements Array (
612
+ Column .create (" id" , LongType ),
613
+ Column .create (" data" , StringType ),
614
+ Column .create (" even_or_odd" , StringType ) ))
609
615
assert(replaced.partitioning.isEmpty)
610
616
assert(replaced.properties === defaultOwnership.asJava)
611
617
}
@@ -622,7 +628,8 @@ class DataFrameWriterV2Suite extends QueryTest with SharedSparkSession with Befo
622
628
623
629
// validate the initial table
624
630
assert(table.name === " testcat.table_name" )
625
- assert(table.schema === new StructType ().add(" id" , LongType ).add(" data" , StringType ))
631
+ assert(table.columns sameElements
632
+ Array (Column .create(" id" , LongType ), Column .create(" data" , StringType )))
626
633
assert(table.partitioning.isEmpty)
627
634
assert(table.properties === (Map (" provider" -> " foo" ) ++ defaultOwnership).asJava)
628
635
@@ -638,10 +645,10 @@ class DataFrameWriterV2Suite extends QueryTest with SharedSparkSession with Befo
638
645
639
646
// validate the replacement table
640
647
assert(replaced.name === " testcat.table_name" )
641
- assert(replaced.schema === new StructType ()
642
- .add (" id" , LongType )
643
- .add (" data" , StringType )
644
- .add (" even_or_odd" , StringType ))
648
+ assert(replaced.columns sameElements Array (
649
+ Column .create (" id" , LongType ),
650
+ Column .create (" data" , StringType ),
651
+ Column .create (" even_or_odd" , StringType ) ))
645
652
assert(replaced.partitioning === Seq (IdentityTransform (FieldReference (" id" ))))
646
653
assert(replaced.properties === defaultOwnership.asJava)
647
654
}
@@ -658,7 +665,8 @@ class DataFrameWriterV2Suite extends QueryTest with SharedSparkSession with Befo
658
665
659
666
// validate the initial table
660
667
assert(table.name === " testcat.table_name" )
661
- assert(table.schema === new StructType ().add(" id" , LongType ).add(" data" , StringType ))
668
+ assert(table.columns sameElements
669
+ Array (Column .create(" id" , LongType ), Column .create(" data" , StringType )))
662
670
assert(table.partitioning.isEmpty)
663
671
assert(table.properties === (Map (" provider" -> " foo" ) ++ defaultOwnership).asJava)
664
672
@@ -674,10 +682,10 @@ class DataFrameWriterV2Suite extends QueryTest with SharedSparkSession with Befo
674
682
675
683
// validate the replacement table
676
684
assert(replaced.name === " testcat.table_name" )
677
- assert(replaced.schema === new StructType ()
678
- .add (" id" , LongType )
679
- .add (" data" , StringType )
680
- .add (" even_or_odd" , StringType ))
685
+ assert(replaced.columns sameElements
686
+ Array ( Column .create (" id" , LongType ),
687
+ Column .create (" data" , StringType ),
688
+ Column .create (" even_or_odd" , StringType ) ))
681
689
assert(replaced.partitioning === Seq (ClusterByTransform (Seq (FieldReference (" id" )))))
682
690
assert(replaced.properties === defaultOwnership.asJava)
683
691
}
@@ -701,7 +709,8 @@ class DataFrameWriterV2Suite extends QueryTest with SharedSparkSession with Befo
701
709
702
710
// validate the replacement table
703
711
assert(replaced.name === " testcat.table_name" )
704
- assert(replaced.schema === new StructType ().add(" id" , LongType ).add(" data" , StringType ))
712
+ assert(replaced.columns sameElements
713
+ Array (Column .create(" id" , LongType ), Column .create(" data" , StringType )))
705
714
assert(replaced.partitioning.isEmpty)
706
715
assert(replaced.properties === defaultOwnership.asJava)
707
716
}
@@ -719,7 +728,8 @@ class DataFrameWriterV2Suite extends QueryTest with SharedSparkSession with Befo
719
728
720
729
// validate the initial table
721
730
assert(table.name === " testcat.table_name" )
722
- assert(table.schema === new StructType ().add(" id" , LongType ).add(" data" , StringType ))
731
+ assert(table.columns sameElements
732
+ Array (Column .create(" id" , LongType ), Column .create(" data" , StringType )))
723
733
assert(table.partitioning === Seq (IdentityTransform (FieldReference (" id" ))))
724
734
assert(table.properties === (Map (" provider" -> " foo" ) ++ defaultOwnership).asJava)
725
735
@@ -735,10 +745,10 @@ class DataFrameWriterV2Suite extends QueryTest with SharedSparkSession with Befo
735
745
736
746
// validate the replacement table
737
747
assert(replaced.name === " testcat.table_name" )
738
- assert(replaced.schema === new StructType ()
739
- .add (" id" , LongType )
740
- .add (" data" , StringType )
741
- .add (" even_or_odd" , StringType ))
748
+ assert(replaced.columns sameElements Array (
749
+ Column .create (" id" , LongType ),
750
+ Column .create (" data" , StringType ),
751
+ Column .create (" even_or_odd" , StringType ) ))
742
752
assert(replaced.partitioning.isEmpty)
743
753
assert(replaced.properties === defaultOwnership.asJava)
744
754
}
0 commit comments