Changeset: 1065fb37f75b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1065fb37f75b
Modified Files:
sql/backends/monet5/rel_bin.c
sql/backends/monet5/sql.c
sql/backends/monet5/sql.h
sql/backends/monet5/sql_statement.c
sql/backends/monet5/sql_upgrades.c
sql/include/sql_list.h
sql/server/rel_optimizer.c
sql/server/rel_schema.c
sql/server/rel_select.c
sql/server/rel_updates.c
sql/storage/bat/bat_storage.c
sql/storage/sql_storage.h
sql/storage/store.c
Branch: nospare
Log Message:
mergeddddddd with default (ie copybinary and sqlancer fixes)
diffs (truncated from 13866 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
@@ -621,8 +621,8 @@ stdout of test 'MAL-signatures` in direc
[ "algebra", "ilike", "command algebra.ilike(X_1:str, X_2:str,
X_3:str):bit ", "PCREilike3;", "" ]
[ "algebra", "ilikejoin", "command algebra.ilikejoin(X_1:bat[:str],
X_2:bat[:str], X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng,
X_7:bit):bat[:oid] ", "ILIKEjoin1;", "" ]
[ "algebra", "ilikejoin", "command algebra.ilikejoin(X_2:bat[:str],
X_3:bat[:str], X_4:bat[:oid], X_5:bat[:oid], X_6:bit, X_7:lng, X_8:bit)
(X_0:bat[:oid], X_1:bat[:oid]) ", "ILIKEjoin;", "" ]
-[ "algebra", "ilikejoin", "command algebra.ilikejoin(X_1:bat[:str],
X_2:bat[:str], X_3:str, X_4:bat[:oid], X_5:bat[:oid], X_6:bit, X_7:lng,
X_8:bit):bat[:oid] ", "ILIKEjoin_esc1;", "" ]
-[ "algebra", "ilikejoin", "command algebra.ilikejoin(X_2:bat[:str],
X_3:bat[:str], X_4:str, X_5:bat[:oid], X_6:bat[:oid], X_7:bit, X_8:lng,
X_9:bit) (X_0:bat[:oid], X_1:bat[:oid]) ", "ILIKEjoin_esc;", "" ]
+[ "algebra", "ilikejoin", "command algebra.ilikejoin(X_1:bat[:str],
X_2:bat[:str], X_3:bat[:str], X_4:bat[:oid], X_5:bat[:oid], X_6:bit, X_7:lng,
X_8:bit):bat[:oid] ", "ILIKEjoin_esc1;", "" ]
+[ "algebra", "ilikejoin", "command algebra.ilikejoin(X_2:bat[:str],
X_3:bat[:str], X_4:bat[:str], X_5:bat[:oid], X_6:bat[:oid], X_7:bit, X_8:lng,
X_9:bit) (X_0:bat[:oid], X_1:bat[:oid]) ", "ILIKEjoin_esc;", ""
]
[ "algebra", "ilikeselect", "command algebra.ilikeselect(X_1:bat[:str],
X_2:bat[:oid], X_3:str, X_4:str, X_5:bit):bat[:oid] ", "PCRElikeselect1;",
"" ]
[ "algebra", "ilikeselect", "command algebra.ilikeselect(X_1:bat[:str],
X_2:bat[:oid], X_3:str, X_4:bit):bat[:oid] ", "PCRElikeselect4;", ""
]
[ "algebra", "intersect", "command algebra.intersect(X_1:bat[:any_1],
X_2:bat[:any_1], X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:bit,
X_7:lng):bat[:oid] ", "ALGintersect;", "" ]
@@ -634,8 +634,8 @@ stdout of test 'MAL-signatures` in direc
[ "algebra", "like", "command algebra.like(X_1:str, X_2:str, X_3:str):bit ",
"PCRElike3;", "" ]
[ "algebra", "likejoin", "command algebra.likejoin(X_1:bat[:str],
X_2:bat[:str], X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng,
X_7:bit):bat[:oid] ", "LIKEjoin1;", "" ]
[ "algebra", "likejoin", "command algebra.likejoin(X_2:bat[:str],
X_3:bat[:str], X_4:bat[:oid], X_5:bat[:oid], X_6:bit, X_7:lng, X_8:bit)
(X_0:bat[:oid], X_1:bat[:oid]) ", "LIKEjoin;", "" ]
-[ "algebra", "likejoin", "command algebra.likejoin(X_1:bat[:str],
X_2:bat[:str], X_3:str, X_4:bat[:oid], X_5:bat[:oid], X_6:bit, X_7:lng,
X_8:bit):bat[:oid] ", "LIKEjoin_esc1;", "" ]
-[ "algebra", "likejoin", "command algebra.likejoin(X_2:bat[:str],
X_3:bat[:str], X_4:str, X_5:bat[:oid], X_6:bat[:oid], X_7:bit, X_8:lng,
X_9:bit) (X_0:bat[:oid], X_1:bat[:oid]) ", "LIKEjoin_esc;", "" ]
+[ "algebra", "likejoin", "command algebra.likejoin(X_1:bat[:str],
X_2:bat[:str], X_3:bat[:str], X_4:bat[:oid], X_5:bat[:oid], X_6:bit, X_7:lng,
X_8:bit):bat[:oid] ", "LIKEjoin_esc1;", "" ]
+[ "algebra", "likejoin", "command algebra.likejoin(X_2:bat[:str],
X_3:bat[:str], X_4:bat[:str], X_5:bat[:oid], X_6:bat[:oid], X_7:bit, X_8:lng,
X_9:bit) (X_0:bat[:oid], X_1:bat[:oid]) ", "LIKEjoin_esc;", ""
]
[ "algebra", "likeselect", "command algebra.likeselect(X_1:bat[:str],
X_2:bat[:oid], X_3:str, X_4:str, X_5:bit, X_6:bit):bat[:oid] ",
"PCRElikeselect2;", "" ]
[ "algebra", "likeselect", "command algebra.likeselect(X_1:bat[:str],
X_2:bat[:oid], X_3:str, X_4:str, X_5:bit):bat[:oid] ",
"PCRElikeselect3;", "" ]
[ "algebra", "likeselect", "command algebra.likeselect(X_1:bat[:str],
X_2:bat[:oid], X_3:str, X_4:bit):bat[:oid] ", "PCRElikeselect5;", ""
]
@@ -9111,6 +9111,8 @@ stdout of test 'MAL-signatures` in direc
[ "oltp", "table", "unsafe pattern oltp.table()
(X_0:bat[:timestamp], X_1:bat[:str], X_2:bat[:int], X_3:bat[:int]) ",
"OLTPtable;", "" ]
[ "optimizer", "aliases", "pattern optimizer.aliases():str ",
"OPTwrapper;", "" ]
[ "optimizer", "aliases", "pattern optimizer.aliases(X_1:str,
X_2:str):str ", "OPTwrapper;", "" ]
+[ "optimizer", "bincopyfrom", "pattern optimizer.bincopyfrom():str ",
"OPTwrapper;", "" ]
+[ "optimizer", "bincopyfrom", "pattern optimizer.bincopyfrom(X_1:str,
X_2:str):str ", "OPTwrapper;", "" ]
[ "optimizer", "candidates", "pattern optimizer.candidates():str ",
"OPTwrapper;", "" ]
[ "optimizer", "candidates", "pattern optimizer.candidates(X_1:str,
X_2:str):str ", "OPTwrapper;", "" ]
[ "optimizer", "coercions", "pattern optimizer.coercions():str ",
"OPTwrapper;", "" ]
@@ -9150,8 +9152,8 @@ stdout of test 'MAL-signatures` in direc
[ "optimizer", "minimal_pipe", "function optimizer.minimal_pipe():void;",
"", "" ]
[ "optimizer", "mitosis", "pattern optimizer.mitosis():str ",
"OPTwrapper;", "" ]
[ "optimizer", "mitosis", "pattern optimizer.mitosis(X_1:str,
X_2:str):str ", "OPTwrapper;", "" ]
-[ "optimizer", "multiplex", "pattern optimizer.multiplex():void ",
"OPTwrapper;", "" ]
-[ "optimizer", "multiplex", "pattern optimizer.multiplex(X_1:str,
X_2:str):void ", "OPTwrapper;", "" ]
+[ "optimizer", "multiplex", "pattern optimizer.multiplex():str ",
"OPTwrapper;", "" ]
+[ "optimizer", "multiplex", "pattern optimizer.multiplex(X_1:str,
X_2:str):str ", "OPTwrapper;", "" ]
[ "optimizer", "no_mitosis_pipe", "function
optimizer.no_mitosis_pipe():void;", "", "" ]
[ "optimizer", "oltp", "pattern optimizer.oltp():str ", "OPTwrapper;",
"" ]
[ "optimizer", "oltp", "pattern optimizer.oltp(X_1:str, X_2:str):str ",
"OPTwrapper;", "" ]
@@ -9159,6 +9161,8 @@ stdout of test 'MAL-signatures` in direc
[ "optimizer", "optimize", "pattern optimizer.optimize(X_1:str,
X_2:str):void ", "QOToptimize;", "" ]
[ "optimizer", "orcam", "pattern optimizer.orcam(X_1:str, X_2:str):void
", "OPTorcam;", "" ]
[ "optimizer", "orcam", "pattern optimizer.orcam(X_1:str, X_2:str,
X_3:str, X_4:str):void ", "OPTorcam;", "" ]
+[ "optimizer", "parappend", "pattern optimizer.parappend():str ",
"OPTwrapper;", "" ]
+[ "optimizer", "parappend", "pattern optimizer.parappend(X_1:str,
X_2:str):str ", "OPTwrapper;", "" ]
[ "optimizer", "postfix", "pattern optimizer.postfix():str ",
"OPTwrapper;", "" ]
[ "optimizer", "postfix", "pattern optimizer.postfix(X_1:str,
X_2:str):str ", "OPTwrapper;", "" ]
[ "optimizer", "prelude", "pattern optimizer.prelude():void ",
"optimizer_prelude;", "" ]
@@ -9277,6 +9281,9 @@ stdout of test 'MAL-signatures` in direc
[ "sql", "analyze", "unsafe pattern sql.analyze(X_1:int, X_2:lng,
X_3:str, X_4:str, X_5:str):void ", "sql_analyze;", "" ]
[ "sql", "any", "pattern sql.any(X_1:bit, X_2:bit, X_3:bit):bit ",
"SQLany_cmp;", "" ]
[ "sql", "append", "pattern sql.append(X_1:int, X_2:str, X_3:str,
X_4:str, X_5:any):int ", "mvc_append_wrap;", "" ]
+[ "sql", "append_exec", "pattern sql.append_exec(X_1:ptr,
X_2:any_1):ptr ", "mvc_append_exec_wrap;", "" ]
+[ "sql", "append_finish", "pattern sql.append_finish(X_1:int,
X_2:ptr...):int ", "mvc_append_finish_wrap;", "" ]
+[ "sql", "append_prep", "pattern sql.append_prep(X_2:int, X_3:str,
X_4:str, X_5:str...) (X_0:int, X_1:ptr...) ", "mvc_append_prep_wrap;",
"" ]
[ "sql", "argRecord", "pattern sql.argRecord():str ",
"SQLargRecord;", "" ]
[ "sql", "argRecord", "pattern sql.argRecord(X_1:any...):str ",
"SQLargRecord;", "" ]
[ "sql", "assert", "pattern sql.assert(X_1:bit, X_2:str):void ",
"SQLassert;", "" ]
@@ -9372,7 +9379,8 @@ stdout of test 'MAL-signatures` in direc
[ "sql", "grow", "pattern sql.grow(X_1:bat[:oid], X_2:any_1):int ",
"mvc_grow_wrap;", "" ]
[ "sql", "hot_snapshot", "unsafe command sql.hot_snapshot(X_1:str):void
", "SQLhot_snapshot;", "" ]
[ "sql", "hot_snapshot", "unsafe pattern sql.hot_snapshot(X_1:str,
X_2:bit):void ", "SQLhot_snapshot_wrap;", "" ]
-[ "sql", "importTable", "unsafe pattern sql.importTable(X_1:str,
X_2:str, X_3:int, X_4:str...):bat[:any]... ", "mvc_bin_import_table_wrap;",
"" ]
+[ "sql", "importColumn", "pattern sql.importColumn(X_2:str, X_3:bit,
X_4:str, X_5:int, X_6:oid) (X_0:bat[:any], X_1:oid) ",
"mvc_bin_import_column_wrap;", "" ]
+[ "sql", "importTable", "unsafe pattern sql.importTable(X_1:str,
X_2:str, X_3:int, X_4:bit, X_5:str...):bat[:any]... ",
"mvc_bin_import_table_wrap;", "" ]
[ "sql", "include", "pattern sql.include(X_1:str):void ",
"SQLinclude;", "" ]
[ "sql", "index", "command sql.index(X_1:str, X_2:bit):bte ",
"STRindex_bte;", "" ]
[ "sql", "index", "command sql.index(X_1:str, X_2:bit):int ",
"STRindex_int;", "" ]
@@ -9477,6 +9485,8 @@ stdout of test 'MAL-signatures` in direc
[ "sql", "transaction_rollback", "unsafe pattern
sql.transaction_rollback(X_1:int, X_2:str):void ",
"SQLtransaction_rollback;", "" ]
[ "sql", "unionfunc", "pattern sql.unionfunc(X_1:str, X_2:str,
X_3:any...):any... ", "SQLunionfunc;", "" ]
[ "sql", "update", "pattern sql.update(X_1:int, X_2:str, X_3:str,
X_4:str, X_5:any, X_6:any):int ", "mvc_update_wrap;", "" ]
+[ "sql", "update_exec", "pattern sql.update_exec(X_1:ptr,
X_2:bat[:oid], X_3:bat[:any_1]):ptr ", "mvc_update_exec_wrap;",
"" ]
+[ "sql", "update_prep", "pattern sql.update_prep(X_2:int, X_3:str,
X_4:str, X_5:str...) (X_0:int, X_1:ptr...) ", "mvc_update_prep_wrap;",
"" ]
[ "sql", "update_schemas", "unsafe pattern
sql.update_schemas():void ", "SYSupdate_schemas;", "" ]
[ "sql", "update_tables", "unsafe pattern
sql.update_tables():void ", "SYSupdate_tables;", "" ]
[ "sql", "vacuum", "unsafe pattern sql.vacuum(X_1:str,
X_2:str):void ", "SQLvacuum;", "" ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -734,8 +734,8 @@ stdout of test 'MAL-signatures` in direc
[ "algebra", "ilike", "command algebra.ilike(X_1:str, X_2:str,
X_3:str):bit ", "PCREilike3;", "" ]
[ "algebra", "ilikejoin", "command algebra.ilikejoin(X_1:bat[:str],
X_2:bat[:str], X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng,
X_7:bit):bat[:oid] ", "ILIKEjoin1;", "" ]
[ "algebra", "ilikejoin", "command algebra.ilikejoin(X_2:bat[:str],
X_3:bat[:str], X_4:bat[:oid], X_5:bat[:oid], X_6:bit, X_7:lng, X_8:bit)
(X_0:bat[:oid], X_1:bat[:oid]) ", "ILIKEjoin;", "" ]
-[ "algebra", "ilikejoin", "command algebra.ilikejoin(X_1:bat[:str],
X_2:bat[:str], X_3:str, X_4:bat[:oid], X_5:bat[:oid], X_6:bit, X_7:lng,
X_8:bit):bat[:oid] ", "ILIKEjoin_esc1;", "" ]
-[ "algebra", "ilikejoin", "command algebra.ilikejoin(X_2:bat[:str],
X_3:bat[:str], X_4:str, X_5:bat[:oid], X_6:bat[:oid], X_7:bit, X_8:lng,
X_9:bit) (X_0:bat[:oid], X_1:bat[:oid]) ", "ILIKEjoin_esc;", "" ]
+[ "algebra", "ilikejoin", "command algebra.ilikejoin(X_1:bat[:str],
X_2:bat[:str], X_3:bat[:str], X_4:bat[:oid], X_5:bat[:oid], X_6:bit, X_7:lng,
X_8:bit):bat[:oid] ", "ILIKEjoin_esc1;", "" ]
+[ "algebra", "ilikejoin", "command algebra.ilikejoin(X_2:bat[:str],
X_3:bat[:str], X_4:bat[:str], X_5:bat[:oid], X_6:bat[:oid], X_7:bit, X_8:lng,
X_9:bit) (X_0:bat[:oid], X_1:bat[:oid]) ", "ILIKEjoin_esc;", ""
]
[ "algebra", "ilikeselect", "command algebra.ilikeselect(X_1:bat[:str],
X_2:bat[:oid], X_3:str, X_4:str, X_5:bit):bat[:oid] ", "PCRElikeselect1;",
"" ]
[ "algebra", "ilikeselect", "command algebra.ilikeselect(X_1:bat[:str],
X_2:bat[:oid], X_3:str, X_4:bit):bat[:oid] ", "PCRElikeselect4;", ""
]
[ "algebra", "intersect", "command algebra.intersect(X_1:bat[:any_1],
X_2:bat[:any_1], X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:bit,
X_7:lng):bat[:oid] ", "ALGintersect;", "" ]
@@ -747,8 +747,8 @@ stdout of test 'MAL-signatures` in direc
[ "algebra", "like", "command algebra.like(X_1:str, X_2:str, X_3:str):bit ",
"PCRElike3;", "" ]
[ "algebra", "likejoin", "command algebra.likejoin(X_1:bat[:str],
X_2:bat[:str], X_3:bat[:oid], X_4:bat[:oid], X_5:bit, X_6:lng,
X_7:bit):bat[:oid] ", "LIKEjoin1;", "" ]
[ "algebra", "likejoin", "command algebra.likejoin(X_2:bat[:str],
X_3:bat[:str], X_4:bat[:oid], X_5:bat[:oid], X_6:bit, X_7:lng, X_8:bit)
(X_0:bat[:oid], X_1:bat[:oid]) ", "LIKEjoin;", "" ]
-[ "algebra", "likejoin", "command algebra.likejoin(X_1:bat[:str],
X_2:bat[:str], X_3:str, X_4:bat[:oid], X_5:bat[:oid], X_6:bit, X_7:lng,
X_8:bit):bat[:oid] ", "LIKEjoin_esc1;", "" ]
-[ "algebra", "likejoin", "command algebra.likejoin(X_2:bat[:str],
X_3:bat[:str], X_4:str, X_5:bat[:oid], X_6:bat[:oid], X_7:bit, X_8:lng,
X_9:bit) (X_0:bat[:oid], X_1:bat[:oid]) ", "LIKEjoin_esc;", "" ]
+[ "algebra", "likejoin", "command algebra.likejoin(X_1:bat[:str],
X_2:bat[:str], X_3:bat[:str], X_4:bat[:oid], X_5:bat[:oid], X_6:bit, X_7:lng,
X_8:bit):bat[:oid] ", "LIKEjoin_esc1;", "" ]
+[ "algebra", "likejoin", "command algebra.likejoin(X_2:bat[:str],
X_3:bat[:str], X_4:bat[:str], X_5:bat[:oid], X_6:bat[:oid], X_7:bit, X_8:lng,
X_9:bit) (X_0:bat[:oid], X_1:bat[:oid]) ", "LIKEjoin_esc;", ""
]
[ "algebra", "likeselect", "command algebra.likeselect(X_1:bat[:str],
X_2:bat[:oid], X_3:str, X_4:str, X_5:bit, X_6:bit):bat[:oid] ",
"PCRElikeselect2;", "" ]
[ "algebra", "likeselect", "command algebra.likeselect(X_1:bat[:str],
X_2:bat[:oid], X_3:str, X_4:str, X_5:bit):bat[:oid] ",
"PCRElikeselect3;", "" ]
[ "algebra", "likeselect", "command algebra.likeselect(X_1:bat[:str],
X_2:bat[:oid], X_3:str, X_4:bit):bat[:oid] ", "PCRElikeselect5;", ""
]
@@ -12413,6 +12413,8 @@ stdout of test 'MAL-signatures` in direc
[ "oltp", "table", "unsafe pattern oltp.table()
(X_0:bat[:timestamp], X_1:bat[:str], X_2:bat[:int], X_3:bat[:int]) ",
"OLTPtable;", "" ]
[ "optimizer", "aliases", "pattern optimizer.aliases():str ",
"OPTwrapper;", "" ]
[ "optimizer", "aliases", "pattern optimizer.aliases(X_1:str,
X_2:str):str ", "OPTwrapper;", "" ]
+[ "optimizer", "bincopyfrom", "pattern optimizer.bincopyfrom():str ",
"OPTwrapper;", "" ]
+[ "optimizer", "bincopyfrom", "pattern optimizer.bincopyfrom(X_1:str,
X_2:str):str ", "OPTwrapper;", "" ]
[ "optimizer", "candidates", "pattern optimizer.candidates():str ",
"OPTwrapper;", "" ]
[ "optimizer", "candidates", "pattern optimizer.candidates(X_1:str,
X_2:str):str ", "OPTwrapper;", "" ]
[ "optimizer", "coercions", "pattern optimizer.coercions():str ",
"OPTwrapper;", "" ]
@@ -12452,8 +12454,8 @@ stdout of test 'MAL-signatures` in direc
[ "optimizer", "minimal_pipe", "function optimizer.minimal_pipe():void;",
"", "" ]
[ "optimizer", "mitosis", "pattern optimizer.mitosis():str ",
"OPTwrapper;", "" ]
[ "optimizer", "mitosis", "pattern optimizer.mitosis(X_1:str,
X_2:str):str ", "OPTwrapper;", "" ]
-[ "optimizer", "multiplex", "pattern optimizer.multiplex():void ",
"OPTwrapper;", "" ]
-[ "optimizer", "multiplex", "pattern optimizer.multiplex(X_1:str,
X_2:str):void ", "OPTwrapper;", "" ]
+[ "optimizer", "multiplex", "pattern optimizer.multiplex():str ",
"OPTwrapper;", "" ]
+[ "optimizer", "multiplex", "pattern optimizer.multiplex(X_1:str,
X_2:str):str ", "OPTwrapper;", "" ]
[ "optimizer", "no_mitosis_pipe", "function
optimizer.no_mitosis_pipe():void;", "", "" ]
[ "optimizer", "oltp", "pattern optimizer.oltp():str ", "OPTwrapper;",
"" ]
[ "optimizer", "oltp", "pattern optimizer.oltp(X_1:str, X_2:str):str ",
"OPTwrapper;", "" ]
@@ -12461,6 +12463,8 @@ stdout of test 'MAL-signatures` in direc
[ "optimizer", "optimize", "pattern optimizer.optimize(X_1:str,
X_2:str):void ", "QOToptimize;", "" ]
[ "optimizer", "orcam", "pattern optimizer.orcam(X_1:str, X_2:str):void
", "OPTorcam;", "" ]
[ "optimizer", "orcam", "pattern optimizer.orcam(X_1:str, X_2:str,
X_3:str, X_4:str):void ", "OPTorcam;", "" ]
+[ "optimizer", "parappend", "pattern optimizer.parappend():str ",
"OPTwrapper;", "" ]
+[ "optimizer", "parappend", "pattern optimizer.parappend(X_1:str,
X_2:str):str ", "OPTwrapper;", "" ]
[ "optimizer", "postfix", "pattern optimizer.postfix():str ",
"OPTwrapper;", "" ]
[ "optimizer", "postfix", "pattern optimizer.postfix(X_1:str,
X_2:str):str ", "OPTwrapper;", "" ]
[ "optimizer", "prelude", "pattern optimizer.prelude():void ",
"optimizer_prelude;", "" ]
@@ -12579,6 +12583,9 @@ stdout of test 'MAL-signatures` in direc
[ "sql", "analyze", "unsafe pattern sql.analyze(X_1:int, X_2:lng,
X_3:str, X_4:str, X_5:str):void ", "sql_analyze;", "" ]
[ "sql", "any", "pattern sql.any(X_1:bit, X_2:bit, X_3:bit):bit ",
"SQLany_cmp;", "" ]
[ "sql", "append", "pattern sql.append(X_1:int, X_2:str, X_3:str,
X_4:str, X_5:any):int ", "mvc_append_wrap;", "" ]
+[ "sql", "append_exec", "pattern sql.append_exec(X_1:ptr,
X_2:any_1):ptr ", "mvc_append_exec_wrap;", "" ]
+[ "sql", "append_finish", "pattern sql.append_finish(X_1:int,
X_2:ptr...):int ", "mvc_append_finish_wrap;", "" ]
+[ "sql", "append_prep", "pattern sql.append_prep(X_2:int, X_3:str,
X_4:str, X_5:str...) (X_0:int, X_1:ptr...) ", "mvc_append_prep_wrap;",
"" ]
[ "sql", "argRecord", "pattern sql.argRecord():str ",
"SQLargRecord;", "" ]
[ "sql", "argRecord", "pattern sql.argRecord(X_1:any...):str ",
"SQLargRecord;", "" ]
[ "sql", "assert", "pattern sql.assert(X_1:bit, X_2:str):void ",
"SQLassert;", "" ]
@@ -12679,7 +12686,8 @@ stdout of test 'MAL-signatures` in direc
[ "sql", "grow", "pattern sql.grow(X_1:bat[:oid], X_2:any_1):int ",
"mvc_grow_wrap;", "" ]
[ "sql", "hot_snapshot", "unsafe command sql.hot_snapshot(X_1:str):void
", "SQLhot_snapshot;", "" ]
[ "sql", "hot_snapshot", "unsafe pattern sql.hot_snapshot(X_1:str,
X_2:bit):void ", "SQLhot_snapshot_wrap;", "" ]
-[ "sql", "importTable", "unsafe pattern sql.importTable(X_1:str,
X_2:str, X_3:int, X_4:str...):bat[:any]... ", "mvc_bin_import_table_wrap;",
"" ]
+[ "sql", "importColumn", "pattern sql.importColumn(X_2:str, X_3:bit,
X_4:str, X_5:int, X_6:oid) (X_0:bat[:any], X_1:oid) ",
"mvc_bin_import_column_wrap;", "" ]
+[ "sql", "importTable", "unsafe pattern sql.importTable(X_1:str,
X_2:str, X_3:int, X_4:bit, X_5:str...):bat[:any]... ",
"mvc_bin_import_table_wrap;", "" ]
[ "sql", "include", "pattern sql.include(X_1:str):void ",
"SQLinclude;", "" ]
[ "sql", "index", "command sql.index(X_1:str, X_2:bit):bte ",
"STRindex_bte;", "" ]
[ "sql", "index", "command sql.index(X_1:str, X_2:bit):int ",
"STRindex_int;", "" ]
@@ -12796,6 +12804,8 @@ stdout of test 'MAL-signatures` in direc
[ "sql", "transaction_rollback", "unsafe pattern
sql.transaction_rollback(X_1:int, X_2:str):void ",
"SQLtransaction_rollback;", "" ]
[ "sql", "unionfunc", "pattern sql.unionfunc(X_1:str, X_2:str,
X_3:any...):any... ", "SQLunionfunc;", "" ]
[ "sql", "update", "pattern sql.update(X_1:int, X_2:str, X_3:str,
X_4:str, X_5:any, X_6:any):int ", "mvc_update_wrap;", "" ]
+[ "sql", "update_exec", "pattern sql.update_exec(X_1:ptr,
X_2:bat[:oid], X_3:bat[:any_1]):ptr ", "mvc_update_exec_wrap;",
"" ]
+[ "sql", "update_prep", "pattern sql.update_prep(X_2:int, X_3:str,
X_4:str, X_5:str...) (X_0:int, X_1:ptr...) ", "mvc_update_prep_wrap;",
"" ]
[ "sql", "update_schemas", "unsafe pattern
sql.update_schemas():void ", "SYSupdate_schemas;", "" ]
[ "sql", "update_tables", "unsafe pattern
sql.update_tables():void ", "SYSupdate_tables;", "" ]
[ "sql", "vacuum", "unsafe pattern sql.vacuum(X_1:str,
X_2:str):void ", "SQLvacuum;", "" ]
diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out
--- a/clients/Tests/exports.stable.out
+++ b/clients/Tests/exports.stable.out
@@ -862,6 +862,7 @@ str OLTPreset(Client cntxt, MalBlkPtr mb
str OLTPtable(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci);
void OPTaliasRemap(InstrPtr p, int *alias);
str OPTaliasesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
+str OPTbincopyfromImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
str OPTcandidatesImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
str OPTcoercionImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
str OPTcommonTermsImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr pci);
@@ -887,6 +888,7 @@ str OPTmultiplexSimple(Client cntxt, Mal
str OPToltpImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
pci);
str OPTorcam(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p);
str OPTorcamImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr
p);
+str OPTparappendImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
str OPTpostfixImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
str OPTprofilerImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
str OPTprojectionpathImplementation(Client cntxt, MalBlkPtr mb, MalStkPtr stk,
InstrPtr p);
@@ -1061,6 +1063,9 @@ str alter_viewRef;
str andRef;
str appendBulkRef;
str appendRef;
+str append_execRef;
+str append_finishRef;
+str append_prepRef;
str appendidxRef;
str arrayRef;
str assertRef;
@@ -1285,6 +1290,7 @@ str ilikejoinRef;
str ilikeselectRef;
str ilikethetaselectRef;
str ilikeuselectRef;
+str importColumnRef;
void initHeartbeat(void);
void initNamespace(void);
void initParser(void);
@@ -1662,6 +1668,7 @@ str unpackRef;
str unpinRef;
str updateRef;
void updateScenario(str scen, str nme, MALfcn fcn);
+str update_execRef;
Module userModule(void);
str userRef;
size_t usrstatscnt;
@@ -1767,6 +1774,7 @@ stream *open_rstream(const char *filenam
stream *open_urlstream(const char *url);
stream *open_wastream(const char *filename);
stream *open_wstream(const char *filename);
+void set_prompting(stream *block_stream, const char *prompt, stream
*prompt_stream);
stream *socket_rstream(SOCKET socket, const char *name);
stream *socket_wstream(SOCKET socket, const char *name);
stream *stderr_wastream(void);
diff --git a/clients/examples/C/CMakeLists.txt
b/clients/examples/C/CMakeLists.txt
--- a/clients/examples/C/CMakeLists.txt
+++ b/clients/examples/C/CMakeLists.txt
@@ -45,6 +45,29 @@ if(TESTING)
monetdb_config_header
stream)
+ add_executable(bincopydata
+ bincopydata.c
+ bincopydata.h
+ bincopytemporaldata.c
+ bincopyuuid.c
+ )
+
+ target_link_libraries(bincopydata
+ PRIVATE
+ monetdb_config_header
+ copybinary
+ )
+
+ add_executable(bincopyloops
+ bincopyloops.c
+ )
+
+ target_link_libraries(bincopyloops
+ PRIVATE
+ monetdb_config_header
+ copybinary
+ )
+
install(TARGETS
sample0
sample1
@@ -52,6 +75,7 @@ if(TESTING)
smack00
smack01
streamcat
+ bincopydata
RUNTIME
DESTINATION
${CMAKE_INSTALL_BINDIR}
diff --git a/clients/examples/C/bincopydata.c b/clients/examples/C/bincopydata.c
new file mode 100644
--- /dev/null
+++ b/clients/examples/C/bincopydata.c
@@ -0,0 +1,357 @@
+#include "bincopydata.h"
+
+static char *exe_name = "<to_be_filled_in>";
+
+static struct gen {
+ char *name;
+ void (*gen)(FILE *f, bool byteswap, long nrecs);
+} generators[];
+
+_Noreturn static void croak(int status, const char *msg, ...)
+ __attribute__((__format__(__printf__, 2, 3)));
+
+/* Format the message and write it to stderr. Then exit with the given status.
+ * If status is 1, include USAGE in the message.
+ * Otherwise, if errno is set, include the error message.
+ */
+static void
+croak(int status, const char *ctx, ...)
+{
+ va_list ap;
+
+ fprintf(stderr, "Error: ");
+ if (ctx != NULL) {
+ fprintf(stderr, " ");
+ va_start(ap, ctx);
+ vfprintf(stderr, ctx, ap);
+ va_end(ap);
+ }
+ fprintf(stderr, "\n");
+ if (errno) {
+ fprintf(stderr, "Possibly due to: %s\n", strerror(errno));
+ } else if (status == 1) {
+ fprintf(stderr, "USAGE: %s TYPE NRECS DESTFILE\n", exe_name);
+ fprintf(stderr, "TYPE:\n");
+ for (struct gen *g = generators; g->name != NULL; g++) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list