Changeset: 7a1f3b8a96b1 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7a1f3b8a96b1
Modified Files:
clients/Tests/MAL-signatures.stable.out.int128
monetdb5/modules/atoms/00_json_hge.mal
sql/backends/monet5/sql_gencode.c
sql/backends/monet5/sql_upgrades.c
sql/common/sql_types.c
sql/scripts/40_json.sql
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/sql_xml/Tests/funcs.sql
sql/test/sys-schema/Tests/systemfunctions.stable.out
sql/test/sys-schema/Tests/systemfunctions.stable.out.int128
Branch: Nov2019
Log Message:
Added type checking on "monet5_resolve_function". Some small bugs were fixed:
- The MAL command filter(name:json, idx:hge) :json belongs to json module
instead of iterator.
- The SQL functions json.text(js string) : string and json.text(js int) :
string, didn't have a MAL implementation, so they ere removed.
- The first argument to sql.copy_from function is a 'ptr' type instead of 'str'.
diffs (truncated from 317 to 300 lines):
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
@@ -15536,8 +15536,6 @@ stdout of test 'MAL-signatures` in direc
[ "io", "stderr", "pattern io.stderr():streams ", "io_stderr;",
"return the error stream for the database console" ]
[ "io", "stdin", "pattern io.stdin():bstream ", "io_stdin;",
"return the input stream to the database client" ]
[ "io", "stdout", "pattern io.stdout():streams ", "io_stdout;",
"return the output stream for the database client" ]
-[ "iterator", "filter", "command iterator.filter(name:json, idx:hge,
other:str):json ", "JSONfilterArrayDefault_hge;", "" ]
-[ "iterator", "filter", "command iterator.filter(name:json,
idx:hge):json ", "JSONfilterArray_hge;", "" ]
[ "iterator", "new", "pattern iterator.new(b:bat[:any_2]) (h:oid, t:any_2)
", "ITRbunIterator;", "Process the buns one by one extracted from a
void table." ]
[ "iterator", "new", "command iterator.new(b:bat[:any_2], size:lng)
(X_0:lng, X_1:bat[:any_2]) ", "ITRnewChunk;", "Create an iterator with fixed
granule size.\n\t The result is a view." ]
[ "iterator", "next", "pattern iterator.next(b:bat[:any_2]) (h:oid, t:any_2)
", "ITRbunNext;", "Produce the next bun for processing." ]
@@ -15554,10 +15552,12 @@ stdout of test 'MAL-signatures` in direc
[ "json", "dump", "command json.dump(j:json):void ", "JSONdump;",
"" ]
[ "json", "filter", "command json.filter(name:json,
pathexpr:str):json ", "JSONfilter;", "Filter all members of an object by a
path expression, returning an array.\nNon-matching elements are skipped." ]
[ "json", "filter", "command json.filter(name:json, idx:bte,
other:str):json ", "JSONfilterArrayDefault_bte;", "" ]
+[ "json", "filter", "command json.filter(name:json, idx:hge,
other:str):json ", "JSONfilterArrayDefault_hge;", "" ]
[ "json", "filter", "command json.filter(name:json, idx:int,
other:str):json ", "JSONfilterArrayDefault_int;", "" ]
[ "json", "filter", "command json.filter(name:json, idx:lng,
other:str):json ", "JSONfilterArrayDefault_lng;", "Extract a single array
element" ]
[ "json", "filter", "command json.filter(name:json, idx:sht,
other:str):json ", "JSONfilterArrayDefault_sht;", "" ]
[ "json", "filter", "command json.filter(name:json, idx:bte):json
", "JSONfilterArray_bte;", "" ]
+[ "json", "filter", "command json.filter(name:json, idx:hge):json
", "JSONfilterArray_hge;", "" ]
[ "json", "filter", "command json.filter(name:json, idx:int):json
", "JSONfilterArray_int;", "" ]
[ "json", "filter", "command json.filter(name:json, idx:lng):json
", "JSONfilterArray_lng;", "" ]
[ "json", "filter", "command json.filter(name:json, idx:sht):json
", "JSONfilterArray_sht;", "" ]
diff --git a/monetdb5/modules/atoms/00_json_hge.mal
b/monetdb5/modules/atoms/00_json_hge.mal
--- a/monetdb5/modules/atoms/00_json_hge.mal
+++ b/monetdb5/modules/atoms/00_json_hge.mal
@@ -4,6 +4,8 @@
#
# Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
+module json;
+
command filter(name:json, idx:hge) :json
address JSONfilterArray_hge;
command filter(name:json, idx:hge, other:str) :json
diff --git a/sql/backends/monet5/sql_gencode.c
b/sql/backends/monet5/sql_gencode.c
--- a/sql/backends/monet5/sql_gencode.c
+++ b/sql/backends/monet5/sql_gencode.c
@@ -868,17 +868,52 @@ monet5_resolve_function(ptr M, sql_func
return 1;
if (mname == aggrRef && fname == countRef)
return 1;
- if (mname == sqlRef && (fname == first_valueRef || fname == minRef ||
fname == maxRef))
+ if (mname == sqlRef && (fname == first_valueRef || fname == lagRef ||
fname == leadRef || fname == nth_valueRef || fname == ntileRef ||
+ fname == minRef || fname == maxRef || fname == countRef ||
fname == prodRef || fname == sumRef || fname == avgRef))
return 1;
c = MCgetClient(sql->clientid);
for (m = findModule(c->usermodule, mname); m; m = m->link) {
for (Symbol s = findSymbolInModule(m, fname); s; s = s->peer) {
InstrPtr sig = getSignature(s);
- int argc = sig->argc - sig->retc, fargs =
list_length(f->ops);
+ int argc = sig->argc - sig->retc, nfargs =
list_length(f->ops), nfres = list_length(f->res);
+
+ if ((sig->varargs & VARARGS) == VARARGS && f->vararg)
+ return 1;
+ else if (nfargs == argc && nfres == sig->retc) { /*
check for types of inputs and outputs */
+ bool all_match = true;
+ if (nfres != 0) { /* if function has output
variables, test types are equivalent */
+ int i = 0;
+ for (node *n = f->res->h; n &&
all_match; n = n->next, i++) {
+ sql_arg *arg = (sql_arg *)
n->data;
+ int nsql_tpe =
arg->type.type->localtype;
+ int nmal_tpe =
getArgType(s->def, sig, i);
+ if (isaBatType(nmal_tpe))
+ nmal_tpe =
getBatType(nmal_tpe);
- if (fargs == argc || (sig->varargs & VARARGS) ==
VARARGS)
- return 1;
+ /* any/void types allways match
*/
+ if (nsql_tpe != TYPE_any &&
nmal_tpe != TYPE_any && nsql_tpe != TYPE_void && nmal_tpe != TYPE_void)
+ all_match = nsql_tpe ==
nmal_tpe;
+ }
+ }
+
+ if (all_match && nfargs != 0) { /* if function
has arguments, test types are equivalent */
+ int i = sig->retc;
+ for (node *n = f->ops->h; n &&
all_match; n = n->next, i++) {
+ sql_arg *arg = (sql_arg *)
n->data;
+ int nsql_tpe =
arg->type.type->localtype;
+ int nmal_tpe =
getArgType(s->def, sig, i);
+ if (isaBatType(nmal_tpe))
+ nmal_tpe =
getBatType(nmal_tpe);
+
+ /* any/void types allways match
*/
+ if (nsql_tpe != TYPE_any &&
nmal_tpe != TYPE_any && nsql_tpe != TYPE_void && nmal_tpe != TYPE_void)
+ all_match = nsql_tpe ==
nmal_tpe;
+ }
+ }
+ if (all_match)
+ return 1;
+ }
}
}
return 0;
diff --git a/sql/backends/monet5/sql_upgrades.c
b/sql/backends/monet5/sql_upgrades.c
--- a/sql/backends/monet5/sql_upgrades.c
+++ b/sql/backends/monet5/sql_upgrades.c
@@ -2241,6 +2241,16 @@ sql_update_nov2019(Client c, mvc *sql, c
"update sys.functions set system = true where schema_id
= (select id from sys.schemas where name = 'wlr')"
" and name in ('master', 'stop', 'accept', 'replicate',
'beat') and type = %d;\n", (int) F_PROC);
+ /* The MAL implementation of functions json.text(string) and
json.text(int) do not exist */
+ pos += snprintf(buf + pos, bufsize - pos,
+ "drop function json.text(string);\n"
+ "drop function json.text(int);\n");
+
+ /* The first argument to copyfrom is a PTR type */
+ pos += snprintf(buf + pos, bufsize - pos,
+ "update \"sys\".\"args\" set \"type\" = 'ptr' where"
+ " \"func_id\" = (select \"id\" from
\"sys\".\"functions\" where \"name\" = 'copyfrom' and \"func\" = 'copy_from'
and \"mod\" = 'sql') and \"name\" = 'arg_1';\n");
+
pos += snprintf(buf + pos, bufsize - pos, "set schema \"%s\";\n",
prev_schema);
assert(pos < bufsize);
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
@@ -1409,7 +1409,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;
@@ -1419,7 +1419,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");
@@ -2158,7 +2158,7 @@ sqltypeinit( sql_allocator *sa)
/* 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(sa_list(sa),
- create_arg(sa, NULL, sql_create_subtype(sa, STR, 0, 0),
ARG_IN)),
+ 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/scripts/40_json.sql b/sql/scripts/40_json.sql
--- a/sql/scripts/40_json.sql
+++ b/sql/scripts/40_json.sql
@@ -81,12 +81,6 @@ GRANT EXECUTE ON FUNCTION json.valuearra
create function json.text(js json)
returns string external name json.text;
GRANT EXECUTE ON FUNCTION json.text(json) TO PUBLIC;
-create function json.text(js string)
-returns string external name json.text;
-GRANT EXECUTE ON FUNCTION json.text(string) TO PUBLIC;
-create function json.text(js int)
-returns string external name json.text;
-GRANT EXECUTE ON FUNCTION json.text(int) TO PUBLIC;
-- The remainder awaits the implementation
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
@@ -2149,10 +2149,8 @@ drop function pcre_replace(string, strin
[ "json", "length", "SYSTEM", "create function json.length(js
json) returns integer external name json.length;", "json", "MAL", "Scalar
function", false, false, false, "result", "int", 32, 0,
"out", "js", "json", 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, NULL, NULL, NULL, NULL, NULL ]
[ "json", "number", "SYSTEM", "create function json.number(js
json) returns float external name json.number;", "json", "MAL", "Scalar
function", false, false, false, "result", "double", 53,
0, "out", "js", "json", 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, NULL, NULL, NULL, NULL, NULL ]
[ "json", "output", "SYSTEM", "create aggregate
json.output(js json) returns string external name json.output;", "json",
"MAL", "Aggregate function", false, false, false, "result", "clob",
0, 0, "out", "js", "json", 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, NULL, NULL, NULL, NULL, NULL ]
-[ "json", "text", "SYSTEM", "create function json.text(js int)
returns string external name json.text;", "json", "MAL", "Scalar function",
false, false, false, "result", "clob", 0, 0, "out",
"js", "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, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL ]
[ "json", "text", "SYSTEM", "create function json.text(js json)
returns string external name json.text;", "json", "MAL", "Scalar function",
false, false, false, "result", "clob", 0, 0, "out",
"js", "json", 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,
NULL, NULL, NULL, NULL, NULL ]
[ "json", "text", "SYSTEM", "create function json.text(js json, e
string) returns string external name json.text;", "json", "MAL", "Scalar
function", false, false, false, "result", "clob", 0, 0,
"out", "js", "json", 0, 0, "in", "e", "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 ]
-[ "json", "text", "SYSTEM", "create function json.text(js string)
returns string external name json.text;", "json", "MAL", "Scalar function",
false, false, false, "result", "clob", 0, 0, "out", "js",
"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, NULL,
NULL, NULL, NULL, NULL ]
[ "json", "tojsonarray", "SYSTEM", "create aggregate
json.tojsonarray(x double) returns string external name aggr.jsonaggr;",
"aggr", "MAL", "Aggregate function", false, false, false, "result",
"clob", 0, 0, "out", "x", "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, NULL, NULL, NULL, NULL, NULL
]
[ "json", "tojsonarray", "SYSTEM", "create aggregate
json.tojsonarray(x string) returns string external name aggr.jsonaggr;",
"aggr", "MAL", "Aggregate function", false, false, false, "result",
"clob", 0, 0, "out", "x", "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, NULL, NULL, NULL, NULL, NULL ]
[ "json", "valuearray", "SYSTEM", "create function
json.valuearray(js json) returns json external name json.valuearray;", "json",
"MAL", "Scalar function", false, false, false, "result", "json",
0, 0, "out", "js", "json", 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, NULL, NULL, NULL, NULL, NULL ]
@@ -2286,7 +2284,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", "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", "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
]
@@ -5059,8 +5057,6 @@ drop function pcre_replace(string, strin
[ "text", "public", "EXECUTE", "monetdb", 0 ]
[ "text", "public", "EXECUTE", "monetdb", 0 ]
[ "text", "public", "EXECUTE", "monetdb", 0 ]
-[ "text", "public", "EXECUTE", "monetdb", 0 ]
-[ "text", "public", "EXECUTE", "monetdb", 0 ]
[ "time_to_str", "public", "EXECUTE", "monetdb", 0
]
[ "timestamp_to_str", "public", "EXECUTE", "monetdb", 0
]
[ "tojsonarray", "public", "EXECUTE", "monetdb", 0
]
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
@@ -2149,10 +2149,8 @@ drop function pcre_replace(string, strin
[ "json", "length", "SYSTEM", "create function json.length(js
json) returns integer external name json.length;", "json", "MAL", "Scalar
function", false, false, false, "result", "int", 32, 0,
"out", "js", "json", 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, NULL, NULL, NULL, NULL, NULL ]
[ "json", "number", "SYSTEM", "create function json.number(js
json) returns float external name json.number;", "json", "MAL", "Scalar
function", false, false, false, "result", "double", 53,
0, "out", "js", "json", 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, NULL, NULL, NULL, NULL, NULL ]
[ "json", "output", "SYSTEM", "create aggregate
json.output(js json) returns string external name json.output;", "json",
"MAL", "Aggregate function", false, false, false, "result", "clob",
0, 0, "out", "js", "json", 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, NULL, NULL, NULL, NULL, NULL ]
-[ "json", "text", "SYSTEM", "create function json.text(js int)
returns string external name json.text;", "json", "MAL", "Scalar function",
false, false, false, "result", "clob", 0, 0, "out",
"js", "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, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL ]
[ "json", "text", "SYSTEM", "create function json.text(js json)
returns string external name json.text;", "json", "MAL", "Scalar function",
false, false, false, "result", "clob", 0, 0, "out",
"js", "json", 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,
NULL, NULL, NULL, NULL, NULL ]
[ "json", "text", "SYSTEM", "create function json.text(js json, e
string) returns string external name json.text;", "json", "MAL", "Scalar
function", false, false, false, "result", "clob", 0, 0,
"out", "js", "json", 0, 0, "in", "e", "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 ]
-[ "json", "text", "SYSTEM", "create function json.text(js string)
returns string external name json.text;", "json", "MAL", "Scalar function",
false, false, false, "result", "clob", 0, 0, "out", "js",
"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, NULL,
NULL, NULL, NULL, NULL ]
[ "json", "tojsonarray", "SYSTEM", "create aggregate
json.tojsonarray(x double) returns string external name aggr.jsonaggr;",
"aggr", "MAL", "Aggregate function", false, false, false, "result",
"clob", 0, 0, "out", "x", "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, NULL, NULL, NULL, NULL, NULL
]
[ "json", "tojsonarray", "SYSTEM", "create aggregate
json.tojsonarray(x string) returns string external name aggr.jsonaggr;",
"aggr", "MAL", "Aggregate function", false, false, false, "result",
"clob", 0, 0, "out", "x", "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, NULL, NULL, NULL, NULL, NULL ]
[ "json", "valuearray", "SYSTEM", "create function
json.valuearray(js json) returns json external name json.valuearray;", "json",
"MAL", "Scalar function", false, false, false, "result", "json",
0, 0, "out", "js", "json", 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, NULL, NULL, NULL, NULL, NULL ]
@@ -2286,7 +2284,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", "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", "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
]
@@ -5059,8 +5057,6 @@ drop function pcre_replace(string, strin
[ "text", "public", "EXECUTE", "monetdb", 0 ]
[ "text", "public", "EXECUTE", "monetdb", 0 ]
[ "text", "public", "EXECUTE", "monetdb", 0 ]
-[ "text", "public", "EXECUTE", "monetdb", 0 ]
-[ "text", "public", "EXECUTE", "monetdb", 0 ]
[ "time_to_str", "public", "EXECUTE", "monetdb", 0
]
[ "timestamp_to_str", "public", "EXECUTE", "monetdb", 0
]
[ "tojsonarray", "public", "EXECUTE", "monetdb", 0
]
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
@@ -2162,10 +2162,8 @@ drop function pcre_replace(string, strin
[ "json", "length", "SYSTEM", "create function json.length(js
json) returns integer external name json.length;", "json", "MAL", "Scalar
function", false, false, false, "result", "int", 32, 0,
"out", "js", "json", 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, NULL, NULL, NULL, NULL, NULL ]
[ "json", "number", "SYSTEM", "create function json.number(js
json) returns float external name json.number;", "json", "MAL", "Scalar
function", false, false, false, "result", "double", 53,
0, "out", "js", "json", 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, NULL, NULL, NULL, NULL, NULL ]
[ "json", "output", "SYSTEM", "create aggregate
json.output(js json) returns string external name json.output;", "json",
"MAL", "Aggregate function", false, false, false, "result", "clob",
0, 0, "out", "js", "json", 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, NULL, NULL, NULL, NULL, NULL ]
-[ "json", "text", "SYSTEM", "create function json.text(js int)
returns string external name json.text;", "json", "MAL", "Scalar function",
false, false, false, "result", "clob", 0, 0, "out",
"js", "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, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL ]
[ "json", "text", "SYSTEM", "create function json.text(js json)
returns string external name json.text;", "json", "MAL", "Scalar function",
false, false, false, "result", "clob", 0, 0, "out",
"js", "json", 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,
NULL, NULL, NULL, NULL, NULL ]
[ "json", "text", "SYSTEM", "create function json.text(js json, e
string) returns string external name json.text;", "json", "MAL", "Scalar
function", false, false, false, "result", "clob", 0, 0,
"out", "js", "json", 0, 0, "in", "e", "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 ]
-[ "json", "text", "SYSTEM", "create function json.text(js string)
returns string external name json.text;", "json", "MAL", "Scalar function",
false, false, false, "result", "clob", 0, 0, "out", "js",
"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, NULL,
NULL, NULL, NULL, NULL ]
[ "json", "tojsonarray", "SYSTEM", "create aggregate
json.tojsonarray(x double) returns string external name aggr.jsonaggr;",
"aggr", "MAL", "Aggregate function", false, false, false, "result",
"clob", 0, 0, "out", "x", "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, NULL, NULL, NULL, NULL, NULL
]
[ "json", "tojsonarray", "SYSTEM", "create aggregate
json.tojsonarray(x string) returns string external name aggr.jsonaggr;",
"aggr", "MAL", "Aggregate function", false, false, false, "result",
"clob", 0, 0, "out", "x", "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, NULL, NULL, NULL, NULL, NULL ]
[ "json", "valuearray", "SYSTEM", "create function
json.valuearray(js json) returns json external name json.valuearray;", "json",
"MAL", "Scalar function", false, false, false, "result", "json",
0, 0, "out", "js", "json", 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, NULL, NULL, NULL, NULL, NULL ]
@@ -2311,7 +2309,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", "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", "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
]
@@ -5286,8 +5284,6 @@ drop function pcre_replace(string, strin
[ "text", "public", "EXECUTE", "monetdb", 0 ]
[ "text", "public", "EXECUTE", "monetdb", 0 ]
[ "text", "public", "EXECUTE", "monetdb", 0 ]
-[ "text", "public", "EXECUTE", "monetdb", 0 ]
-[ "text", "public", "EXECUTE", "monetdb", 0 ]
[ "time_to_str", "public", "EXECUTE", "monetdb", 0
]
[ "timestamp_to_str", "public", "EXECUTE", "monetdb", 0
]
[ "tojsonarray", "public", "EXECUTE", "monetdb", 0
]
diff --git a/sql/test/sql_xml/Tests/funcs.sql b/sql/test/sql_xml/Tests/funcs.sql
--- a/sql/test/sql_xml/Tests/funcs.sql
+++ b/sql/test/sql_xml/Tests/funcs.sql
@@ -12,7 +12,7 @@ CREATE FUNCTION str (s XML) RETURNS STRI
CREATE FUNCTION "comment" (s STRING) RETURNS xml external name xml.comment;
CREATE FUNCTION parse (doccont STRING, val STRING, "option" STRING) RETURNS
xml external name xml.parse;
CREATE FUNCTION pi (nme STRING, val STRING) RETURNS xml external name xml.pi;
-CREATE FUNCTION root (val STRING, version STRING, standalone STRING) RETURNS
xml external name xml.root;
+CREATE FUNCTION root (val XML, version STRING, standalone STRING) RETURNS xml
external name xml.root;
CREATE FUNCTION attribute (nme STRING, val STRING) RETURNS xml external name
xml.attribute;
CREATE FUNCTION "element" (nme STRING, ns xml, attr xml, s xml) RETURNS xml
external name xml.element;
CREATE FUNCTION concat (val1 xml, val2 xml) RETURNS xml external name
xml.concat;
diff --git a/sql/test/sys-schema/Tests/systemfunctions.stable.out
b/sql/test/sys-schema/Tests/systemfunctions.stable.out
--- a/sql/test/sys-schema/Tests/systemfunctions.stable.out
+++ b/sql/test/sys-schema/Tests/systemfunctions.stable.out
@@ -92,10 +92,6 @@ stdout of test 'systemfunctions` in dire
[ "json", "text", 2, "clob", "" ]
[ "json", "text", 0, "clob", "create function json.text(js
json)\nreturns string external name json.text;" ]
[ "json", "text", 1, "json", "" ]
-[ "json", "text", 0, "clob", "create function json.text(js
string)\nreturns string external name json.text;" ]
-[ "json", "text", 1, "clob", "" ]
-[ "json", "text", 0, "clob", "create function json.text(js
int)\nreturns string external name json.text;" ]
-[ "json", "text", 1, "int", "" ]
[ "json", "tojsonarray", 0, "clob", "create aggregate
json.tojsonarray( x string ) returns string external name aggr.jsonaggr;" ]
[ "json", "tojsonarray", 1, "clob", "" ]
[ "json", "tojsonarray", 0, "clob", "create aggregate
json.tojsonarray( x double ) returns string external name aggr.jsonaggr;" ]
@@ -432,7 +428,7 @@ stdout of test 'systemfunctions` in dire
[ "sys", "contains", 2, "double", "" ]
[ "sys", "contains", 3, "double", "" ]
[ "sys", "copyfrom", 0, "table", "copy_from" ]
-[ "sys", "copyfrom", 1, "varchar", "" ]
+[ "sys", "copyfrom", 1, "ptr", "" ]
[ "sys", "copyfrom", 2, "varchar", "" ]
[ "sys", "copyfrom", 3, "varchar", "" ]
[ "sys", "copyfrom", 4, "varchar", "" ]
diff --git a/sql/test/sys-schema/Tests/systemfunctions.stable.out.int128
b/sql/test/sys-schema/Tests/systemfunctions.stable.out.int128
--- a/sql/test/sys-schema/Tests/systemfunctions.stable.out.int128
+++ b/sql/test/sys-schema/Tests/systemfunctions.stable.out.int128
@@ -95,10 +95,6 @@ stdout of test 'systemfunctions` in dire
[ "json", "text", 2, "clob", "" ]
[ "json", "text", 0, "clob", "create function json.text(js
json)\nreturns string external name json.text;" ]
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list