Changeset: eb81b910f336 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=eb81b910f336
Removed Files:
        sql/scripts/09_like.sql
Modified Files:
        sql/backends/monet5/CMakeLists.txt
        sql/backends/monet5/sql_upgrades.c
        sql/common/sql_types.c
        sql/scripts/CMakeLists.txt
        sql/storage/bat/bat_logger.c
        
sql/test/BugDay_2005-10-06_2.9.3/Tests/simple_union.SF-1005596.stable.out
        
sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out
        sql/test/BugTracker-2020/Tests/values-like-join.Bug-6954.stable.out
        
sql/test/BugTracker-2020/Tests/values-like-join.Bug-6954.stable.out.single
        
sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out
        sql/test/miscellaneous/Tests/simple_selects.stable.out
        sql/test/sys-schema/Tests/systemfunctions.stable.out
        sql/test/sys-schema/Tests/systemfunctions.stable.out.int128
Branch: Oct2020
Log Message:

Cleanup, move like and ilike filter functions definitions into sql_types. This 
adds the missing 'char' and 'varchar' types definitions


diffs (truncated from 409 to 300 lines):

diff --git a/sql/backends/monet5/CMakeLists.txt 
b/sql/backends/monet5/CMakeLists.txt
--- a/sql/backends/monet5/CMakeLists.txt
+++ b/sql/backends/monet5/CMakeLists.txt
@@ -14,7 +14,6 @@ set(sql_public_headers
 add_library(sql SHARED)
 
 set(include_sql_files
-  09_like
   12_url
   13_date
   14_inet
diff --git a/sql/backends/monet5/sql_upgrades.c 
b/sql/backends/monet5/sql_upgrades.c
--- a/sql/backends/monet5/sql_upgrades.c
+++ b/sql/backends/monet5/sql_upgrades.c
@@ -2313,7 +2313,7 @@ sql_update_oscar(Client c, mvc *sql, con
                                        "DROP FUNCTION 
\"sys\".\"getcontent\"(url);\n"
                                        "DROP AGGREGATE 
\"json\".\"output\"(json);\n");
 
-                       /* Move sys.degrees and sys.radians to sql_types.c 
definitions (I did this at the bat_logger) Remove the obsolete entries at 
privileges table */
+                       /* Move sys.degrees,sys.radians,sys.like and sys.ilike 
to sql_types.c definitions (I did this at the bat_logger) Remove the obsolete 
entries at privileges table */
                        pos += snprintf(buf + pos, bufsize - pos,
                                        "delete from privileges where obj_id in 
(select obj_id from privileges left join functions on privileges.obj_id = 
functions.id where functions.id is null and privileges.obj_id not in ((SELECT 
tables.id from tables), 0));\n");
 
diff --git a/sql/common/sql_types.c b/sql/common/sql_types.c
--- a/sql/common/sql_types.c
+++ b/sql/common/sql_types.c
@@ -1075,6 +1075,19 @@ sql_create_aggr(sql_allocator *sa, const
 }
 
 static sql_func *
+sql_create_filter(sql_allocator *sa, const char *name, const char *mod, const 
char *imp, bit semantics, bit side_effect, int fix_scale,
+                               unsigned int res_scale, int nargs, ...)
+{
+       sql_func *res;
+       va_list valist;
+
+       va_start(valist, nargs);
+       res = sql_create_func_(sa, name, mod, imp, F_FILT, semantics, 
side_effect, fix_scale, res_scale, BIT, nargs, valist);
+       va_end(valist);
+       return res;
+}
+
+static sql_func *
 sql_create_union(sql_allocator *sa, const char *name, const char *mod, const 
char *imp, bit side_effect, int fix_scale,
                                unsigned int res_scale, sql_type *fres, int 
nargs, ...)
 {
@@ -1798,16 +1811,15 @@ sqltypeinit( sql_allocator *sa)
                sql_create_func(sa, "substring", "str", "substring", FALSE, 
FALSE, INOUT, 0, *t, 3, *t, INT, INT);
                sql_create_func(sa, "substr", "str", "substring", FALSE, FALSE, 
INOUT, 0, *t, 2, *t, INT);
                sql_create_func(sa, "substr", "str", "substring", FALSE, FALSE, 
INOUT, 0, *t, 3, *t, INT, INT);
-               /*
-               sql_create_func(sa, "like", "algebra", "like", FALSE, 
SCALE_NONE, 0, BIT, 2, *t, *t);
-               sql_create_func3(sa, "like", "algebra", "like", FALSE, 
SCALE_NONE, 0, BIT, 3, *t, *t, *t);
-               sql_create_func(sa, "ilike", "algebra", "ilike", FALSE, 
SCALE_NONE, 0, BIT, 2, *t, *t);
-               sql_create_func3(sa, "ilike", "algebra", "ilike", FALSE, 
SCALE_NONE, 0, BIT, 3, *t, *t, *t);
-               */
-               sql_create_func(sa, "not_like", "algebra", "not_like", FALSE, 
FALSE, SCALE_NONE, 0, BIT, 2, *t, *t);
-               sql_create_func(sa, "not_like", "algebra", "not_like", FALSE, 
FALSE, SCALE_NONE, 0, BIT, 3, *t, *t, *t);
-               sql_create_func(sa, "not_ilike", "algebra", "not_ilike", FALSE, 
FALSE, SCALE_NONE, 0, BIT, 2, *t, *t);
-               sql_create_func(sa, "not_ilike", "algebra", "not_ilike", FALSE, 
FALSE, SCALE_NONE, 0, BIT, 3, *t, *t, *t);
+
+               sql_create_filter(sa, "like", "algebra", "like", FALSE, FALSE, 
SCALE_NONE, 0, 2, *t, *t);
+               sql_create_filter(sa, "like", "algebra", "like", FALSE, FALSE, 
SCALE_NONE, 0, 3, *t, *t, *t);
+               sql_create_filter(sa, "ilike", "algebra", "ilike", FALSE, 
FALSE, SCALE_NONE, 0, 2, *t, *t);
+               sql_create_filter(sa, "ilike", "algebra", "ilike", FALSE, 
FALSE, SCALE_NONE, 0, 3, *t, *t, *t);
+               sql_create_filter(sa, "not_like", "algebra", "not_like", FALSE, 
FALSE, SCALE_NONE, 0, 2, *t, *t);
+               sql_create_filter(sa, "not_like", "algebra", "not_like", FALSE, 
FALSE, SCALE_NONE, 0, 3, *t, *t, *t);
+               sql_create_filter(sa, "not_ilike", "algebra", "not_ilike", 
FALSE, FALSE, SCALE_NONE, 0, 2, *t, *t);
+               sql_create_filter(sa, "not_ilike", "algebra", "not_ilike", 
FALSE, FALSE, SCALE_NONE, 0, 3, *t, *t, *t);
 
                sql_create_func(sa, "patindex", "pcre", "patindex", FALSE, 
FALSE, SCALE_NONE, 0, INT, 2, *t, *t);
                sql_create_func(sa, "truncate", "str", "stringleft", FALSE, 
FALSE, SCALE_NONE, 0, *t, 2, *t, INT);
diff --git a/sql/scripts/09_like.sql b/sql/scripts/09_like.sql
deleted file mode 100644
--- a/sql/scripts/09_like.sql
+++ /dev/null
@@ -1,15 +0,0 @@
--- This Source Code Form is subject to the terms of the Mozilla Public
--- License, v. 2.0.  If a copy of the MPL was not distributed with this
--- file, You can obtain one at http://mozilla.org/MPL/2.0/.
---
--- Copyright 1997 - July 2008 CWI, August 2008 - 2020 MonetDB B.V.
-
-create filter function "like"(val string, pat string, esc string) external 
name algebra."like";
-create filter function "ilike"(val string, pat string, esc string) external 
name algebra."ilike";
-create filter function "like"(val string, pat string) external name 
algebra."like";
-create filter function "ilike"(val string, pat string) external name 
algebra."ilike";
-
-grant execute on filter function "like" (string, string, string) to public;
-grant execute on filter function "ilike" (string, string, string) to public;
-grant execute on filter function "like" (string, string) to public;
-grant execute on filter function "ilike" (string, string) to public;
diff --git a/sql/scripts/CMakeLists.txt b/sql/scripts/CMakeLists.txt
--- a/sql/scripts/CMakeLists.txt
+++ b/sql/scripts/CMakeLists.txt
@@ -8,7 +8,6 @@
 
 #[[
 install(FILES
-  09_like.sql
   12_url.sql
   13_date.sql
   14_inet.sql
diff --git a/sql/storage/bat/bat_logger.c b/sql/storage/bat/bat_logger.c
--- a/sql/storage/bat/bat_logger.c
+++ b/sql/storage/bat/bat_logger.c
@@ -871,7 +871,7 @@ bl_postversion(void *lg)
                           "storage", str_nil,
                           NULL) != GDK_SUCCEED)
                        return GDK_FAIL;
-               {       /* move sql.degrees and sql.radians functions from 
10_math.sql script to sql_types list */
+               {       /* move sql.degrees, sql.radians, sql.like and 
sql.ilike functions from 09_like.sql and 10_math.sql script to sql_types list */
                        BAT *func_func = temp_descriptor(logger_find_bat(lg, 
N("sys", "functions", "name"), 0, 0));
                        if (func_func == NULL) {
                                return GDK_FAIL;
@@ -882,7 +882,6 @@ bl_postversion(void *lg)
                                return GDK_FAIL;
                        }
                        BAT *radians_func = BATselect(func_func, NULL, 
"radians", NULL, 1, 1, 0);
-                       bat_destroy(func_func);
                        if (radians_func == NULL) {
                                bat_destroy(degrees_func);
                                return GDK_FAIL;
@@ -892,16 +891,46 @@ bl_postversion(void *lg)
                        bat_destroy(degrees_func);
                        bat_destroy(radians_func);
                        if (cands == NULL) {
+                               bat_destroy(func_func);
+                               return GDK_FAIL;
+                       }
+
+                       BAT *like_func = BATselect(func_func, NULL, "like", 
NULL, 1, 1, 0);
+                       if (like_func == NULL) {
+                               bat_destroy(func_func);
+                               bat_destroy(cands);
+                               return GDK_FAIL;
+                       }
+
+                       BAT *ncands = BATmergecand(cands, like_func);
+                       bat_destroy(cands);
+                       bat_destroy(like_func);
+                       if (ncands == NULL) {
+                               bat_destroy(func_func);
+                               return GDK_FAIL;
+                       }
+
+                       BAT *ilike_func = BATselect(func_func, NULL, "ilike", 
NULL, 1, 1, 0);
+                       bat_destroy(func_func);
+                       if (ilike_func == NULL) {
+                               bat_destroy(ncands);
+                               return GDK_FAIL;
+                       }
+
+                       BAT *final_cands = BATmergecand(ncands, ilike_func);
+                       bat_destroy(ncands);
+                       bat_destroy(ilike_func);
+                       if (final_cands == NULL) {
                                return GDK_FAIL;
                        }
 
                        BAT *sys_funcs = temp_descriptor(logger_find_bat(lg, 
D("sys", "functions"), 0, 0));
                        if (sys_funcs == NULL) {
-                               bat_destroy(cands);
+                               bat_destroy(final_cands);
                                return GDK_FAIL;
                        }
-                       gdk_return res = BATappend(sys_funcs, cands, NULL, 
true);
-                       bat_destroy(cands);
+                       gdk_return res = BATappend(sys_funcs, final_cands, 
NULL, true);
+                       bat_destroy(final_cands);
                        bat_destroy(sys_funcs);
                        if (res != GDK_SUCCEED)
                                return res;
diff --git 
a/sql/test/BugDay_2005-10-06_2.9.3/Tests/simple_union.SF-1005596.stable.out 
b/sql/test/BugDay_2005-10-06_2.9.3/Tests/simple_union.SF-1005596.stable.out
--- a/sql/test/BugDay_2005-10-06_2.9.3/Tests/simple_union.SF-1005596.stable.out
+++ b/sql/test/BugDay_2005-10-06_2.9.3/Tests/simple_union.SF-1005596.stable.out
@@ -25,7 +25,7 @@ stdout of test 'simple_union.SF-1005596`
 
 % .tables,     .tables,        .tables,        .tables,        .tables,        
.tables,        .tables,        .tables,        .tables,        .tables # 
table_name
 % TABLE_CAT,   TABLE_SCHEM,    TABLE_NAME,     TABLE_TYPE,     REMARKS,        
TYPE_CAT,       TYPE_SCHEM,     TYPE_NAME,      SELF_REFERENCING_COL_NAME,      
REF_GENERATION # name
-% char,        varchar,        varchar,        clob,   char,   char,   char,   
char,   char,   char # type
+% char,        varchar,        varchar,        char,   char,   char,   char,   
char,   char,   char # type
 % 4,   3,      4,      5,      0,      0,      0,      0,      5,      6 # 
length
 [ "demo",      "sys",  "test", "TABLE",        "",     NULL,   NULL,   NULL,   
"rowid",        "SYSTEM"        ]
 
diff --git 
a/sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out
 
b/sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out
--- 
a/sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out
+++ 
b/sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out
@@ -88,7 +88,7 @@ stdout of test 'memory-consumption-query
 % .plan # table_name
 % rel # name
 % clob # type
-% 2565 # length
+% 2505 # length
 top N (
 | project (
 | | select (
@@ -168,7 +168,7 @@ top N (
 | | | | ) [ "a3"."t3pkcol" HASHCOL  = "table1"."t1cold113" ],
 | | | | table(sys.table12) [ "table12"."t12cola1" ] COUNT 
 | | | ) [ "table12"."t12cola1" = "table1"."t1cola1" ]
-| | ) [ (((((((((((((((clob[char["table1"."t1cold1"]] as "table1"."t1cold1") 
FILTER ilike (clob "%a%", clob "")) or ((clob[char["table1"."t1cola1"]] as 
"table1"."t1cola1") FILTER ilike (clob "%a%", clob ""))) or 
((clob[char["table1"."t1colb1"]] as "table1"."t1colb1") FILTER ilike (clob 
"%a%", clob ""))) or ((clob[char["table1"."t1cola11"]] as "table1"."t1cola11") 
FILTER ilike (clob "%business%", clob ""))) or ("table1"."t1colc91" >= 
timestamp(7) "2016-03-21 05:00:00.000000")) or ("table1"."t1cola101" = tinyint 
"1")) or ((clob[char["table1"."t1cola12"]] as "table1"."t1cola12") FILTER ilike 
(clob "%Vijay%", clob ""))) or ((clob[char["table2"."t2cola1"]] as 
"table2"."t2cola1") ! FILTER ilike (clob "%gmail%", clob ""), 
(clob[char["table2"."t2cola1"]] as "table2"."t2cola1") ! FILTER ilike (clob 
"%yahoo%", clob ""))) or ((clob[char["table2"."t2cola1"]] as 
"table2"."t2cola1") FILTER ilike (clob "%efequitygroup.com%", clob ""))) or 
("table4"."t4cola1" = clob "Customer")) or ("table4"."t4col
 a2" ! * = clob "NULL")) or ("table2"."t2cola81" >= date "2009-08-31")) or 
((("table5"."t5cola1" = clob "BAT") or ((clob[char["table5"."t5cola2"]] as 
"table5"."t5cola2") FILTER ilike (clob "%AUSTRALIA%", clob ""))) or 
((clob[char["table5"."t5cola2"]] as "table5"."t5cola2") FILTER ilike (clob 
"%Monet%", clob ""), "table5"."t5cola3" = clob "Facebook", "table5"."t5cola5" = 
clob "new", "table5"."t5cola81" > date "2015-07-30"))) or 
((("table10"."t10cola1" != clob "Completed", "table9"."t9cola1" = clob "Tasks", 
"table9"."t9cola91" >= timestamp(7) "2012-01-01 04:32:27.000000", 
"table10"."t10cola91" <= timestamp(7) "2013-01-01 04:32:27.000000") or 
("table9"."t9cola1" = clob "Events", timestamp(7) "2012-01-01 04:32:27.000000" 
<= "table11"."t11cola91" <= timestamp(7) "2013-01-01 04:32:27.000000" BETWEEN 
)) or ("table9"."t9cola1" = clob "Calls", timestamp(7) "2012-01-01 
04:32:27.000000" <= "table10"."t10cola91" <= timestamp(7) "2013-01-01 
04:32:27.000000" BETWEEN )), "table1"."t1cold111" in (bi
 gint "15842000014793046" as "%64"."%64", bigint "1584
2000017701488" as "%65"."%65", bigint "15842000000024019" as "%66"."%66", 
bigint "15842000000074007" as "%67"."%67", bigint "15842000009358096" as 
"%70"."%70", bigint "15842000010487625" as "%71"."%71", bigint 
"15842000006731919" as "%72"."%72", bigint "15842000002590112" as "%73"."%73", 
bigint "15842000000019001" as "%74"."%74", bigint "15842000014923682" as 
"%75"."%75", bigint "15842000027547249" as "%76"."%76")) or 
("table12"."t12cola1" in (clob[bigint "15842000280111951"], clob[bigint 
"15842000280163015"])) ]
+| | ) [ (((((((((((((((char["table1"."t1cold1"] as "table1"."t1cold1") FILTER 
ilike (char "%a%", char "")) or ((char["table1"."t1cola1"] as 
"table1"."t1cola1") FILTER ilike (char "%a%", char ""))) or 
((char["table1"."t1colb1"] as "table1"."t1colb1") FILTER ilike (char "%a%", 
char ""))) or ((char["table1"."t1cola11"] as "table1"."t1cola11") FILTER ilike 
(char "%business%", char ""))) or ("table1"."t1colc91" >= timestamp(7) 
"2016-03-21 05:00:00.000000")) or ("table1"."t1cola101" = tinyint "1")) or 
((char["table1"."t1cola12"] as "table1"."t1cola12") FILTER ilike (char 
"%Vijay%", char ""))) or ((char["table2"."t2cola1"] as "table2"."t2cola1") ! 
FILTER ilike (char "%gmail%", char ""), (char["table2"."t2cola1"] as 
"table2"."t2cola1") ! FILTER ilike (char "%yahoo%", char ""))) or 
((char["table2"."t2cola1"] as "table2"."t2cola1") FILTER ilike (char 
"%efequitygroup.com%", char ""))) or ("table4"."t4cola1" = clob "Customer")) or 
("table4"."t4cola2" ! * = clob "NULL")) or ("table2"."t2cola81" 
 >= date "2009-08-31")) or ((("table5"."t5cola1" = clob "BAT") or 
 >((char["table5"."t5cola2"] as "table5"."t5cola2") FILTER ilike (char 
 >"%AUSTRALIA%", char ""))) or ((char["table5"."t5cola2"] as 
 >"table5"."t5cola2") FILTER ilike (char "%Monet%", char ""), 
 >"table5"."t5cola3" = clob "Facebook", "table5"."t5cola5" = clob "new", 
 >"table5"."t5cola81" > date "2015-07-30"))) or ((("table10"."t10cola1" != clob 
 >"Completed", "table9"."t9cola1" = clob "Tasks", "table9"."t9cola91" >= 
 >timestamp(7) "2012-01-01 04:32:27.000000", "table10"."t10cola91" <= 
 >timestamp(7) "2013-01-01 04:32:27.000000") or ("table9"."t9cola1" = clob 
 >"Events", timestamp(7) "2012-01-01 04:32:27.000000" <= "table11"."t11cola91" 
 ><= timestamp(7) "2013-01-01 04:32:27.000000" BETWEEN )) or 
 >("table9"."t9cola1" = clob "Calls", timestamp(7) "2012-01-01 04:32:27.000000" 
 ><= "table10"."t10cola91" <= timestamp(7) "2013-01-01 04:32:27.000000" BETWEEN 
 >)), "table1"."t1cold111" in (bigint "15842000014793046" as "%64"."%64", 
 >bigint "15842000017
 701488" as "%65"."%65", bigint "15842000000024019" as
 "%66"."%66", bigint "15842000000074007" as "%67"."%67", bigint 
"15842000009358096" as "%70"."%70", bigint "15842000010487625" as "%71"."%71", 
bigint "15842000006731919" as "%72"."%72", bigint "15842000002590112" as 
"%73"."%73", bigint "15842000000019001" as "%74"."%74", bigint 
"15842000014923682" as "%75"."%75", bigint "15842000027547249" as "%76"."%76")) 
or ("table12"."t12cola1" in (clob[bigint "15842000280111951"], clob[bigint 
"15842000280163015"])) ]
 | ) [ "table1"."t1pkcol" NOT NULL HASHCOL , "table1"."t1cola82", 
"table2"."t2cola10", "table1"."t1cola1", "table1"."t1cola91", "a1"."t3cola1" ] 
[ "table2"."t2cola82" NULLS LAST ]
 ) [ bigint "10", bigint "0" ]
 #ROLLBACK;
diff --git 
a/sql/test/BugTracker-2020/Tests/values-like-join.Bug-6954.stable.out 
b/sql/test/BugTracker-2020/Tests/values-like-join.Bug-6954.stable.out
--- a/sql/test/BugTracker-2020/Tests/values-like-join.Bug-6954.stable.out
+++ b/sql/test/BugTracker-2020/Tests/values-like-join.Bug-6954.stable.out
@@ -9,12 +9,12 @@ stdout of test 'values-like-join.Bug-695
 % .plan # table_name
 % rel # name
 % clob # type
-% 94 # length
+% 82 # length
 project (
 | join (
 | |  [  [ char(3) "one", char(3) "two" ] as "l"."s" ],
 | |  [  [ char(5) "three", char(5) "four" ] as "r"."s" ]
-| ) [ (clob[char["l"."s"]] as "l"."s") FILTER like (clob[char["r"."s"]] as 
"r"."s", clob "") ]
+| ) [ (char["l"."s"] as "l"."s") FILTER like (char["r"."s"] as "r"."s", char 
"") ]
 ) [ tinyint "1" ]
 #explain select 1 from (values ('one'), ('two')) as l(s), (values ('three'), 
('four')) as r(s) where l.s like r.s;
 % .explain # table_name
diff --git 
a/sql/test/BugTracker-2020/Tests/values-like-join.Bug-6954.stable.out.single 
b/sql/test/BugTracker-2020/Tests/values-like-join.Bug-6954.stable.out.single
--- a/sql/test/BugTracker-2020/Tests/values-like-join.Bug-6954.stable.out.single
+++ b/sql/test/BugTracker-2020/Tests/values-like-join.Bug-6954.stable.out.single
@@ -9,12 +9,12 @@ stdout of test 'values-like-join.Bug-695
 % .plan # table_name
 % rel # name
 % clob # type
-% 94 # length
+% 82 # length
 project (
 | join (
 | |  [  [ char(3) "one", char(3) "two" ] as "l"."s" ],
 | |  [  [ char(5) "three", char(5) "four" ] as "r"."s" ]
-| ) [ (clob[char["l"."s"]] as "l"."s") FILTER like (clob[char["r"."s"]] as 
"r"."s", clob "") ]
+| ) [ (char["l"."s"] as "l"."s") FILTER like (char["r"."s"] as "r"."s", char 
"") ]
 ) [ tinyint "1" ]
 #explain select 1 from (values ('one'), ('two')) as l(s), (values ('three'), 
('four')) as r(s) where l.s like r.s;
 % .explain # table_name
diff --git 
a/sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out
 
b/sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out
--- 
a/sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out
+++ 
b/sql/test/bugs/Tests/subselect_multiple_unionall_where_1=1-bug-sf-1005596.stable.out
@@ -59,7 +59,7 @@ stdout of test 'subselect_multiple_union
 [ 2    ]
 % .tables,     .tables,        .tables,        .tables,        .tables,        
.tables,        .tables,        .tables,        .tables,        .tables # 
table_name
 % TABLE_CAT,   TABLE_SCHEM,    TABLE_NAME,     TABLE_TYPE,     REMARKS,        
TYPE_CAT,       TYPE_SCHEM,     TYPE_NAME,      SELF_REFERENCING_COL_NAME,      
REF_GENERATION # name
-% char,        varchar,        varchar,        clob,   char,   char,   char,   
char,   char,   char # type
+% char,        varchar,        varchar,        char,   char,   char,   char,   
char,   char,   char # type
 % 4,   0,      0,      0,      0,      0,      0,      0,      5,      6 # 
length
 #SELECT 3 AS number;
 % . # table_name
@@ -69,7 +69,7 @@ stdout of test 'subselect_multiple_union
 [ 3    ]
 % .tables,     .tables,        .tables,        .tables,        .tables,        
.tables,        .tables,        .tables,        .tables,        .tables # 
table_name
 % TABLE_CAT,   TABLE_SCHEM,    TABLE_NAME,     TABLE_TYPE,     REMARKS,        
TYPE_CAT,       TYPE_SCHEM,     TYPE_NAME,      SELF_REFERENCING_COL_NAME,      
REF_GENERATION # name
-% char,        varchar,        varchar,        clob,   char,   char,   char,   
char,   char,   char # type
+% char,        varchar,        varchar,        char,   char,   char,   char,   
char,   char,   char # type
 % 4,   3,      11,     5,      0,      0,      0,      0,      5,      6 # 
length
 [ "demo",      "sys",  "test_update",  "TABLE",        "",     NULL,   NULL,   
NULL,   "rowid",        "SYSTEM"        ]
 
diff --git a/sql/test/miscellaneous/Tests/simple_selects.stable.out 
b/sql/test/miscellaneous/Tests/simple_selects.stable.out
--- a/sql/test/miscellaneous/Tests/simple_selects.stable.out
+++ b/sql/test/miscellaneous/Tests/simple_selects.stable.out
@@ -239,14 +239,14 @@ stdout of test 'simple_selects` in direc
 [ 2    ]
 #select x like null, null like x, null like null, x ilike null, null ilike x, 
null ilike null,
 #       x not like null, null not like x, null not like null, x not ilike 
null, null not ilike x, null not ilike null from x;
-% sys.%1,      .%2,    .%3,    sys.%4, .%5,    .%6,    .%7,    .%10,   .%11,   
.%12,   .%13,   .%14 # table_name
+% .%1, .%2,    .%3,    .%4,    .%5,    .%6,    .%7,    .%10,   .%11,   .%12,   
.%13,   .%14 # table_name
 % %1,  %2,     %3,     %4,     %5,     %6,     %7,     %10,    %11,    %12,    
%13,    %14 # name
 % boolean,     boolean,        boolean,        boolean,        boolean,        
boolean,        boolean,        boolean,        boolean,        boolean,        
boolean,        boolean # type
 % 5,   5,      5,      5,      5,      5,      5,      5,      5,      5,      
5,      5 # length
 [ NULL,        NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL    ]
 [ NULL,        NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   NULL,   
NULL,   NULL,   NULL    ]
 #select x like null from x;
-% sys.%1 # table_name
+% .%1 # table_name
 % %1 # name
 % boolean # type
 % 5 # length
diff --git a/sql/test/sys-schema/Tests/systemfunctions.stable.out 
b/sql/test/sys-schema/Tests/systemfunctions.stable.out
--- a/sql/test/sys-schema/Tests/systemfunctions.stable.out
+++ b/sql/test/sys-schema/Tests/systemfunctions.stable.out
@@ -902,11 +902,27 @@ stdout of test 'systemfunctions` in dire
 [ "sys",       "ifthenelse",   1,      "boolean",      ""      ]
 [ "sys",       "ifthenelse",   2,      "any",  ""      ]
 [ "sys",       "ifthenelse",   3,      "any",  ""      ]
-[ "sys",       "ilike",        0,      "clob", "create filter function 
\"ilike\"(val string, pat string, esc string) external name algebra.\"ilike\";" 
]
+[ "sys",       "ilike",        0,      "boolean",      "ilike" ]
+[ "sys",       "ilike",        1,      "char", ""      ]
+[ "sys",       "ilike",        2,      "char", ""      ]
+[ "sys",       "ilike",        0,      "boolean",      "ilike" ]
+[ "sys",       "ilike",        1,      "char", ""      ]
+[ "sys",       "ilike",        2,      "char", ""      ]
+[ "sys",       "ilike",        3,      "char", ""      ]
+[ "sys",       "ilike",        0,      "boolean",      "ilike" ]
+[ "sys",       "ilike",        1,      "varchar",      ""      ]
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to