@@ -539,6 +539,52 @@ public void testWildcardTransform() throws Exception {
539
539
.deletePostTransformed (1000 , "Alice" , 17 , 1017 )
540
540
.runTests ()
541
541
.destroyHarness ();
542
+
543
+ UnifiedTransformTestCase .of (
544
+ tableId ,
545
+ "id + age as computed, *" ,
546
+ "id > 100" ,
547
+ Schema .newBuilder ()
548
+ .physicalColumn ("id" , DataTypes .INT ())
549
+ .physicalColumn ("name" , DataTypes .STRING ())
550
+ .physicalColumn ("age" , DataTypes .INT ())
551
+ .primaryKey ("id" )
552
+ .build (),
553
+ Schema .newBuilder ()
554
+ .physicalColumn ("id" , DataTypes .INT ())
555
+ .physicalColumn ("name" , DataTypes .STRING ())
556
+ .physicalColumn ("age" , DataTypes .INT ())
557
+ .primaryKey ("id" )
558
+ .build (),
559
+ Schema .newBuilder ()
560
+ .physicalColumn ("computed" , DataTypes .INT ())
561
+ .physicalColumn ("id" , DataTypes .INT ())
562
+ .physicalColumn ("name" , DataTypes .STRING ())
563
+ .physicalColumn ("age" , DataTypes .INT ())
564
+ .primaryKey ("id" )
565
+ .build ())
566
+ .initializeHarness ()
567
+ .insertSource (1000 , "Alice" , 17 )
568
+ .insertPreTransformed (1000 , "Alice" , 17 )
569
+ .insertPostTransformed (1017 , 1000 , "Alice" , 17 )
570
+ .insertSource (2000 , "Bob" , 18 )
571
+ .insertPreTransformed (2000 , "Bob" , 18 )
572
+ .insertPostTransformed (2018 , 2000 , "Bob" , 18 )
573
+ .updateSource (new Object [] {2000 , "Bob" , 18 }, new Object [] {2000 , "Barcarolle" , 16 })
574
+ .updatePreTransformed (
575
+ new Object [] {2000 , "Bob" , 18 }, new Object [] {2000 , "Barcarolle" , 16 })
576
+ .updatePostTransformed (
577
+ new Object [] {2018 , 2000 , "Bob" , 18 },
578
+ new Object [] {2016 , 2000 , "Barcarolle" , 16 })
579
+ // filtered out data row
580
+ .insertSource (50 , "Carol" , 19 )
581
+ .insertPreTransformed (50 , "Carol" , 19 )
582
+ .insertPostTransformed ()
583
+ .deleteSource (1000 , "Alice" , 17 )
584
+ .deletePreTransformed (1000 , "Alice" , 17 )
585
+ .deletePostTransformed (1017 , 1000 , "Alice" , 17 )
586
+ .runTests ()
587
+ .destroyHarness ();
542
588
}
543
589
544
590
@ Test
@@ -645,6 +691,54 @@ public void testCalculatedMetadataTransform() throws Exception {
645
691
.deletePostTransformed (1000 , "Alice" , 17 , "my_company.my_branch.metadata_transform" )
646
692
.runTests ()
647
693
.destroyHarness ();
694
+
695
+ UnifiedTransformTestCase .of (
696
+ tableId ,
697
+ "__namespace_name__ || '.' || __schema_name__ || '.' || __table_name__ AS identifier_name, *" ,
698
+ "id > 100" ,
699
+ Schema .newBuilder ()
700
+ .physicalColumn ("id" , DataTypes .INT ())
701
+ .physicalColumn ("name" , DataTypes .STRING ())
702
+ .physicalColumn ("age" , DataTypes .INT ())
703
+ .primaryKey ("id" )
704
+ .build (),
705
+ Schema .newBuilder ()
706
+ .physicalColumn ("id" , DataTypes .INT ())
707
+ .physicalColumn ("name" , DataTypes .STRING ())
708
+ .physicalColumn ("age" , DataTypes .INT ())
709
+ .primaryKey ("id" )
710
+ .build (),
711
+ Schema .newBuilder ()
712
+ .physicalColumn ("identifier_name" , DataTypes .STRING ())
713
+ .physicalColumn ("id" , DataTypes .INT ())
714
+ .physicalColumn ("name" , DataTypes .STRING ())
715
+ .physicalColumn ("age" , DataTypes .INT ())
716
+ .primaryKey ("id" )
717
+ .build ())
718
+ .initializeHarness ()
719
+ .insertSource (1000 , "Alice" , 17 )
720
+ .insertPreTransformed (1000 , "Alice" , 17 )
721
+ .insertPostTransformed ("my_company.my_branch.metadata_transform" , 1000 , "Alice" , 17 )
722
+ .insertSource (2000 , "Bob" , 18 )
723
+ .insertPreTransformed (2000 , "Bob" , 18 )
724
+ .insertPostTransformed ("my_company.my_branch.metadata_transform" , 2000 , "Bob" , 18 )
725
+ .updateSource (new Object [] {2000 , "Bob" , 18 }, new Object [] {2000 , "Barcarolle" , 16 })
726
+ .updatePreTransformed (
727
+ new Object [] {2000 , "Bob" , 18 }, new Object [] {2000 , "Barcarolle" , 16 })
728
+ .updatePostTransformed (
729
+ new Object [] {"my_company.my_branch.metadata_transform" , 2000 , "Bob" , 18 },
730
+ new Object [] {
731
+ "my_company.my_branch.metadata_transform" , 2000 , "Barcarolle" , 16
732
+ })
733
+ // filtered out data row
734
+ .insertSource (50 , "Carol" , 19 )
735
+ .insertPreTransformed (50 , "Carol" , 19 )
736
+ .insertPostTransformed ()
737
+ .deleteSource (1000 , "Alice" , 17 )
738
+ .deletePreTransformed (1000 , "Alice" , 17 )
739
+ .deletePostTransformed ("my_company.my_branch.metadata_transform" , 1000 , "Alice" , 17 )
740
+ .runTests ()
741
+ .destroyHarness ();
648
742
}
649
743
650
744
@ Test
@@ -735,5 +829,91 @@ public void testMetadataAndCalculatedTransform() throws Exception {
735
829
"metadata_transform" )
736
830
.runTests ()
737
831
.destroyHarness ();
832
+
833
+ UnifiedTransformTestCase .of (
834
+ tableId ,
835
+ "__namespace_name__ || '.' || __schema_name__ || '.' || __table_name__ AS identifier_name, __namespace_name__, __schema_name__, __table_name__, *" ,
836
+ "id > 100" ,
837
+ Schema .newBuilder ()
838
+ .physicalColumn ("id" , DataTypes .INT ())
839
+ .physicalColumn ("name" , DataTypes .STRING ())
840
+ .physicalColumn ("age" , DataTypes .INT ())
841
+ .primaryKey ("id" )
842
+ .build (),
843
+ Schema .newBuilder ()
844
+ .physicalColumn ("id" , DataTypes .INT ())
845
+ .physicalColumn ("name" , DataTypes .STRING ())
846
+ .physicalColumn ("age" , DataTypes .INT ())
847
+ .primaryKey ("id" )
848
+ .build (),
849
+ Schema .newBuilder ()
850
+ .physicalColumn ("identifier_name" , DataTypes .STRING ())
851
+ .physicalColumn ("__namespace_name__" , DataTypes .STRING ().notNull ())
852
+ .physicalColumn ("__schema_name__" , DataTypes .STRING ().notNull ())
853
+ .physicalColumn ("__table_name__" , DataTypes .STRING ().notNull ())
854
+ .physicalColumn ("id" , DataTypes .INT ())
855
+ .physicalColumn ("name" , DataTypes .STRING ())
856
+ .physicalColumn ("age" , DataTypes .INT ())
857
+ .primaryKey ("id" )
858
+ .build ())
859
+ .initializeHarness ()
860
+ .insertSource (1000 , "Alice" , 17 )
861
+ .insertPreTransformed (1000 , "Alice" , 17 )
862
+ .insertPostTransformed (
863
+ "my_company.my_branch.metadata_transform" ,
864
+ "my_company" ,
865
+ "my_branch" ,
866
+ "metadata_transform" ,
867
+ 1000 ,
868
+ "Alice" ,
869
+ 17 )
870
+ .insertSource (2000 , "Bob" , 18 )
871
+ .insertPreTransformed (2000 , "Bob" , 18 )
872
+ .insertPostTransformed (
873
+ "my_company.my_branch.metadata_transform" ,
874
+ "my_company" ,
875
+ "my_branch" ,
876
+ "metadata_transform" ,
877
+ 2000 ,
878
+ "Bob" ,
879
+ 18 )
880
+ .updateSource (new Object [] {2000 , "Bob" , 18 }, new Object [] {2000 , "Barcarolle" , 16 })
881
+ .updatePreTransformed (
882
+ new Object [] {2000 , "Bob" , 18 }, new Object [] {2000 , "Barcarolle" , 16 })
883
+ .updatePostTransformed (
884
+ new Object [] {
885
+ "my_company.my_branch.metadata_transform" ,
886
+ "my_company" ,
887
+ "my_branch" ,
888
+ "metadata_transform" ,
889
+ 2000 ,
890
+ "Bob" ,
891
+ 18
892
+ },
893
+ new Object [] {
894
+ "my_company.my_branch.metadata_transform" ,
895
+ "my_company" ,
896
+ "my_branch" ,
897
+ "metadata_transform" ,
898
+ 2000 ,
899
+ "Barcarolle" ,
900
+ 16
901
+ })
902
+ // filtered out data row
903
+ .insertSource (50 , "Carol" , 19 )
904
+ .insertPreTransformed (50 , "Carol" , 19 )
905
+ .insertPostTransformed ()
906
+ .deleteSource (1000 , "Alice" , 17 )
907
+ .deletePreTransformed (1000 , "Alice" , 17 )
908
+ .deletePostTransformed (
909
+ "my_company.my_branch.metadata_transform" ,
910
+ "my_company" ,
911
+ "my_branch" ,
912
+ "metadata_transform" ,
913
+ 1000 ,
914
+ "Alice" ,
915
+ 17 )
916
+ .runTests ()
917
+ .destroyHarness ();
738
918
}
739
919
}
0 commit comments