Changeset: 411a88ce62db for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=411a88ce62db
Modified Files:
        clients/Tests/SQL-dump.stable.out
        clients/Tests/SQL-dump.stable.out.int128
        sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade-chain/Tests/check.stable.out
        sql/test/emptydb-upgrade-chain/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade-hge/Tests/check.stable.out.int128
        sql/test/emptydb-upgrade/Tests/check.stable.out
        sql/test/emptydb-upgrade/Tests/check.stable.out.int128
        sql/test/emptydb/Tests/check.stable.out
        sql/test/emptydb/Tests/check.stable.out.int128
Branch: default
Log Message:

Approvals.


diffs (truncated from 508 to 300 lines):

diff --git a/clients/Tests/SQL-dump.stable.out 
b/clients/Tests/SQL-dump.stable.out
--- a/clients/Tests/SQL-dump.stable.out
+++ b/clients/Tests/SQL-dump.stable.out
@@ -951,7 +951,7 @@ create filter function "like"(val string
 
 create procedure listdir(dirname string) external name fits.listdir;
 create procedure listdirpat(dirname string,pat string) external name 
fits.listdirpattern;
-create function sys.malfunctions() returns table("signature" string, "address" 
string, "comment" string) external name "manual"."functions";
+create function sys.malfunctions() returns table("module" string, "function" 
string, "signature" string, "address" string, "comment" string) external name 
"manual"."functions";
 create function "masklen" (p inet) returns int external name inet."masklen";
 create function mbr(geom geometry) returns mbr external name geom."mbr";
 create function sys.md5(v string) returns string external name clients.md5sum;
@@ -2099,7 +2099,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
-[ "sys",       "malfunctions", "create function sys.malfunctions() returns 
table(\"signature\" string, \"address\" string, \"comment\" string) external 
name \"manual\".\"functions\";",       "manual",       1,      5,      false,  
false,  false   ]
+[ "sys",       "malfunctions", "create function sys.malfunctions() returns 
table(\"module\" string, \"function\" string, \"signature\" string, \"address\" 
string, \"comment\" string) external name \"manual\".\"functions\";",       
"manual",       1,      5,      false,  false,  false   ]
 [ "sys",       "masklen",      "create function \"masklen\" (p inet) returns 
int external name inet.\"masklen\";",     "inet", 1,      1,      false,  
false,  false   ]
 [ "sys",       "max",  "max",  "aggr", 0,      3,      false,  false,  false   
]
 [ "sys",       "mbr",  "create function mbr(geom geometry) returns mbr 
external name geom.\"mbr\";",   "geom", 1,      1,      false,  false,  false   
]
@@ -3653,7 +3653,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "ltrim",        "arg_1",        "clob", 0,      0,      1,      
"arg_2",        "clob", 0,      0,      1,      NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "ltrim",        "arg_1",        "varchar",      0,      0,      
1,      NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "ltrim",        "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "malfunctions", "address",      "clob", 0,      0,      0,      
"comment",      "clob", 0,      0,      0,      NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "malfunctions", "function",     "clob", 0,      0,      0,      
"signature",    "clob", 0,      0,      0,      "address",      "clob", 0,      
0,      0,      "comment",      "clob", 0,      0,      0,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "masklen",      "p",    "inet", 0,      0,      1,      NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   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",       "max",  "arg",  "any",  0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   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",       "mbr",  "geom", "geometry",     0,      0,      1,      NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   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/clients/Tests/SQL-dump.stable.out.int128 
b/clients/Tests/SQL-dump.stable.out.int128
--- a/clients/Tests/SQL-dump.stable.out.int128
+++ b/clients/Tests/SQL-dump.stable.out.int128
@@ -951,7 +951,7 @@ create filter function "like"(val string
 
 create procedure listdir(dirname string) external name fits.listdir;
 create procedure listdirpat(dirname string,pat string) external name 
fits.listdirpattern;
-create function sys.malfunctions() returns table("signature" string, "address" 
string, "comment" string) external name "manual"."functions";
+create function sys.malfunctions() returns table("module" string, "function" 
string, "signature" string, "address" string, "comment" string) external name 
"manual"."functions";
 create function "masklen" (p inet) returns int external name inet."masklen";
 create function mbr(geom geometry) returns mbr external name geom."mbr";
 create function sys.md5(v string) returns string external name clients.md5sum;
@@ -2122,7 +2122,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
-[ "sys",       "malfunctions", "create function sys.malfunctions() returns 
table(\"signature\" string, \"address\" string, \"comment\" string) external 
name \"manual\".\"functions\";",       "manual",       1,      5,      false,  
false,  false   ]
+[ "sys",       "malfunctions", "create function sys.malfunctions() returns 
table(\"module\" string, \"function\" string, \"signature\" string, \"address\" 
string, \"comment\" string) external name \"manual\".\"functions\";",       
"manual",       1,      5,      false,  false,  false   ]
 [ "sys",       "masklen",      "create function \"masklen\" (p inet) returns 
int external name inet.\"masklen\";",     "inet", 1,      1,      false,  
false,  false   ]
 [ "sys",       "max",  "max",  "aggr", 0,      3,      false,  false,  false   
]
 [ "sys",       "mbr",  "create function mbr(geom geometry) returns mbr 
external name geom.\"mbr\";",   "geom", 1,      1,      false,  false,  false   
]
@@ -3856,7 +3856,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "ltrim",        "arg_1",        "clob", 0,      0,      1,      
"arg_2",        "clob", 0,      0,      1,      NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "ltrim",        "arg_1",        "varchar",      0,      0,      
1,      NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "ltrim",        "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "malfunctions", "address",      "clob", 0,      0,      0,      
"comment",      "clob", 0,      0,      0,      NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "malfunctions", "function",     "clob", 0,      0,      0,      
"signature",    "clob", 0,      0,      0,      "address",      "clob", 0,      
0,      0,      "comment",      "clob", 0,      0,      0,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "masklen",      "p",    "inet", 0,      0,      1,      NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   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",       "max",  "arg",  "any",  0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   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",       "mbr",  "geom", "geometry",     0,      0,      1,      NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   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-upgrade-chain-hge/Tests/check.stable.out.int128 
b/sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out.int128
--- a/sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out.int128
+++ b/sql/test/emptydb-upgrade-chain-hge/Tests/check.stable.out.int128
@@ -873,7 +873,7 @@ create function "left_shift"(i1 inet, i2
 create function "left_shift_assign"(i1 inet, i2 inet) returns boolean external 
name inet."<<=";
 create filter function "like"(val string, pat string, esc string) external 
name algebra."like";
 create filter function "like"(val string, pat string) external name 
algebra."like";
-create function sys.malfunctions() returns table("signature" string, "address" 
string, "comment" string) external name "manual"."functions";
+create function sys.malfunctions() returns table("module" string, "function" 
string, "signature" string, "address" string, "comment" string) external name 
"manual"."functions";
 create function "masklen" (p inet) returns int external name inet."masklen";
 create function mbr(geom geometry) returns mbr external name geom."mbr";
 create function sys.md5(v string) returns string external name clients.md5sum;
@@ -1947,7 +1947,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
-[ "sys",       "malfunctions", "create function sys.malfunctions() returns 
table(\"signature\" string, \"address\" string, \"comment\" string) external 
name \"manual\".\"functions\";",       "manual",       1,      5,      false,  
false,  false   ]
+[ "sys",       "malfunctions", "create function sys.malfunctions() returns 
table(\"module\" string, \"function\" string, \"signature\" string, \"address\" 
string, \"comment\" string) external name \"manual\".\"functions\";",       
"manual",       1,      5,      false,  false,  false   ]
 [ "sys",       "masklen",      "create function \"masklen\" (p inet) returns 
int external name inet.\"masklen\";",     "inet", 1,      1,      false,  
false,  false   ]
 [ "sys",       "max",  "max",  "aggr", 0,      3,      false,  false,  false   
]
 [ "sys",       "mbr",  "create function mbr(geom geometry) returns mbr 
external name geom.\"mbr\";",   "geom", 1,      1,      false,  false,  false   
]
@@ -3301,7 +3301,7 @@ drop function pcre_replace(string, strin
 % sys.s,       sys.f,  .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16 # table_name
 % name,        name,   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
 % varchar,     varchar,        varchar,        varchar,        int,    int,    
tinyint,        varchar,        varchar,        int,    int,    tinyint,        
varchar,        varchar,        int,    int,    tinyint,        varchar,        
varchar,        int,    int,    tinyint,        varchar,        varchar,        
int,    int,    tinyint,        varchar,        varchar,        int,    int,    
tinyint,        varchar,        varchar,        int,    int,    tinyint,        
varchar,        varchar,        int,    int,    tinyint,        varchar,        
varchar,        int,    int,    tinyint,        varchar,        varchar,        
int,    int,    tinyint,        varchar,        varchar,        int,    int,    
tinyint,        varchar,        varchar,        int,    int,    tinyint,        
varchar,        varchar,        int,    int,    tinyint,        varchar,        
varchar,        int,    int,    tinyint,        varchar,        varchar,        
int,    int,    tinyint # type
-% 8,   35,     16,     14,     4,      1,      1,      16,     14,     3,      
1,      1,      27,     12,     3,      1,      1,      12,     7,      2,      
1,      1,      10,     7,      2,      1,      1,      8,      7,      2,      
1,      1,      9,      6,      2,      1,      1,      10,     6,      2,      
1,      1,      8,      7,      2,      1,      1,      8,      6,      2,      
1,      1,      5,      7,      2,      1,      1,      8,      6,      2,      
1,      1,      6,      7,      1,      1,      1,      8,      6,      2,      
1,      1,      5,      4,      1,      1,      1 # length
+% 8,   35,     16,     14,     4,      1,      1,      16,     14,     3,      
1,      1,      27,     12,     3,      1,      1,      12,     7,      2,      
1,      1,      10,     7,      2,      1,      1,      8,      7,      2,      
1,      1,      9,      6,      2,      1,      1,      10,     6,      2,      
1,      1,      8,      7,      2,      1,      1,      8,      7,      2,      
1,      1,      5,      7,      2,      1,      1,      8,      6,      2,      
1,      1,      6,      7,      1,      1,      1,      8,      6,      2,      
1,      1,      5,      4,      1,      1,      1 # length
 [ "json",      "filter",       "js",   "json", 0,      0,      1,      "name", 
"bigint",       64,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "json",      "filter",       "js",   "json", 0,      0,      1,      "name", 
"hugeint",      128,    0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "json",      "filter",       "js",   "json", 0,      0,      1,      "name", 
"int",  32,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
@@ -3443,7 +3443,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "concat",       "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL    ]
 [ "sys",       "contains",     "a",    "geometry",     0,      0,      1,      
"x",    "double",       53,     0,      1,      "y",    "double",       53,     
0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL    ]
 [ "sys",       "copyfrom",     "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL    ]
-[ "sys",       "copyfrom",     "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      "arg_3",        
"varchar",      0,      0,      1,      "arg_4",        "varchar",      0,      
0,      1,      "arg_5",        "varchar",      0,      0,      1,      
"arg_6",        "varchar",      0,      0,      1,      "arg_7",        
"bigint",       64,     0,      1,      "arg_8",        "bigint",       64,     
0,      1,      "arg_9",        "int",  32,     0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
+[ "sys",       "copyfrom",     "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      "arg_3",        
"varchar",      0,      0,      1,      "arg_4",        "varchar",      0,      
0,      1,      "arg_5",        "varchar",      0,      0,      1,      
"arg_6",        "varchar",      0,      0,      1,      "arg_7",        
"bigint",       64,     0,      1,      "arg_8",        "bigint",       64,     
0,      1,      "arg_9",        "int",  32,     0,      1,      "arg_:",        
"varchar",      0,      0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "corr", "e1",   "bigint",       64,     0,      1,      "e2",   
"bigint",       64,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "corr", "e1",   "double",       53,     0,      1,      "e2",   
"double",       53,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "corr", "e1",   "hugeint",      128,    0,      1,      "e2",   
"hugeint",      128,    0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
@@ -3660,7 +3660,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "ltrim",        "arg_1",        "clob", 0,      0,      1,      
"arg_2",        "clob", 0,      0,      1,      NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "ltrim",        "arg_1",        "varchar",      0,      0,      
1,      NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "ltrim",        "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "malfunctions", "address",      "clob", 0,      0,      0,      
"comment",      "clob", 0,      0,      0,      NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "malfunctions", "function",     "clob", 0,      0,      0,      
"signature",    "clob", 0,      0,      0,      "address",      "clob", 0,      
0,      0,      "comment",      "clob", 0,      0,      0,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "masklen",      "p",    "inet", 0,      0,      1,      NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   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",       "max",  "arg",  "any",  0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   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",       "mbr",  "geom", "geometry",     0,      0,      1,      NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
@@ -5393,6 +5393,7 @@ drop function pcre_replace(string, strin
 [ "alpha",     "public",       16,     "monetdb",      0       ]
 [ "date_to_str",       "public",       16,     "monetdb",      0       ]
 [ "degrees",   "public",       16,     "monetdb",      0       ]
+[ "env",       "public",       16,     NULL,   0       ]
 [ "epoch",     "public",       16,     "monetdb",      0       ]
 [ "epoch",     "public",       16,     "monetdb",      0       ]
 [ "epoch",     "public",       16,     "monetdb",      0       ]
diff --git a/sql/test/emptydb-upgrade-chain/Tests/check.stable.out 
b/sql/test/emptydb-upgrade-chain/Tests/check.stable.out
--- a/sql/test/emptydb-upgrade-chain/Tests/check.stable.out
+++ b/sql/test/emptydb-upgrade-chain/Tests/check.stable.out
@@ -869,7 +869,7 @@ create function "left_shift"(i1 inet, i2
 create function "left_shift_assign"(i1 inet, i2 inet) returns boolean external 
name inet."<<=";
 create filter function "like"(val string, pat string, esc string) external 
name algebra."like";
 create filter function "like"(val string, pat string) external name 
algebra."like";
-create function sys.malfunctions() returns table("signature" string, "address" 
string, "comment" string) external name "manual"."functions";
+create function sys.malfunctions() returns table("module" string, "function" 
string, "signature" string, "address" string, "comment" string) external name 
"manual"."functions";
 create function "masklen" (p inet) returns int external name inet."masklen";
 create function mbr(geom geometry) returns mbr external name geom."mbr";
 create function sys.md5(v string) returns string external name clients.md5sum;
@@ -1920,7 +1920,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
-[ "sys",       "malfunctions", "create function sys.malfunctions() returns 
table(\"signature\" string, \"address\" string, \"comment\" string) external 
name \"manual\".\"functions\";",       "manual",       1,      5,      false,  
false,  false   ]
+[ "sys",       "malfunctions", "create function sys.malfunctions() returns 
table(\"module\" string, \"function\" string, \"signature\" string, \"address\" 
string, \"comment\" string) external name \"manual\".\"functions\";",       
"manual",       1,      5,      false,  false,  false   ]
 [ "sys",       "masklen",      "create function \"masklen\" (p inet) returns 
int external name inet.\"masklen\";",     "inet", 1,      1,      false,  
false,  false   ]
 [ "sys",       "max",  "max",  "aggr", 0,      3,      false,  false,  false   
]
 [ "sys",       "mbr",  "create function mbr(geom geometry) returns mbr 
external name geom.\"mbr\";",   "geom", 1,      1,      false,  false,  false   
]
@@ -3111,7 +3111,7 @@ drop function pcre_replace(string, strin
 % sys.s,       sys.f,  .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16 # table_name
 % name,        name,   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
 % varchar,     varchar,        varchar,        varchar,        int,    int,    
tinyint,        varchar,        varchar,        int,    int,    tinyint,        
varchar,        varchar,        int,    int,    tinyint,        varchar,        
varchar,        int,    int,    tinyint,        varchar,        varchar,        
int,    int,    tinyint,        varchar,        varchar,        int,    int,    
tinyint,        varchar,        varchar,        int,    int,    tinyint,        
varchar,        varchar,        int,    int,    tinyint,        varchar,        
varchar,        int,    int,    tinyint,        varchar,        varchar,        
int,    int,    tinyint,        varchar,        varchar,        int,    int,    
tinyint,        varchar,        varchar,        int,    int,    tinyint,        
varchar,        varchar,        int,    int,    tinyint,        varchar,        
varchar,        int,    int,    tinyint,        varchar,        varchar,        
int,    int,    tinyint # type
-% 8,   35,     16,     14,     4,      1,      1,      16,     14,     2,      
1,      1,      27,     12,     2,      1,      1,      12,     7,      2,      
1,      1,      10,     7,      2,      1,      1,      8,      7,      2,      
1,      1,      9,      6,      2,      1,      1,      10,     6,      2,      
1,      1,      8,      7,      2,      1,      1,      8,      6,      2,      
1,      1,      5,      7,      2,      1,      1,      8,      6,      2,      
1,      1,      6,      7,      1,      1,      1,      8,      6,      2,      
1,      1,      5,      4,      1,      1,      1 # length
+% 8,   35,     16,     14,     4,      1,      1,      16,     14,     2,      
1,      1,      27,     12,     2,      1,      1,      12,     7,      2,      
1,      1,      10,     7,      2,      1,      1,      8,      7,      2,      
1,      1,      9,      6,      2,      1,      1,      10,     6,      2,      
1,      1,      8,      7,      2,      1,      1,      8,      7,      2,      
1,      1,      5,      7,      2,      1,      1,      8,      6,      2,      
1,      1,      6,      7,      1,      1,      1,      8,      6,      2,      
1,      1,      5,      4,      1,      1,      1 # length
 [ "json",      "filter",       "js",   "json", 0,      0,      1,      "name", 
"bigint",       64,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "json",      "filter",       "js",   "json", 0,      0,      1,      "name", 
"int",  32,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
 [ "json",      "filter",       "js",   "json", 0,      0,      1,      "name", 
"tinyint",      8,      0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
@@ -3242,7 +3242,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "concat",       "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL    ]
 [ "sys",       "contains",     "a",    "geometry",     0,      0,      1,      
"x",    "double",       53,     0,      1,      "y",    "double",       53,     
0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL    ]
 [ "sys",       "copyfrom",     "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL    ]
-[ "sys",       "copyfrom",     "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      "arg_3",        
"varchar",      0,      0,      1,      "arg_4",        "varchar",      0,      
0,      1,      "arg_5",        "varchar",      0,      0,      1,      
"arg_6",        "varchar",      0,      0,      1,      "arg_7",        
"bigint",       64,     0,      1,      "arg_8",        "bigint",       64,     
0,      1,      "arg_9",        "int",  32,     0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
+[ "sys",       "copyfrom",     "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      "arg_3",        
"varchar",      0,      0,      1,      "arg_4",        "varchar",      0,      
0,      1,      "arg_5",        "varchar",      0,      0,      1,      
"arg_6",        "varchar",      0,      0,      1,      "arg_7",        
"bigint",       64,     0,      1,      "arg_8",        "bigint",       64,     
0,      1,      "arg_9",        "int",  32,     0,      1,      "arg_:",        
"varchar",      0,      0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "corr", "e1",   "bigint",       64,     0,      1,      "e2",   
"bigint",       64,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "corr", "e1",   "double",       53,     0,      1,      "e2",   
"double",       53,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "corr", "e1",   "int",  32,     0,      1,      "e2",   "int",  
32,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
@@ -3453,7 +3453,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "ltrim",        "arg_1",        "clob", 0,      0,      1,      
"arg_2",        "clob", 0,      0,      1,      NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "ltrim",        "arg_1",        "varchar",      0,      0,      
1,      NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "ltrim",        "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "malfunctions", "address",      "clob", 0,      0,      0,      
"comment",      "clob", 0,      0,      0,      NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "malfunctions", "function",     "clob", 0,      0,      0,      
"signature",    "clob", 0,      0,      0,      "address",      "clob", 0,      
0,      0,      "comment",      "clob", 0,      0,      0,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "masklen",      "p",    "inet", 0,      0,      1,      NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   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",       "max",  "arg",  "any",  0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   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",       "mbr",  "geom", "geometry",     0,      0,      1,      NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
@@ -5022,6 +5022,7 @@ drop function pcre_replace(string, strin
 [ "alpha",     "public",       16,     "monetdb",      0       ]
 [ "date_to_str",       "public",       16,     "monetdb",      0       ]
 [ "degrees",   "public",       16,     "monetdb",      0       ]
+[ "env",       "public",       16,     NULL,   0       ]
 [ "epoch",     "public",       16,     "monetdb",      0       ]
 [ "epoch",     "public",       16,     "monetdb",      0       ]
 [ "epoch",     "public",       16,     "monetdb",      0       ]
diff --git a/sql/test/emptydb-upgrade-chain/Tests/check.stable.out.int128 
b/sql/test/emptydb-upgrade-chain/Tests/check.stable.out.int128
--- a/sql/test/emptydb-upgrade-chain/Tests/check.stable.out.int128
+++ b/sql/test/emptydb-upgrade-chain/Tests/check.stable.out.int128
@@ -873,7 +873,7 @@ create function "left_shift"(i1 inet, i2
 create function "left_shift_assign"(i1 inet, i2 inet) returns boolean external 
name inet."<<=";
 create filter function "like"(val string, pat string, esc string) external 
name algebra."like";
 create filter function "like"(val string, pat string) external name 
algebra."like";
-create function sys.malfunctions() returns table("signature" string, "address" 
string, "comment" string) external name "manual"."functions";
+create function sys.malfunctions() returns table("module" string, "function" 
string, "signature" string, "address" string, "comment" string) external name 
"manual"."functions";
 create function "masklen" (p inet) returns int external name inet."masklen";
 create function mbr(geom geometry) returns mbr external name geom."mbr";
 create function sys.md5(v string) returns string external name clients.md5sum;
@@ -1947,7 +1947,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
-[ "sys",       "malfunctions", "create function sys.malfunctions() returns 
table(\"signature\" string, \"address\" string, \"comment\" string) external 
name \"manual\".\"functions\";",       "manual",       1,      5,      false,  
false,  false   ]
+[ "sys",       "malfunctions", "create function sys.malfunctions() returns 
table(\"module\" string, \"function\" string, \"signature\" string, \"address\" 
string, \"comment\" string) external name \"manual\".\"functions\";",       
"manual",       1,      5,      false,  false,  false   ]
 [ "sys",       "masklen",      "create function \"masklen\" (p inet) returns 
int external name inet.\"masklen\";",     "inet", 1,      1,      false,  
false,  false   ]
 [ "sys",       "max",  "max",  "aggr", 0,      3,      false,  false,  false   
]
 [ "sys",       "mbr",  "create function mbr(geom geometry) returns mbr 
external name geom.\"mbr\";",   "geom", 1,      1,      false,  false,  false   
]
@@ -3301,7 +3301,7 @@ drop function pcre_replace(string, strin
 % sys.s,       sys.f,  .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16 # table_name
 % name,        name,   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
 % varchar,     varchar,        varchar,        varchar,        int,    int,    
tinyint,        varchar,        varchar,        int,    int,    tinyint,        
varchar,        varchar,        int,    int,    tinyint,        varchar,        
varchar,        int,    int,    tinyint,        varchar,        varchar,        
int,    int,    tinyint,        varchar,        varchar,        int,    int,    
tinyint,        varchar,        varchar,        int,    int,    tinyint,        
varchar,        varchar,        int,    int,    tinyint,        varchar,        
varchar,        int,    int,    tinyint,        varchar,        varchar,        
int,    int,    tinyint,        varchar,        varchar,        int,    int,    
tinyint,        varchar,        varchar,        int,    int,    tinyint,        
varchar,        varchar,        int,    int,    tinyint,        varchar,        
varchar,        int,    int,    tinyint,        varchar,        varchar,        
int,    int,    tinyint # type
-% 8,   35,     16,     14,     4,      1,      1,      16,     14,     3,      
1,      1,      27,     12,     3,      1,      1,      12,     7,      2,      
1,      1,      10,     7,      2,      1,      1,      8,      7,      2,      
1,      1,      9,      6,      2,      1,      1,      10,     6,      2,      
1,      1,      8,      7,      2,      1,      1,      8,      6,      2,      
1,      1,      5,      7,      2,      1,      1,      8,      6,      2,      
1,      1,      6,      7,      1,      1,      1,      8,      6,      2,      
1,      1,      5,      4,      1,      1,      1 # length
+% 8,   35,     16,     14,     4,      1,      1,      16,     14,     3,      
1,      1,      27,     12,     3,      1,      1,      12,     7,      2,      
1,      1,      10,     7,      2,      1,      1,      8,      7,      2,      
1,      1,      9,      6,      2,      1,      1,      10,     6,      2,      
1,      1,      8,      7,      2,      1,      1,      8,      7,      2,      
1,      1,      5,      7,      2,      1,      1,      8,      6,      2,      
1,      1,      6,      7,      1,      1,      1,      8,      6,      2,      
1,      1,      5,      4,      1,      1,      1 # length
 [ "json",      "filter",       "js",   "json", 0,      0,      1,      "name", 
"bigint",       64,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "json",      "filter",       "js",   "json", 0,      0,      1,      "name", 
"hugeint",      128,    0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "json",      "filter",       "js",   "json", 0,      0,      1,      "name", 
"int",  32,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
@@ -3443,7 +3443,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "concat",       "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL    ]
 [ "sys",       "contains",     "a",    "geometry",     0,      0,      1,      
"x",    "double",       53,     0,      1,      "y",    "double",       53,     
0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL    ]
 [ "sys",       "copyfrom",     "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL    ]
-[ "sys",       "copyfrom",     "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      "arg_3",        
"varchar",      0,      0,      1,      "arg_4",        "varchar",      0,      
0,      1,      "arg_5",        "varchar",      0,      0,      1,      
"arg_6",        "varchar",      0,      0,      1,      "arg_7",        
"bigint",       64,     0,      1,      "arg_8",        "bigint",       64,     
0,      1,      "arg_9",        "int",  32,     0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
+[ "sys",       "copyfrom",     "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      "arg_3",        
"varchar",      0,      0,      1,      "arg_4",        "varchar",      0,      
0,      1,      "arg_5",        "varchar",      0,      0,      1,      
"arg_6",        "varchar",      0,      0,      1,      "arg_7",        
"bigint",       64,     0,      1,      "arg_8",        "bigint",       64,     
0,      1,      "arg_9",        "int",  32,     0,      1,      "arg_:",        
"varchar",      0,      0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "corr", "e1",   "bigint",       64,     0,      1,      "e2",   
"bigint",       64,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "corr", "e1",   "double",       53,     0,      1,      "e2",   
"double",       53,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "corr", "e1",   "hugeint",      128,    0,      1,      "e2",   
"hugeint",      128,    0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
@@ -3660,7 +3660,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "ltrim",        "arg_1",        "clob", 0,      0,      1,      
"arg_2",        "clob", 0,      0,      1,      NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "ltrim",        "arg_1",        "varchar",      0,      0,      
1,      NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "ltrim",        "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "malfunctions", "address",      "clob", 0,      0,      0,      
"comment",      "clob", 0,      0,      0,      NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "malfunctions", "function",     "clob", 0,      0,      0,      
"signature",    "clob", 0,      0,      0,      "address",      "clob", 0,      
0,      0,      "comment",      "clob", 0,      0,      0,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "masklen",      "p",    "inet", 0,      0,      1,      NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   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",       "max",  "arg",  "any",  0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   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",       "mbr",  "geom", "geometry",     0,      0,      1,      NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
@@ -5393,6 +5393,7 @@ drop function pcre_replace(string, strin
 [ "alpha",     "public",       16,     "monetdb",      0       ]
 [ "date_to_str",       "public",       16,     "monetdb",      0       ]
 [ "degrees",   "public",       16,     "monetdb",      0       ]
+[ "env",       "public",       16,     NULL,   0       ]
 [ "epoch",     "public",       16,     "monetdb",      0       ]
 [ "epoch",     "public",       16,     "monetdb",      0       ]
 [ "epoch",     "public",       16,     "monetdb",      0       ]
diff --git a/sql/test/emptydb-upgrade-hge/Tests/check.stable.out.int128 
b/sql/test/emptydb-upgrade-hge/Tests/check.stable.out.int128
--- a/sql/test/emptydb-upgrade-hge/Tests/check.stable.out.int128
+++ b/sql/test/emptydb-upgrade-hge/Tests/check.stable.out.int128
@@ -873,7 +873,7 @@ create function "left_shift"(i1 inet, i2
 create function "left_shift_assign"(i1 inet, i2 inet) returns boolean external 
name inet."<<=";
 create filter function "like"(val string, pat string, esc string) external 
name algebra."like";
 create filter function "like"(val string, pat string) external name 
algebra."like";
-create function sys.malfunctions() returns table("signature" string, "address" 
string, "comment" string) external name "manual"."functions";
+create function sys.malfunctions() returns table("module" string, "function" 
string, "signature" string, "address" string, "comment" string) external name 
"manual"."functions";
 create function "masklen" (p inet) returns int external name inet."masklen";
 create function mbr(geom geometry) returns mbr external name geom."mbr";
 create function sys.md5(v string) returns string external name clients.md5sum;
@@ -1947,7 +1947,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
-[ "sys",       "malfunctions", "create function sys.malfunctions() returns 
table(\"signature\" string, \"address\" string, \"comment\" string) external 
name \"manual\".\"functions\";",       "manual",       1,      5,      false,  
false,  false   ]
+[ "sys",       "malfunctions", "create function sys.malfunctions() returns 
table(\"module\" string, \"function\" string, \"signature\" string, \"address\" 
string, \"comment\" string) external name \"manual\".\"functions\";",       
"manual",       1,      5,      false,  false,  false   ]
 [ "sys",       "masklen",      "create function \"masklen\" (p inet) returns 
int external name inet.\"masklen\";",     "inet", 1,      1,      false,  
false,  false   ]
 [ "sys",       "max",  "max",  "aggr", 0,      3,      false,  false,  false   
]
 [ "sys",       "mbr",  "create function mbr(geom geometry) returns mbr 
external name geom.\"mbr\";",   "geom", 1,      1,      false,  false,  false   
]
@@ -3301,7 +3301,7 @@ drop function pcre_replace(string, strin
 % sys.s,       sys.f,  .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, 
.arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16, .arg16 # table_name
 % name,        name,   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
 % varchar,     varchar,        varchar,        varchar,        int,    int,    
tinyint,        varchar,        varchar,        int,    int,    tinyint,        
varchar,        varchar,        int,    int,    tinyint,        varchar,        
varchar,        int,    int,    tinyint,        varchar,        varchar,        
int,    int,    tinyint,        varchar,        varchar,        int,    int,    
tinyint,        varchar,        varchar,        int,    int,    tinyint,        
varchar,        varchar,        int,    int,    tinyint,        varchar,        
varchar,        int,    int,    tinyint,        varchar,        varchar,        
int,    int,    tinyint,        varchar,        varchar,        int,    int,    
tinyint,        varchar,        varchar,        int,    int,    tinyint,        
varchar,        varchar,        int,    int,    tinyint,        varchar,        
varchar,        int,    int,    tinyint,        varchar,        varchar,        
int,    int,    tinyint # type
-% 8,   35,     16,     14,     4,      1,      1,      16,     14,     3,      
1,      1,      27,     12,     3,      1,      1,      12,     7,      2,      
1,      1,      10,     7,      2,      1,      1,      8,      7,      2,      
1,      1,      9,      6,      2,      1,      1,      10,     6,      2,      
1,      1,      8,      7,      2,      1,      1,      8,      6,      2,      
1,      1,      5,      7,      2,      1,      1,      8,      6,      2,      
1,      1,      6,      7,      1,      1,      1,      8,      6,      2,      
1,      1,      5,      4,      1,      1,      1 # length
+% 8,   35,     16,     14,     4,      1,      1,      16,     14,     3,      
1,      1,      27,     12,     3,      1,      1,      12,     7,      2,      
1,      1,      10,     7,      2,      1,      1,      8,      7,      2,      
1,      1,      9,      6,      2,      1,      1,      10,     6,      2,      
1,      1,      8,      7,      2,      1,      1,      8,      7,      2,      
1,      1,      5,      7,      2,      1,      1,      8,      6,      2,      
1,      1,      6,      7,      1,      1,      1,      8,      6,      2,      
1,      1,      5,      4,      1,      1,      1 # length
 [ "json",      "filter",       "js",   "json", 0,      0,      1,      "name", 
"bigint",       64,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "json",      "filter",       "js",   "json", 0,      0,      1,      "name", 
"hugeint",      128,    0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "json",      "filter",       "js",   "json", 0,      0,      1,      "name", 
"int",  32,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
@@ -3443,7 +3443,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "concat",       "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL    ]
 [ "sys",       "contains",     "a",    "geometry",     0,      0,      1,      
"x",    "double",       53,     0,      1,      "y",    "double",       53,     
0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL    ]
 [ "sys",       "copyfrom",     "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL    ]
-[ "sys",       "copyfrom",     "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      "arg_3",        
"varchar",      0,      0,      1,      "arg_4",        "varchar",      0,      
0,      1,      "arg_5",        "varchar",      0,      0,      1,      
"arg_6",        "varchar",      0,      0,      1,      "arg_7",        
"bigint",       64,     0,      1,      "arg_8",        "bigint",       64,     
0,      1,      "arg_9",        "int",  32,     0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
+[ "sys",       "copyfrom",     "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      "arg_3",        
"varchar",      0,      0,      1,      "arg_4",        "varchar",      0,      
0,      1,      "arg_5",        "varchar",      0,      0,      1,      
"arg_6",        "varchar",      0,      0,      1,      "arg_7",        
"bigint",       64,     0,      1,      "arg_8",        "bigint",       64,     
0,      1,      "arg_9",        "int",  32,     0,      1,      "arg_:",        
"varchar",      0,      0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "corr", "e1",   "bigint",       64,     0,      1,      "e2",   
"bigint",       64,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "corr", "e1",   "double",       53,     0,      1,      "e2",   
"double",       53,     0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
 [ "sys",       "corr", "e1",   "hugeint",      128,    0,      1,      "e2",   
"hugeint",      128,    0,      1,      NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    
]
@@ -3660,7 +3660,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "ltrim",        "arg_1",        "clob", 0,      0,      1,      
"arg_2",        "clob", 0,      0,      1,      NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "ltrim",        "arg_1",        "varchar",      0,      0,      
1,      NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "ltrim",        "arg_1",        "varchar",      0,      0,      
1,      "arg_2",        "varchar",      0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "malfunctions", "address",      "clob", 0,      0,      0,      
"comment",      "clob", 0,      0,      0,      NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "malfunctions", "function",     "clob", 0,      0,      0,      
"signature",    "clob", 0,      0,      0,      "address",      "clob", 0,      
0,      0,      "comment",      "clob", 0,      0,      0,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   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",       "masklen",      "p",    "inet", 0,      0,      1,      NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   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",       "max",  "arg",  "any",  0,      0,      1,      NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   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",       "mbr",  "geom", "geometry",     0,      0,      1,      NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL    ]
@@ -5393,6 +5393,7 @@ drop function pcre_replace(string, strin
 [ "alpha",     "public",       16,     "monetdb",      0       ]
 [ "date_to_str",       "public",       16,     "monetdb",      0       ]
 [ "degrees",   "public",       16,     "monetdb",      0       ]
+[ "env",       "public",       16,     NULL,   0       ]
 [ "epoch",     "public",       16,     "monetdb",      0       ]
 [ "epoch",     "public",       16,     "monetdb",      0       ]
 [ "epoch",     "public",       16,     "monetdb",      0       ]
diff --git a/sql/test/emptydb-upgrade/Tests/check.stable.out 
b/sql/test/emptydb-upgrade/Tests/check.stable.out
--- a/sql/test/emptydb-upgrade/Tests/check.stable.out
+++ b/sql/test/emptydb-upgrade/Tests/check.stable.out
@@ -869,7 +869,7 @@ create function "left_shift"(i1 inet, i2
 create function "left_shift_assign"(i1 inet, i2 inet) returns boolean external 
name inet."<<=";
 create filter function "like"(val string, pat string, esc string) external 
name algebra."like";
 create filter function "like"(val string, pat string) external name 
algebra."like";
-create function sys.malfunctions() returns table("signature" string, "address" 
string, "comment" string) external name "manual"."functions";
+create function sys.malfunctions() returns table("module" string, "function" 
string, "signature" string, "address" string, "comment" string) external name 
"manual"."functions";
 create function "masklen" (p inet) returns int external name inet."masklen";
 create function mbr(geom geometry) returns mbr external name geom."mbr";
 create function sys.md5(v string) returns string external name clients.md5sum;
@@ -1920,7 +1920,7 @@ drop function pcre_replace(string, strin
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
 [ "sys",       "ltrim",        "ltrim",        "str",  0,      1,      false,  
false,  false   ]
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to