@@ -10843,6 +10843,99 @@ where
10843
10843
},
10844
10844
},
10845
10845
},
10846
+ {
10847
+ // https://github.com/dolthub/dolt/issues/9544
10848
+ Name : "datetime with foreign keys" ,
10849
+ Dialect : "mysql" ,
10850
+ SetUpScript : []string {
10851
+ "create table parent_datetime0 (dt datetime primary key);" ,
10852
+ "insert into parent_datetime0 values ('2001-02-03 12:34:56');" ,
10853
+ "create table parent_datetime6 (dt datetime(6) primary key);" ,
10854
+ "insert into parent_datetime6 values ('2001-02-03 12:34:56');" ,
10855
+ "insert into parent_datetime6 values ('2001-02-03 12:34:56.123456');" ,
10856
+ },
10857
+ Assertions : []ScriptTestAssertion {
10858
+ {
10859
+ Skip : true ,
10860
+ Query : "create table child_datetime0 (dt datetime, foreign key (dt) references parent_datetime6(dt));" ,
10861
+ Expected : []sql.Row {
10862
+ {types .NewOkResult (0 )},
10863
+ },
10864
+ },
10865
+ {
10866
+ Skip : true ,
10867
+ Query : "insert into child_datetime0 values ('2001-02-03 12:34:56');" ,
10868
+ ExpectedErr : sql .ErrForeignKeyChildViolation ,
10869
+ },
10870
+ {
10871
+ Skip : true ,
10872
+ Query : "create table child_datetime6 (dt datetime(6), foreign key (dt) references parent_datetime0(dt));" ,
10873
+ Expected : []sql.Row {
10874
+ {types .NewOkResult (0 )},
10875
+ },
10876
+ },
10877
+ {
10878
+ Skip : true ,
10879
+ Query : "insert into child_datetime6 values ('2001-02-03 12:34:56');" ,
10880
+ ExpectedErr : sql .ErrForeignKeyChildViolation ,
10881
+ },
10882
+
10883
+ {
10884
+ Skip : true ,
10885
+ Query : "create table child1_timestamp0 (ts timestamp, foreign key (ts) references parent_datetime0(dt));" ,
10886
+ Expected : []sql.Row {
10887
+ {types .NewOkResult (0 )},
10888
+ },
10889
+ },
10890
+ {
10891
+ Skip : true ,
10892
+ Query : "insert into child1_timestamp0 values ('2001-02-03 12:34:56');" ,
10893
+ ExpectedErr : sql .ErrForeignKeyChildViolation ,
10894
+ },
10895
+ {
10896
+ Skip : true ,
10897
+ Query : "create table child2_timestamp0 (ts timestamp, foreign key (ts) references parent_datetime6(dt));" ,
10898
+ Expected : []sql.Row {
10899
+ {types .NewOkResult (0 )},
10900
+ },
10901
+ },
10902
+ {
10903
+ Skip : true ,
10904
+ Query : "insert into child2_timestamp0 values ('2001-02-03 12:34:56');" ,
10905
+ ExpectedErr : sql .ErrForeignKeyChildViolation ,
10906
+ },
10907
+
10908
+ {
10909
+ Skip : true ,
10910
+ Query : "create table child1_timestamp6 (ts timestamp(6), foreign key (ts) references parent_datetime0(dt));" ,
10911
+ Expected : []sql.Row {
10912
+ {types .NewOkResult (0 )},
10913
+ },
10914
+ },
10915
+ {
10916
+ Skip : true ,
10917
+ Query : "insert into child1_timestamp6 values ('2001-02-03 12:34:56');" ,
10918
+ ExpectedErr : sql .ErrForeignKeyChildViolation ,
10919
+ },
10920
+ {
10921
+ Skip : true ,
10922
+ Query : "create table child2_timestamp6 (ts timestamp(6), foreign key (ts) references parent_datetime6(dt));" ,
10923
+ Expected : []sql.Row {
10924
+ {types .NewOkResult (0 )},
10925
+ },
10926
+ },
10927
+ {
10928
+ Skip : true ,
10929
+ Query : "insert into child2_timestamp6 values ('2001-02-03 12:34:56');" ,
10930
+ ExpectedErr : sql .ErrForeignKeyChildViolation ,
10931
+ },
10932
+ {
10933
+ Skip : true ,
10934
+ Query : "insert into child2_timestamp6 values ('2001-02-03 12:34:56.123456');" ,
10935
+ ExpectedErr : sql .ErrForeignKeyChildViolation ,
10936
+ },
10937
+ },
10938
+ },
10846
10939
10847
10940
// Timestamp Tests
10848
10941
{
@@ -10860,6 +10953,99 @@ where
10860
10953
},
10861
10954
},
10862
10955
},
10956
+ {
10957
+ // https://github.com/dolthub/dolt/issues/9544
10958
+ Name : "timestamps with foreign keys" ,
10959
+ Dialect : "mysql" ,
10960
+ SetUpScript : []string {
10961
+ "create table parent_timestamp0 (ts timestamp primary key);" ,
10962
+ "insert into parent_timestamp0 values ('2001-02-03 12:34:56');" ,
10963
+ "create table parent_timestamp6 (ts timestamp(6) primary key);" ,
10964
+ "insert into parent_timestamp6 values ('2001-02-03 12:34:56');" ,
10965
+ "insert into parent_timestamp6 values ('2001-02-03 12:34:56.123456');" ,
10966
+ },
10967
+ Assertions : []ScriptTestAssertion {
10968
+ {
10969
+ Skip : true ,
10970
+ Query : "create table child_timestamp0 (ts timestamp, foreign key (ts) references parent_timestamp6(ts));" ,
10971
+ Expected : []sql.Row {
10972
+ {types .NewOkResult (0 )},
10973
+ },
10974
+ },
10975
+ {
10976
+ Skip : true ,
10977
+ Query : "insert into child_timestamp0 values ('2001-02-03 12:34:56');" ,
10978
+ ExpectedErr : sql .ErrForeignKeyChildViolation ,
10979
+ },
10980
+ {
10981
+ Skip : true ,
10982
+ Query : "create table child_timestamp6 (ts timestamp(6), foreign key (ts) references parent_timestamp0(ts));" ,
10983
+ Expected : []sql.Row {
10984
+ {types .NewOkResult (0 )},
10985
+ },
10986
+ },
10987
+ {
10988
+ Skip : true ,
10989
+ Query : "insert into child_timestamp6 values ('2001-02-03 12:34:56');" ,
10990
+ ExpectedErr : sql .ErrForeignKeyChildViolation ,
10991
+ },
10992
+
10993
+ {
10994
+ Skip : true ,
10995
+ Query : "create table child1_datetime0 (dt datetime, foreign key (dt) references parent_timestamp0(ts));" ,
10996
+ Expected : []sql.Row {
10997
+ {types .NewOkResult (0 )},
10998
+ },
10999
+ },
11000
+ {
11001
+ Skip : true ,
11002
+ Query : "insert into child1_datetime0 values ('2001-02-03 12:34:56');" ,
11003
+ ExpectedErr : sql .ErrForeignKeyChildViolation ,
11004
+ },
11005
+ {
11006
+ Skip : true ,
11007
+ Query : "create table child2_datetime0 (dt datetime, foreign key (dt) references parent_timestamp6(ts));" ,
11008
+ Expected : []sql.Row {
11009
+ {types .NewOkResult (0 )},
11010
+ },
11011
+ },
11012
+ {
11013
+ Skip : true ,
11014
+ Query : "insert into child2_datetime0 values ('2001-02-03 12:34:56');" ,
11015
+ ExpectedErr : sql .ErrForeignKeyChildViolation ,
11016
+ },
11017
+
11018
+ {
11019
+ Skip : true ,
11020
+ Query : "create table child1_datetime6 (dt datetime(6), foreign key (dt) references parent_timestamp0(ts));" ,
11021
+ Expected : []sql.Row {
11022
+ {types .NewOkResult (0 )},
11023
+ },
11024
+ },
11025
+ {
11026
+ Skip : true ,
11027
+ Query : "insert into child1_datetime6 values ('2001-02-03 12:34:56');" ,
11028
+ ExpectedErr : sql .ErrForeignKeyChildViolation ,
11029
+ },
11030
+ {
11031
+ Skip : true ,
11032
+ Query : "create table child2_datetime6 (dt datetime(6), foreign key (dt) references parent_timestamp6(ts));" ,
11033
+ Expected : []sql.Row {
11034
+ {types .NewOkResult (0 )},
11035
+ },
11036
+ },
11037
+ {
11038
+ Skip : true ,
11039
+ Query : "insert into child2_datetime6 values ('2001-02-03 12:34:56');" ,
11040
+ ExpectedErr : sql .ErrForeignKeyChildViolation ,
11041
+ },
11042
+ {
11043
+ Skip : true ,
11044
+ Query : "insert into child2_datetime6 values ('2001-02-03 12:34:56.123456');" ,
11045
+ ExpectedErr : sql .ErrForeignKeyChildViolation ,
11046
+ },
11047
+ },
11048
+ },
10863
11049
10864
11050
// Time Tests
10865
11051
{
@@ -10877,6 +11063,42 @@ where
10877
11063
},
10878
11064
},
10879
11065
},
11066
+ {
11067
+ // https://github.com/dolthub/dolt/issues/9544
11068
+ Name : "time with foreign keys" ,
11069
+ Dialect : "mysql" ,
11070
+ SetUpScript : []string {
11071
+ "create table parent_time0 (t time primary key);" ,
11072
+ "insert into parent_time0 values ('12:34:56');" ,
11073
+ "create table parent_time6 (t time(6) primary key);" ,
11074
+ "insert into parent_time6 values ('12:34:56');" ,
11075
+ "insert into parent_time6 values ('12:34:56.123456');" ,
11076
+ },
11077
+ Assertions : []ScriptTestAssertion {
11078
+ {
11079
+ Query : "create table child_time0 (t time, foreign key (t) references parent_time6(t));" ,
11080
+ Expected : []sql.Row {
11081
+ {types .NewOkResult (0 )},
11082
+ },
11083
+ },
11084
+ {
11085
+ Skip : true ,
11086
+ Query : "insert into child_time0 values ('12:34:56');" ,
11087
+ ExpectedErr : sql .ErrForeignKeyChildViolation ,
11088
+ },
11089
+ {
11090
+ Query : "create table child_time6 (t time(6), foreign key (t) references parent_time0(t));" ,
11091
+ Expected : []sql.Row {
11092
+ {types .NewOkResult (0 )},
11093
+ },
11094
+ },
11095
+ {
11096
+ Skip : true ,
11097
+ Query : "insert into child_time6 values ('12:34:56');" ,
11098
+ ExpectedErr : sql .ErrForeignKeyChildViolation ,
11099
+ },
11100
+ },
11101
+ },
10880
11102
10881
11103
// Year Tests
10882
11104
{
0 commit comments