Changeset: 6acdbaad699c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6acdbaad699c
Modified Files:
sql/backends/monet5/sql_upgrades.c
sql/server/sql_env.c
sql/storage/store.c
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.ppc64.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.ppc64.int128
sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/emptydb-upgrade/Tests/upgrade.stable.out
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit
sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
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/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade-hge/Tests/upgrade.stable.out.int128
sql/test/testdb-upgrade/Tests/upgrade.stable.out
sql/test/testdb-upgrade/Tests/upgrade.stable.out.32bit
sql/test/testdb-upgrade/Tests/upgrade.stable.out.int128
Branch: default
Log Message:
Upgrade sys.env().
This is quite hacky since env is created in C code.
diffs (truncated from 351 to 300 lines):
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
@@ -2897,7 +2897,7 @@ sql_update_default_lidar(Client c)
static str
sql_update_default(Client c, mvc *sql, const char *prev_schema)
{
- size_t bufsize = 2048, pos = 0;
+ size_t bufsize = 4096, pos = 0;
char *err = NULL, *buf = GDKmalloc(bufsize);
sql_schema *sys = mvc_bind_schema(sql, "sys");
res_table *output;
@@ -2906,8 +2906,6 @@ sql_update_default(Client c, mvc *sql, c
if (buf == NULL)
throw(SQL, __func__, SQLSTATE(HY013) MAL_MALLOC_FAIL);
- /* TODO drop/recreate env(), ie mal function changed */
-
/* if column 6 of sys.queue is named "progress" we need to update */
pos += snprintf(buf + pos, bufsize - pos,
"select name from sys._columns where table_id = (select
id from sys._tables where name = 'queue' and schema_id = (select id from
sys.schemas where name = 'sys')) and number = 6;\n");
@@ -2924,6 +2922,17 @@ sql_update_default(Client c, mvc *sql, c
pos += snprintf(buf + pos, bufsize - pos,
"set schema \"sys\";\n");
+ /* the real update of sys.env() has happened
+ * in load_func, here we merely update the
+ * sys.functions table */
+ pos += snprintf(buf + pos, bufsize - pos,
+ "update sys.functions set"
+ " mod = 'inspect',"
+ " func = 'CREATE FUNCTION env() RETURNS
TABLE( name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect.\"getEnvironment\";'"
+ " where schema_id = (select id from
sys.schemas where name = 'sys')"
+ " and name = 'env' and type = %d;\n",
+ (int) F_UNION);
+
/* 26_sysmon */
sql_table *t;
t = mvc_bind_table(sql, sys, "queue");
diff --git a/sql/server/sql_env.c b/sql/server/sql_env.c
--- a/sql/server/sql_env.c
+++ b/sql/server/sql_env.c
@@ -89,7 +89,7 @@ sql_create_env(mvc *m, sql_schema *s)
/* add function */
ops = sa_list(m->sa);
- mvc_create_func(m, NULL, s, "env", ops, res, F_UNION, FUNC_LANG_SQL,
"sql", "sql_environment", "CREATE FUNCTION env () RETURNS TABLE( name
varchar(1024), value varchar(2048)) EXTERNAL NAME inspect.\"getEnvironment\";",
FALSE, FALSE, TRUE);
+ mvc_create_func(m, NULL, s, "env", ops, res, F_UNION, FUNC_LANG_SQL,
"inspect", "getEnvironment", "CREATE FUNCTION env() RETURNS TABLE( name
varchar(1024), value varchar(2048)) EXTERNAL NAME inspect.\"getEnvironment\";",
FALSE, FALSE, TRUE);
res = sa_list(m->sa);
list_append(res, sql_create_arg(m->sa, "schema",
sql_bind_localtype("str"), ARG_OUT));
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -1034,14 +1034,24 @@ load_func(sql_trans *tr, sql_schema *s,
sql_schema *syss = find_sql_schema(tr, "sys");
sql_table *funcs = find_sql_table(syss, "functions");
oid rid;
+ bool update_env; /* hacky way to update env function */
rid = table_funcs.column_find_row(tr, find_sql_column(funcs, "id"),
&fid, NULL);
v = table_funcs.column_find_value(tr, find_sql_column(funcs, "name"),
rid);
+ update_env = strcmp(v, "env") == 0;
base_init(tr->sa, &t->base, fid, 0, v); _DELETE(v);
v = table_funcs.column_find_value(tr, find_sql_column(funcs, "func"),
rid);
- t->imp = (v)?sa_strdup(tr->sa, v):NULL; _DELETE(v);
+ update_env = update_env && strstr(v, "EXTERNAL NAME
sql.sql_environment") != NULL;
+ if (update_env) {
+ /* see creation of env in sql_create_env()
+ * also see upgrade code in sql_upgrades.c */
+ v = "CREATE FUNCTION env() RETURNS TABLE( name varchar(1024),
value varchar(2048)) EXTERNAL NAME inspect.\"getEnvironment\";";
+ }
+ t->imp = (v)?sa_strdup(tr->sa, v):NULL; if (!update_env) _DELETE(v);
v = table_funcs.column_find_value(tr, find_sql_column(funcs, "mod"),
rid);
- t->mod = (v)?sa_strdup(tr->sa, v):NULL; _DELETE(v);
+ if (update_env)
+ v = "inspect";
+ t->mod = (v)?sa_strdup(tr->sa, v):NULL; if (!update_env) _DELETE(v);
v = table_funcs.column_find_value(tr, find_sql_column(funcs,
"language"), rid);
t->lang = (sql_flang) *(int *)v; _DELETE(v);
v = table_funcs.column_find_value(tr, find_sql_column(funcs, "type"),
rid);
diff --git a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
@@ -18,6 +18,7 @@ stdout of test 'upgrade` in directory 's
# MonetDB/GIS module loaded
Running database upgrade commands:
set schema "sys";
+update sys.functions set mod = 'inspect', func = 'CREATE FUNCTION env()
RETURNS TABLE( name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect."getEnvironment";' where schema_id = (select id from sys.schemas where
name = 'sys') and name = 'env' and type = 5;
drop view sys.queue;
drop function sys.queue;
create function sys.queue()
diff --git
a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.ppc64.int128
b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.ppc64.int128
--- a/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.ppc64.int128
+++ b/sql/test/emptydb-upgrade-chain-hge/Tests/upgrade.stable.out.ppc64.int128
@@ -18,6 +18,7 @@ stdout of test 'upgrade` in directory 's
# MonetDB/GIS module loaded
Running database upgrade commands:
set schema "sys";
+update sys.functions set mod = 'inspect', func = 'CREATE FUNCTION env()
RETURNS TABLE( name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect."getEnvironment";' where schema_id = (select id from sys.schemas where
name = 'sys') and name = 'env' and type = 5;
drop view sys.queue;
drop function sys.queue;
create function sys.queue()
diff --git a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
--- a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
+++ b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out
@@ -18,6 +18,7 @@ stdout of test 'upgrade` in directory 's
# MonetDB/GIS module loaded
Running database upgrade commands:
set schema "sys";
+update sys.functions set mod = 'inspect', func = 'CREATE FUNCTION env()
RETURNS TABLE( name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect."getEnvironment";' where schema_id = (select id from sys.schemas where
name = 'sys') and name = 'env' and type = 5;
drop view sys.queue;
drop function sys.queue;
create function sys.queue()
diff --git a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
--- a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
+++ b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.32bit
@@ -18,6 +18,7 @@ stdout of test 'upgrade` in directory 's
# MonetDB/GIS module loaded
Running database upgrade commands:
set schema "sys";
+update sys.functions set mod = 'inspect', func = 'CREATE FUNCTION env()
RETURNS TABLE( name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect."getEnvironment";' where schema_id = (select id from sys.schemas where
name = 'sys') and name = 'env' and type = 5;
drop view sys.queue;
drop function sys.queue;
create function sys.queue()
diff --git a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.int128
@@ -5978,6 +5978,7 @@ set schema "sys";
Running database upgrade commands:
set schema "sys";
+update sys.functions set mod = 'inspect', func = 'CREATE FUNCTION env()
RETURNS TABLE( name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect."getEnvironment";' where schema_id = (select id from sys.schemas where
name = 'sys') and name = 'env' and type = 5;
drop view sys.queue;
drop function sys.queue;
create function sys.queue()
diff --git
a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.ppc64.int128
b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.ppc64.int128
--- a/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.ppc64.int128
+++ b/sql/test/emptydb-upgrade-chain/Tests/upgrade.stable.out.ppc64.int128
@@ -1021,7 +1021,7 @@ insert into sys.functions values (251, '
insert into sys.args values (31612, 251, 'res_0', 'boolean', 1, 0, 0, 0);
insert into sys.args values (31613, 251, 'arg_1', 'boolean', 1, 0, 1, 1);
insert into sys.args values (31614, 251, 'arg_2', 'boolean', 1, 0, 1, 2);
-insert into sys.functions values (252, 'or', 'or', 'calc', 0, 1, false, false,
false, 2000, true, false);
+insert into sys.functions values (252, 'or', 'or', 'calc', 0, 1, false, false,
false, 2000, true, true);
insert into sys.args values (31615, 252, 'res_0', 'boolean', 1, 0, 0, 0);
insert into sys.args values (31616, 252, 'arg_1', 'boolean', 1, 0, 1, 1);
insert into sys.args values (31617, 252, 'arg_2', 'boolean', 1, 0, 1, 2);
@@ -5978,6 +5978,7 @@ set schema "sys";
Running database upgrade commands:
set schema "sys";
+update sys.functions set mod = 'inspect', func = 'CREATE FUNCTION env()
RETURNS TABLE( name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect."getEnvironment";' where schema_id = (select id from sys.schemas where
name = 'sys') and name = 'env' and type = 5;
drop view sys.queue;
drop function sys.queue;
create function sys.queue()
diff --git a/sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
b/sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-upgrade-hge/Tests/upgrade.stable.out.int128
@@ -23,6 +23,7 @@ drop procedure sys.lidarexport(string, s
Running database upgrade commands:
set schema "sys";
+update sys.functions set mod = 'inspect', func = 'CREATE FUNCTION env()
RETURNS TABLE( name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect."getEnvironment";' where schema_id = (select id from sys.schemas where
name = 'sys') and name = 'env' and type = 5;
drop view sys.queue;
drop function sys.queue;
create function sys.queue()
diff --git a/sql/test/emptydb-upgrade/Tests/upgrade.stable.out
b/sql/test/emptydb-upgrade/Tests/upgrade.stable.out
--- a/sql/test/emptydb-upgrade/Tests/upgrade.stable.out
+++ b/sql/test/emptydb-upgrade/Tests/upgrade.stable.out
@@ -23,6 +23,7 @@ drop procedure sys.lidarexport(string, s
Running database upgrade commands:
set schema "sys";
+update sys.functions set mod = 'inspect', func = 'CREATE FUNCTION env()
RETURNS TABLE( name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect."getEnvironment";' where schema_id = (select id from sys.schemas where
name = 'sys') and name = 'env' and type = 5;
drop view sys.queue;
drop function sys.queue;
create function sys.queue()
diff --git a/sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit
b/sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit
--- a/sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit
+++ b/sql/test/emptydb-upgrade/Tests/upgrade.stable.out.32bit
@@ -23,6 +23,7 @@ drop procedure sys.lidarexport(string, s
Running database upgrade commands:
set schema "sys";
+update sys.functions set mod = 'inspect', func = 'CREATE FUNCTION env()
RETURNS TABLE( name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect."getEnvironment";' where schema_id = (select id from sys.schemas where
name = 'sys') and name = 'env' and type = 5;
drop view sys.queue;
drop function sys.queue;
create function sys.queue()
diff --git a/sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
b/sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
--- a/sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
+++ b/sql/test/emptydb-upgrade/Tests/upgrade.stable.out.int128
@@ -5983,6 +5983,7 @@ drop procedure sys.lidarexport(string, s
Running database upgrade commands:
set schema "sys";
+update sys.functions set mod = 'inspect', func = 'CREATE FUNCTION env()
RETURNS TABLE( name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect."getEnvironment";' where schema_id = (select id from sys.schemas where
name = 'sys') and name = 'env' and type = 5;
drop view sys.queue;
drop function sys.queue;
create function sys.queue()
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
@@ -1047,7 +1047,7 @@ create function sys.deltas ("schema" str
create function sys.deltas ("schema" string, "table" string) returns table
("id" int, "cleared" boolean, "immutable" bigint, "inserted" bigint, "updates"
bigint, "deletes" bigint, "level" int) external name "sql"."deltas";
create function sys.deltas ("schema" string, "table" string, "column" string)
returns table ("id" int, "cleared" boolean, "immutable" bigint, "inserted"
bigint, "updates" bigint, "deletes" bigint, "level" int) external name
"sql"."deltas";
create procedure sys.droporderindex(sys string, tab string, col string)
external name sql.droporderindex;
-CREATE FUNCTION env () RETURNS TABLE(name varchar(1024), value varchar(2048))
EXTERNAL NAME inspect."getEnvironment";
+CREATE FUNCTION env() RETURNS TABLE(name varchar(1024), value varchar(2048))
EXTERNAL NAME inspect."getEnvironment";
create function sys.epoch(sec bigint) returns timestamp with time zone
external name mtime.epoch;
create function sys.epoch(sec int) returns timestamp with time zone external
name mtime.epoch;
create function sys.epoch(ts timestamp with time zone) returns int external
name mtime.epoch;
@@ -2476,7 +2476,7 @@ drop function pcre_replace(string, strin
[ "sys.functions", "sys", "editdistance2", "SYSTEM",
"editdistance2", "txtsim", "Internal C", "Scalar function",
false, false, false, true, "res_0", "int", 32, 0, "out",
"arg_1", "char", 0, 0, "in", "arg_2", "char", 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.functions", "sys", "editdistance2", "SYSTEM",
"editdistance2", "txtsim", "Internal C", "Scalar function",
false, false, false, true, "res_0", "int", 32, 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.functions", "sys", "editdistance2", "SYSTEM",
"editdistance2", "txtsim", "Internal C", "Scalar function",
false, false, false, true, "res_0", "int", 32, 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.functions", "sys", "env", "SYSTEM", "CREATE FUNCTION env ()
RETURNS TABLE(name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect.\"getEnvironment\";", "sql", "SQL", "Function returning a
table", false, false, false, true, "name", "varchar", 1024, 0,
"out", "value", "varchar", 2048, 0, "out", NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, 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.functions", "sys", "env", "SYSTEM", "CREATE FUNCTION env()
RETURNS TABLE(name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect.\"getEnvironment\";", "inspect", "SQL", "Function returning
a table", false, false, false, true, "name", "varchar", 1024, 0,
"out", "value", "varchar", 2048, 0, "out", NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, 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.functions", "sys", "epoch", "SYSTEM", "create
function sys.epoch(sec bigint) returns timestamp with time zone external name
mtime.epoch;", "mtime", "MAL", "Scalar function", false,
false, false, true, "result", "timestamptz", 7, 0, "out",
"sec", "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.functions", "sys", "epoch", "SYSTEM", "create
function sys.epoch(sec int) returns timestamp with time zone external name
mtime.epoch;", "mtime", "MAL", "Scalar function", false,
false, false, true, "result", "timestamptz", 7, 0, "out",
"sec", "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.functions", "sys", "epoch", "SYSTEM", "create
function sys.epoch(ts timestamp with time zone) returns int external name
mtime.epoch;", "mtime", "MAL", "Scalar function", false,
false, false, true, "result", "int", 32, 0, "out", "ts",
"timestamptz", 7, 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 ]
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
@@ -1047,7 +1047,7 @@ create function sys.deltas ("schema" str
create function sys.deltas ("schema" string, "table" string) returns table
("id" int, "cleared" boolean, "immutable" bigint, "inserted" bigint, "updates"
bigint, "deletes" bigint, "level" int) external name "sql"."deltas";
create function sys.deltas ("schema" string, "table" string, "column" string)
returns table ("id" int, "cleared" boolean, "immutable" bigint, "inserted"
bigint, "updates" bigint, "deletes" bigint, "level" int) external name
"sql"."deltas";
create procedure sys.droporderindex(sys string, tab string, col string)
external name sql.droporderindex;
-CREATE FUNCTION env () RETURNS TABLE(name varchar(1024), value varchar(2048))
EXTERNAL NAME inspect."getEnvironment";
+CREATE FUNCTION env() RETURNS TABLE(name varchar(1024), value varchar(2048))
EXTERNAL NAME inspect."getEnvironment";
create function sys.epoch(sec bigint) returns timestamp with time zone
external name mtime.epoch;
create function sys.epoch(sec int) returns timestamp with time zone external
name mtime.epoch;
create function sys.epoch(ts timestamp with time zone) returns int external
name mtime.epoch;
@@ -2476,7 +2476,7 @@ drop function pcre_replace(string, strin
[ "sys.functions", "sys", "editdistance2", "SYSTEM",
"editdistance2", "txtsim", "Internal C", "Scalar function",
false, false, false, true, "res_0", "int", 32, 0, "out",
"arg_1", "char", 0, 0, "in", "arg_2", "char", 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.functions", "sys", "editdistance2", "SYSTEM",
"editdistance2", "txtsim", "Internal C", "Scalar function",
false, false, false, true, "res_0", "int", 32, 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.functions", "sys", "editdistance2", "SYSTEM",
"editdistance2", "txtsim", "Internal C", "Scalar function",
false, false, false, true, "res_0", "int", 32, 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.functions", "sys", "env", "SYSTEM", "CREATE FUNCTION env ()
RETURNS TABLE(name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect.\"getEnvironment\";", "sql", "SQL", "Function returning a
table", false, false, false, true, "name", "varchar", 1024, 0,
"out", "value", "varchar", 2048, 0, "out", NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, 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.functions", "sys", "env", "SYSTEM", "CREATE FUNCTION env()
RETURNS TABLE(name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect.\"getEnvironment\";", "inspect", "SQL", "Function returning
a table", false, false, false, true, "name", "varchar", 1024, 0,
"out", "value", "varchar", 2048, 0, "out", NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, 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.functions", "sys", "epoch", "SYSTEM", "create
function sys.epoch(sec bigint) returns timestamp with time zone external name
mtime.epoch;", "mtime", "MAL", "Scalar function", false,
false, false, true, "result", "timestamptz", 7, 0, "out",
"sec", "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.functions", "sys", "epoch", "SYSTEM", "create
function sys.epoch(sec int) returns timestamp with time zone external name
mtime.epoch;", "mtime", "MAL", "Scalar function", false,
false, false, true, "result", "timestamptz", 7, 0, "out",
"sec", "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.functions", "sys", "epoch", "SYSTEM", "create
function sys.epoch(ts timestamp with time zone) returns int external name
mtime.epoch;", "mtime", "MAL", "Scalar function", false,
false, false, true, "result", "int", 32, 0, "out", "ts",
"timestamptz", 7, 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 ]
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
@@ -1053,7 +1053,7 @@ create function sys.deltas ("schema" str
create function sys.deltas ("schema" string, "table" string) returns table
("id" int, "cleared" boolean, "immutable" bigint, "inserted" bigint, "updates"
bigint, "deletes" bigint, "level" int) external name "sql"."deltas";
create function sys.deltas ("schema" string, "table" string, "column" string)
returns table ("id" int, "cleared" boolean, "immutable" bigint, "inserted"
bigint, "updates" bigint, "deletes" bigint, "level" int) external name
"sql"."deltas";
create procedure sys.droporderindex(sys string, tab string, col string)
external name sql.droporderindex;
-CREATE FUNCTION env () RETURNS TABLE(name varchar(1024), value varchar(2048))
EXTERNAL NAME inspect."getEnvironment";
+CREATE FUNCTION env() RETURNS TABLE(name varchar(1024), value varchar(2048))
EXTERNAL NAME inspect."getEnvironment";
create function sys.epoch(sec bigint) returns timestamp with time zone
external name mtime.epoch;
create function sys.epoch(sec int) returns timestamp with time zone external
name mtime.epoch;
create function sys.epoch(ts timestamp with time zone) returns int external
name mtime.epoch;
@@ -2516,7 +2516,7 @@ drop function pcre_replace(string, strin
[ "sys.functions", "sys", "editdistance2", "SYSTEM",
"editdistance2", "txtsim", "Internal C", "Scalar function",
false, false, false, true, "res_0", "int", 32, 0, "out",
"arg_1", "char", 0, 0, "in", "arg_2", "char", 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.functions", "sys", "editdistance2", "SYSTEM",
"editdistance2", "txtsim", "Internal C", "Scalar function",
false, false, false, true, "res_0", "int", 32, 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.functions", "sys", "editdistance2", "SYSTEM",
"editdistance2", "txtsim", "Internal C", "Scalar function",
false, false, false, true, "res_0", "int", 32, 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.functions", "sys", "env", "SYSTEM", "CREATE FUNCTION env ()
RETURNS TABLE(name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect.\"getEnvironment\";", "sql", "SQL", "Function returning a
table", false, false, false, true, "name", "varchar", 1024, 0,
"out", "value", "varchar", 2048, 0, "out", NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, 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.functions", "sys", "env", "SYSTEM", "CREATE FUNCTION env()
RETURNS TABLE(name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect.\"getEnvironment\";", "inspect", "SQL", "Function returning
a table", false, false, false, true, "name", "varchar", 1024, 0,
"out", "value", "varchar", 2048, 0, "out", NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL,
NULL, NULL, NULL, NULL, NULL, 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.functions", "sys", "epoch", "SYSTEM", "create
function sys.epoch(sec bigint) returns timestamp with time zone external name
mtime.epoch;", "mtime", "MAL", "Scalar function", false,
false, false, true, "result", "timestamptz", 7, 0, "out",
"sec", "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.functions", "sys", "epoch", "SYSTEM", "create
function sys.epoch(sec int) returns timestamp with time zone external name
mtime.epoch;", "mtime", "MAL", "Scalar function", false,
false, false, true, "result", "timestamptz", 7, 0, "out",
"sec", "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.functions", "sys", "epoch", "SYSTEM", "create
function sys.epoch(ts timestamp with time zone) returns int external name
mtime.epoch;", "mtime", "MAL", "Scalar function", false,
false, false, true, "result", "int", 32, 0, "out", "ts",
"timestamptz", 7, 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 ]
diff --git a/sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
b/sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
--- a/sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
+++ b/sql/test/testdb-upgrade-chain-hge/Tests/upgrade.stable.out.int128
@@ -18,6 +18,7 @@ stdout of test 'upgrade` in directory 's
# MonetDB/GIS module loaded
Running database upgrade commands:
set schema "sys";
+update sys.functions set mod = 'inspect', func = 'CREATE FUNCTION env()
RETURNS TABLE( name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect."getEnvironment";' where schema_id = (select id from sys.schemas where
name = 'sys') and name = 'env' and type = 5;
drop view sys.queue;
drop function sys.queue;
create function sys.queue()
diff --git a/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
b/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
--- a/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
+++ b/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out
@@ -17,6 +17,7 @@ stdout of test 'upgrade` in directory 's
# MonetDB/GIS module loaded
Running database upgrade commands:
set schema "sys";
+update sys.functions set mod = 'inspect', func = 'CREATE FUNCTION env()
RETURNS TABLE( name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect."getEnvironment";' where schema_id = (select id from sys.schemas where
name = 'sys') and name = 'env' and type = 5;
drop view sys.queue;
drop function sys.queue;
create function sys.queue()
diff --git a/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
b/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
--- a/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
+++ b/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.32bit
@@ -17,6 +17,7 @@ stdout of test 'upgrade` in directory 's
# MonetDB/GIS module loaded
Running database upgrade commands:
set schema "sys";
+update sys.functions set mod = 'inspect', func = 'CREATE FUNCTION env()
RETURNS TABLE( name varchar(1024), value varchar(2048)) EXTERNAL NAME
inspect."getEnvironment";' where schema_id = (select id from sys.schemas where
name = 'sys') and name = 'env' and type = 5;
drop view sys.queue;
drop function sys.queue;
create function sys.queue()
diff --git a/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
b/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
--- a/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
+++ b/sql/test/testdb-upgrade-chain/Tests/upgrade.stable.out.int128
@@ -5977,6 +5977,7 @@ set schema "sys";
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list