Changeset: b29b6e804d13 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b29b6e804d13
Modified Files:
        sql/server/rel_exp.c
        sql/test/Tests/keys.stable.out
Branch: Oct2020
Log Message:

Propagate 'no nil' property on conversions


diffs (44 lines):

diff --git a/sql/server/rel_exp.c b/sql/server/rel_exp.c
--- a/sql/server/rel_exp.c
+++ b/sql/server/rel_exp.c
@@ -316,6 +316,8 @@ exp_convert(sql_allocator *sa, sql_exp *
        e->r = append(append(sa_list(sa), dup_subtype(sa, fromtype)),totype);
        e->tpe = *totype;
        e->alias = exp->alias;
+       if (!has_nil(exp))
+               set_has_no_nil(e);
        return e;
 }
 
diff --git a/sql/test/Tests/keys.stable.out b/sql/test/Tests/keys.stable.out
--- a/sql/test/Tests/keys.stable.out
+++ b/sql/test/Tests/keys.stable.out
@@ -142,24 +142,24 @@ project (
 % .plan # table_name
 % rel # name
 % clob # type
-% 111 # length
+% 129 # length
 project (
 | group by (
 | | project (
 | | | table(sys.dummyme) [ "dummyme"."a" NOT NULL HASHCOL  ] COUNT 
-| | ) [ bigint["dummyme"."a" NOT NULL HASHCOL ] as "%3"."%3", 
sys.sql_add("%3"."%3", bigint "1") as "%2"."%2" ]
+| | ) [ bigint["dummyme"."a" NOT NULL HASHCOL ] NOT NULL as "%3"."%3", 
sys.sql_add("%3"."%3" NOT NULL, bigint "1") as "%2"."%2" ]
 | ) [  ] [ sys.count unique  no nil ("%2"."%2") as "%1"."%1" ]
 ) [ "%1"."%1" ]
 #plan select count(distinct a + b) from dummyme;
 % .plan # table_name
 % rel # name
 % clob # type
-% 146 # length
+% 164 # length
 project (
 | group by (
 | | project (
 | | | table(sys.dummyme) [ "dummyme"."a" NOT NULL HASHCOL , "dummyme"."b" ] 
COUNT 
-| | ) [ bigint["dummyme"."a" NOT NULL HASHCOL ] as "%3"."%3", 
bigint["dummyme"."b"] as "%4"."%4", sys.sql_add("%3"."%3", "%4"."%4") as 
"%2"."%2" ]
+| | ) [ bigint["dummyme"."a" NOT NULL HASHCOL ] NOT NULL as "%3"."%3", 
bigint["dummyme"."b"] as "%4"."%4", sys.sql_add("%3"."%3" NOT NULL, "%4"."%4") 
as "%2"."%2" ]
 | ) [  ] [ sys.count unique  no nil ("%2"."%2") as "%1"."%1" ]
 ) [ "%1"."%1" ]
 #plan select count(distinct abs(a)) from dummyme;
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to