| # name: test/sql/update/null_update_merge.test |
| # description: Test repeated updates that change the nullness of values |
| # group: [update] |
| |
| # create a table |
| statement ok |
| CREATE TABLE test (id INTEGER, a INTEGER); |
| |
| statement ok |
| INSERT INTO test VALUES (1, 1), (2, 2), (3, 3), (4, NULL); |
| |
| query II |
| SELECT * FROM test ORDER BY id; |
| ---- |
| 1 1 |
| 2 2 |
| 3 3 |
| 4 NULL |
| |
| statement ok |
| UPDATE test SET a=CASE WHEN id=1 THEN 7 ELSE NULL END WHERE id <= 2 |
| |
| query II |
| SELECT * FROM test ORDER BY id; |
| ---- |
| 1 7 |
| 2 NULL |
| 3 3 |
| 4 NULL |
| |
| statement ok |
| UPDATE test SET a=17 WHERE id > 2 |
| |
| query II |
| SELECT * FROM test ORDER BY id; |
| ---- |
| 1 7 |
| 2 NULL |
| 3 17 |
| 4 17 |
| |
| statement ok |
| UPDATE test SET a=CASE WHEN id=4 THEN 1 ELSE NULL END |
| |
| query II |
| SELECT * FROM test ORDER BY id; |
| ---- |
| 1 NULL |
| 2 NULL |
| 3 NULL |
| 4 1 |
| |
| statement ok |
| UPDATE test SET a=2 WHERE id >= 2 AND id <= 3 |
| |
| query II |
| SELECT * FROM test ORDER BY id; |
| ---- |
| 1 NULL |
| 2 2 |
| 3 2 |
| 4 1 |
| |
| statement ok |
| UPDATE test SET a=NULL WHERE id >= 3 |
| |
| query II |
| SELECT * FROM test ORDER BY id; |
| ---- |
| 1 NULL |
| 2 2 |
| 3 NULL |
| 4 NULL |
| |
| statement ok |
| UPDATE test SET a=id WHERE id <> 3 |
| |
| query II |
| SELECT * FROM test ORDER BY id; |
| ---- |
| 1 1 |
| 2 2 |
| 3 NULL |
| 4 4 |
| |
| statement ok |
| UPDATE test SET a=NULL WHERE id <> 3 |
| |
| query II |
| SELECT * FROM test ORDER BY id; |
| ---- |
| 1 NULL |
| 2 NULL |
| 3 NULL |
| 4 NULL |
| |
| statement ok |
| UPDATE test SET a=3 WHERE id <> 2 |
| |
| query II |
| SELECT * FROM test ORDER BY id; |
| ---- |
| 1 3 |
| 2 NULL |
| 3 3 |
| 4 3 |
| |
| statement ok |
| UPDATE test SET a=7 WHERE id <> 3 |
| |
| query II |
| SELECT * FROM test ORDER BY id; |
| ---- |
| 1 7 |
| 2 7 |
| 3 3 |
| 4 7 |
| |
| statement ok |
| UPDATE test SET a=NULL |
| |
| query II |
| SELECT * FROM test ORDER BY id; |
| ---- |
| 1 NULL |
| 2 NULL |
| 3 NULL |
| 4 NULL |