# 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 :.*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 :.*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 :.*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 :.*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 :.*"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 :.*"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 :.*"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 :.+EXPLAIN_ANALYZE.* query II EXPLAIN (ANALYZE, FORMAT html) SELECT SUM(i) FROM integers ---- analyzed_plan :.+
EXPLAIN_ANALYZE
.* # 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 :.+EXPLAIN_ANALYZE.*