Files
email-tracker/external/duckdb/test/sql/explain/test_explain.test
2025-10-24 19:21:19 -05:00

48 lines
1.3 KiB
SQL

# name: test/sql/explain/test_explain.test
# description: Test explain
# group: [explain]
statement ok
PRAGMA enable_verification
statement ok
CREATE TABLE integers(i INTEGER, j INTEGER)
statement ok
INSERT INTO integers VALUES (1, 1), (2, 2), (3, 3), (NULL, NULL)
statement ok
EXPLAIN SELECT * FROM integers
statement ok
EXPLAIN select sum(i), j, sum(i), j from integers group by j having j < 10;
statement ok
EXPLAIN update integers set i=i+1;
statement ok
EXPLAIN delete from integers where i=1;
statement ok
pragma explain_output='optimized_only'
query II
EXPLAIN (FORMAT JSON) SELECT SUM(i) FROM (SELECT * FROM integers i1, integers i2 UNION ALL SELECT * FROM integers i1, integers i2);
----
logical_opt <REGEX>:.*"name": "CROSS_PRODUCT".*
query II
EXPLAIN (FORMAT HTML) SELECT SUM(i) FROM (SELECT * FROM integers i1, integers i2 UNION ALL SELECT * FROM integers i1, integers i2);
----
logical_opt <REGEX>:.*<div class="title">CROSS_PRODUCT</div>.*
query II
EXPLAIN (FORMAT GRAPHVIZ) SELECT SUM(i) FROM (SELECT * FROM integers i1, integers i2 UNION ALL SELECT * FROM integers i1, integers i2);
----
logical_opt <REGEX>:.*node_0_0 -> node_0_1;.*
query II
EXPLAIN (FORMAT YAML) SELECT SUM(i) FROM (SELECT * FROM integers i1, integers i2 UNION ALL SELECT * FROM integers i1, integers i2);
----
logical_opt <REGEX>:.*- name: "CROSS_PRODUCT".*