Changeset: 27a525b8dcae for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/27a525b8dcae
Added Files:
        sql/test/BugTracker-2026/Tests/7873-push_up_join-assertion-failure.test
Modified Files:
        sql/test/BugTracker-2026/Tests/All
Branch: Dec2025
Log Message:

Add test for #7873


diffs (189 lines):

diff --git 
a/sql/test/BugTracker-2026/Tests/7873-push_up_join-assertion-failure.test 
b/sql/test/BugTracker-2026/Tests/7873-push_up_join-assertion-failure.test
new file mode 100644
--- /dev/null
+++ b/sql/test/BugTracker-2026/Tests/7873-push_up_join-assertion-failure.test
@@ -0,0 +1,176 @@
+statement ok
+CREATE SCHEMA test7873
+
+statement ok
+SET SCHEMA test7873
+
+statement ok
+CREATE TABLE users (
+    id           INT,
+    username     VARCHAR(100),
+    email        VARCHAR(255),
+    age          INT,
+    status       VARCHAR(20),
+    created_at   TIMESTAMP,
+    score        DOUBLE
+)
+
+statement ok
+CREATE TABLE posts (
+    id          INT,
+    user_id     INT,
+    title       VARCHAR(255),
+    content     VARCHAR(1000),
+    views       INT,
+    likes       INT,
+    created_at  TIMESTAMP,
+    rating      DOUBLE
+)
+
+statement ok
+CREATE TABLE comments (
+    id          INT,
+    post_id     INT,
+    user_id     INT,
+    content     VARCHAR(1000),
+    is_spam     INT,
+    created_at  TIMESTAMP
+)
+
+statement ok
+CREATE TABLE orders (
+    id          INT,
+    user_id     INT,
+    amount      DOUBLE,
+    status      VARCHAR(20),
+    created_at  TIMESTAMP
+)
+
+statement ok
+INSERT INTO users VALUES
+(1, 'alice', '[email protected]', 20, 'active',  '2022-01-01 10:00:00', 88.5),
+(2, 'bob',   '[email protected]',   30, 'active',  '2022-01-02 11:00:00', 92.3),
+(3, 'carol', NULL,             NULL, 'banned','2022-01-03 12:00:00', NULL),
+(4, 'dave',  '[email protected]',  45, 'active',  '2022-01-04 13:00:00', 65.2),
+(5, NULL,    '[email protected]',  18, 'inactive','2022-01-05 14:00:00', 70.0)
+
+statement ok
+INSERT INTO posts VALUES
+(1, 1, 'Hello World', 'First post', 100, 10, '2022-01-10 10:00:00', 4.5),
+(2, 1, 'Another Post', NULL,        150, 20, '2022-01-11 11:00:00', 3.0),
+(3, 2, 'Bob Post',     'Content',   NULL,  5, '2022-01-12 12:00:00', NULL),
+(4, 3, NULL,           'Empty',     50,   2, '2022-01-13 13:00:00', 5.0),
+(5, 4, 'Last Post',    'Last',      300,  30,'2022-01-14 14:00:00', 4.9)
+
+statement ok
+INSERT INTO comments VALUES
+(1, 1, 2, 'Nice post', 0, '2022-01-20 10:00:00'),
+(2, 1, 3, 'Spam here', 1,  '2022-01-21 11:00:00'),
+(3, 2, 1, 'Thanks',    0, '2022-01-22 12:00:00'),
+(4, 4, 5, NULL,        0, '2022-01-23 13:00:00')
+
+statement ok
+INSERT INTO orders VALUES
+(1, 1, 100.00, 'paid',    '2022-02-01 09:00:00'),
+(2, 1, 200.50, 'shipped', '2022-02-02 10:00:00'),
+(3, 2, NULL,   'failed',  '2022-02-03 11:00:00'),
+(4, 3, 50.00,  'paid',    '2022-02-04 12:00:00'),
+(5, 5, 999.99, 'paid',    '2022-02-05 13:00:00')
+
+query I rowsort
+select
+  ascii(
+    'fG') as c0
+from
+  orders as ref_0
+----
+102
+102
+102
+102
+102
+
+-- query triggers assertion failure in push_up_join (sql=0x7f3d081844e0, 
rel=0x7f3d082494d0, ad=0x7f3d0824fde0) at sql/server/rel_unnest.c:1489
+query I rowsort
+select
+  ascii(
+    'fG') as c0
+from
+  orders as ref_0
+where EXISTS (
+  select
+      ref_0.amount as c0,
+      ref_0.status as c1,
+      subq_1.c3 as c2,
+      subq_1.c2 as c3,
+      ref_0.created_at as c4,
+      nullif(ref_0.created_at,
+        subq_1.c3) as c5,
+      subq_0.c1 as c6
+    from
+      (select
+            ref_0.user_id as c0,
+            (select status from orders limit 1 offset 3)
+               as c1,
+            ref_0.status as c2
+          from
+            users as ref_1
+          where ((select stddev_samp(id) from orders)
+                 < 8.51)
+            and (((37 != ref_1.age)
+                and ((EXISTS (
+                    select
+                        ref_2.email as c0,
+                        ref_2.score as c1
+                      from
+                        users as ref_2
+                      where ((EXISTS (
+                            select
+                                ref_0.id as c0
+                              from
+                                users as ref_3
+                              where 9.59 >= (select stddev_samp(id) from posts)
+                              limit 36))
+                          or (true AND true))
+                        and (ref_1.id >= ref_0.id)
+                      limit 195))
+                  or (ref_0.user_id > ref_1.id)))
+              and (true))) as subq_0,
+      lateral (select
+            ref_0.id as c0,
+            subq_0.c1 as c1,
+            subq_0.c2 as c2,
+            ref_4.created_at as c3,
+            ref_4.post_id as c4,
+            ref_4.created_at as c5
+          from
+            comments as ref_4
+          where '5H' != 'm'
+          limit 85) as subq_1
+    where (subq_0.c2 is not NULL)
+      or ((case when '4jEM' >= 'Ml4' then 44.16 else (select avg(id) from 
posts)
+               end
+             = 12.32)
+        and (case when ref_0.id < subq_1.c0 then false else false end
+             OR false))
+    limit 107)
+----
+
+statement ok
+DROP TABLE orders
+
+statement ok
+DROP TABLE comments
+
+statement ok
+DROP TABLE posts
+
+statement ok
+DROP TABLE users
+
+statement ok
+SET SCHEMA sys
+
+statement ok
+DROP SCHEMA test7873
+
diff --git a/sql/test/BugTracker-2026/Tests/All 
b/sql/test/BugTracker-2026/Tests/All
--- a/sql/test/BugTracker-2026/Tests/All
+++ b/sql/test/BugTracker-2026/Tests/All
@@ -63,3 +63,4 @@ KNOWNFAIL?7774-insert-into-renamed-table
 7865-unnest-cte-crash
 7867-push-groupby-down
 7872-exp-type-check-failed
+KNOWNFAIL?7873-push_up_join-assertion-failure
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to