Changeset: 4578290acf80 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4578290acf80
Modified Files:
        sql/backends/monet5/rel_bin.c
        sql/test/SQLancer/Tests/sqlancer06.sql
        sql/test/SQLancer/Tests/sqlancer06.stable.err
        sql/test/SQLancer/Tests/sqlancer06.stable.out
Branch: Oct2020
Log Message:

The first argument for algebra.select cannot be scalar


diffs (62 lines):

diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -3877,7 +3877,7 @@ sql_insert_check_null(backend *be, sql_t
                        char *msg = NULL;
 
                        if (!(s->key && s->nrcols == 0)) {
-                               s = stmt_selectnil(be, i);
+                               s = stmt_selectnil(be, column(be, i));
                                s = stmt_aggr(be, s, NULL, NULL, cnt, 1, 0, 1);
                        } else {
                                sql_subfunc *isnil = sql_bind_func(sql->sa, 
sql->session->schema, "isnull", &c->type, NULL, F_FUNC);
diff --git a/sql/test/SQLancer/Tests/sqlancer06.sql 
b/sql/test/SQLancer/Tests/sqlancer06.sql
--- a/sql/test/SQLancer/Tests/sqlancer06.sql
+++ b/sql/test/SQLancer/Tests/sqlancer06.sql
@@ -97,3 +97,11 @@ FROM t0 FULL OUTER JOIN t2 ON CASE WHEN 
 THEN t0.c0 WHEN NOT (((t2.c0)<=(t2.c0))) THEN NOT EXISTS (SELECT DISTINCT 
INTERVAL '903334778' SECOND FROM t2 WHERE t2.c0) END) as res;
        -- empty
 ROLLBACK;
+
+START TRANSACTION;
+CREATE TABLE "sys"."t2" ("c0" CHARACTER LARGE OBJECT NOT NULL);
+INSERT INTO t2 VALUES (TIME '20:39:07' BETWEEN TIME '11:09:56' AND TIME 
'04:20:04');
+SELECT c0 from t2;
+       -- false
+INSERT INTO t2(c0) VALUES(CAST((CASE WHEN r'' THEN TIME '06:29:46' WHEN r'b_P' 
THEN TIME '20:39:07' END) BETWEEN ASYMMETRIC (COALESCE(TIME '11:09:56', TIME 
'12:05:55')) AND (COALESCE(TIME '18:59:07', TIME '04:20:04', TIME '19:01:06')) 
AS STRING(638)));
+ROLLBACK;
diff --git a/sql/test/SQLancer/Tests/sqlancer06.stable.err 
b/sql/test/SQLancer/Tests/sqlancer06.stable.err
--- a/sql/test/SQLancer/Tests/sqlancer06.stable.err
+++ b/sql/test/SQLancer/Tests/sqlancer06.stable.err
@@ -5,6 +5,10 @@ stderr of test 'sqlancer06` in directory
 # 19:38:32 >  "mclient" "-lsql" "-ftest" "-tnone" "-Eutf-8" "-i" "-e" 
"--host=/var/tmp/mtest-506117" "--port=38597"
 # 19:38:32 >  
 
+MAPI  = (monetdb) /var/tmp/mtest-8009/.s.monetdb.31186
+QUERY = INSERT INTO t2(c0) VALUES(CAST((CASE WHEN r'' THEN TIME '06:29:46' 
WHEN r'b_P' THEN TIME '20:39:07' END) BETWEEN ASYMMETRIC (COALESCE(TIME 
'11:09:56', TIME '12:05:55')) AND (COALESCE(TIME '18:59:07', TIME '04:20:04', 
TIME '19:01:06')) AS STRING(638)));
+ERROR = !conversion of string '' to type bit failed.
+CODE  = 22018
 
 # 19:38:32 >  
 # 19:38:32 >  "Done."
diff --git a/sql/test/SQLancer/Tests/sqlancer06.stable.out 
b/sql/test/SQLancer/Tests/sqlancer06.stable.out
--- a/sql/test/SQLancer/Tests/sqlancer06.stable.out
+++ b/sql/test/SQLancer/Tests/sqlancer06.stable.out
@@ -112,6 +112,17 @@ stdout of test 'sqlancer06` in directory
 % 1 # length
 [ NULL ]
 #ROLLBACK;
+#START TRANSACTION;
+#CREATE TABLE "sys"."t2" ("c0" CHARACTER LARGE OBJECT NOT NULL);
+#INSERT INTO t2 VALUES (TIME '20:39:07' BETWEEN TIME '11:09:56' AND TIME 
'04:20:04');
+[ 1    ]
+#SELECT c0 from t2;
+% sys.t2 # table_name
+% c0 # name
+% clob # type
+% 5 # length
+[ "false"      ]
+#ROLLBACK;
 
 # 19:38:32 >  
 # 19:38:32 >  "Done."
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to