Changeset: 274dd36dafe6 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=274dd36dafe6 Modified Files: sql/backends/monet5/sql_cat.c sql/backends/monet5/sql_gencode.c sql/common/sql_backend.c sql/common/sql_backend.h sql/common/sql_types.c sql/common/sql_types.h sql/server/rel_psm.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:
Find backend implementation for SQL basic functions at server startup. Removed 'not_uniques' and 'in' functions as they don't have a backend implementation. This fixes bug 6813 diffs (truncated from 357 to 300 lines): diff --git a/sql/backends/monet5/sql_cat.c b/sql/backends/monet5/sql_cat.c --- a/sql/backends/monet5/sql_cat.c +++ b/sql/backends/monet5/sql_cat.c @@ -771,6 +771,7 @@ create_func(mvc *sql, char *sname, char char is_func = (f->type != F_PROC); char *F = is_aggr ? "AGGREGATE" : (is_func ? "FUNCTION" : "PROCEDURE"); char *KF = f->type == F_FILT ? "FILTER " : f->type == F_UNION ? "UNION " : ""; + int clientid = sql->clientid; (void)fname; if (sname && !(s = mvc_bind_schema(sql, sname))) @@ -782,7 +783,7 @@ create_func(mvc *sql, char *sname, char switch (nf->lang) { case FUNC_LANG_INT: case FUNC_LANG_MAL: /* shouldn't be reachable, but leave it here */ - if (!backend_resolve_function(sql, nf)) + if (!backend_resolve_function(&clientid, nf)) throw(SQL,"sql.create_func", SQLSTATE(3F000) "CREATE %s%s: external name %s.%s not bound", KF, F, nf->mod, nf->base.name); if (nf->query == NULL) break; 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 @@ -901,7 +901,7 @@ monet5_resolve_function(ptr M, sql_func { Client c; Module m; - mvc *sql = (mvc *) M; + int clientID = *(int*) M; str mname = getName(f->mod), fname = getName(f->imp); if (!mname || !fname) @@ -910,12 +910,12 @@ monet5_resolve_function(ptr M, sql_func /* Some SQL functions MAL mapping such as count(*) aggregate, the number of arguments don't match */ if (mname == calcRef && fname == getName("=")) return 1; - if (mname == aggrRef && fname == countRef) + if (mname == aggrRef && (fname == countRef || fname == count_no_nilRef)) return 1; if (f->type == F_ANALYTIC) return 1; - c = MCgetClient(sql->clientid); + c = MCgetClient(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); @@ -1156,7 +1156,7 @@ backend_create_sql_func(backend *be, sql if (!f->sql && (f->lang == FUNC_LANG_INT || f->lang == FUNC_LANG_MAL)) { if (f->lang == FUNC_LANG_MAL && !f->imp && !mal_function_find_implementation_address(m, f)) return -1; - if (!backend_resolve_function(be->mvc, f)) { + if (!backend_resolve_function(&(be->mvc->clientid), f)) { if (f->lang == FUNC_LANG_INT) (void) sql_error(m, 02, SQLSTATE(HY005) "Implementation for function %s.%s not found", f->mod, f->imp); else diff --git a/sql/common/sql_backend.c b/sql/common/sql_backend.c --- a/sql/common/sql_backend.c +++ b/sql/common/sql_backend.c @@ -22,7 +22,6 @@ * for the duration of a session. */ - #include "monetdb_config.h" #include "sql_backend.h" diff --git a/sql/common/sql_backend.h b/sql/common/sql_backend.h --- a/sql/common/sql_backend.h +++ b/sql/common/sql_backend.h @@ -12,7 +12,6 @@ #include "sql_mem.h" #include "sql_catalog.h" #include "sql_relation.h" -#include "sql_types.h" typedef void (*freestack_fptr) (int clientid, backend_stack stk); typedef void (*freecode_fptr) (int clientid, backend_code code, backend_stack stk, int nr, char *name); 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 @@ -23,7 +23,6 @@ #ifdef HAVE_HGE #include "mal.h" /* for have_hge */ #endif -#include <string.h> list *aliases = NULL; list *types = NULL; @@ -1040,6 +1039,7 @@ sql_create_func_(sql_allocator *sa, cons list *ops = sa_list(sa); sql_arg *fres = NULL; sql_func *t = SA_ZNEW(sa, sql_func); + int clientID = 0; for (int i = 0; i < nargs; i++) { sql_type *tpe = va_arg(valist, sql_type*); @@ -1066,6 +1066,10 @@ sql_create_func_(sql_allocator *sa, cons t->s = NULL; t->system = TRUE; list_append(funcs, t); + + if (strlen(imp) && strlen(mod)) /* grouping aggregate doesn't have a backend */ + assert(backend_resolve_function(&clientID, t)); + return t; } @@ -1278,18 +1282,17 @@ sqltypeinit( sql_allocator *sa) *t = NULL; // sql_create_func(sa, "st_pointfromtext", "geom", "st_pointformtext", FALSE, SCALE_NONE, 0, OID, 1, OID); - sql_create_aggr(sa, "grouping", "sql", "grouping", BTE, 1, ANY); - sql_create_aggr(sa, "grouping", "sql", "grouping", SHT, 1, ANY); - sql_create_aggr(sa, "grouping", "sql", "grouping", INT, 1, ANY); - sql_create_aggr(sa, "grouping", "sql", "grouping", LNG, 1, ANY); + /* The grouping aggregate doesn't have a backend implementation. It gets replaced at rel_unnest */ + sql_create_aggr(sa, "grouping", "", "", BTE, 1, ANY); + sql_create_aggr(sa, "grouping", "", "", SHT, 1, ANY); + sql_create_aggr(sa, "grouping", "", "", INT, 1, ANY); + sql_create_aggr(sa, "grouping", "", "", LNG, 1, ANY); #ifdef HAVE_HGE - sql_create_aggr(sa, "grouping", "sql", "grouping", HGE, 1, ANY); + sql_create_aggr(sa, "grouping", "", "", HGE, 1, ANY); #endif sql_create_aggr(sa, "not_unique", "sql", "not_unique", BIT, 1, OID); /* well to be precise it does reduce and map */ - sql_create_func(sa, "not_uniques", "sql", "not_uniques", FALSE, SCALE_NONE, 0, OID, 1, LNG); - sql_create_func(sa, "not_uniques", "sql", "not_uniques", FALSE, SCALE_NONE, 0, OID, 1, OID); /* functions needed for all types */ sql_create_func(sa, "hash", "mkey", "hash", FALSE, SCALE_FIX, 0, LNG, 1, ANY); @@ -1316,7 +1319,6 @@ sqltypeinit( sql_allocator *sa) sql_create_func(sa, "sql_exists", "aggr", "exist", FALSE, SCALE_NONE, 0, BIT, 1, ANY); sql_create_func(sa, "sql_not_exists", "aggr", "not_exist", FALSE, SCALE_NONE, 0, BIT, 1, ANY); /* needed for relational version */ - sql_create_func(sa, "in", "calc", "in", FALSE, SCALE_NONE, 0, BIT, 2, ANY, ANY); sql_create_func(sa, "identity", "calc", "identity", FALSE, SCALE_NONE, 0, OID, 1, ANY); sql_create_func(sa, "rowid", "calc", "identity", FALSE, SCALE_NONE, 0, INT, 1, ANY); /* needed for indices/clusters oid(schema.table,val) returns max(head(schema.table))+1 */ diff --git a/sql/common/sql_types.h b/sql/common/sql_types.h --- a/sql/common/sql_types.h +++ b/sql/common/sql_types.h @@ -14,6 +14,7 @@ #include "sql_string.h" #include "sql_catalog.h" #include "sql_storage.h" +#include "sql_backend.h" #include "stream.h" extern list *aliases; diff --git a/sql/server/rel_psm.c b/sql/server/rel_psm.c --- a/sql/server/rel_psm.c +++ b/sql/server/rel_psm.c @@ -994,6 +994,7 @@ rel_create_func(sql_query *query, dlist } else { /* MAL implementation */ char *fmod = qname_module(ext_name); char *fnme = qname_fname(ext_name); + int clientid = sql->clientid; if (!fmod || !fnme) return NULL; @@ -1021,7 +1022,7 @@ rel_create_func(sql_query *query, dlist if (!f) f = sf->func; assert(f); - if (!backend_resolve_function(sql, f)) + if (!backend_resolve_function(&clientid, f)) return sql_error(sql, 01, SQLSTATE(3F000) "CREATE %s: external name %s.%s not bound (%s.%s)", F, fmod, fnme, s->base.name, fname ); } } 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 @@ -588,7 +588,6 @@ SYSTEM FUNCTION sys.identity SYSTEM FUNCTION sys.ifthenelse SYSTEM FILTER FUNCTION sys.ilike SYSTEM FUNCTION sys.imprintsize -SYSTEM FUNCTION sys.in SYSTEM FUNCTION sys.index SYSTEM FUNCTION sys.insert SYSTEM FUNCTION sys.internaltransform @@ -665,7 +664,6 @@ SYSTEM AGGREGATE sys.not_exist SYSTEM FUNCTION sys.not_ilike SYSTEM FUNCTION sys.not_like SYSTEM AGGREGATE sys.not_unique -SYSTEM FUNCTION sys.not_uniques SYSTEM FUNCTION sys.nth_value SYSTEM FUNCTION sys.ntile SYSTEM AGGREGATE sys.null @@ -2630,7 +2628,6 @@ drop function pcre_replace(string, strin [ "sys", "ilike", "SYSTEM", "create filter function \"ilike\"(val string, pat string) external name algebra.\"ilike\";", "algebra", "MAL", "Filter function", false, false, false, "val", "clob", 0, 0, "in", "pat", "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 ] [ "sys", "ilike", "SYSTEM", "create filter function \"ilike\"(val string, pat string, esc string) external name algebra.\"ilike\";", "algebra", "MAL", "Filter function", false, false, false, "val", "clob", 0, 0, "in", "pat", "clob", 0, 0, "in", "esc", "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", "imprintsize", "SYSTEM", "create function sys.imprintsize(tpe varchar(1024), count bigint) returns bigint begin if tpe in ('tinyint', 'boolean') then return cast(0.2 * count as bigint); end if; if tpe = 'smallint' then return cast(0.4 * count as bigint); end if; if tpe in ('int', 'real', 'date', 'time', 'timetz', 'sec_interval', 'month_interval') then return cast(0.8 * count as bigint); end if; if tpe in ('bigint', 'double', 'timestamp', 'timestamptz', 'inet', 'oid') then return cast(1.6 * count as bigint); end if; if tpe in ('hugeint', 'decimal', 'uuid', 'mbr') then return cast(3.2 * count as bigint); end if; return 0; end;", "user", "SQL", "Scalar function", false, false, false, "result", "bigint", 64, 0, "out", "tpe", "varchar", 1024, 0, "in", "count", "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, N ULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 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", "in", "SYSTEM", "in", "calc", "Internal C", "Scalar function", false, false, false, "res_0", "boolean", 1, 0, "out", "arg_1", "any", 0, 0, "in", "arg_2", "any", 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", "index", "SYSTEM", "index", "calc", "Internal C", "Scalar function", false, false, false, "res_0", "int", 32, 0, "out", "arg_1", "char", 0, 0, "in", "arg_2", "boolean", 1, 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", "index", "SYSTEM", "index", "calc", "Internal C", "Scalar function", false, false, false, "res_0", "int", 32, 0, "out", "arg_1", "clob", 0, 0, "in", "arg_2", "boolean", 1, 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", "index", "SYSTEM", "index", "calc", "Internal C", "Scalar function", false, false, false, "res_0", "int", 32, 0, "out", "arg_1", "varchar", 0, 0, "in", "arg_2", "boolean", 1, 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 ] @@ -2840,8 +2837,6 @@ drop function pcre_replace(string, strin [ "sys", "not_like", "SYSTEM", "not_like", "algebra", "Internal C", "Scalar function", false, false, false, "res_0", "boolean", 1, 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", "not_like", "SYSTEM", "not_like", "algebra", "Internal C", "Scalar function", false, false, false, "res_0", "boolean", 1, 0, "out", "arg_1", "varchar", 0, 0, "in", "arg_2", "varchar", 0, 0, "in", "arg_3", "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 ] [ "sys", "not_unique", "SYSTEM", "not_unique", "sql", "Internal C", "Aggregate function", false, false, false, "res", "boolean", 1, 0, "out", "arg", "oid", 63, 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 ] -[ "sys", "not_uniques", "SYSTEM", "not_uniques", "sql", "Internal C", "Scalar function", false, false, false, "res_0", "oid", 63, 0, "out", "arg_1", "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, NULL, NULL, NULL, NULL, NULL ] -[ "sys", "not_uniques", "SYSTEM", "not_uniques", "sql", "Internal C", "Scalar function", false, false, false, "res_0", "oid", 63, 0, "out", "arg_1", "oid", 63, 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 ] [ "sys", "nth_value", "SYSTEM", "nth_value", "sql", "Internal C", "Analytic function", false, false, false, "res_0", "any", 0, 0, "out", "arg_1", "any", 0, 0, "in", "arg_2", "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", "nth_value", "SYSTEM", "nth_value", "sql", "Internal C", "Analytic function", false, false, false, "res_0", "any", 0, 0, "out", "arg_1", "any", 0, 0, "in", "arg_2", "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 ] [ "sys", "nth_value", "SYSTEM", "nth_value", "sql", "Internal C", "Analytic function", false, false, false, "res_0", "any", 0, 0, "out", "arg_1", "any", 0, 0, "in", "arg_2", "smallint", 16, 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 @@ -590,7 +590,6 @@ SYSTEM FUNCTION sys.identity SYSTEM FUNCTION sys.ifthenelse SYSTEM FILTER FUNCTION sys.ilike SYSTEM FUNCTION sys.imprintsize -SYSTEM FUNCTION sys.in SYSTEM FUNCTION sys.index SYSTEM FUNCTION sys.insert SYSTEM FUNCTION sys.internaltransform @@ -667,7 +666,6 @@ SYSTEM AGGREGATE sys.not_exist SYSTEM FUNCTION sys.not_ilike SYSTEM FUNCTION sys.not_like SYSTEM AGGREGATE sys.not_unique -SYSTEM FUNCTION sys.not_uniques SYSTEM FUNCTION sys.nth_value SYSTEM FUNCTION sys.ntile SYSTEM AGGREGATE sys.null @@ -2622,7 +2620,6 @@ drop function pcre_replace(string, strin [ "sys", "ilike", "SYSTEM", "create filter function \"ilike\"(val string, pat string) external name algebra.\"ilike\";", "algebra", "MAL", "Filter function", false, false, false, "val", "clob", 0, 0, "in", "pat", "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 ] [ "sys", "ilike", "SYSTEM", "create filter function \"ilike\"(val string, pat string, esc string) external name algebra.\"ilike\";", "algebra", "MAL", "Filter function", false, false, false, "val", "clob", 0, 0, "in", "pat", "clob", 0, 0, "in", "esc", "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", "imprintsize", "SYSTEM", "create function sys.imprintsize(tpe varchar(1024), count bigint) returns bigint begin if tpe in ('tinyint', 'boolean') then return cast(0.2 * count as bigint); end if; if tpe = 'smallint' then return cast(0.4 * count as bigint); end if; if tpe in ('int', 'real', 'date', 'time', 'timetz', 'sec_interval', 'month_interval') then return cast(0.8 * count as bigint); end if; if tpe in ('bigint', 'double', 'timestamp', 'timestamptz', 'inet', 'oid') then return cast(1.6 * count as bigint); end if; if tpe in ('hugeint', 'decimal', 'uuid', 'mbr') then return cast(3.2 * count as bigint); end if; return 0; end;", "user", "SQL", "Scalar function", false, false, false, "result", "bigint", 64, 0, "out", "tpe", "varchar", 1024, 0, "in", "count", "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, N ULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 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", "in", "SYSTEM", "in", "calc", "Internal C", "Scalar function", false, false, false, "res_0", "boolean", 1, 0, "out", "arg_1", "any", 0, 0, "in", "arg_2", "any", 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", "index", "SYSTEM", "index", "calc", "Internal C", "Scalar function", false, false, false, "res_0", "int", 32, 0, "out", "arg_1", "char", 0, 0, "in", "arg_2", "boolean", 1, 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", "index", "SYSTEM", "index", "calc", "Internal C", "Scalar function", false, false, false, "res_0", "int", 32, 0, "out", "arg_1", "clob", 0, 0, "in", "arg_2", "boolean", 1, 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", "index", "SYSTEM", "index", "calc", "Internal C", "Scalar function", false, false, false, "res_0", "int", 32, 0, "out", "arg_1", "varchar", 0, 0, "in", "arg_2", "boolean", 1, 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 @@ -588,7 +588,6 @@ SYSTEM FUNCTION sys.identity SYSTEM FUNCTION sys.ifthenelse SYSTEM FILTER FUNCTION sys.ilike SYSTEM FUNCTION sys.imprintsize -SYSTEM FUNCTION sys.in SYSTEM FUNCTION sys.index SYSTEM FUNCTION sys.insert SYSTEM FUNCTION sys.internaltransform @@ -665,7 +664,6 @@ SYSTEM AGGREGATE sys.not_exist SYSTEM FUNCTION sys.not_ilike SYSTEM FUNCTION sys.not_like SYSTEM AGGREGATE sys.not_unique -SYSTEM FUNCTION sys.not_uniques SYSTEM FUNCTION sys.nth_value SYSTEM FUNCTION sys.ntile SYSTEM AGGREGATE sys.null @@ -2651,11 +2649,11 @@ drop function pcre_replace(string, strin [ "sys", "group_concat", "SYSTEM", "create aggregate sys.group_concat(str string, sep string) returns string external name \"aggr\".\"str_group_concat\";", "aggr", "MAL", "Aggregate function", false, false, false, "result", "clob", 0, 0, "out", "str", "clob", 0, 0, "in", "sep", "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", "group_concat", "SYSTEM", "create window sys.group_concat(str string) returns string external name \"sql\".\"str_group_concat\";", "sql", "MAL", "Analytic function", false, false, false, "result", "clob", 0, 0, "out", "str", "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 ] [ "sys", "group_concat", "SYSTEM", "create window sys.group_concat(str string, sep string) returns string external name \"sql\".\"str_group_concat\";", "sql", "MAL", "Analytic function", false, false, false, "result", "clob", 0, 0, "out", "str", "clob", 0, 0, "in", "sep", "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", "grouping", "SYSTEM", "grouping", "sql", "Internal C", "Aggregate function", false, false, false, "res", "bigint", 64, 0, "out", "arg", "any", 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 ] -[ "sys", "grouping", "SYSTEM", "grouping", "sql", "Internal C", "Aggregate function", false, false, false, "res", "hugeint", 128, 0, "out", "arg", "any", 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 ] -[ "sys", "grouping", "SYSTEM", "grouping", "sql", "Internal C", "Aggregate function", false, false, false, "res", "int", 32, 0, "out", "arg", "any", 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 ] -[ "sys", "grouping", "SYSTEM", "grouping", "sql", "Internal C", "Aggregate function", false, false, false, "res", "smallint", 16, 0, "out", "arg", "any", 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 ] -[ "sys", "grouping", "SYSTEM", "grouping", "sql", "Internal C", "Aggregate function", false, false, false, "res", "tinyint", 8, 0, "out", "arg", "any", 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 ] +[ "sys", "grouping", "SYSTEM", "", "", "Internal C", "Aggregate function", false, false, false, "res", "bigint", 64, 0, "out", "arg", "any", 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 ] +[ "sys", "grouping", "SYSTEM", "", "", "Internal C", "Aggregate function", false, false, false, "res", "hugeint", 128, 0, "out", "arg", "any", 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 ] +[ "sys", "grouping", "SYSTEM", "", "", "Internal C", "Aggregate function", false, false, false, "res", "int", 32, 0, "out", "arg", "any", 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 ] +[ "sys", "grouping", "SYSTEM", "", "", "Internal C", "Aggregate function", false, false, false, "res", "smallint", 16, 0, "out", "arg", "any", 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 ] +[ "sys", "grouping", "SYSTEM", "", "", "Internal C", "Aggregate function", false, false, false, "res", "tinyint", 8, 0, "out", "arg", "any", 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 ] [ "sys", "has_m", "SYSTEM", "create function has_m(info integer) returns integer external name geom.\"hasM\";", "geom", "MAL", "Scalar function", false, false, false, "result", "int", 32, 0, "out", "info", "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 ] [ "sys", "has_z", "SYSTEM", "create function has_z(info integer) returns integer external name geom.\"hasZ\";", "geom", "MAL", "Scalar function", false, false, false, "result", "int", 32, 0, "out", "info", "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 ] [ "sys", "hash", "SYSTEM", "hash", "mkey", "Internal C", "Scalar function", false, false, false, "res_0", "bigint", 64, 0, "out", "arg_1", "any", 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 ] @@ -2674,7 +2672,6 @@ drop function pcre_replace(string, strin [ "sys", "ilike", "SYSTEM", "create filter function \"ilike\"(val string, pat string) external name algebra.\"ilike\";", "algebra", "MAL", "Filter function", false, false, false, "val", "clob", 0, 0, "in", "pat", "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 ] [ "sys", "ilike", "SYSTEM", "create filter function \"ilike\"(val string, pat string, esc string) external name algebra.\"ilike\";", "algebra", "MAL", "Filter function", false, false, false, "val", "clob", 0, 0, "in", "pat", "clob", 0, 0, "in", "esc", "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", "imprintsize", "SYSTEM", "create function sys.imprintsize(tpe varchar(1024), count bigint) returns bigint begin if tpe in ('tinyint', 'boolean') then return cast(0.2 * count as bigint); end if; if tpe = 'smallint' then return cast(0.4 * count as bigint); end if; if tpe in ('int', 'real', 'date', 'time', 'timetz', 'sec_interval', 'month_interval') then return cast(0.8 * count as bigint); end if; if tpe in ('bigint', 'double', 'timestamp', 'timestamptz', 'inet', 'oid') then return cast(1.6 * count as bigint); end if; if tpe in ('hugeint', 'decimal', 'uuid', 'mbr') then return cast(3.2 * count as bigint); end if; return 0; end;", "user", "SQL", "Scalar function", false, false, false, "result", "bigint", 64, 0, "out", "tpe", "varchar", 1024, 0, "in", "count", "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, N ULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, 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", "in", "SYSTEM", "in", "calc", "Internal C", "Scalar function", false, false, false, "res_0", "boolean", 1, 0, "out", "arg_1", "any", 0, 0, "in", "arg_2", "any", 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", "index", "SYSTEM", "index", "calc", "Internal C", "Scalar function", false, false, false, "res_0", "int", 32, 0, "out", "arg_1", "char", 0, 0, "in", "arg_2", "boolean", 1, 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", "index", "SYSTEM", "index", "calc", "Internal C", "Scalar function", false, false, false, "res_0", "int", 32, 0, "out", "arg_1", "clob", 0, 0, "in", "arg_2", "boolean", 1, 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", "index", "SYSTEM", "index", "calc", "Internal C", "Scalar function", false, false, false, "res_0", "int", 32, 0, "out", "arg_1", "varchar", 0, 0, "in", "arg_2", "boolean", 1, 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 ] @@ -2894,8 +2891,6 @@ drop function pcre_replace(string, strin [ "sys", "not_like", "SYSTEM", "not_like", "algebra", "Internal C", "Scalar function", false, false, false, "res_0", "boolean", 1, 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", "not_like", "SYSTEM", "not_like", "algebra", "Internal C", "Scalar function", false, false, false, "res_0", "boolean", 1, 0, "out", "arg_1", "varchar", 0, 0, "in", "arg_2", "varchar", 0, 0, "in", "arg_3", "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 ] [ "sys", "not_unique", "SYSTEM", "not_unique", "sql", "Internal C", "Aggregate function", false, false, false, "res", "boolean", 1, 0, "out", "arg", "oid", 63, 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 ] -[ "sys", "not_uniques", "SYSTEM", "not_uniques", "sql", "Internal C", "Scalar function", false, false, false, "res_0", "oid", 63, 0, "out", "arg_1", "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, NULL, NULL, NULL, NULL, NULL ] -[ "sys", "not_uniques", "SYSTEM", "not_uniques", "sql", "Internal C", "Scalar function", false, false, false, "res_0", "oid", 63, 0, "out", "arg_1", "oid", 63, 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 ] [ "sys", "nth_value", "SYSTEM", "nth_value", "sql", "Internal C", "Analytic function", false, false, false, "res_0", "any", 0, 0, "out", "arg_1", "any", 0, 0, "in", "arg_2", "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", "nth_value", "SYSTEM", "nth_value", "sql", "Internal C", "Analytic function", false, false, false, "res_0", "any", 0, 0, "out", "arg_1", "any", 0, 0, "in", "arg_2", "hugeint", 128, 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", "nth_value", "SYSTEM", "nth_value", "sql", "Internal C", "Analytic function", false, false, false, "res_0", "any", 0, 0, "out", "arg_1", "any", 0, 0, "in", "arg_2", "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 ] 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 @@ -902,9 +902,6 @@ stdout of test 'systemfunctions` in dire [ "sys", "imprintsize", 0, "bigint", "create function sys.imprintsize(tpe varchar(1024), count bigint)\nreturns bigint\nbegin\n \n if tpe in ('tinyint', 'boolean')\n then return cast(0.2 * count as bigint);\n end if;\n if tpe = 'smallint'\n then return cast(0.4 * count as bigint);\n end if;\n if tpe in ('int', 'real', 'date', 'time', 'timetz', 'sec_interval', 'month_interval')\n then return cast(0.8 * count as bigint);\n end if;\n if tpe in ('bigint', 'double', 'timestamp', 'timestamptz', 'inet', 'oid')\n then return cast(1.6 * count as bigint);\n end if;\n \n if tpe in ('hugeint', 'decimal', 'uuid', 'mbr')\n then return cast(3.2 * count as bigint);\n end if;\n \n return 0;\nend;" ] [ "sys", "imprintsize", 1, "varchar", "" ] [ "sys", "imprintsize", 2, "bigint", "" ] -[ "sys", "in", 0, "boolean", "in" ] -[ "sys", "in", 1, "any", "" ] -[ "sys", "in", 2, "any", "" ] [ "sys", "index", 0, "tinyint", "index" ] [ "sys", "index", 1, "char", "" ] _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list