Changeset: 1163f668b280 for MonetDB URL: https://dev.monetdb.org/hg/MonetDB/rev/1163f668b280 Modified Files: sql/server/sql_parser.y sql/test/2024/Tests/distinct_from.test Branch: distinct_from Log Message:
fix DISTINCT FROM syntax diffs (148 lines): diff --git a/sql/server/sql_parser.y b/sql/server/sql_parser.y --- a/sql/server/sql_parser.y +++ b/sql/server/sql_parser.y @@ -3909,18 +3909,18 @@ comparison_predicate: append_symbol(l, $5); append_int(l, $3); $$ = _symbol_create_list(SQL_COMPARE, l ); } - | pred_exp NOT DISTINCT FROM pred_exp + | pred_exp IS NOT DISTINCT FROM pred_exp + { dlist *l = L(); + append_symbol(l, $1); + append_string(l, sa_strdup(SA, "=")); + append_symbol(l, $6); + append_int(l, 2); + $$ = _symbol_create_list(SQL_COMPARE, l ); } + | pred_exp IS DISTINCT FROM pred_exp { dlist *l = L(); append_symbol(l, $1); append_string(l, sa_strdup(SA, "=")); append_symbol(l, $5); - append_int(l, 2); - $$ = _symbol_create_list(SQL_COMPARE, l ); } - | pred_exp DISTINCT FROM pred_exp - { dlist *l = L(); - append_symbol(l, $1); - append_string(l, sa_strdup(SA, "=")); - append_symbol(l, $4); append_int(l, 3); $$ = _symbol_create_list(SQL_COMPARE, l ); } ; diff --git a/sql/test/2024/Tests/distinct_from.test b/sql/test/2024/Tests/distinct_from.test --- a/sql/test/2024/Tests/distinct_from.test +++ b/sql/test/2024/Tests/distinct_from.test @@ -3,69 +3,69 @@ create table foo(s) as values (10), (20) query I nosort -SELECT 10 NOT DISTINCT FROM 20 +SELECT 10 IS NOT DISTINCT FROM 20 ---- 0 query I nosort -SELECT 10 DISTINCT FROM 20 +SELECT 10 IS DISTINCT FROM 20 ---- 1 query I nosort -SELECT 10 DISTINCT FROM NULL +SELECT 10 IS DISTINCT FROM NULL ---- 1 query I nosort -SELECT NULL DISTINCT FROM 20 +SELECT NULL IS DISTINCT FROM 20 ---- 1 query I nosort -SELECT 10 NOT DISTINCT FROM NULL +SELECT 10 IS NOT DISTINCT FROM NULL ---- 0 query I nosort -SELECT NULL NOT DISTINCT FROM 20 +SELECT NULL IS NOT DISTINCT FROM 20 ---- 0 query I nosort -SELECT NULL DISTINCT FROM NULL +SELECT NULL IS DISTINCT FROM NULL ---- 0 query I nosort -SELECT NULL NOT DISTINCT FROM NULL +SELECT NULL IS NOT DISTINCT FROM NULL ---- 1 query I nosort -select s NOT DISTINCT FROM 20 FROM foo; +select s IS NOT DISTINCT FROM 20 FROM foo; ---- 0 1 0 query I nosort -select s DISTINCT FROM 20 FROM foo; +select s IS DISTINCT FROM 20 FROM foo; ---- 1 0 1 query I nosort -select s NOT DISTINCT FROM NULL FROM foo; +select s IS NOT DISTINCT FROM NULL FROM foo; ---- 0 0 1 query I nosort -select s DISTINCT FROM NULL FROM foo; +select s IS DISTINCT FROM NULL FROM foo; ---- 1 1 @@ -73,28 +73,28 @@ 0 query I nosort -select 20 NOT DISTINCT FROM s FROM foo; +select 20 IS NOT DISTINCT FROM s FROM foo; ---- 0 1 0 query I nosort -select 20 DISTINCT FROM s FROM foo; +select 20 IS DISTINCT FROM s FROM foo; ---- 1 0 1 query I nosort -select NULL NOT DISTINCT FROM s FROM foo; +select NULL IS NOT DISTINCT FROM s FROM foo; ---- 0 0 1 query I nosort -select NULL DISTINCT FROM s FROM foo; +select NULL IS DISTINCT FROM s FROM foo; ---- 1 1 _______________________________________________ checkin-list mailing list -- checkin-list@monetdb.org To unsubscribe send an email to checkin-list-le...@monetdb.org