should be it
This commit is contained in:
98
external/duckdb/test/sql/explain/test_explain_analyze.test
vendored
Normal file
98
external/duckdb/test/sql/explain/test_explain_analyze.test
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
# name: test/sql/explain/test_explain_analyze.test
|
||||
# description: Test explain analyze
|
||||
# group: [explain]
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_verification
|
||||
|
||||
statement ok
|
||||
CREATE TABLE integers AS SELECT * FROM range(100) tbl(i);
|
||||
|
||||
query II
|
||||
EXPLAIN ANALYZE SELECT SUM(i) FROM integers
|
||||
----
|
||||
analyzed_plan <REGEX>:.*integers.*
|
||||
|
||||
query II
|
||||
EXPLAIN (ANALYZE) SELECT SUM(i) FROM (SELECT * FROM integers i1, integers i2 UNION ALL SELECT * FROM integers i1, integers i2);
|
||||
----
|
||||
analyzed_plan <REGEX>:.*CROSS_PRODUCT.*
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_profiling
|
||||
|
||||
query II
|
||||
EXPLAIN ANALYZE SELECT SUM(i) FROM (SELECT * FROM integers i1, integers i2 UNION ALL SELECT * FROM integers i1, integers i2);
|
||||
----
|
||||
analyzed_plan <REGEX>:.*CROSS_PRODUCT.*
|
||||
|
||||
statement ok
|
||||
PRAGMA disable_profiling
|
||||
|
||||
query II
|
||||
EXPLAIN ANALYZE SELECT SUM(i) FROM (SELECT * FROM integers i1, integers i2 UNION ALL SELECT * FROM integers i1, integers i2);
|
||||
----
|
||||
analyzed_plan <REGEX>:.*CROSS_PRODUCT.*
|
||||
|
||||
query II
|
||||
EXPLAIN (ANALYZE, FORMAT JSON) SELECT SUM(i) FROM (SELECT * FROM integers i1, integers i2 UNION ALL SELECT * FROM integers i1, integers i2);
|
||||
----
|
||||
analyzed_plan <REGEX>:.*"operator_type": "CROSS_PRODUCT".*
|
||||
|
||||
query II
|
||||
EXPLAIN (ANALYZE, FORMAT JSON) SELECT SUM(i) FROM (SELECT * FROM integers i1, integers i2 UNION ALL SELECT * FROM integers i1, integers i2);
|
||||
----
|
||||
analyzed_plan <REGEX>:.*"operator_name": "CROSS_PRODUCT".*
|
||||
|
||||
statement ok
|
||||
PRAGMA profiling_output='__TEST_DIR__/test.json'
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_profiling='json'
|
||||
|
||||
statement ok
|
||||
SELECT 42
|
||||
|
||||
statement ok
|
||||
PRAGMA disable_profiling
|
||||
|
||||
query I nosort json_output
|
||||
SELECT * FROM read_csv('__TEST_DIR__/test.json', columns={'json': 'VARCHAR'}, sep='🦆');
|
||||
----
|
||||
|
||||
statement ok
|
||||
PRAGMA enable_profiling='json'
|
||||
|
||||
query II
|
||||
EXPLAIN ANALYZE SELECT SUM(i) FROM integers
|
||||
----
|
||||
analyzed_plan <REGEX>:.*"extra_info".*integers.*:.*
|
||||
|
||||
statement ok
|
||||
PRAGMA disable_profiling
|
||||
|
||||
statement ok
|
||||
PRAGMA profiling_output='__TEST_DIR__/test_2.json'
|
||||
|
||||
query I nosort json_output
|
||||
SELECT * FROM read_csv('__TEST_DIR__/test.json', columns={'json': 'VARCHAR'}, sep='🦆');
|
||||
----
|
||||
|
||||
query II
|
||||
EXPLAIN (ANALYZE, FORMAT graphviz) SELECT SUM(i) FROM integers
|
||||
----
|
||||
analyzed_plan <REGEX>:.+EXPLAIN_ANALYZE.*
|
||||
|
||||
query II
|
||||
EXPLAIN (ANALYZE, FORMAT html) SELECT SUM(i) FROM integers
|
||||
----
|
||||
analyzed_plan <REGEX>:.+<div class="title">EXPLAIN_ANALYZE</div>.*
|
||||
|
||||
# Make sure that EXPLAIN ANALYZE still works when no output is specified
|
||||
statement ok
|
||||
PRAGMA enable_profiling = 'no_output';
|
||||
|
||||
query II
|
||||
EXPLAIN ANALYZE SELECT 42;
|
||||
----
|
||||
analyzed_plan <REGEX>:.+EXPLAIN_ANALYZE.*
|
||||
Reference in New Issue
Block a user