Changeset: c8828137676c for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/c8828137676c
Modified Files:
        gdk/gdk_batop.c
        gdk/gdk_calc_convert.c
        monetdb5/modules/kernel/algebra.c
Branch: default
Log Message:

Merge with Dec2023 branch.


diffs (truncated from 893 to 300 lines):

diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c
--- a/gdk/gdk_batop.c
+++ b/gdk/gdk_batop.c
@@ -1828,16 +1828,13 @@ BATslice(BAT *b, BUN l, BUN h)
 
        BATcheck(b, NULL);
        BATiter bi = bat_iterator(b);
+       if (l > bi.count)
+               l = bi.count;
        if (h > bi.count)
                h = bi.count;
        if (h < l)
                h = l;
 
-       if (l > BUN_MAX || h > BUN_MAX) {
-               GDKerror("boundary out of range\n");
-               goto doreturn;
-       }
-
        if (complex_cand(b)) {
                /* slicing a candidate list with exceptions */
                struct canditer ci;
diff --git a/gdk/gdk_calc_convert.c b/gdk/gdk_calc_convert.c
--- a/gdk/gdk_calc_convert.c
+++ b/gdk/gdk_calc_convert.c
@@ -994,8 +994,8 @@ convert_typeswitchloop(const void *src, 
                       oid candoff, bool *reduce,
                       uint8_t scale1, uint8_t scale2, uint8_t precision)
 {
-       assert(scale1 < (uint8_t) (sizeof(scales) / sizeof(scales[0])));
-       assert(scale2 < (uint8_t) (sizeof(scales) / sizeof(scales[0])));
+       assert(stp == TYPE_flt || stp == TYPE_dbl || scale1 < (uint8_t) 
(sizeof(scales) / sizeof(scales[0])));
+       assert(dtp == TYPE_flt || dtp == TYPE_dbl || scale2 < (uint8_t) 
(sizeof(scales) / sizeof(scales[0])));
        switch (ATOMbasetype(stp)) {
        case TYPE_msk:
                switch (ATOMbasetype(dtp)) {
diff --git a/gdk/gdk_heap.c b/gdk/gdk_heap.c
--- a/gdk/gdk_heap.c
+++ b/gdk/gdk_heap.c
@@ -75,9 +75,6 @@ HEAPcreatefile(int farmid, size_t *maxsz
        return base;
 }
 
-static gdk_return HEAPload_intern(Heap *h, const char *nme, const char *ext, 
const char *suffix, bool trunc);
-static gdk_return HEAPsave_intern(Heap *h, const char *nme, const char *ext, 
const char *suffix, bool dosync, BUN free, MT_Lock *lock);
-
 static char *
 decompose_filename(str nme)
 {
diff --git a/monetdb5/modules/kernel/algebra.c 
b/monetdb5/modules/kernel/algebra.c
--- a/monetdb5/modules/kernel/algebra.c
+++ b/monetdb5/modules/kernel/algebra.c
@@ -120,10 +120,6 @@ slice(BAT **retval, BAT *b, lng start, l
        }
        if (is_lng_nil(end))
                end = BATcount(b);
-       if (start > (lng) BUN_MAX || end >= (lng) BUN_MAX) {
-               GDKerror("argument out of range\n");
-               return GDK_FAIL;
-       }
 
        return (*retval = BATslice(b, (BUN) start, (BUN) end + 1)) ? 
GDK_SUCCEED : GDK_FAIL;
 }
@@ -971,8 +967,10 @@ ALGfirstn(Client cntxt, MalBlkPtr mb, Ma
        assert(pci->argc - pci->retc >= 5 && pci->argc - pci->retc <= 7);
 
        n = *getArgReference_lng(stk, pci, pci->argc - 4);
-       if (n < 0 || (lng) n >= (lng) BUN_MAX)
+       if (n < 0)
                throw(MAL, "algebra.firstn", ILLEGAL_ARGUMENT);
+       if (n > (lng) BUN_MAX)
+               n = BUN_MAX;
        ret1 = getArgReference_bat(stk, pci, 0);
        if (pci->retc == 2)
                ret2 = getArgReference_bat(stk, pci, 1);
@@ -1433,8 +1431,7 @@ ALGsubslice_lng(bat *ret, const bat *bid
        BAT *b, *bn;
        BUN s, e;
 
-       if (*start < 0 || *start > (lng) BUN_MAX ||
-               (*end < 0 && !is_lng_nil(*end)) || *end >= (lng) BUN_MAX)
+       if (*start < 0 || (*end < 0 && !is_lng_nil(*end)))
                throw(MAL, "algebra.subslice", ILLEGAL_ARGUMENT);
        if ((b = BBPquickdesc(*bid)) == NULL)
                throw(MAL, "algebra.subslice", SQLSTATE(HY002) 
RUNTIME_OBJECT_MISSING);
diff --git a/sql/benchmarks/tpcds/Tests/All b/sql/benchmarks/tpcds/Tests/All
--- a/sql/benchmarks/tpcds/Tests/All
+++ b/sql/benchmarks/tpcds/Tests/All
@@ -1,1 +1,1 @@
-HAVE_DATA_PATH&!ARCH_BITS32?one
+HAVE_DATA_PATH?one
diff --git a/sql/benchmarks/tpcds/Tests/one.test.in 
b/sql/benchmarks/tpcds/Tests/one.test.in
--- a/sql/benchmarks/tpcds/Tests/one.test.in
+++ b/sql/benchmarks/tpcds/Tests/one.test.in
@@ -5973,6 +5973,7 @@ limit 100
 ----
 600 values hashing to f1cce2608f5e93697e23da9b25217519
 
+skipif bits=32bit
 query ITRRRR rowsort
 -- query 51a
 WITH web_tv as (
diff --git a/sql/server/rel_statistics.h b/sql/server/rel_statistics.h
--- a/sql/server/rel_statistics.h
+++ b/sql/server/rel_statistics.h
@@ -70,6 +70,9 @@ statistics_atom_min(mvc *sql, atom *v1, 
 static inline void
 set_minmax_property(mvc *sql, sql_exp *e, rel_prop kind, atom *val)
 {
+       if (val == NULL)
+               return;
+
        sql_subtype *tpe = exp_subtype(e);
        prop *found = find_prop(e->p, kind);
 
diff --git a/sql/test/BugTracker-2010/Tests/All 
b/sql/test/BugTracker-2010/Tests/All
--- a/sql/test/BugTracker-2010/Tests/All
+++ b/sql/test/BugTracker-2010/Tests/All
@@ -3,7 +3,6 @@ slow-query.Bug-2671
 corrupted_values_after_updates.SF-2938065
 tableDataLimit.SF-2944504
 order_by_on_single_row_view.SF-2950453
-offset_limited_32bit.SF-2950579
 correlated_update_type_mismatch.SF-2947841
 heap_combine_crash.SF-2947763
 rank-over-crash.SF-2926454
diff --git a/sql/test/BugTracker-2010/Tests/offset_limited_32bit.SF-2950579.py 
b/sql/test/BugTracker-2010/Tests/offset_limited_32bit.SF-2950579.py
deleted file mode 100644
--- a/sql/test/BugTracker-2010/Tests/offset_limited_32bit.SF-2950579.py
+++ /dev/null
@@ -1,32 +0,0 @@
-import sys, os, pymonetdb, platform
-
-db = os.getenv("TSTDB")
-port = int(os.getenv("MAPIPORT"))
-
-conn1 = pymonetdb.connect(database=db, port=port, autocommit=True, 
username='monetdb', password='monetdb')
-cur1 = conn1.cursor()
-try:
-    cur1.execute('select cast(1 as hugeint)')
-    has_huge = True
-except pymonetdb.DatabaseError as e:
-    has_huge = False
-
-architecture = platform.architecture()[0]
-
-try:
-    cur1.execute('SELECT * from tables OFFSET 2147483647;')
-    if architecture == '32bit':
-        sys.stderr.write("Exception expected")
-except pymonetdb.DatabaseError as e:
-    if architecture == '32bit':
-        if "Illegal argument" not in str(e):
-            sys.stderr.write('Wrong error %s, expected Illegal argument' % 
(str(e)))
-    else:
-        raise e
-
-cur1.execute('SELECT * from tables OFFSET 2147483646;')
-if cur1.fetchall() != []:
-    sys.stderr.write("An empty result set expected")
-
-cur1.close()
-conn1.close()
diff --git a/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test 
b/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
--- a/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
+++ b/sql/test/BugTracker-2023/Tests/misc-crashes-7390.test
@@ -434,7 +434,7 @@ DROP TABLE v0
 -- DROP TABLE v0
 
 -- 31.sql
-statement error 22003!overflow in conversion of 
-7179133497070583808000000000000 (approx. value) to sht.
+statement error 22003!overflow ...
 SELECT ALL ( SELECT - - - - - - - - - - - 1 - - - - - - 16 FROM ( SELECT NULL 
- - - - - - - - - - - - - - - - 1 FROM ( SELECT - - - - 1 * - - - - - - 
2147483648 * - - - 43 * 77745222.000000 ) AS v1 ( v1 ) GROUP BY GROUPING SETS ( 
GROUPING SETS ( CUBE ( v1 ) ) ) ORDER BY v1 , - - - 86 + - - 93 ^ v1 , v1 LIMIT 
21 ) AS v1 UNION SELECT - - - - - - - - - - - - 93 WHERE - v1 < - 
63226945.000000 - - - - - - - - - - 68 ) FROM ( VALUES ( - - - - - - - - - 40 / 
- ( SELECT - - - - - - - - 0 WHERE - - - - - - - 40 = - - - - - 0 ) ) , ( - - 
88 ) ) v1 ( v1 )
 
 -- 32.sql
@@ -476,17 +476,17 @@ statement ok
 DROP TABLE v0
 
 -- 35.sql
--- statement ok
--- CREATE TABLE v0(v1 FLOAT (41, 29) DEFAULT 745433.000000)
+statement ok
+CREATE TABLE v0(v1 FLOAT (41, 29) DEFAULT 745433.000000)
 
--- statement ok
--- INSERT INTO v0 VALUES (0), (93), (NULL), (-128), (0), (59), (24)
+statement ok
+INSERT INTO v0 VALUES (0), (93), (NULL), (-128), (0), (59), (24)
 
--- statement ok
--- SELECT AVG(v1) OVER (PARTITION BY -1) AS VALUE FROM v0 v0 NATURAL JOIN v0 
VARIABLES
+statement ok
+SELECT AVG(v1) OVER (PARTITION BY -1) AS VALUE FROM v0 v0 NATURAL JOIN v0 
VARIABLES
 
--- statement ok
--- DROP TABLE v0
+statement ok
+DROP TABLE v0
 
 -- 36.sql
 statement ok
diff --git a/sql/test/BugTracker-2024/Tests/exp-bin-crash-7434.test 
b/sql/test/BugTracker-2024/Tests/exp-bin-crash-7434.test
--- a/sql/test/BugTracker-2024/Tests/exp-bin-crash-7434.test
+++ b/sql/test/BugTracker-2024/Tests/exp-bin-crash-7434.test
@@ -1,7 +1,7 @@
 statement ok
 CREATE TABLE v0 ( v1 REAL )
 
-statement error conversion of string '<js>null</js>' to type hge failed.
+statement error conversion of string '<js>null</js>' to type ...
 SELECT ( NULL IN ( ( SELECT median ( 1 ) ) , ntile ( '<js>null</js>' ) OVER ( 
) ) ) AS new_column FROM v0
 
 statement ok
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
@@ -533,6 +533,7 @@ select 'null in fkeys.delete_action', de
 [ "sys._tables",       "sys",  "function_languages",   NULL,   "TABLE",        
true,   "COMMIT",       "READONLY",     NULL    ]
 [ "sys._tables",       "sys",  "function_types",       NULL,   "TABLE",        
true,   "COMMIT",       "READONLY",     NULL    ]
 [ "sys._tables",       "sys",  "functions",    NULL,   "TABLE",        true,   
"COMMIT",       "WRITABLE",     NULL    ]
+[ "sys._tables",       "sys",  "geometry_columns",     "create view 
sys.geometry_columns as select cast(null as varchar(1)) as f_table_catalog, 
s.name as f_table_schema, t.name as f_table_name, c.name as f_geometry_column, 
cast(has_z(c.type_digits) + has_m(c.type_digits) +2 as integer) as 
coord_dimension, c.type_scale as srid, get_type(c.type_digits, 0) as 
geometry_type from sys.columns c, sys.tables t, sys.schemas s where c.table_id 
= t.id and t.schema_id = s.id and c.type in (select sqlname from sys.types 
where systemname in ('wkb', 'wkba'));",       "VIEW", true,   "COMMIT",       
"WRITABLE",     NULL    ]
 [ "sys._tables",       "sys",  "ids",  "create view sys.ids (id, name, 
schema_id, table_id, table_name, obj_type, sys_table, system) as select id, 
name, cast(null as int) as schema_id, cast(null as int) as table_id, cast(null 
as varchar(124)) as table_name, 'author' as obj_type, 'sys.auths' as sys_table, 
(name in ('public','sysadmin','monetdb','.snapshot')) as system from sys.auths 
union all select id, name, cast(null as int) as schema_id, cast(null as int) as 
table_id, cast(null as varchar(124)) as table_name, ifthenelse(system, 'system 
schema', 'schema'), 'sys.schemas', system from sys.schemas union all select 
t.id, name, t.schema_id, t.id as table_id, t.name as table_name, 
cast(lower(tt.table_type_name) as varchar(40)), 'sys.tables', t.system from 
sys.tables t left outer join sys.table_types tt on t.type = tt.table_type_id 
union all select c.id, c.name, t.schema_id, c.table_id, t.name as table_name, 
ifthenelse(t.system, 'system column', 'column'), 'sys._columns', t.system from 
sys._colum
 ns c join sys._tables t on c.table_id = t.id union all select c.id, c.name, 
t.schema_id, c.table_id, t.name as table_name, 'column', 'tmp._columns', 
t.system from tmp._columns c join tmp._tables t on c.table_id = t.id union all 
select k.id, k.name, t.schema_id, k.table_id, t.name as table_name, 
ifthenelse(t.system, 'system key', 'key'), 'sys.keys', t.system from sys.keys k 
join sys._tables t on k.table_id = t.id union all select k.id, k.name, 
t.schema_id, k.table_id, t.name as table_name, 'key', 'tmp.keys', t.system from 
tmp.keys k join tmp._tables t on k.table_id = t.id union all select i.id, 
i.name, t.schema_id, i.table_id, t.name as table_name, ifthenelse(t.system, 
'system index', 'index'), 'sys.idxs', t.system from sys.idxs i join sys._tables 
t on i.table_id = t.id union all select i.id, i.name, t.schema_id, i.table_id, 
t.name as table_name, 'index' , 'tmp.idxs', t.system from tmp.idxs i join 
tmp._tables t on i.table_id = t.id union all select g.id, g.name, t.schema_id, 
g.table_
 id, t.name as table_name, ifthenelse(t.system, 'system trigger', 'trigger'), 
'sys.triggers', t.system from sys.triggers g join sys._tables t on g.table_id = 
t.id union all select g.id, g.name, t.schema_id, g.table_id, t.name as 
table_name, 'trigger', 'tmp.triggers', t.system from tmp.triggers g join 
tmp._tables t on g.table_id = t.id union all select f.id, f.name, f.schema_id, 
cast(null as int) as table_id, cast(null as varchar(124)) as table_name, 
cast(ifthenelse(f.system, 'system ', '') || lower(ft.function_type_keyword) as 
varchar(40)), 'sys.functions', f.system from sys.functions f left outer join 
sys.function_types ft on f.type = ft.function_type_id union all select a.id, 
a.name, f.schema_id, a.func_id as table_id, f.name as table_name, 
cast(ifthenelse(f.system, 'system ', '') || lower(ft.function_type_keyword) || 
' arg' as varchar(44)), 'sys.args', f.system from sys.args a join sys.functions 
f on a.func_id = f.id left outer join sys.function_types ft on f.type = 
ft.function_ty
 pe_id union all select id, name, schema_id, cast(null as int) as table_id, 
cast(null as varchar(124)) as table_name, 'sequence', 'sys.sequences', false 
from sys.sequences union all select o.id, o.name, pt.schema_id, pt.id, pt.name, 
'partition of merge table', 'sys.objects', false from sys.objects o join 
sys._tables pt on o.sub = pt.id join sys._tables mt on o.nr = mt.id where 
mt.type = 3 union all select id, sqlname, schema_id, cast(null as int) as 
table_id, cast(null as varchar(124)) as table_name, 'type', 'sys.types', 
(sqlname in ('inet','json','url','uuid')) from sys.types where id > 2000 order 
by id;",  "VIEW", true,   "COMMIT",       "WRITABLE",     NULL    ]
 [ "sys._tables",       "sys",  "idxs", NULL,   "TABLE",        true,   
"COMMIT",       "WRITABLE",     NULL    ]
 [ "sys._tables",       "sys",  "index_types",  NULL,   "TABLE",        true,   
"COMMIT",       "READONLY",     NULL    ]
@@ -563,6 +564,7 @@ select 'null in fkeys.delete_action', de
 [ "sys._tables",       "sys",  "schemastorage",        "create view 
sys.\"schemastorage\" as select \"schema\", count(*) as \"storages\", 
sum(columnsize) as columnsize, sum(heapsize) as heapsize, sum(hashes) as 
hashsize, sum(\"imprints\") as imprintsize, sum(orderidx) as orderidxsize from 
sys.\"storage\" group by \"schema\" order by \"schema\";",   "VIEW", true,   
"COMMIT",       "WRITABLE",     NULL    ]
 [ "sys._tables",       "sys",  "sequences",    NULL,   "TABLE",        true,   
"COMMIT",       "WRITABLE",     NULL    ]
 [ "sys._tables",       "sys",  "sessions",     "create view sys.sessions as 
select * from sys.sessions();",    "VIEW", true,   "COMMIT",       "WRITABLE",  
   NULL    ]
+[ "sys._tables",       "sys",  "spatial_ref_sys",      NULL,   "TABLE",        
true,   "COMMIT",       "WRITABLE",     NULL    ]
 [ "sys._tables",       "sys",  "statistics",   "create view sys.\"statistics\" 
as select * from sys.\"statistics\"() where (\"schema\", \"table\") in (select 
sch.\"name\", tbl.\"name\" from sys.\"tables\" as tbl join sys.\"schemas\" as 
sch on tbl.schema_id = sch.id where tbl.\"system\" = false) order by 
\"schema\", \"table\", \"column\";",  "VIEW", true,   "COMMIT",       
"WRITABLE",     NULL    ]
 [ "sys._tables",       "sys",  "storage",      "create view sys.\"storage\" as 
select * from sys.\"storage\"() where (\"schema\", \"table\") in (select 
sch.\"name\", tbl.\"name\" from sys.\"tables\" as tbl join sys.\"schemas\" as 
sch on tbl.schema_id = sch.id where tbl.\"system\" = false) order by 
\"schema\", \"table\", \"column\";",        "VIEW", true,   "COMMIT",       
"WRITABLE",     NULL    ]
 [ "sys._tables",       "sys",  "storagemodel", "create view sys.storagemodel 
as select \"schema\", \"table\", \"column\", \"type\", \"count\", 
sys.columnsize(\"type\", \"count\") as columnsize, sys.heapsize(\"type\", 
\"count\", \"distinct\", \"atomwidth\") as heapsize, 
sys.hashsize(\"reference\", \"count\") as hashsize, case when isacolumn then 
sys.imprintsize(\"type\", \"count\") else 0 end as imprintsize, case when 
(isacolumn and not sorted) then cast(8 * \"count\" as bigint) else 0 end as 
orderidxsize, sorted, \"unique\", isacolumn from sys.storagemodelinput order by 
\"schema\", \"table\", \"column\";",  "VIEW", true,   "COMMIT",       
"WRITABLE",     NULL    ]
@@ -1328,6 +1330,13 @@ select 'null in fkeys.delete_action', de
 [ "sys._columns",      "sys",  "functions",    "schema_id",    "int",  32,     
0,      NULL,   true,   9,      NULL,   NULL    ]
 [ "sys._columns",      "sys",  "functions",    "system",       "boolean",      
1,      0,      NULL,   true,   10,     NULL,   NULL    ]
 [ "sys._columns",      "sys",  "functions",    "semantics",    "boolean",      
1,      0,      NULL,   true,   11,     NULL,   NULL    ]
+[ "sys._columns",      "sys",  "geometry_columns",     "f_table_catalog",      
"varchar",      1,      0,      NULL,   true,   0,      NULL,   NULL    ]
+[ "sys._columns",      "sys",  "geometry_columns",     "f_table_schema",       
"varchar",      1024,   0,      NULL,   true,   1,      NULL,   NULL    ]
+[ "sys._columns",      "sys",  "geometry_columns",     "f_table_name", 
"varchar",      1024,   0,      NULL,   true,   2,      NULL,   NULL    ]
+[ "sys._columns",      "sys",  "geometry_columns",     "f_geometry_column",    
"varchar",      1024,   0,      NULL,   true,   3,      NULL,   NULL    ]
+[ "sys._columns",      "sys",  "geometry_columns",     "coord_dimension",      
"int",  32,     0,      NULL,   true,   4,      NULL,   NULL    ]
+[ "sys._columns",      "sys",  "geometry_columns",     "srid", "int",  32,     
0,      NULL,   true,   5,      NULL,   NULL    ]
+[ "sys._columns",      "sys",  "geometry_columns",     "geometry_type",        
"clob", 0,      0,      NULL,   true,   6,      NULL,   NULL    ]
 [ "sys._columns",      "sys",  "ids",  "id",   "int",  32,     0,      NULL,   
true,   0,      NULL,   NULL    ]
 [ "sys._columns",      "sys",  "ids",  "name", "varchar",      1024,   0,      
NULL,   true,   1,      NULL,   NULL    ]
 [ "sys._columns",      "sys",  "ids",  "schema_id",    "int",  32,     0,      
NULL,   true,   2,      NULL,   NULL    ]
@@ -1493,6 +1502,11 @@ select 'null in fkeys.delete_action', de
 [ "sys._columns",      "sys",  "sessions",     "querytimeout", "int",  32,     
0,      NULL,   true,   6,      NULL,   NULL    ]
 [ "sys._columns",      "sys",  "sessions",     "workerlimit",  "int",  32,     
0,      NULL,   true,   7,      NULL,   NULL    ]
 [ "sys._columns",      "sys",  "sessions",     "memorylimit",  "int",  32,     
0,      NULL,   true,   8,      NULL,   NULL    ]
+[ "sys._columns",      "sys",  "spatial_ref_sys",      "srid", "int",  32,     
0,      NULL,   false,  0,      NULL,   NULL    ]
+[ "sys._columns",      "sys",  "spatial_ref_sys",      "auth_name",    
"varchar",      256,    0,      NULL,   true,   1,      NULL,   NULL    ]
+[ "sys._columns",      "sys",  "spatial_ref_sys",      "auth_srid",    "int",  
32,     0,      NULL,   true,   2,      NULL,   NULL    ]
+[ "sys._columns",      "sys",  "spatial_ref_sys",      "srtext",       
"varchar",      2048,   0,      NULL,   true,   3,      NULL,   NULL    ]
+[ "sys._columns",      "sys",  "spatial_ref_sys",      "proj4text",    
"varchar",      2048,   0,      NULL,   true,   4,      NULL,   NULL    ]
 [ "sys._columns",      "sys",  "statistics",   "column_id",    "int",  32,     
0,      NULL,   true,   0,      NULL,   NULL    ]
 [ "sys._columns",      "sys",  "statistics",   "schema",       "varchar",      
1024,   0,      NULL,   true,   1,      NULL,   NULL    ]
 [ "sys._columns",      "sys",  "statistics",   "table",        "varchar",      
1024,   0,      NULL,   true,   2,      NULL,   NULL    ]
@@ -1679,7 +1693,7 @@ select 'null in fkeys.delete_action', de
 % .%1, .s,     .f,     .,      .,      .f,     .fl,    .,      .f,     .f,     
.f,     .f,     .,      .,      .,      .,      .,      .,      .,      .,      
.,      .,      .,      .,      .,      .,      .,      .,      .,      .,      
.,      .,      .,      .,      .,      .,      .,      .,      .,      .,      
.,      .,      .,      .,      .,      .,      .,      .,      .,      .,      
.,      .,      .,      .,      .,      .,      .,      .,      .,      .,      
.,      .,      .,      .,      .,      .,      .,      .,      .,      .,      
.,      .,      .,      .,      .,      .,      .,      .,      .,      .,      
.,      .,      .,      .,      .,      .,      .,      .,      .,      .,      
.,      .,      . # table_name
 % %1,  name,   name,   system, query,  mod,    language_name,  func_type,      
side_effect,    varres, vararg, semantics,      comment,        name0,  type0,  
type_digits0,   type_scale0,    inout0, name1,  type1,  type_digits1,   
type_scale1,    inout1, name2,  type2,  type_digits2,   type_scale2,    inout2, 
name3,  type3,  type_digits3,   type_scale3,    inout3, name4,  type4,  
type_digits4,   type_scale4,    inout4, name5,  type5,  type_digits5,   
type_scale5,    inout5, name6,  type6,  type_digits6,   type_scale6,    inout6, 
name7,  type7,  type_digits7,   type_scale7,    inout7, name8,  type8,  
type_digits8,   type_scale8,    inout8, name9,  type9,  type_digits9,   
type_scale9,    inout9, name10, type10, type_digits10,  type_scale10,   
inout10,        name11, type11, type_digits11,  type_scale11,   inout11,        
name12, type12, type_digits12,  type_scale12,   inout12,        name13, type13, 
type_digits13,  type_scale13,   inout13,        name14, type14, type_digits14,  
type_scale14,   inout14,        name15, type15, type_digits15,  type_scale15,   
inout15 # name
 % char,        varchar,        varchar,        char,   clob,   varchar,        
varchar,        varchar,        boolean,        boolean,        boolean,        
boolean,        varchar,        varchar,        varchar,        int,    int,    
char,   varchar,        varchar,        int,    int,    char,   varchar,        
varchar,        int,    int,    char,   varchar,        varchar,        int,    
int,    char,   varchar,        varchar,        int,    int,    char,   
varchar,        varchar,        int,    int,    char,   varchar,        
varchar,        int,    int,    char,   varchar,        varchar,        int,    
int,    char,   varchar,        varchar,        int,    int,    char,   
varchar,        varchar,        int,    int,    char,   varchar,        
varchar,        int,    int,    char,   varchar,        varchar,        int,    
int,    char,   varchar,        varchar,        int,    int,    char,   
varchar,        varchar,        int,    int,    char,   varchar,        
varchar,        int,    int,    char,   varchar,        varchar,        int,    
int,    char # type
-% 13,  8,      37,     6,      3806,   9,      10,     26,     5,      5,      
5,      5,      0,      11,     14,     4,      1,      3,      10,     14,     
4,      1,      3,      11,     14,     4,      1,      3,      10,     12,     
4,      1,      3,      9,      9,      4,      1,      3,      14,     7,      
4,      1,      3,      12,     9,      2,      1,      3,      11,     7,      
2,      1,      3,      11,     7,      2,      1,      3,      10,     6,      
2,      1,      3,      9,      6,      2,      1,      3,      6,      7,      
1,      1,      3,      9,      7,      2,      1,      3,      6,      7,      
4,      1,      3,      9,      7,      4,      1,      3,      6,      7,      
4,      1,      3 # length
+% 13,  8,      37,     6,      3806,   9,      10,     26,     5,      5,      
5,      5,      0,      11,     14,     4,      1,      3,      16,     14,     
4,      1,      3,      16,     14,     4,      1,      3,      27,     12,     
4,      1,      3,      9,      9,      4,      1,      3,      14,     7,      
4,      1,      3,      12,     9,      2,      1,      3,      11,     7,      
2,      1,      3,      11,     7,      2,      1,      3,      10,     6,      
2,      1,      3,      9,      6,      2,      1,      3,      6,      7,      
1,      1,      3,      9,      7,      2,      1,      3,      6,      7,      
4,      1,      3,      9,      7,      4,      1,      3,      6,      7,      
4,      1,      3 # length
 [ "sys.functions",     "json", "filter",       "SYSTEM",       "create 
function json.filter(js json, name bigint) returns json external name 
json.filter;",    "json", "MAL",  "Scalar function",      false,  false,  
false,  true,   NULL,   "result",       "json", 0,      0,      "out",  "js",   
"json", 0,      0,      "in",   "name", "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.functions",     "json", "filter",       "SYSTEM",       "create 
function json.filter(js json, name integer) returns json external name 
json.filter;",   "json", "MAL",  "Scalar function",      false,  false,  false, 
 true,   NULL,   "result",       "json", 0,      0,      "out",  "js",   
"json", 0,      0,      "in",   "name", "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.functions",     "json", "filter",       "SYSTEM",       "create 
function json.filter(js json, name tinyint) returns json external name 
json.filter;",   "json", "MAL",  "Scalar function",      false,  false,  false, 
 true,   NULL,   "result",       "json", 0,      0,      "out",  "js",   
"json", 0,      0,      "in",   "name", "tinyint",      8,      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    ]
@@ -1836,6 +1850,7 @@ select 'null in fkeys.delete_action', de
 [ "sys.functions",     "sys",  "concat",       "SYSTEM",       "+",    "calc", 
"Internal C",   "Scalar function",      false,  false,  false,  false,  NULL,   
"res_0",        "varchar",      0,      0,      "out",  "arg_1",        
"varchar",      0,      0,      "in",   "arg_2",        "varchar",      0,      
0,      "in",   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "contains",     "SYSTEM",       "create filter 
function sys.contains(x string, y string) external name str.contains;",  "str", 
 "MAL",  "Filter function",      false,  false,  false,  true,   NULL,   "x",   
 "clob", 0,      0,      "in",   "y",    "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",  "contains",     "SYSTEM",       "create filter 
function sys.contains(x string, y string, icase boolean) external name 
str.contains;",   "str",  "MAL",  "Filter function",      false,  false,  
false,  true,   NULL,   "x",    "clob", 0,      0,      "in",   "y",    "clob", 
0,      0,      "in",   "icase",        "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.functions",     "sys",  "contains",     "SYSTEM",       "create 
function contains(a geometry, x double, y double) returns boolean external name 
geom.\"Contains\";",    "geom", "MAL",  "Scalar function",      false,  false,  
false,  true,   NULL,   "result",       "boolean",      1,      0,      "out",  
"a",    "geometry",     0,      0,      "in",   "x",    "double",       53,     
0,      "in",   "y",    "double",       53,     0,      "in",   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "sys.functions",     "sys",  "contains",     "SYSTEM",       "create 
function sys.contains(x string, y string) returns boolean external name 
str.contains;", "str",  "MAL",  "Scalar function",      false,  false,  false,  
true,   NULL,   "result",       "boolean",      1,      0,      "out",  "x",    
"clob", 0,      0,      "in",   "y",    "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",  "contains",     "SYSTEM",       "create 
function sys.contains(x string, y string, icase boolean) returns boolean 
external name str.contains;",  "str",  "MAL",  "Scalar function",      false,  
false,  false,  true,   NULL,   "result",       "boolean",      1,      0,      
"out",  "x",    "clob", 0,      0,      "in",   "y",    "clob", 0,      0,      
"in",   "icase",        "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    ]
 [ "sys.functions",     "sys",  "corr", "SYSTEM",       "create aggregate 
corr(e1 bigint, e2 bigint) returns double external name \"aggr\".\"corr\";",  
"aggr", "MAL",  "Aggregate function",   false,  false,  false,  true,   NULL,   
"result",       "double",       53,     0,      "out",  "e1",   "bigint",       
64,     0,      "in",   "e2",   "bigint",       64,     0,      "in",   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL    ]
@@ -1970,8 +1985,10 @@ select 'null in fkeys.delete_action', de
 [ "sys.functions",     "sys",  "generate_series",      "SYSTEM",       "create 
function sys.generate_series(first timestamp, \"limit\" timestamp, stepsize 
interval second) returns table (value timestamp) external name 
generator.series;",  "generator",    "MAL",  "Function returning a table",   
false,  false,  false,  true,   NULL,   "value",        "timestamp",    7,      
0,      "out",  "first",        "timestamp",    7,      0,      "in",   
"limit",        "timestamp",    7,      0,      "in",   "stepsize",     
"sec_interval", 13,     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",  "generate_series",      "SYSTEM",       "create 
function sys.generate_series(first tinyint, \"limit\" tinyint) returns table 
(value tinyint) external name generator.series;",  "generator",    "MAL",  
"Function returning a table",   false,  false,  false,  true,   NULL,   
"value",        "tinyint",      8,      0,      "out",  "first",        
"tinyint",      8,      0,      "in",   "limit",        "tinyint",      8,      
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",  "generate_series",      "SYSTEM",       "create 
function sys.generate_series(first tinyint, \"limit\" tinyint, stepsize 
tinyint) returns table (value tinyint) external name generator.series;",        
"generator",    "MAL",  "Function returning a table",   false,  false,  false,  
true,   NULL,   "value",        "tinyint",      8,      0,      "out",  
"first",        "tinyint",      8,      0,      "in",   "limit",        
"tinyint",      8,      0,      "in",   "stepsize",     "tinyint",      8,      
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",  "geometrytype", "SYSTEM",       "create 
function geometrytype(geom geometry) returns string external name 
geom.\"GeometryType1\";",     "geom", "MAL",  "Scalar function",      false,  
false,  false,  true,   NULL,   "result",       "clob", 0,      0,      "out",  
"geom", "geometry",     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",  "get_merge_table_partition_expressions",        
"SYSTEM",       "create function sys.get_merge_table_partition_expressions(tid 
int) returns string begin return select case when tp.table_id is not null then 
' PARTITION BY ' || ifthenelse(bit_and(tp.type, 2) = 2, 'VALUES ', 'RANGE ') || 
case when bit_and(tp.type, 4) = 4 then 'ON ' || '(' || (select sys.dq(c.name) 
|| ')' from sys.columns c where c.id = tp.column_id) else 'USING ' || '(' || 
tp.expression || ')' end else '' end from (values (tid)) t(id) left join 
sys.table_partitions tp on t.id = tp.table_id; end;", "sql",  "SQL",  "Scalar 
function",      false,  false,  false,  true,   NULL,   "result",       "clob", 
0,      0,      "out",  "tid",  "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",  "get_remote_table_expressions", "SYSTEM",       
"create function sys.get_remote_table_expressions(s string, t string) returns 
string begin return select ' ON ' || sys.sq(tt.query) || ' WITH USER ' || 
sys.sq(username) || ' ENCRYPTED PASSWORD ' || 
sys.sq(sys.decypher(\"password\")) from sys.remote_user_info r, sys._tables tt, 
sys.schemas ss where tt.name = t and ss.name = s and tt.schema_id = ss.id and 
r.table_id = tt.id; end;",  "sql",  "SQL",  "Scalar function",      false,  
false,  false,  true,   NULL,   "result",       "clob", 0,      0,      "out",  
"s",    "clob", 0,      0,      "in",   "t",    "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",  "get_type",     "SYSTEM",       "create 
function get_type(info integer, format integer) returns string external name 
geom.\"getType\";",        "geom", "MAL",  "Scalar function",      false,  
false,  false,  true,   NULL,   "result",       "clob", 0,      0,      "out",  
"info", "int",  32,     0,      "in",   "format",       "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.functions",     "sys",  "get_value_for",        "SYSTEM",       
"get_value",    "sql",  "Internal C",   "Scalar function",      false,  false,  
false,  true,   NULL,   "res_0",        "bigint",       64,     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",  "get_value_for",        "SYSTEM",       
"get_value",    "sql",  "Internal C",   "Scalar function",      false,  false,  
false,  true,   NULL,   "res_0",        "bigint",       64,     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",  "get_value_for",        "SYSTEM",       
"get_value",    "sql",  "Internal C",   "Scalar function",      false,  false,  
false,  true,   NULL,   "res_0",        "bigint",       64,     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    
]
@@ -1983,6 +2000,7 @@ select 'null in fkeys.delete_action', de
 [ "sys.functions",     "sys",  "getfile",      "SYSTEM",       "create 
function getfile(theurl url) returns string external name url.\"getFile\";",    
"url",  "MAL",  "Scalar function",      false,  false,  false,  true,   NULL,   
"result",       "clob", 0,      0,      "out",  "theurl",       "url",  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",  "gethost",      "SYSTEM",       "create 
function gethost(theurl url) returns string external name url.\"getHost\";",    
"url",  "MAL",  "Scalar function",      false,  false,  false,  true,   NULL,   
"result",       "clob", 0,      0,      "out",  "theurl",       "url",  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",  "getport",      "SYSTEM",       "create 
function getport(theurl url) returns string external name url.\"getPort\";",    
"url",  "MAL",  "Scalar function",      false,  false,  false,  true,   NULL,   
"result",       "clob", 0,      0,      "out",  "theurl",       "url",  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",  "getproj4",     "SYSTEM",       "create 
function getproj4(srid_in integer) returns string begin return select proj4text 
from spatial_ref_sys where srid=srid_in; end;", "sql",  "SQL",  "Scalar 
function",      false,  false,  false,  true,   NULL,   "result",       "clob", 
0,      0,      "out",  "srid_in",      "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",  "getprotocol",  "SYSTEM",       "create 
function getprotocol(theurl url) returns string external name 
url.\"getProtocol\";",    "url",  "MAL",  "Scalar function",      false,  
false,  false,  true,   NULL,   "result",       "clob", 0,      0,      "out",  
"theurl",       "url",  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",  "getquery",     "SYSTEM",       "create 
function getquery(theurl url) returns string external name url.\"getQuery\";",  
"url",  "MAL",  "Scalar function",      false,  false,  false,  true,   NULL,   
"result",       "clob", 0,      0,      "out",  "theurl",       "url",  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",  "getroboturl",  "SYSTEM",       "create 
function getroboturl(theurl url) returns string external name 
url.\"getRobotURL\";",    "url",  "MAL",  "Scalar function",      false,  
false,  false,  true,   NULL,   "result",       "clob", 0,      0,      "out",  
"theurl",       "url",  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    ]
@@ -1992,6 +2010,8 @@ select 'null in fkeys.delete_action', de
 [ "sys.functions",     "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,  true,   NULL,   "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.functions",     "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,  true,   NULL,   "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.functions",     "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,  true,   NULL,   "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.functions",     "sys",  "has_m",        "SYSTEM",       "create 
function has_m(info integer) returns integer external name geom.\"hasM\";",     
"geom", "MAL",  "Scalar function",      false,  false,  false,  true,   NULL,   
"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.functions",     "sys",  "has_z",        "SYSTEM",       "create 
function has_z(info integer) returns integer external name geom.\"hasZ\";",     
"geom", "MAL",  "Scalar function",      false,  false,  false,  true,   NULL,   
"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    ]
_______________________________________________
checkin-list mailing list -- checkin-list@monetdb.org
To unsubscribe send an email to checkin-list-le...@monetdb.org

Reply via email to