Changeset: c2f4e8929d03 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c2f4e8929d03 Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows sql/backends/monet5/sql.c sql/backends/monet5/sql.mal sql/common/sql_types.c sql/server/rel_updates.c sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 sql/test/sys-schema/Tests/systemfunctions.stable.out sql/test/sys-schema/Tests/systemfunctions.stable.out.int128 Branch: default Log Message:
Reverting changeset 0c8fdd94e5c8 It's not that easy to do it diffs (truncated from 369 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 @@ -11679,7 +11679,7 @@ stdout of test 'MAL-signatures` in direc [ "sql", "bind_idxbat", "pattern sql.bind_idxbat(mvc:int, schema:str, table:str, index:str, access:int, part_nr:int, nr_parts:int):bat[:any_1] ", "mvc_bind_idxbat_wrap;", "Bind the 'schema.table.index' BAT with access kind:\n\t0 - base table\n\t1 - inserts\n\t2 - updates" ] [ "sql", "clear_table", "unsafe pattern sql.clear_table(sname:str, tname:str):lng ", "mvc_clear_table_wrap;", "Clear the table sname.tname." ] [ "sql", "commit", "pattern sql.commit():void ", "SQLcommit;", "Trigger the commit operation for a MAL block" ] -[ "sql", "copy_from", "unsafe pattern sql.copy_from(sname:str, tname:str, sep:str, rsep:str, ssep:str, ns:str, fname:str, nr:lng, offset:lng, locked:int, best:int, fwf:str, onclient:int):bat[:any]... ", "mvc_import_table_wrap;", "Import a table from bstream s with the \n\tgiven tuple and seperators (sep/rsep)" ] +[ "sql", "copy_from", "unsafe pattern sql.copy_from(t:ptr, sep:str, rsep:str, ssep:str, ns:str, fname:str, nr:lng, offset:lng, locked:int, best:int, fwf:str, onclient:int):bat[:any]... ", "mvc_import_table_wrap;", "Import a table from bstream s with the \n\tgiven tuple and seperators (sep/rsep)" ] [ "sql", "copy_rejects", "pattern sql.copy_rejects() (rowid:bat[:lng], fldid:bat[:int], msg:bat[:str], inp:bat[:str]) ", "COPYrejects;", "" ] [ "sql", "copy_rejects_clear", "pattern sql.copy_rejects_clear():void ", "COPYrejects_clear;", "" ] [ "sql", "count", "pattern sql.count(b:any_1, ignils:bit, s:lng, e:lng):lng ", "SQLcount;", "return count of groups" ] 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 @@ -16084,7 +16084,7 @@ stdout of test 'MAL-signatures` in direc [ "sql", "bind_idxbat", "pattern sql.bind_idxbat(mvc:int, schema:str, table:str, index:str, access:int, part_nr:int, nr_parts:int):bat[:any_1] ", "mvc_bind_idxbat_wrap;", "Bind the 'schema.table.index' BAT with access kind:\n\t0 - base table\n\t1 - inserts\n\t2 - updates" ] [ "sql", "clear_table", "unsafe pattern sql.clear_table(sname:str, tname:str):lng ", "mvc_clear_table_wrap;", "Clear the table sname.tname." ] [ "sql", "commit", "pattern sql.commit():void ", "SQLcommit;", "Trigger the commit operation for a MAL block" ] -[ "sql", "copy_from", "unsafe pattern sql.copy_from(sname:str, tname:str, sep:str, rsep:str, ssep:str, ns:str, fname:str, nr:lng, offset:lng, locked:int, best:int, fwf:str, onclient:int):bat[:any]... ", "mvc_import_table_wrap;", "Import a table from bstream s with the \n\tgiven tuple and seperators (sep/rsep)" ] +[ "sql", "copy_from", "unsafe pattern sql.copy_from(t:ptr, sep:str, rsep:str, ssep:str, ns:str, fname:str, nr:lng, offset:lng, locked:int, best:int, fwf:str, onclient:int):bat[:any]... ", "mvc_import_table_wrap;", "Import a table from bstream s with the \n\tgiven tuple and seperators (sep/rsep)" ] [ "sql", "copy_rejects", "pattern sql.copy_rejects() (rowid:bat[:lng], fldid:bat[:int], msg:bat[:str], inp:bat[:str]) ", "COPYrejects;", "" ] [ "sql", "copy_rejects_clear", "pattern sql.copy_rejects_clear():void ", "COPYrejects_clear;", "" ] [ "sql", "count", "pattern sql.count(b:any_1, ignils:bit, s:lng, e:lng):lng ", "SQLcount;", "return count of groups" ] diff --git a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out --- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out +++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out @@ -59,15 +59,15 @@ stdout of test 'opt_sql_append` in direc % .explain # table_name % mal # name % clob # type -% 193 # length +% 186 # length function user.s10_0():void; - X_1:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';":str, "sequential_pipe":str, 23:int); + X_1:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';":str, "sequential_pipe":str, 22:int); X_4:int := sql.mvc(); - (X_28:bat[:int], X_29:bat[:int], X_30:bat[:int]) := sql.copy_from("sys":str, "ttt":str, "|":str, "\n":str, nil:str, "null":str, "/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int); - X_32:int := sql.append(X_4:int, "sys":str, "ttt":str, "a":str, X_28:bat[:int]); - X_35:int := sql.append(X_32:int, "sys":str, "ttt":str, "b":str, X_29:bat[:int]); - X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, X_30:bat[:int]); - X_40:lng := aggr.count(X_30:bat[:int]); + (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := sql.copy_from(0x2e73790:ptr, "|":str, "\n":str, nil:str, "null":str, "/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int); + X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, "a":str, X_26:bat[:int]); + X_35:int := sql.append(X_30:int, "sys":str, "ttt":str, "b":str, X_27:bat[:int]); + X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, X_28:bat[:int]); + X_40:lng := aggr.count(X_28:bat[:int]); sql.affectedRows(X_38:int, X_40:lng); end user.s10_0; #inline actions= 0 time=1 usec @@ -118,15 +118,15 @@ end user.s10_0; % .explain # table_name % mal # name % clob # type -% 193 # length +% 186 # length function user.s26_0():void; - X_1:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';":str, "user_0":str, 23:int); + X_1:void := querylog.define("explain copy into ttt from \\'/tmp/xyz\\';":str, "user_0":str, 22:int); X_4:int := sql.mvc(); - (X_28:bat[:int], X_29:bat[:int], X_30:bat[:int]) := sql.copy_from("sys":str, "ttt":str, "|":str, "\n":str, nil:str, "null":str, "/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int); - X_32:int := sql.append(X_4:int, "sys":str, "ttt":str, "a":str, X_28:bat[:int]); - X_35:int := sql.append(X_32:int, "sys":str, "ttt":str, "b":str, X_29:bat[:int]); - X_40:lng := aggr.count(X_30:bat[:int]); - X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, X_30:bat[:int]); + (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := sql.copy_from(0x2e73790:ptr, "|":str, "\n":str, nil:str, "null":str, "/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int); + X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, "a":str, X_26:bat[:int]); + X_35:int := sql.append(X_30:int, "sys":str, "ttt":str, "b":str, X_27:bat[:int]); + X_40:lng := aggr.count(X_28:bat[:int]); + X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, X_28:bat[:int]); sql.affectedRows(X_38:int, X_40:lng); end user.s26_0; #inline actions= 0 time=1 usec diff --git a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows --- a/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows +++ b/monetdb5/extras/mal_optimizer_template/Tests/opt_sql_append.stable.out.Windows @@ -115,11 +115,11 @@ end user.s10_0; function user.s12_0():void; X_1:void := querylog.define("explain copy into ttt from E\\'a:\\\\\\\\tmp/xyz\\';":str, "sequential_pipe":str, 23:int); X_4:int := sql.mvc(); - (X_28:bat[:int], X_29:bat[:int], X_30:bat[:int]) := sql.copy_from("sys":str, "ttt":str, "|":str, "\n":str, nil:str, "null":str, "a:\\tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int); - X_32:int := sql.append(X_4:int, "sys":str, "ttt":str, "a":str, X_28:bat[:int]); - X_35:int := sql.append(X_32:int, "sys":str, "ttt":str, "b":str, X_29:bat[:int]); - X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, X_30:bat[:int]); - X_40:lng := aggr.count(X_30:bat[:int]); + (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := sql.copy_from(0x2e73790:ptr, "|":str, "\n":str, nil:str, "null":str, "a:\\tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int); + X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, "a":str, X_26:bat[:int]); + X_35:int := sql.append(X_30:int, "sys":str, "ttt":str, "b":str, X_27:bat[:int]); + X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, X_28:bat[:int]); + X_40:lng := aggr.count(X_28:bat[:int]); sql.affectedRows(X_38:int, X_40:lng); end user.s12_0; #inline actions= 0 time=1 usec @@ -212,11 +212,11 @@ end user.s28_0; function user.s30_0():void; X_1:void := querylog.define("explain copy into ttt from \\'Z:/tmp/xyz\\';":str, "user_0":str, 23:int); X_4:int := sql.mvc(); - (X_28:bat[:int], X_29:bat[:int], X_30:bat[:int]) := sql.copy_from("sys":str, "ttt":str, "|":str, "\n":str, nil:str, "null":str, "Z:/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int); - X_32:int := sql.append(X_4:int, "sys":str, "ttt":str, "a":str, X_28:bat[:int]); - X_35:int := sql.append(X_32:int, "sys":str, "ttt":str, "b":str, X_29:bat[:int]); - X_40:lng := aggr.count(X_30:bat[:int]); - X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, X_30:bat[:int]); + (X_26:bat[:int], X_27:bat[:int], X_28:bat[:int]) := sql.copy_from(0x2e73790:ptr,, "|":str, "\n":str, nil:str, "null":str, "Z:/tmp/xyz":str, -1:lng, 0:lng, 0:int, 0:int, nil:str, 0:int); + X_30:int := sql.append(X_4:int, "sys":str, "ttt":str, "a":str, X_26:bat[:int]); + X_35:int := sql.append(X_30:int, "sys":str, "ttt":str, "b":str, X_27:bat[:int]); + X_40:lng := aggr.count(X_28:bat[:int]); + X_38:int := sql.append(X_35:int, "sys":str, "ttt":str, "c":str, X_28:bat[:int]); sql.affectedRows(X_38:int, X_40:lng); end user.s30_0; #inline actions= 0 time=0 usec 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 @@ -3027,24 +3027,20 @@ str mvc_import_table_wrap(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci) { backend *be; - mvc *sql; BAT **b = NULL; ssize_t len = 0; - sql_schema *sch = NULL; - sql_table *t = NULL; - const char *sname = *getArgReference_str(stk, pci, pci->retc + 0); - const char *tname = *getArgReference_str(stk, pci, pci->retc + 1); - const char *tsep = *getArgReference_str(stk, pci, pci->retc + 2); - const char *rsep = *getArgReference_str(stk, pci, pci->retc + 3); - const char *ssep = *getArgReference_str(stk, pci, pci->retc + 4); - const char *ns = *getArgReference_str(stk, pci, pci->retc + 5); - const char *fname = *getArgReference_str(stk, pci, pci->retc + 6); - lng sz = *getArgReference_lng(stk, pci, pci->retc + 7); - lng offset = *getArgReference_lng(stk, pci, pci->retc + 8); - int locked = *getArgReference_int(stk, pci, pci->retc + 9); - int besteffort = *getArgReference_int(stk, pci, pci->retc + 10); - char *fixed_widths = *getArgReference_str(stk, pci, pci->retc + 11); - int onclient = *getArgReference_int(stk, pci, pci->retc + 12); + sql_table *t = *(sql_table **) getArgReference(stk, pci, pci->retc + 0); + const char *tsep = *getArgReference_str(stk, pci, pci->retc + 1); + const char *rsep = *getArgReference_str(stk, pci, pci->retc + 2); + const char *ssep = *getArgReference_str(stk, pci, pci->retc + 3); + const char *ns = *getArgReference_str(stk, pci, pci->retc + 4); + const char *fname = *getArgReference_str(stk, pci, pci->retc + 5); + lng sz = *getArgReference_lng(stk, pci, pci->retc + 6); + lng offset = *getArgReference_lng(stk, pci, pci->retc + 7); + int locked = *getArgReference_int(stk, pci, pci->retc + 8); + int besteffort = *getArgReference_int(stk, pci, pci->retc + 9); + char *fixed_widths = *getArgReference_str(stk, pci, pci->retc + 10); + int onclient = *getArgReference_int(stk, pci, pci->retc + 11); str msg = MAL_SUCCEED; bstream *s = NULL; stream *ss; @@ -3052,17 +3048,11 @@ mvc_import_table_wrap(Client cntxt, MalB (void) mb; /* NOT USED */ if ((msg = checkSQLContext(cntxt)) != NULL) return msg; - if (onclient && !cntxt->filetrans) - throw(SQL, "sql.copy_from", SQLSTATE(42000) "Cannot transfer files from client"); + if (onclient && !cntxt->filetrans) { + throw(MAL, "sql.copy_from", "cannot transfer files from client"); + } be = cntxt->sqlcontext; - sql = be->mvc; - - if (!(sch = mvc_bind_schema(sql, sname))) - throw(SQL, "sql.copy_from", SQLSTATE(3F000) "Schema missing %s", sname); - if (!(t = mvc_bind_table(sql, sch, tname))) - throw(SQL, "sql.copy_from", SQLSTATE(42S02) "Table missing %s", tname); - /* The CSV parser expects ssep to have the value 0 if the user does not * specify a quotation character */ @@ -3290,17 +3280,19 @@ mvc_bin_import_table_wrap(Client cntxt, if ((msg = checkSQLContext(cntxt)) != NULL) return msg; - if (!(s = mvc_bind_schema(m, sname))) - throw(SQL, "sql.import_table", SQLSTATE(3F000) "Schema missing %s", sname); - if (!(t = mvc_bind_table(m, s, tname))) - throw(SQL, "sql.import_table", SQLSTATE(42S02) "Table missing %s", tname); + if ((s = mvc_bind_schema(m, sname)) == NULL) + throw(SQL, "sql.import_table", SQLSTATE(3F000) "Schema missing %s",sname); + t = mvc_bind_table(m, s, tname); + if (!t) + throw(SQL, "sql", SQLSTATE(42S02) "Table missing %s", tname); if (list_length(t->columns.set) != (pci->argc - (3 + pci->retc))) - throw(SQL, "sql.import_table", SQLSTATE(42000) "Not enough columns found in input file"); + throw(SQL, "sql", SQLSTATE(42000) "Not enough columns found in input file"); if (2 * pci->retc + 3 != pci->argc) - throw(SQL, "sql.import_table", SQLSTATE(42000) "Not enough output values"); - - if (onclient && !cntxt->filetrans) - throw(SQL, "sql.copy_from", SQLSTATE(42000) "Cannot transfer files from client"); + throw(SQL, "sql", SQLSTATE(42000) "Not enough output values"); + + if (onclient && !cntxt->filetrans) { + throw(MAL, "sql.copy_from", "cannot transfer files from client"); + } backend *be = cntxt->sqlcontext; diff --git a/sql/backends/monet5/sql.mal b/sql/backends/monet5/sql.mal --- a/sql/backends/monet5/sql.mal +++ b/sql/backends/monet5/sql.mal @@ -347,7 +347,7 @@ unsafe pattern affectedRows(mvc:int, nr: address mvc_affected_rows_wrap comment "export the number of affected rows by the current query"; -unsafe pattern copy_from( sname:str, tname:str, +unsafe pattern copy_from( t:ptr, sep:str, rsep:str, ssep:str, ns:str, fname:str, nr:lng, offset:lng, locked:int, best:int, fwf:str, onclient:int) (:bat[:any]...) address mvc_import_table_wrap comment "Import a table from bstream s with the diff --git a/sql/common/sql_types.c b/sql/common/sql_types.c --- a/sql/common/sql_types.c +++ b/sql/common/sql_types.c @@ -1462,7 +1462,7 @@ sqltypeinit( sql_allocator *sa) sql_type *SECINT, *MONINT, *DTE; sql_type *TME, *TMETZ, *TMESTAMP, *TMESTAMPTZ; sql_type *BLOB; - sql_type *ANY, *TABLE; + sql_type *ANY, *TABLE, *PTR; sql_type *GEOM, *MBR; sql_func *f; sql_arg *sres; @@ -1472,7 +1472,7 @@ sqltypeinit( sql_allocator *sa) t = ts; TABLE = *t++ = sql_create_type(sa, "TABLE", 0, 0, 0, EC_TABLE, "bat"); - *t++ = sql_create_type(sa, "PTR", 0, 0, 0, EC_TABLE, "ptr"); + PTR = *t++ = sql_create_type(sa, "PTR", 0, 0, 0, EC_TABLE, "ptr"); BIT = *t++ = sql_create_type(sa, "BOOLEAN", 1, 0, 2, EC_BIT, "bit"); sql_create_alias(sa, BIT->sqlname, "BOOL"); @@ -2219,9 +2219,8 @@ sqltypeinit( sql_allocator *sa) sres = create_arg(sa, NULL, sql_create_subtype(sa, TABLE, 0, 0), ARG_OUT); /* copyfrom fname (arg 12) */ f=sql_create_func_(sa, "copyfrom", "sql", "copy_from", - list_append( list_append( list_append( list_append( list_append( list_append( list_append(list_append (list_append (list_append(list_append(list_append(list_append(sa_list(sa), - create_arg(sa, NULL, sql_create_subtype(sa, STR, 0, 0), ARG_IN)), - create_arg(sa, NULL, sql_create_subtype(sa, STR, 0, 0), ARG_IN)), + list_append( list_append( list_append( list_append( list_append( list_append(list_append (list_append (list_append(list_append(list_append(list_append(sa_list(sa), + create_arg(sa, NULL, sql_create_subtype(sa, PTR, 0, 0), ARG_IN)), create_arg(sa, NULL, sql_create_subtype(sa, STR, 0, 0), ARG_IN)), create_arg(sa, NULL, sql_create_subtype(sa, STR, 0, 0), ARG_IN)), create_arg(sa, NULL, sql_create_subtype(sa, STR, 0, 0), ARG_IN)), diff --git a/sql/server/rel_updates.c b/sql/server/rel_updates.c --- a/sql/server/rel_updates.c +++ b/sql/server/rel_updates.c @@ -1578,16 +1578,15 @@ rel_import(mvc *sql, sql_table *t, const sql_subtype tpe; sql_exp *import; sql_schema *sys = mvc_bind_schema(sql, "sys"); - sql_subfunc *f = sql_find_func(sql->sa, sys, "copyfrom", 13, F_UNION, NULL); + sql_subfunc *f = sql_find_func(sql->sa, sys, "copyfrom", 12, F_UNION, NULL); char *fwf_string = NULL; if (!f) /* we do expect copyfrom to be there */ return NULL; f->res = table_column_types(sql->sa, t); sql_find_subtype(&tpe, "varchar", 0, 0); - args = append( append( append( append( append( append( new_exp_list(sql->sa), - exp_atom_str(sql->sa, t->s->base.name, &tpe)), - exp_atom_str(sql->sa, t->base.name, &tpe)), + args = append( append( append( append( append( new_exp_list(sql->sa), + exp_atom_ptr(sql->sa, t)), exp_atom_str(sql->sa, tsep, &tpe)), exp_atom_str(sql->sa, rsep, &tpe)), exp_atom_str(sql->sa, ssep, &tpe)), diff --git a/sql/test/emptydb/Tests/check.stable.out b/sql/test/emptydb/Tests/check.stable.out --- a/sql/test/emptydb/Tests/check.stable.out +++ b/sql/test/emptydb/Tests/check.stable.out @@ -2379,7 +2379,7 @@ drop function pcre_replace(string, strin [ "sys", "concat", "SYSTEM", "+", "calc", "Internal C", "Scalar function", false, false, false, "res_0", "clob", 0, 0, "out", "arg_1", "clob", 0, 0, "in", "arg_2", "clob", 0, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "concat", "SYSTEM", "+", "calc", "Internal C", "Scalar function", false, false, false, "res_0", "varchar", 0, 0, "out", "arg_1", "varchar", 0, 0, "in", "arg_2", "varchar", 0, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "contains", "SYSTEM", "create function contains(a geometry, x double, y double) returns boolean external name geom.\"Contains\";", "geom", "MAL", "Scalar function", false, false, false, "result", "boolean", 1, 0, "out", "a", "geometry", 0, 0, "in", "x", "double", 53, 0, "in", "y", "double", 53, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] -[ "sys", "copyfrom", "SYSTEM", "copy_from", "sql", "Internal C", "Function returning a table", false, true, false, "res_0", "table", 0, 0, "out", "arg_1", "varchar", 0, 0, "in", "arg_2", "varchar", 0, 0, "in", "arg_3", "varchar", 0, 0, "in", "arg_4", "varchar", 0, 0, "in", "arg_5", "varchar", 0, 0, "in", "arg_6", "varchar", 0, 0, "in", "arg_7", "varchar", 0, 0, "in", "arg_8", "bigint", 64, 0, "in", "arg_9", "bigint", 64, 0, "in", "arg_10", "int", 32, 0, "in", "arg_11", "int", 32, 0, "in", "arg_12", "varchar", 0, 0, "in", "arg_13", "int", 32, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] +[ "sys", "copyfrom", "SYSTEM", "copy_from", "sql", "Internal C", "Function returning a table", false, true, false, "res_0", "table", 0, 0, "out", "arg_1", "ptr", 0, 0, "in", "arg_2", "varchar", 0, 0, "in", "arg_3", "varchar", 0, 0, "in", "arg_4", "varchar", 0, 0, "in", "arg_5", "varchar", 0, 0, "in", "arg_6", "varchar", 0, 0, "in", "arg_7", "bigint", 64, 0, "in", "arg_8", "bigint", 64, 0, "in", "arg_9", "int", 32, 0, "in", "arg_10", "int", 32, 0, "in", "arg_11", "varchar", 0, 0, "in", "arg_12", "int", 32, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "copyfrom", "SYSTEM", "importTable", "sql", "Internal C", "Function returning a table", false, true, false, "res_0", "table", 0, 0, "out", "arg_1", "varchar", 0, 0, "in", "arg_2", "varchar", 0, 0, "in", "arg_3", "int", 32, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "corr", "SYSTEM", "create aggregate corr(e1 bigint, e2 bigint) returns double external name \"aggr\".\"corr\";", "aggr", "MAL", "Aggregate function", false, false, false, "result", "double", 53, 0, "out", "e1", "bigint", 64, 0, "in", "e2", "bigint", 64, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "corr", "SYSTEM", "create aggregate corr(e1 double, e2 double) returns double external name \"aggr\".\"corr\";", "aggr", "MAL", "Aggregate function", false, false, false, "result", "double", 53, 0, "out", "e1", "double", 53, 0, "in", "e2", "double", 53, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] diff --git a/sql/test/emptydb/Tests/check.stable.out.32bit b/sql/test/emptydb/Tests/check.stable.out.32bit --- a/sql/test/emptydb/Tests/check.stable.out.32bit +++ b/sql/test/emptydb/Tests/check.stable.out.32bit @@ -2371,7 +2371,7 @@ drop function pcre_replace(string, strin [ "sys", "concat", "SYSTEM", "+", "calc", "Internal C", "Scalar function", false, false, false, "res_0", "clob", 0, 0, "out", "arg_1", "clob", 0, 0, "in", "arg_2", "clob", 0, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "concat", "SYSTEM", "+", "calc", "Internal C", "Scalar function", false, false, false, "res_0", "varchar", 0, 0, "out", "arg_1", "varchar", 0, 0, "in", "arg_2", "varchar", 0, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "contains", "SYSTEM", "create function contains(a geometry, x double, y double) returns boolean external name geom.\"Contains\";", "geom", "MAL", "Scalar function", false, false, false, "result", "boolean", 1, 0, "out", "a", "geometry", 0, 0, "in", "x", "double", 53, 0, "in", "y", "double", 53, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] -[ "sys", "copyfrom", "SYSTEM", "copy_from", "sql", "Internal C", "Function returning a table", false, true, false, "res_0", "table", 0, 0, "out", "arg_1", "varchar", 0, 0, "in", "arg_2", "varchar", 0, 0, "in", "arg_3", "varchar", 0, 0, "in", "arg_4", "varchar", 0, 0, "in", "arg_5", "varchar", 0, 0, "in", "arg_6", "varchar", 0, 0, "in", "arg_7", "varchar", 0, 0, "in", "arg_8", "bigint", 64, 0, "in", "arg_9", "bigint", 64, 0, "in", "arg_10", "int", 32, 0, "in", "arg_11", "int", 32, 0, "in", "arg_12", "varchar", 0, 0, "in", "arg_13", "int", 32, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] +[ "sys", "copyfrom", "SYSTEM", "copy_from", "sql", "Internal C", "Function returning a table", false, true, false, "res_0", "table", 0, 0, "out", "arg_1", "ptr", 0, 0, "in", "arg_2", "varchar", 0, 0, "in", "arg_3", "varchar", 0, 0, "in", "arg_4", "varchar", 0, 0, "in", "arg_5", "varchar", 0, 0, "in", "arg_6", "varchar", 0, 0, "in", "arg_7", "bigint", 64, 0, "in", "arg_8", "bigint", 64, 0, "in", "arg_9", "int", 32, 0, "in", "arg_10", "int", 32, 0, "in", "arg_11", "varchar", 0, 0, "in", "arg_12", "int", 32, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "copyfrom", "SYSTEM", "importTable", "sql", "Internal C", "Function returning a table", false, true, false, "res_0", "table", 0, 0, "out", "arg_1", "varchar", 0, 0, "in", "arg_2", "varchar", 0, 0, "in", "arg_3", "int", 32, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "corr", "SYSTEM", "create aggregate corr(e1 bigint, e2 bigint) returns double external name \"aggr\".\"corr\";", "aggr", "MAL", "Aggregate function", false, false, false, "result", "double", 53, 0, "out", "e1", "bigint", 64, 0, "in", "e2", "bigint", 64, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] [ "sys", "corr", "SYSTEM", "create aggregate corr(e1 double, e2 double) returns double external name \"aggr\".\"corr\";", "aggr", "MAL", "Aggregate function", false, false, false, "result", "double", 53, 0, "out", "e1", "double", 53, 0, "in", "e2", "double", 53, 0, "in", NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL ] diff --git a/sql/test/emptydb/Tests/check.stable.out.int128 b/sql/test/emptydb/Tests/check.stable.out.int128 --- a/sql/test/emptydb/Tests/check.stable.out.int128 +++ b/sql/test/emptydb/Tests/check.stable.out.int128 @@ -2221,7 +2221,7 @@ drop function pcre_replace(string, strin % .s, .f, ., ., .f, .fl, .ft, .f, .f, .f, ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., ., . # table_name % name, name, system, query, mod, language_name, function_type_name, side_effect, varres, vararg, name0, type0, type_digits0, type_scale0, inout0, name1, type1, type_digits1, type_scale1, inout1, name2, type2, type_digits2, type_scale2, inout2, name3, type3, type_digits3, type_scale3, inout3, name4, type4, type_digits4, type_scale4, inout4, name5, type5, type_digits5, type_scale5, inout5, name6, type6, type_digits6, type_scale6, inout6, name7, type7, type_digits7, type_scale7, inout7, name8, type8, type_digits8, type_scale8, inout8, name9, type9, type_digits9, type_scale9, inout9, name10, type10, type_digits10, type_scale10, inout10, name11, type11, type_digits11, type_scale11, inout11, name12, type12, type_digits12, type_scale12, inout12, name13, type13, type_digits13, type_scale13, inout13, name14, type14, type_digits14, type_scale14, inout14, name15, type15, type_digits15, type_scale15, inout15 # name % varchar, varchar, char, varchar, varchar, varchar, varchar, boolean, boolean, boolean, varchar, varchar, int, int, char, varchar, varchar, int, int, char, varchar, varchar, int, int, char, varchar, varchar, int, int, char, varchar, varchar, int, int, char, varchar, varchar, int, int, char, varchar, varchar, int, int, char, varchar, varchar, int, int, char, varchar, varchar, int, int, char, varchar, varchar, int, int, char, varchar, varchar, int, int, char, varchar, varchar, int, int, char, varchar, varchar, int, int, char, varchar, varchar, int, int, char, varchar, varchar, int, int, char, varchar, varchar, int, int, char # type -% 8, 24, 6, 1362, 9, 10, 26, 5, 5, 5, 11, 14, 4, 1, 3, 16, 14, 4, 1, 3, 16, 14, 4, 1, 3, 27, 12, 4, 1, 3, 9, 9, 2, 1, 3, 14, 14, 4, 1, 3, 12, 14, 3, 1, 3, 11, 7, 2, 1, 3, 11, 7, 2, 1, 3, 8, 6, 2, 1, 3, 6, 6, 2, 1, 3, 6, 7, 2, 1, 3, 8, 7, 2, 1, 3, 6, 7, 2, 1, 3, 9, 7, 1, 1, 3, 6, 7, 1, 1, 3 # length _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list