49 lines
804 B
SQL
49 lines
804 B
SQL
# name: test/optimizer/arithmetic_simplification.test
|
|
# description: Arithmetic simplification test
|
|
# group: [optimizer]
|
|
|
|
statement ok
|
|
CREATE TABLE test(X INTEGER);
|
|
|
|
statement ok
|
|
PRAGMA explain_output = OPTIMIZED_ONLY;
|
|
|
|
# verify that nop arithmetic is flattened
|
|
query I nosort xnorm
|
|
EXPLAIN SELECT X FROM test
|
|
----
|
|
|
|
query I nosort xnorm
|
|
EXPLAIN SELECT X+0 FROM test
|
|
----
|
|
|
|
query I nosort xnorm
|
|
EXPLAIN SELECT 0+X FROM test
|
|
----
|
|
|
|
query I nosort xnorm
|
|
EXPLAIN SELECT X-0 FROM test
|
|
----
|
|
|
|
query I nosort xnorm
|
|
EXPLAIN SELECT X*1 FROM test
|
|
----
|
|
|
|
query I nosort xnorm
|
|
EXPLAIN SELECT 1*X FROM test
|
|
----
|
|
|
|
query I nosort xnorm
|
|
EXPLAIN SELECT X//1 FROM test
|
|
----
|
|
|
|
# division by zero results in a NULL
|
|
query I nosort xnull
|
|
EXPLAIN SELECT NULL FROM test
|
|
----
|
|
|
|
query I nosort xnull
|
|
EXPLAIN SELECT X//0 FROM test
|
|
----
|
|
|