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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list