Changeset: ae5fb2cba073 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/ae5fb2cba073 Modified Files: clients/Tests/MAL-signatures-hge.test clients/Tests/MAL-signatures.test sql/backends/monet5/Tests/insertonly_persist.SQL.py sql/backends/monet5/sql.c sql/backends/monet5/sql_upgrades.c sql/test/emptydb/Tests/check.stable.out sql/test/emptydb/Tests/check.stable.out.32bit sql/test/emptydb/Tests/check.stable.out.int128 Branch: insertonly Log Message:
Approve signatures and emptydb tests. diffs (179 lines): diff --git a/clients/Tests/MAL-signatures-hge.test b/clients/Tests/MAL-signatures-hge.test --- a/clients/Tests/MAL-signatures-hge.test +++ b/clients/Tests/MAL-signatures-hge.test @@ -49665,14 +49665,19 @@ SQLinclude; Compile and execute a sql statements on the file sql insertonly_persist -unsafe pattern sql.insertonly_persist(X_0:str) (X_1:bat[:str], X_2:bat[:lng], X_3:bat[:lng]) +unsafe pattern sql.insertonly_persist() (X_0:bat[:str], X_1:bat[:int], X_2:bat[:lng]) SQLinsertonly_persist; -Persist deltas on append only tables in schema s. +Persist deltas on append only tables in current schema sql insertonly_persist -unsafe pattern sql.insertonly_persist(X_0:str, X_1:str) (X_2:bat[:str], X_3:bat[:lng], X_4:bat[:lng]) +unsafe pattern sql.insertonly_persist(X_0:str) (X_1:bat[:str], X_2:bat[:int], X_3:bat[:lng]) SQLinsertonly_persist; -Persist deltas on append only table in schema s table t. +Persist deltas on append only tables in schema s +sql +insertonly_persist +unsafe pattern sql.insertonly_persist(X_0:str, X_1:str) (X_2:bat[:str], X_3:bat[:int], X_4:bat[:lng]) +SQLinsertonly_persist; +Persist deltas on append only table in schema s table t sql lag pattern sql.lag(X_0:any_1, X_1:any, X_2:any_1, X_3:bit, X_4:bit):any_1 diff --git a/clients/Tests/MAL-signatures.test b/clients/Tests/MAL-signatures.test --- a/clients/Tests/MAL-signatures.test +++ b/clients/Tests/MAL-signatures.test @@ -38070,14 +38070,19 @@ SQLinclude; Compile and execute a sql statements on the file sql insertonly_persist -unsafe pattern sql.insertonly_persist(X_0:str) (X_1:bat[:str], X_2:bat[:lng], X_3:bat[:lng]) +unsafe pattern sql.insertonly_persist() (X_0:bat[:str], X_1:bat[:int], X_2:bat[:lng]) SQLinsertonly_persist; -Persist deltas on append only tables in schema s. +Persist deltas on append only tables in current schema sql insertonly_persist -unsafe pattern sql.insertonly_persist(X_0:str, X_1:str) (X_2:bat[:str], X_3:bat[:lng], X_4:bat[:lng]) +unsafe pattern sql.insertonly_persist(X_0:str) (X_1:bat[:str], X_2:bat[:int], X_3:bat[:lng]) SQLinsertonly_persist; -Persist deltas on append only table in schema s table t. +Persist deltas on append only tables in schema s +sql +insertonly_persist +unsafe pattern sql.insertonly_persist(X_0:str, X_1:str) (X_2:bat[:str], X_3:bat[:int], X_4:bat[:lng]) +SQLinsertonly_persist; +Persist deltas on append only table in schema s table t sql lag pattern sql.lag(X_0:any_1, X_1:any, X_2:any_1, X_3:bit, X_4:bit):any_1 diff --git a/sql/backends/monet5/Tests/insertonly_persist.SQL.py b/sql/backends/monet5/Tests/insertonly_persist.SQL.py --- a/sql/backends/monet5/Tests/insertonly_persist.SQL.py +++ b/sql/backends/monet5/Tests/insertonly_persist.SQL.py @@ -21,8 +21,15 @@ with tempfile.TemporaryDirectory() as fa tc.execute("ALTER TABLE foo SET INSERT ONLY").assertSucceeded() tc.execute("INSERT INTO foo SELECT * FROM generate_series(0,500)") tc.execute("SELECT count(*) FROM foo").assertSucceeded().assertDataResultMatch([(500,)]) + tc.execute("SELECT * FROM insertonly_persist()").assertSucceeded().assertDataResultMatch([('foo', 7896, 0)]) + tc.execute("CREATE TABLE bar (x INT)").assertSucceeded() + tc.execute("CREATE TABLE barbar (x INT)").assertSucceeded() + tc.execute("CREATE TABLE baz (x INT)").assertSucceeded() + tc.execute("CREATE TABLE bazbaz (x INT)").assertSucceeded() + tc.execute("SELECT sleep(2000)") - tc.execute("SELECT * FROM insertonly_persist('sys')").assertSucceeded().assertDataResultMatch([('foo', 7891, 500)]) + + tc.execute("SELECT * FROM insertonly_persist()").assertSucceeded().assertDataResultMatch([('foo', 7896, 500)]) s.communicate() with process.server(mapiport='0', dbname='db1', diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c --- a/sql/backends/monet5/sql.c +++ b/sql/backends/monet5/sql.c @@ -5249,9 +5249,9 @@ static mel_func sql_init_funcs[] = { pattern("sql", "resume_log_flushing", SQLresume_log_flushing, true, "Resume WAL log flushing", args(1,1, arg("",void))), pattern("sql", "suspend_log_flushing", SQLsuspend_log_flushing, true, "Suspend WAL log flushing", args(1,1, arg("",void))), pattern("sql", "hot_snapshot", SQLhot_snapshot, true, "Write db snapshot to the given tar(.gz/.lz4/.bz/.xz) file on either server or client", args(1,3, arg("",void),arg("tarfile", str),arg("onserver",bit))), - pattern("sql", "insertonly_persist", SQLinsertonly_persist, true, "Persist deltas on append only tables in current schema.", args(3, 3, batarg("table", str), batarg("table_id", int), batarg("rowcount", lng))), - pattern("sql", "insertonly_persist", SQLinsertonly_persist, true, "Persist deltas on append only tables in schema s.", args(3, 4, batarg("table", str), batarg("table_id", int), batarg("rowcount", lng), arg("s", str))), - pattern("sql", "insertonly_persist", SQLinsertonly_persist, true, "Persist deltas on append only table in schema s table t.", args(3, 5, batarg("table", str), batarg("table_id", int), batarg("rowcount", lng), arg("s", str), arg("t", str))), + pattern("sql", "insertonly_persist", SQLinsertonly_persist, true, "Persist deltas on append only tables in current schema", args(3, 3, batarg("table", str), batarg("table_id", int), batarg("rowcount", lng))), + pattern("sql", "insertonly_persist", SQLinsertonly_persist, true, "Persist deltas on append only tables in schema s", args(3, 4, batarg("table", str), batarg("table_id", int), batarg("rowcount", lng), arg("s", str))), + pattern("sql", "insertonly_persist", SQLinsertonly_persist, true, "Persist deltas on append only table in schema s table t", args(3, 5, batarg("table", str), batarg("table_id", int), batarg("rowcount", lng), arg("s", str), arg("t", str))), pattern("sql", "assert", SQLassert, false, "Generate an exception when b==true", args(1,3, arg("",void),arg("b",bit),arg("msg",str))), pattern("sql", "assert", SQLassertInt, false, "Generate an exception when b!=0", args(1,3, arg("",void),arg("b",int),arg("msg",str))), pattern("sql", "assert", SQLassertLng, false, "Generate an exception when b!=0", args(1,3, arg("",void),arg("b",lng),arg("msg",str))), 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 @@ -6178,13 +6178,13 @@ sql_update_default(Client c, mvc *sql, s sql->errstr[0] = '\0'; const char *query = "CREATE FUNCTION sys.insertonly_persist()\n" - "RETURNS TABLE(\"table\" STRING, \"table_id\" BIGINT, \"rowcount\" BIGINT)\n" + "RETURNS TABLE(\"table\" STRING, \"table_id\" INT, \"rowcount\" BIGINT)\n" "EXTERNAL NAME sql.insertonly_persist;\n" "CREATE FUNCTION sys.insertonly_persist(sname STRING)\n" - "RETURNS TABLE(\"table\" STRING, \"table_id\" BIGINT, \"rowcount\" BIGINT)\n" + "RETURNS TABLE(\"table\" STRING, \"table_id\" INT, \"rowcount\" BIGINT)\n" "EXTERNAL NAME sql.insertonly_persist(string);\n" "CREATE FUNCTION sys.insertonly_persist(sname STRING, tname STRING)\n" - "RETURNS TABLE(\"table\" STRING, \"table_id\" BIGINT, \"rowcount\" BIGINT)\n" + "RETURNS TABLE(\"table\" STRING, \"table_id\" INT, \"rowcount\" BIGINT)\n" "EXTERNAL NAME sql.insertonly_persist(string, string);\n" "GRANT EXECUTE ON FUNCTION sys.insertonly_persist() TO PUBLIC;\n" "UPDATE sys.functions SET system = true WHERE system <> true AND\n" 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 @@ -1817,8 +1817,9 @@ select 'null in fkeys.delete_action', de [ "sys.functions", "sys", "insert", "SYSTEM", "insert", "str", "Internal C", "Scalar function", false, false, false, false, NULL, "res_0", "char", 0, 0, "out", "arg_1", "char", 0, 0, "in", "arg_2", "int", 32, 0, "in", "arg_3", "int", 32, 0, "in", "arg_4", "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 ] [ "sys.functions", "sys", "insert", "SYSTEM", "insert", "str", "Internal C", "Scalar function", false, false, false, false, NULL, "res_0", "clob", 0, 0, "out", "arg_1", "clob", 0, 0, "in", "arg_2", "int", 32, 0, "in", "arg_3", "int", 32, 0, "in", "arg_4", "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 ] [ "sys.functions", "sys", "insert", "SYSTEM", "insert", "str", "Internal C", "Scalar function", false, false, false, false, NULL, "res_0", "varchar", 0, 0, "out", "arg_1", "varchar", 0, 0, "in", "arg_2", "int", 32, 0, "in", "arg_3", "int", 32, 0, "in", "arg_4", "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 ] -[ "sys.functions", "sys", "insertonly_persist", "SYSTEM", "create function sys.insertonly_persist(sname string) returns table(\"table\" string, \"table_id\" bigint, \"rowcount\" bigint) external name sql.insertonly_persist;", "sql", "MAL", "Function returning a table", true, false, false, true, NULL, "table", "clob", 0, 0, "out", "table_id", "bigint", 64, 0, "out", "rowcount", "bigint", 64, 0, "out", "sname", "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 ] -[ "sys.functions", "sys", "insertonly_persist", "SYSTEM", "create function sys.insertonly_persist(sname string, tname string) returns table(\"table\" string, \"table_id\" bigint, \"rowcount\" bigint) external name sql.insertonly_persist;", "sql", "MAL", "Function returning a table", true, false, false, true, NULL, "table", "clob", 0, 0, "out", "table_id", "bigint", 64, 0, "out", "rowcount", "bigint", 64, 0, "out", "sname", "clob", 0, 0, "in", "tname", "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 ] +[ "sys.functions", "sys", "insertonly_persist", "SYSTEM", "create function sys.insertonly_persist() returns table(\"table\" string, \"table_id\" int, \"rowcount\" bigint) external name sql.insertonly_persist;", "sql", "MAL", "Function returning a table", true, false, false, true, NULL, "table", "clob", 0, 0, "out", "table_id", "int", 32, 0, "out", "rowcount", "bigint", 64, 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 ] +[ "sys.functions", "sys", "insertonly_persist", "SYSTEM", "create function sys.insertonly_persist(sname string) returns table(\"table\" string, \"table_id\" int, \"rowcount\" bigint) external name sql.insertonly_persist;", "sql", "MAL", "Function returning a table", true, false, false, true, NULL, "table", "clob", 0, 0, "out", "table_id", "int", 32, 0, "out", "rowcount", "bigint", 64, 0, "out", "sname", "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 ] +[ "sys.functions", "sys", "insertonly_persist", "SYSTEM", "create function sys.insertonly_persist(sname string, tname string) returns table(\"table\" string, \"table_id\" int, \"rowcount\" bigint) external name sql.insertonly_persist;", "sql", "MAL", "Function returning a table", true, false, false, true, NULL, "table", "clob", 0, 0, "out", "table_id", "int", 32, 0, "out", "rowcount", "bigint", 64, 0, "out", "sname", "clob", 0, 0, "in", "tname", "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 ] [ "sys.functions", "sys", "internaltransform", "SYSTEM", "create function internaltransform(geom geometry, srid_src integer, srid_dest integer, proj4_src string, proj4_dest string) returns geometry external name geom.\"Transform\";", "geom", "MAL", "Scalar function", false, false, false, true, NULL, "result", "geometry", 0, 0, "out", "geom", "geometry", 0, 0, "in", "srid_src", "int", 32, 0, "in", "srid_dest", "int", 32, 0, "in", "proj4_src", "clob", 0, 0, "in", "proj4_dest", "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 ] [ "sys.functions", "sys", "isaurl", "SYSTEM", "create function isaurl(theurl string) returns bool external name url.\"isaURL\";", "url", "MAL", "Scalar function", false, false, false, true, NULL, "result", "boolean", 1, 0, "out", "theurl", "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.functions", "sys", "isauuid", "SYSTEM", "create function sys.isauuid(s string) returns boolean external name uuid.\"isaUUID\";", "uuid", "MAL", "Scalar function", false, false, false, true, NULL, "result", "boolean", 1, 0, "out", "s", "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 ] @@ -4530,6 +4531,7 @@ select 'null in fkeys.delete_action', de [ "grant on function", "sys", "hot_snapshot", ".snapshot", "EXECUTE", "monetdb", 0 ] [ "grant on function", "sys", "insertonly_persist", "public", "EXECUTE", "monetdb", 0 ] [ "grant on function", "sys", "insertonly_persist", "public", "EXECUTE", "monetdb", 0 ] +[ "grant on function", "sys", "insertonly_persist", "public", "EXECUTE", "monetdb", 0 ] [ "grant on function", "sys", "internaltransform", "public", "EXECUTE", "monetdb", 0 ] [ "grant on function", "sys", "isaurl", "public", "EXECUTE", "monetdb", 0 ] [ "grant on function", "sys", "isauuid", "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 @@ -1797,8 +1797,9 @@ select 'null in fkeys.delete_action', de [ "sys.functions", "sys", "insert", "SYSTEM", "insert", "str", "Internal C", "Scalar function", false, false, false, false, NULL, "res_0", "char", 0, 0, "out", "arg_1", "char", 0, 0, "in", "arg_2", "int", 32, 0, "in", "arg_3", "int", 32, 0, "in", "arg_4", "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 ] [ "sys.functions", "sys", "insert", "SYSTEM", "insert", "str", "Internal C", "Scalar function", false, false, false, false, NULL, "res_0", "clob", 0, 0, "out", "arg_1", "clob", 0, 0, "in", "arg_2", "int", 32, 0, "in", "arg_3", "int", 32, 0, "in", "arg_4", "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 ] [ "sys.functions", "sys", "insert", "SYSTEM", "insert", "str", "Internal C", "Scalar function", false, false, false, false, NULL, "res_0", "varchar", 0, 0, "out", "arg_1", "varchar", 0, 0, "in", "arg_2", "int", 32, 0, "in", "arg_3", "int", 32, 0, "in", "arg_4", "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 ] -[ "sys.functions", "sys", "insertonly_persist", "SYSTEM", "create function sys.insertonly_persist(sname string) returns table(\"table\" string, \"table_id\" bigint, \"rowcount\" bigint) external name sql.insertonly_persist;", "sql", "MAL", "Function returning a table", true, false, false, true, NULL, "table", "clob", 0, 0, "out", "table_id", "bigint", 64, 0, "out", "rowcount", "bigint", 64, 0, "out", "sname", "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 ] -[ "sys.functions", "sys", "insertonly_persist", "SYSTEM", "create function sys.insertonly_persist(sname string, tname string) returns table(\"table\" string, \"table_id\" bigint, \"rowcount\" bigint) external name sql.insertonly_persist;", "sql", "MAL", "Function returning a table", true, false, false, true, NULL, "table", "clob", 0, 0, "out", "table_id", "bigint", 64, 0, "out", "rowcount", "bigint", 64, 0, "out", "sname", "clob", 0, 0, "in", "tname", "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 ] +[ "sys.functions", "sys", "insertonly_persist", "SYSTEM", "create function sys.insertonly_persist() returns table(\"table\" string, \"table_id\" int, \"rowcount\" bigint) external name sql.insertonly_persist;", "sql", "MAL", "Function returning a table", true, false, false, true, NULL, "table", "clob", 0, 0, "out", "table_id", "int", 32, 0, "out", "rowcount", "bigint", 64, 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 ] +[ "sys.functions", "sys", "insertonly_persist", "SYSTEM", "create function sys.insertonly_persist(sname string) returns table(\"table\" string, \"table_id\" int, \"rowcount\" bigint) external name sql.insertonly_persist;", "sql", "MAL", "Function returning a table", true, false, false, true, NULL, "table", "clob", 0, 0, "out", "table_id", "int", 32, 0, "out", "rowcount", "bigint", 64, 0, "out", "sname", "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 ] +[ "sys.functions", "sys", "insertonly_persist", "SYSTEM", "create function sys.insertonly_persist(sname string, tname string) returns table(\"table\" string, \"table_id\" int, \"rowcount\" bigint) external name sql.insertonly_persist;", "sql", "MAL", "Function returning a table", true, false, false, true, NULL, "table", "clob", 0, 0, "out", "table_id", "int", 32, 0, "out", "rowcount", "bigint", 64, 0, "out", "sname", "clob", 0, 0, "in", "tname", "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 ] [ "sys.functions", "sys", "isaurl", "SYSTEM", "create function isaurl(theurl string) returns bool external name url.\"isaURL\";", "url", "MAL", "Scalar function", false, false, false, true, NULL, "result", "boolean", 1, 0, "out", "theurl", "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.functions", "sys", "isauuid", "SYSTEM", "create function sys.isauuid(s string) returns boolean external name uuid.\"isaUUID\";", "uuid", "MAL", "Scalar function", false, false, false, true, NULL, "result", "boolean", 1, 0, "out", "s", "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.functions", "sys", "isnotnull", "SYSTEM", "isnotnil", "calc", "Internal C", "Scalar function", false, false, false, true, NULL, "res_0", "boolean", 1, 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 ] @@ -4312,6 +4313,7 @@ select 'null in fkeys.delete_action', de [ "grant on function", "sys", "hot_snapshot", ".snapshot", "EXECUTE", "monetdb", 0 ] [ "grant on function", "sys", "insertonly_persist", "public", "EXECUTE", "monetdb", 0 ] [ "grant on function", "sys", "insertonly_persist", "public", "EXECUTE", "monetdb", 0 ] +[ "grant on function", "sys", "insertonly_persist", "public", "EXECUTE", "monetdb", 0 ] [ "grant on function", "sys", "isaurl", "public", "EXECUTE", "monetdb", 0 ] [ "grant on function", "sys", "isauuid", "public", "EXECUTE", "monetdb", 0 ] [ "grant on function", "sys", "jarowinkler", "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 @@ -1836,8 +1836,9 @@ select 'null in fkeys.delete_action', de [ "sys.functions", "sys", "insert", "SYSTEM", "insert", "str", "Internal C", "Scalar function", false, false, false, false, NULL, "res_0", "char", 0, 0, "out", "arg_1", "char", 0, 0, "in", "arg_2", "int", 32, 0, "in", "arg_3", "int", 32, 0, "in", "arg_4", "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 ] [ "sys.functions", "sys", "insert", "SYSTEM", "insert", "str", "Internal C", "Scalar function", false, false, false, false, NULL, "res_0", "clob", 0, 0, "out", "arg_1", "clob", 0, 0, "in", "arg_2", "int", 32, 0, "in", "arg_3", "int", 32, 0, "in", "arg_4", "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 ] [ "sys.functions", "sys", "insert", "SYSTEM", "insert", "str", "Internal C", "Scalar function", false, false, false, false, NULL, "res_0", "varchar", 0, 0, "out", "arg_1", "varchar", 0, 0, "in", "arg_2", "int", 32, 0, "in", "arg_3", "int", 32, 0, "in", "arg_4", "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 ] -[ "sys.functions", "sys", "insertonly_persist", "SYSTEM", "create function sys.insertonly_persist(sname string) returns table(\"table\" string, \"table_id\" bigint, \"rowcount\" bigint) external name sql.insertonly_persist;", "sql", "MAL", "Function returning a table", true, false, false, true, NULL, "table", "clob", 0, 0, "out", "table_id", "bigint", 64, 0, "out", "rowcount", "bigint", 64, 0, "out", "sname", "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 ] -[ "sys.functions", "sys", "insertonly_persist", "SYSTEM", "create function sys.insertonly_persist(sname string, tname string) returns table(\"table\" string, \"table_id\" bigint, \"rowcount\" bigint) external name sql.insertonly_persist;", "sql", "MAL", "Function returning a table", true, false, false, true, NULL, "table", "clob", 0, 0, "out", "table_id", "bigint", 64, 0, "out", "rowcount", "bigint", 64, 0, "out", "sname", "clob", 0, 0, "in", "tname", "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 ] +[ "sys.functions", "sys", "insertonly_persist", "SYSTEM", "create function sys.insertonly_persist() returns table(\"table\" string, \"table_id\" int, \"rowcount\" bigint) external name sql.insertonly_persist;", "sql", "MAL", "Function returning a table", true, false, false, true, NULL, "table", "clob", 0, 0, "out", "table_id", "int", 32, 0, "out", "rowcount", "bigint", 64, 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 ] +[ "sys.functions", "sys", "insertonly_persist", "SYSTEM", "create function sys.insertonly_persist(sname string) returns table(\"table\" string, \"table_id\" int, \"rowcount\" bigint) external name sql.insertonly_persist;", "sql", "MAL", "Function returning a table", true, false, false, true, NULL, "table", "clob", 0, 0, "out", "table_id", "int", 32, 0, "out", "rowcount", "bigint", 64, 0, "out", "sname", "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 ] +[ "sys.functions", "sys", "insertonly_persist", "SYSTEM", "create function sys.insertonly_persist(sname string, tname string) returns table(\"table\" string, \"table_id\" int, \"rowcount\" bigint) external name sql.insertonly_persist;", "sql", "MAL", "Function returning a table", true, false, false, true, NULL, "table", "clob", 0, 0, "out", "table_id", "int", 32, 0, "out", "rowcount", "bigint", 64, 0, "out", "sname", "clob", 0, 0, "in", "tname", "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 ] [ "sys.functions", "sys", "internaltransform", "SYSTEM", "create function internaltransform(geom geometry, srid_src integer, srid_dest integer, proj4_src string, proj4_dest string) returns geometry external name geom.\"Transform\";", "geom", "MAL", "Scalar function", false, false, false, true, NULL, "result", "geometry", 0, 0, "out", "geom", "geometry", 0, 0, "in", "srid_src", "int", 32, 0, "in", "srid_dest", "int", 32, 0, "in", "proj4_src", "clob", 0, 0, "in", "proj4_dest", "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 ] [ "sys.functions", "sys", "isaurl", "SYSTEM", "create function isaurl(theurl string) returns bool external name url.\"isaURL\";", "url", "MAL", "Scalar function", false, false, false, true, NULL, "result", "boolean", 1, 0, "out", "theurl", "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.functions", "sys", "isauuid", "SYSTEM", "create function sys.isauuid(s string) returns boolean external name uuid.\"isaUUID\";", "uuid", "MAL", "Scalar function", false, false, false, true, NULL, "result", "boolean", 1, 0, "out", "s", "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 ] @@ -4649,6 +4650,7 @@ select 'null in fkeys.delete_action', de [ "grant on function", "sys", "hot_snapshot", ".snapshot", "EXECUTE", "monetdb", 0 ] [ "grant on function", "sys", "insertonly_persist", "public", "EXECUTE", "monetdb", 0 ] [ "grant on function", "sys", "insertonly_persist", "public", "EXECUTE", "monetdb", 0 ] +[ "grant on function", "sys", "insertonly_persist", "public", "EXECUTE", "monetdb", 0 ] [ "grant on function", "sys", "internaltransform", "public", "EXECUTE", "monetdb", 0 ] [ "grant on function", "sys", "isaurl", "public", "EXECUTE", "monetdb", 0 ] [ "grant on function", "sys", "isauuid", "public", "EXECUTE", "monetdb", 0 ] _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org