Changeset: 3aeedd114d9a for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/3aeedd114d9a
Modified Files:
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_statement.c
        sql/backends/monet5/sql_statement.h
Branch: copyintobinary
Log Message:

Switch from endianness int to byteswap bool

To be more consistent with loading


diffs (71 lines):

diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -5837,6 +5837,11 @@ rel2bin_output(backend *be, sql_rel *rel
                list_append(slist, export);
        } else if (tpe == TYPE_int) {
                endianness endian = take_atom_arg(&argnode, TYPE_int)->val.ival;
+#ifdef WORDS_BIGENDIAN
+               bool do_byteswap = endian == endian_little;
+#else
+               bool do_byteswap = endian == endian_big;
+#endif
                int on_client = take_atom_arg(&argnode, TYPE_int)->val.ival;
                assert(sub->type == st_list);
                list *collist = sub->op4.lval;
@@ -5844,7 +5849,7 @@ rel2bin_output(backend *be, sql_rel *rel
                        stmt *colstmt = colnode->data;
                        assert(argnode != NULL);
                        const char *filename = take_atom_arg(&argnode, 
TYPE_str)->val.sval;
-                       stmt *export = stmt_export_bin(be, colstmt, endian, 
filename, on_client);
+                       stmt *export = stmt_export_bin(be, colstmt, 
do_byteswap, filename, on_client);
                        list_append(slist, export);
                }
                assert(argnode == NULL);
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -5201,8 +5201,8 @@ static mel_func sql_init_funcs[] = {
  pattern("sql", "exportChunk", mvc_export_chunk_wrap, true, "Export a chunk of 
the result set (in order) to stream s", args(1,3, 
arg("",void),arg("s",streams),arg("res_id",int))),
  pattern("sql", "exportChunk", mvc_export_chunk_wrap, true, "Export a chunk of 
the result set (in order) to stream s", args(1,5, 
arg("",void),arg("s",streams),arg("res_id",int),arg("offset",int),arg("nr",int))),
  pattern("sql", "exportOperation", mvc_export_operation_wrap, true, "Export 
result of schema/transaction queries", args(1,1, arg("",void))),
- pattern("sql", "export_bin_column", mvc_export_bin_column_wrap, true, "export 
column as binary", args(1, 5, arg("", lng), batargany("col", 1), arg("endian", 
int), arg("filename", str), arg("onclient", int))),
- pattern("sql", "export_bin_column", mvc_export_bin_column_wrap, true, "export 
column as binary", args(1, 5, arg("", lng), argany("val", 1), arg("endian", 
int), arg("filename", str), arg("onclient", int))),
+ pattern("sql", "export_bin_column", mvc_export_bin_column_wrap, true, "export 
column as binary", args(1, 5, arg("", lng), batargany("col", 1), 
arg("byteswap", bit), arg("filename", str), arg("onclient", int))),
+ pattern("sql", "export_bin_column", mvc_export_bin_column_wrap, true, "export 
column as binary", args(1, 5, arg("", lng), argany("val", 1), arg("byteswap", 
bit), arg("filename", str), arg("onclient", int))),
  pattern("sql", "affectedRows", mvc_affected_rows_wrap, true, "export the 
number of affected rows by the current query", args(1,3, 
arg("",int),arg("mvc",int),arg("nr",lng))),
  pattern("sql", "copy_from", mvc_import_table_wrap, true, "Import a table from 
bstream s with the \ngiven tuple and seperators (sep/rsep)", args(1,13, 
batvarargany("",0),arg("t",ptr),arg("sep",str),arg("rsep",str),arg("ssep",str),arg("ns",str),arg("fname",str),arg("nr",lng),arg("offset",lng),arg("best",int),arg("fwf",str),arg("onclient",int),arg("escape",int))),
  //we use bat.single now
diff --git a/sql/backends/monet5/sql_statement.c 
b/sql/backends/monet5/sql_statement.c
--- a/sql/backends/monet5/sql_statement.c
+++ b/sql/backends/monet5/sql_statement.c
@@ -2610,7 +2610,7 @@ stmt_export(backend *be, stmt *t, const 
 }
 
 stmt *
-stmt_export_bin(backend *be, stmt *colstmt, endianness endian, const char 
*filename, int on_client)
+stmt_export_bin(backend *be, stmt *colstmt, bool byteswap, const char 
*filename, int on_client)
 {
        MalBlkPtr mb = be->mb;
        InstrPtr q;
@@ -2618,7 +2618,7 @@ stmt_export_bin(backend *be, stmt *colst
 
        q = newStmt(mb, sqlRef, export_bin_columnRef);
        pushArgument(mb, q, colstmt->nr);
-       pushInt(mb, q, endian);
+       pushBit(mb, q, byteswap);
        pushStr(mb, q, filename);
        pushInt(mb, q, on_client);
 
diff --git a/sql/backends/monet5/sql_statement.h 
b/sql/backends/monet5/sql_statement.h
--- a/sql/backends/monet5/sql_statement.h
+++ b/sql/backends/monet5/sql_statement.h
@@ -172,7 +172,7 @@ extern stmt *stmt_replace(backend *be, s
 extern stmt *stmt_table_clear(backend *be, sql_table *t, int 
restart_sequences);
 
 extern stmt *stmt_export(backend *be, stmt *t, const char *sep, const char 
*rsep, const char *ssep, const char *null_string, int onclient, stmt *file);
-extern stmt *stmt_export_bin(backend *be, stmt *colstmt, endianness endian, 
const char *filename, int on_client);
+extern stmt *stmt_export_bin(backend *be, stmt *colstmt, bool byteswap, const 
char *filename, int on_client);
 extern stmt *stmt_trans(backend *b, int type, stmt *chain, stmt *name);
 extern stmt *stmt_catalog(backend *be, int type, stmt *args);
 
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to