Changeset: 9fc70054243d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9fc70054243d
Added Files:
        clients/Tests/SQL-dump.timeout
        
sql/test/BugTracker-2013/Tests/crash_after_creation_of_unique_key.Bug-3363.sql
        
sql/test/BugTracker-2013/Tests/crash_after_creation_of_unique_key.Bug-3363.stable.err
        
sql/test/BugTracker-2013/Tests/crash_after_creation_of_unique_key.Bug-3363.stable.out
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.Windows
        sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit
        sql/server/rel_optimizer.c
        sql/test/BugTracker-2013/Tests/All
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out
        sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.single
Branch: default
Log Message:

merged


diffs (truncated from 416 to 300 lines):

diff --git a/clients/Tests/MAL-signatures.stable.out 
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -2476,7 +2476,7 @@ command algebra.likesubselect(b:bat[:oid
 address PCRElikesubselect1;
 comment Select all head values for which the tail value is "like"      the 
given (SQL-style) pattern.  Input is a dense-headed BAT, output is a 
dense-headed BAT with in       the tail the head value of the input BAT for 
which the  relationship holds.  The output BAT is sorted on the tail value.
 
-command 
algebra.leftfetchjoin(left:bat[:any_1,:oid],right:bat[:oid,:any_3]):bat[:any_1,:any_3]
 
+command 
algebra.leftfetchjoin(left:bat[:oid,:oid],right:bat[:oid,:any_3]):bat[:oid,:any_3]
 
 address ALGleftfetchjoin;
 comment Hook directly into the left fetch join implementation.
 
diff --git a/clients/Tests/MAL-signatures.stable.out.Windows 
b/clients/Tests/MAL-signatures.stable.out.Windows
--- a/clients/Tests/MAL-signatures.stable.out.Windows
+++ b/clients/Tests/MAL-signatures.stable.out.Windows
@@ -2476,7 +2476,7 @@ command algebra.likesubselect(b:bat[:oid
 address PCRElikesubselect1;
 comment Select all head values for which the tail value is "like"      the 
given (SQL-style) pattern.  Input is a dense-headed BAT, output is a 
dense-headed BAT with in       the tail the head value of the input BAT for 
which the  relationship holds.  The output BAT is sorted on the tail value.
 
-command 
algebra.leftfetchjoin(left:bat[:any_1,:oid],right:bat[:oid,:any_3]):bat[:any_1,:any_3]
 
+command 
algebra.leftfetchjoin(left:bat[:oid,:oid],right:bat[:oid,:any_3]):bat[:oid,:any_3]
 
 address ALGleftfetchjoin;
 comment Hook directly into the left fetch join implementation.
 
diff --git a/clients/Tests/SQL-dump.timeout b/clients/Tests/SQL-dump.timeout
new file mode 100644
--- /dev/null
+++ b/clients/Tests/SQL-dump.timeout
@@ -0,0 +1,1 @@
+2
diff --git a/sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit 
b/sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit
--- a/sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit
+++ b/sql/benchmarks/tpch/Tests/21-explain.stable.out.32bit
@@ -76,12 +76,12 @@ function user.s2_1{autoCommit=true}(A0:s
     X_24 := algebra.leftfetchjoin(X_5,X_23);
     X_25:bat[:oid,:bit]  := batcalc.>(X_17,X_24);
     X_26 := algebra.subselect(X_25,true,true,true,true,false);
-    X_244 := algebra.leftfetchjoin(X_26,X_5);
+    X_246 := algebra.leftfetchjoin(X_26,X_5);
     X_28 := sql.bind_idxbat(X_4,"sys","lineitem","lineitem_l_orderkey_fkey",0);
     (X_30,r1_32) := 
sql.bind_idxbat(X_4,"sys","lineitem","lineitem_l_orderkey_fkey",2);
     X_32 := sql.bind_idxbat(X_4,"sys","lineitem","lineitem_l_orderkey_fkey",1);
     X_33 := sql.delta(X_28,X_30,r1_32,X_32);
-    X_34:bat[:oid,:oid]  := algebra.leftfetchjoin(X_244,X_33);
+    X_34:bat[:oid,:oid]  := algebra.leftfetchjoin(X_246,X_33);
     X_35:bat[:oid,:oid]  := sql.tid(X_4,"sys","orders");
     X_38 := sql.bind(X_4,"sys","orders","o_orderstatus",0);
     (X_41,r1_44) := sql.bind(X_4,"sys","orders","o_orderstatus",2);
@@ -91,20 +91,20 @@ function user.s2_1{autoCommit=true}(A0:s
     X_48 := algebra.subselect(X_47,A0,A0,true,true,false);
     X_50 := algebra.leftfetchjoin(X_48,X_35);
     (X_51,r1_55) := algebra.join(X_34,X_50);
-    X_245 := algebra.leftfetchjoin(X_51,X_26);
+    X_247 := algebra.leftfetchjoin(X_51,X_26);
     X_53 := sql.bind_idxbat(X_4,"sys","lineitem","lineitem_l_suppkey_fkey",0);
     (X_56,r1_60) := 
sql.bind_idxbat(X_4,"sys","lineitem","lineitem_l_suppkey_fkey",2);
     X_58 := sql.bind_idxbat(X_4,"sys","lineitem","lineitem_l_suppkey_fkey",1);
     X_59 := sql.delta(X_53,X_56,r1_60,X_58);
-    X_60:bat[:oid,:oid]  := algebra.leftfetchjoinPath(X_245,X_5,X_59);
+    X_60:bat[:oid,:oid]  := algebra.leftfetchjoinPath(X_247,X_5,X_59);
     X_61:bat[:oid,:oid]  := sql.tid(X_4,"sys","supplier");
     (X_63,r1_69) := algebra.join(X_60,X_61);
-    X_246 := algebra.leftfetchjoin(r1_69,X_61);
+    X_248 := algebra.leftfetchjoin(r1_69,X_61);
     X_65 := 
sql.bind_idxbat(X_4,"sys","supplier","supplier_s_nationkey_fkey",0);
     (X_68,r1_74) := 
sql.bind_idxbat(X_4,"sys","supplier","supplier_s_nationkey_fkey",2);
     X_70 := 
sql.bind_idxbat(X_4,"sys","supplier","supplier_s_nationkey_fkey",1);
     X_71 := sql.delta(X_65,X_68,r1_74,X_70);
-    X_72:bat[:oid,:oid]  := algebra.leftfetchjoin(X_246,X_71);
+    X_72:bat[:oid,:oid]  := algebra.leftfetchjoin(X_248,X_71);
     X_73:bat[:oid,:oid]  := sql.tid(X_4,"sys","nation");
     X_75 := sql.bind(X_4,"sys","nation","n_name",0);
     (X_78,r1_85) := sql.bind(X_4,"sys","nation","n_name",2);
@@ -114,19 +114,19 @@ function user.s2_1{autoCommit=true}(A0:s
     X_85 := algebra.subselect(X_84,A1,A1,true,true,false);
     X_88 := algebra.leftfetchjoin(X_85,X_73);
     (X_89,r1_97) := algebra.join(X_72,X_88);
-    X_247 := algebra.leftfetchjoin(X_89,r1_69);
+    X_249 := algebra.leftfetchjoin(X_89,r1_69);
     X_91 := sql.bind(X_4,"sys","supplier","s_suppkey",0);
     (X_93,r1_101) := sql.bind(X_4,"sys","supplier","s_suppkey",2);
     X_96 := sql.bind(X_4,"sys","supplier","s_suppkey",1);
     X_98 := sql.delta(X_91,X_93,r1_101,X_96);
-    X_99:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_247,X_61,X_98);
+    X_99:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_249,X_61,X_98);
     X_100 := bat.mirror(X_99);
-    X_248 := algebra.leftfetchjoin(X_89,X_63);
+    X_250 := algebra.leftfetchjoin(X_89,X_63);
     X_101 := sql.bind(X_4,"sys","lineitem","l_orderkey",0);
     (X_104,r1_114) := sql.bind(X_4,"sys","lineitem","l_orderkey",2);
     X_106 := sql.bind(X_4,"sys","lineitem","l_orderkey",1);
     X_107 := sql.delta(X_101,X_104,r1_114,X_106);
-    X_108:bat[:oid,:int]  := 
algebra.leftfetchjoinPath(X_248,X_51,X_26,X_5,X_107);
+    X_108:bat[:oid,:int]  := 
algebra.leftfetchjoinPath(X_250,X_51,X_26,X_5,X_107);
     X_109:bat[:oid,:oid]  := sql.tid(X_4,"sys","lineitem");
     X_113 := algebra.leftfetchjoin(X_109,X_107);
     (X_114,r1_133) := algebra.join(X_108,X_113);
@@ -136,7 +136,7 @@ function user.s2_1{autoCommit=true}(A0:s
     X_122 := sql.delta(X_116,X_118,r1_137,X_121);
     X_123 := algebra.leftfetchjoin(X_109,X_122);
     X_124 := algebra.leftfetchjoin(r1_133,X_123);
-    X_126:bat[:oid,:int]  := 
algebra.leftfetchjoinPath(X_248,X_51,X_26,X_5,X_122);
+    X_126:bat[:oid,:int]  := 
algebra.leftfetchjoinPath(X_250,X_51,X_26,X_5,X_122);
     X_127 := algebra.leftfetchjoin(X_114,X_126);
     X_128:bat[:oid,:bit]  := batcalc.!=(X_124,X_127);
     X_129 := algebra.subselect(X_128,true,true,true,true,false);
@@ -165,29 +165,30 @@ function user.s2_1{autoCommit=true}(A0:s
     X_164 := algebra.subselect(X_163,true,true,true,true,false);
     X_167 := algebra.leftfetchjoin(X_164,X_159);
     X_168 := algebra.tdiff(X_135,X_167);
-    X_249 := algebra.leftfetchjoin(X_133,X_89);
+    X_251 := algebra.leftfetchjoin(X_133,X_89);
     X_169 := sql.bind(X_4,"sys","supplier","s_name",0);
     (X_174,r1_224) := sql.bind(X_4,"sys","supplier","s_name",2);
     X_177 := sql.bind(X_4,"sys","supplier","s_name",1);
     X_179 := sql.delta(X_169,X_174,r1_224,X_177);
-    X_180:bat[:oid,:str]  := 
algebra.leftfetchjoinPath(X_168,X_249,r1_69,X_61,X_179);
+    X_180:bat[:oid,:str]  := 
algebra.leftfetchjoinPath(X_168,X_251,r1_69,X_61,X_179);
     (X_181,r1_235,r2_235) := group.subgroupdone(X_180);
     X_184:bat[:oid,:wrd]  := aggr.subcount(X_181,X_181,r1_235,false);
     X_188 := algebra.leftfetchjoin(r1_235,X_180);
     X_186 := pqueue.utopn_min(X_184,100:wrd);
     X_187 := bat.mirror(X_186);
-    X_189 := algebra.leftfetchjoin(X_187,X_188);
+    X_189 := algebra.leftjoin(X_187,X_188);
     X_190 := pqueue.topn_max(X_186,X_189,100:wrd);
-    X_191 := algebra.subslice(X_190,0:wrd,99:wrd);
-    X_192 := algebra.leftfetchjoin(X_191,X_188);
-    X_193 := algebra.subslice(X_192,0:wrd,99:wrd);
-    X_194 := algebra.leftfetchjoin(X_193,X_192);
-    X_195:bat[:oid,:wrd]  := algebra.leftfetchjoinPath(X_193,X_191,X_184);
-    X_196 := sql.resultSet(2,1,X_194);
-    sql.rsColumn(X_196,"sys.supplier","s_name","varchar",25,0,X_194);
-    sql.rsColumn(X_196,"sys.L1","numwait","wrd",32,0,X_195);
-    X_210 := io.stdout();
-    sql.exportResult(X_210,X_196);
+    X_192 := algebra.markT(X_190,0@0);
+    X_193 := bat.reverse(X_192);
+    X_194 := algebra.leftfetchjoin(X_193,X_188);
+    X_195 := algebra.subslice(X_194,0:wrd,99:wrd);
+    X_196 := algebra.leftfetchjoin(X_195,X_194);
+    X_197:bat[:oid,:wrd]  := algebra.leftfetchjoinPath(X_195,X_193,X_184);
+    X_198 := sql.resultSet(2,1,X_196);
+    sql.rsColumn(X_198,"sys.supplier","s_name","varchar",25,0,X_196);
+    sql.rsColumn(X_198,"sys.L1","numwait","wrd",32,0,X_197);
+    X_212 := io.stdout();
+    sql.exportResult(X_212,X_198);
 end s2_1;
 # querylog.define("explain select\n\ts_name,\n\tcount(*) as 
numwait\nfrom\n\tsupplier,\n\tlineitem 
l1,\n\torders,\n\tnation\nwhere\n\ts_suppkey = l1.l_suppkey\n\tand o_orderkey = 
l1.l_orderkey\n\tand o_orderstatus = \\'F\\'\n\tand l1.l_receiptdate > 
l1.l_commitdate\n\tand exists (\n\t\tselect\n\t\t\t*\n\t\tfrom\n\t\t\tlineitem 
l2\n\t\twhere\n\t\t\tl2.l_orderkey = l1.l_orderkey\n\t\t\tand l2.l_suppkey <> 
l1.l_suppkey\n\t)\n\tand not exists 
(\n\t\tselect\n\t\t\t*\n\t\tfrom\n\t\t\tlineitem 
l3\n\t\twhere\n\t\t\tl3.l_orderkey = l1.l_orderkey\n\t\t\tand l3.l_suppkey <> 
l1.l_suppkey\n\t\t\tand l3.l_receiptdate > l3.l_commitdate\n\t)\n\tand 
s_nationkey = n_nationkey\n\tand n_name = \\'SAUDI ARABIA\\'\ngroup 
by\n\ts_name\norder by\n\tnumwait desc,\n\ts_name\nlimit 
100;","sequential_pipe")
 
diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c
--- a/sql/server/rel_optimizer.c
+++ b/sql/server/rel_optimizer.c
@@ -1443,7 +1443,7 @@ rel_push_func_down(int *changes, mvc *sq
                                                                append(r->exps, 
ne);
                                                        else
                                                                append(l->exps, 
ne);
-                                                       ne = 
exp_column(sql->sa, NULL, exp_name(ne), exp_subtype(ne), ne->card, has_nil(ne), 
is_intern(ne));
+                                                       ne = 
exp_column(sql->sa, exp_relname(ne), exp_name(ne), exp_subtype(ne), ne->card, 
has_nil(ne), is_intern(ne));
                                                        (*changes)++;
                                                }
                                                e->l = ne;
@@ -1457,7 +1457,7 @@ rel_push_func_down(int *changes, mvc *sq
                                                                append(r->exps, 
ne);
                                                        else
                                                                append(l->exps, 
ne);
-                                                       ne = 
exp_column(sql->sa, NULL, exp_name(ne), exp_subtype(ne), ne->card, has_nil(ne), 
is_intern(ne));
+                                                       ne = 
exp_column(sql->sa, exp_relname(ne), exp_name(ne), exp_subtype(ne), ne->card, 
has_nil(ne), is_intern(ne));
                                                        (*changes)++;
                                                }
                                                e->r = ne;
@@ -1472,7 +1472,7 @@ rel_push_func_down(int *changes, mvc *sq
                                                                        
append(r->exps, ne);
                                                                else
                                                                        
append(l->exps, ne);
-                                                               ne = 
exp_column(sql->sa, NULL, exp_name(ne), exp_subtype(ne), ne->card, has_nil(ne), 
is_intern(ne));
+                                                               ne = 
exp_column(sql->sa, exp_relname(ne), exp_name(ne), exp_subtype(ne), ne->card, 
has_nil(ne), is_intern(ne));
                                                                (*changes)++;
                                                        }
                                                        e->f = ne;
diff --git a/sql/test/BugTracker-2013/Tests/All 
b/sql/test/BugTracker-2013/Tests/All
--- a/sql/test/BugTracker-2013/Tests/All
+++ b/sql/test/BugTracker-2013/Tests/All
@@ -48,3 +48,4 @@ binary_copy_into.Bug-3345
 copy-into-compressed.Bug-3351
 median.Bug-3352
 check-constraint.Bug-3335
+crash_after_creation_of_unique_key.Bug-3363
diff --git a/sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out 
b/sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out
--- a/sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out
+++ b/sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out
@@ -46,29 +46,39 @@ Ready.
 % clob # type
 % 173 # length
 function user.s2_1():void;
-barrier X_46 := language.dataflow();
+barrier X_58 := language.dataflow();
     X_1 := sql.mvc();
     X_2:bat[:oid,:oid]  := sql.tid(X_1,"sys","treeitems");
-    X_5 := sql.bind(X_1,"sys","treeitems","pre",0);
+    X_5 := sql.bind(X_1,"sys","treeitems","subject",0);
     X_8 := algebra.leftfetchjoin(X_2,X_5);
-    X_9 := sql.bind(X_1,"sys","treeitems","size",0);
-    X_11 := algebra.leftfetchjoin(X_2,X_9);
-    X_12:bat[:oid,:lng]  := batcalc.+(X_8,X_11);
-    (X_13,r1_18) := algebra.join(X_8,X_8,X_12,true,true);
-    X_16 := sql.bind(X_1,"sys","treeitems","subject",0);
+    (X_9,r1_12) := algebra.crossproduct(X_8,X_8);
+    X_11 := sql.bind(X_1,"sys","treeitems","pre",0);
+    X_13 := algebra.leftfetchjoin(X_2,X_11);
+    X_14 := algebra.leftfetchjoin(r1_12,X_13);
+    X_15 := algebra.leftfetchjoin(X_9,X_13);
+    X_25:bat[:oid,:bit]  := batcalc.>=(X_14,X_15);
+    X_16 := sql.bind(X_1,"sys","treeitems","size",0);
     X_18 := algebra.leftfetchjoin(X_2,X_16);
-    X_19 := algebra.leftfetchjoin(r1_18,X_18);
-    X_20 := algebra.leftfetchjoin(X_13,X_18);
+    X_19:bat[:oid,:lng]  := batcalc.+(X_13,X_18);
+    X_20 := algebra.leftfetchjoin(X_9,X_19);
+    X_21:bat[:oid,:bit]  := batcalc.<=(X_14,X_20);
+    X_22 := algebra.subselect(X_21,true,true,true,true,false);
+    X_26 := algebra.subselect(X_25,X_22,true,true,true,true,false);
+    X_27:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_26,X_9,X_8);
+    X_28:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_26,r1_12,X_8);
+    language.pass(X_2);
+    language.pass(X_13);
+    language.pass(X_14);
+    language.pass(X_9);
+    language.pass(X_26);
+    language.pass(r1_12);
     language.pass(X_8);
-    language.pass(X_8);
-    language.pass(X_2);
-    language.pass(X_18);
-exit X_46;
-    X_21 := sql.resultSet(2,1,X_19);
-    sql.rsColumn(X_21,"sys.L","id1","int",32,0,X_19);
-    sql.rsColumn(X_21,"sys.L","id2","int",32,0,X_20);
-    X_31 := io.stdout();
-    sql.exportResult(X_31,X_21);
+exit X_58;
+    X_29 := sql.resultSet(2,1,X_27);
+    sql.rsColumn(X_29,"sys.L","id1","int",32,0,X_27);
+    sql.rsColumn(X_29,"sys.L","id2","int",32,0,X_28);
+    X_40 := io.stdout();
+    sql.exportResult(X_40,X_29);
 end s2_1;
 # querylog.define("explain\nselect t1.subject as id1, t2.subject as id2\nfrom  
treeitems t1, treeitems t2\nwhere t2.pre between t1.pre and t1.pre + 
t1.size;","default_pipe")
 #ROLLBACK;
diff --git a/sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.single 
b/sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.single
--- a/sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.single
+++ b/sql/test/BugTracker-2013/Tests/between.Bug-3259.stable.out.single
@@ -48,21 +48,28 @@ Ready.
 function user.s2_1():void;
     X_1 := sql.mvc();
     X_2:bat[:oid,:oid]  := sql.tid(X_1,"sys","treeitems");
-    X_5 := sql.bind(X_1,"sys","treeitems","pre",0);
+    X_5 := sql.bind(X_1,"sys","treeitems","subject",0);
     X_8 := algebra.leftfetchjoin(X_2,X_5);
-    X_9 := sql.bind(X_1,"sys","treeitems","size",0);
-    X_11 := algebra.leftfetchjoin(X_2,X_9);
-    X_12:bat[:oid,:lng]  := batcalc.+(X_8,X_11);
-    (X_13,r1_41) := algebra.join(X_8,X_8,X_12,true,true);
-    X_16 := sql.bind(X_1,"sys","treeitems","subject",0);
-    X_21 := algebra.leftfetchjoin(X_2,X_16);
-    X_22 := algebra.leftfetchjoin(r1_41,X_21);
-    X_24 := algebra.leftfetchjoin(X_13,X_21);
-    X_26 := sql.resultSet(2,1,X_22);
-    sql.rsColumn(X_26,"sys.L","id1","int",32,0,X_22);
-    sql.rsColumn(X_26,"sys.L","id2","int",32,0,X_24);
-    X_35 := io.stdout();
-    sql.exportResult(X_35,X_26);
+    (X_9,r1_12) := algebra.crossproduct(X_8,X_8);
+    X_11 := sql.bind(X_1,"sys","treeitems","pre",0);
+    X_13 := algebra.leftfetchjoin(X_2,X_11);
+    X_14 := algebra.leftfetchjoin(r1_12,X_13);
+    X_15 := algebra.leftfetchjoin(X_9,X_13);
+    X_25:bat[:oid,:bit]  := batcalc.>=(X_14,X_15);
+    X_16 := sql.bind(X_1,"sys","treeitems","size",0);
+    X_18 := algebra.leftfetchjoin(X_2,X_16);
+    X_19:bat[:oid,:lng]  := batcalc.+(X_13,X_18);
+    X_20 := algebra.leftfetchjoin(X_9,X_19);
+    X_21:bat[:oid,:bit]  := batcalc.<=(X_14,X_20);
+    X_22 := algebra.subselect(X_21,true,true,true,true,false);
+    X_26 := algebra.subselect(X_25,X_22,true,true,true,true,false);
+    X_27:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_26,X_9,X_8);
+    X_28:bat[:oid,:int]  := algebra.leftfetchjoinPath(X_26,r1_12,X_8);
+    X_29 := sql.resultSet(2,1,X_27);
+    sql.rsColumn(X_29,"sys.L","id1","int",32,0,X_27);
+    sql.rsColumn(X_29,"sys.L","id2","int",32,0,X_28);
+    X_40 := io.stdout();
+    sql.exportResult(X_40,X_29);
 end s2_1;
 # querylog.define("explain\nselect t1.subject as id1, t2.subject as id2\nfrom  
treeitems t1, treeitems t2\nwhere t2.pre between t1.pre and t1.pre + 
t1.size;","default_pipe")
 #ROLLBACK;
diff --git 
a/sql/test/BugTracker-2013/Tests/crash_after_creation_of_unique_key.Bug-3363.sql
 
b/sql/test/BugTracker-2013/Tests/crash_after_creation_of_unique_key.Bug-3363.sql
new file mode 100644
--- /dev/null
+++ 
b/sql/test/BugTracker-2013/Tests/crash_after_creation_of_unique_key.Bug-3363.sql
@@ -0,0 +1,19 @@
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to