Changeset: 3416079a46b8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3416079a46b8
Modified Files:
clients/Tests/MAL-signatures.stable.out
clients/Tests/MAL-signatures.stable.out.int128
clients/examples/C/CMakeLists.txt
clients/mapiclient/mhelp.c
common/stream/bs.c
common/stream/stream.c
common/stream/stream.h
common/stream/stream_internal.h
common/utils/CMakeLists.txt
monetdb5/optimizer/CMakeLists.txt
monetdb5/optimizer/opt_pipes.c
monetdb5/optimizer/opt_prelude.c
monetdb5/optimizer/opt_prelude.h
monetdb5/optimizer/opt_support.c
monetdb5/optimizer/opt_wrapper.c
monetdb5/optimizer/optimizer.c
monetdb5/optimizer/optimizer.mal
sql/backends/monet5/CMakeLists.txt
sql/backends/monet5/sql.c
sql/backends/monet5/sql.h
sql/backends/monet5/sql.mal
sql/backends/monet5/sql_upgrades.c
sql/scripts/51_sys_schema_extension.sql
sql/server/rel_updates.c
sql/server/sql_parser.y
sql/server/sql_scan.c
sql/server/sql_tokens.h
sql/storage/bat/bat_storage.c
sql/storage/sql_storage.h
sql/storage/store.c
sql/test/BugTracker-2012/Tests/rewrite_like_into_likesubselect.Bug-3179.stable.out
sql/test/emptydb/Tests/check.stable.out
sql/test/emptydb/Tests/check.stable.out.32bit
sql/test/emptydb/Tests/check.stable.out.int128
testing/sqltest.py
Branch: default
Log Message:
Merge branch 'copybinary' into 'default'
diffs (truncated from 11009 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
@@ -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
@@ -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++) {
+ fprintf(stderr, " - %s\n", g->name);
+ }
+ }
+ exit(status);
+}
+
+
+static void
+gen_tinyints(FILE *f, bool byteswap, long nrecs)
+{
+ for (long i = 0; i < nrecs; i++) {
+ uint8_t v = (uint8_t)i;
+ (void)byteswap;
+ fwrite(&v, sizeof(v), 1, f);
+ }
+}
+
+static void
+gen_smallints(FILE *f, bool byteswap, long nrecs)
+{
+ for (long i = 0; i < nrecs; i++) {
+ uint16_t v = (uint16_t)i;
+ if (byteswap) {
+ copy_binary_convert16(&v);
+ }
+ fwrite(&v, sizeof(v), 1, f);
+ }
+}
+
+static void
+gen_bigints(FILE *f, bool byteswap, long nrecs)
+{
+ for (long i = 0; i < nrecs; i++) {
+ uint64_t v = (uint64_t)i;
+ if (byteswap) {
+ copy_binary_convert64(&v);
+ }
+ fwrite(&v, sizeof(v), 1, f);
+ }
+}
+
+#ifdef HAVE_HGE
+static void
+gen_hugeints(FILE *f, bool byteswap, long nrecs)
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list