From 7baf60d37debc906740bb8a94a3ec05c8fa822de Mon Sep 17 00:00:00 2001 From: Adrian Vogelsgesang Date: Sat, 24 Oct 2026 01:33:18 +0000 Subject: [PATCH 1/5] Expand SQL plan coverage and refresh database plan dumps Broaden the repository SQL fixtures and checked-in plans so the example gallery exercises more relational operators, optimizer shapes, and PGQ constructs across the current database versions available in the plan-dumper environment. The SQL coverage includes all set-operation variants with nested and n-ary patterns, layered and multiply referenced CTEs, scalar and correlated subqueries, TABLESAMPLE, and DML for INSERT, UPDATE, and DELETE including RETURNING, FROM, and USING forms. DML fixtures are organized in their own directory, and the redundant UNION ALL fixture is removed. Hyper-only PGQ fixtures use meaningful TPC-H part, supplier, and partsupp relationships and cover labels, projected properties, vertex-local and edge-local WHERE predicates, graph-level filtering, optional edges, ONE ROW PER STEP, and optimizer-step plans with SQL-position annotations. Refresh the available plan dumps and index metadata for PostgreSQL, DuckDB, Hyper, Umbra, and CedarDB. CedarDB now uses v2026-10-22, and Umbra was refreshed from the umbradb/umbra:26.10 image. Retain structural changes while removing measurement-only timing, memory, scheduler, and pipeline-metric churn with filter-timing-diff.py. CedarDB pipeline-profile comparisons also ignore nondeterministic operator-list and parallelism ordering. Record TABLESAMPLE as unsupported for Umbra, CedarDB, and MariaDB. MariaDB now authenticates through the local default Unix socket, but its ANALYZE FORMAT=JSON dump consistently stalls on TPC-H Q9 before completing, so its existing plans remain unchanged pending an engine-side or runner-side timeout fix. Update loader expectations for the refreshed plan formats and keep regression coverage for DuckDB, Hyper, and the timing-diff filter. --- plan-dumper/filter-timing-diff.py | 101 +- plan-dumper/queries/cte.sql | 30 +- plan-dumper/queries/dml/delete-using.sql | 10 + plan-dumper/queries/dml/delete.sql | 6 + plan-dumper/queries/dml/insert.sql | 7 + plan-dumper/queries/dml/update-from.sql | 11 + plan-dumper/queries/dml/update.sql | 7 + plan-dumper/queries/insert.sql | 7 - plan-dumper/queries/pgq-path.sql | 36 + plan-dumper/queries/pgq.sql | 41 + plan-dumper/queries/setoperation.sql | 70 +- plan-dumper/queries/subquery-correlated.sql | 5 + plan-dumper/queries/subquery.sql | 6 + plan-dumper/queries/tablesample.sql | 5 + plan-dumper/queries/unionall.sql | 5 - plan-dumper/test_filter_timing_diff.py | 90 ++ query-graphs/test/duckdb.test.ts | 1 + query-graphs/test/loader-results.json | 550 +++++--- .../examples/cedardb/cte-analyze.plan.json | 91 +- .../cedardb/dml/delete-using.plan.json | 64 + .../examples/cedardb/dml/delete.plan.json | 40 + .../examples/cedardb/dml/insert.plan.json | 39 + .../cedardb/dml/update-from.plan.json | 72 + .../examples/cedardb/dml/update.plan.json | 40 + .../examples/cedardb/insert.plan.json | 57 - .../cedardb/setoperation-analyze.plan.json | 394 ++++-- .../cedardb/subquery-analyze.plan.json | 54 + .../subquery-correlated-analyze.plan.json | 55 + .../examples/duckdb/cte-analyze.plan.json | 254 ++-- .../duckdb/dml/delete-using.plan.json | 50 + .../examples/duckdb/dml/delete.plan.json | 25 + .../examples/duckdb/dml/insert.plan.json | 22 + .../examples/duckdb/dml/update-from.plan.json | 70 + .../examples/duckdb/dml/update.plan.json | 13 + .../examples/duckdb/insert.plan.json | 48 - .../duckdb/setoperation-analyze.plan.json | 1028 +++++++++++--- .../duckdb/subquery-analyze.plan.json | 193 +++ .../subquery-correlated-analyze.plan.json | 158 +++ .../duckdb/tablesample-analyze.plan.json | 117 ++ .../examples/hyper/cte-analyze.plan.json | 98 +- .../hyper/cte-recursive-analyze.plan.json | 2 +- .../examples/hyper/dml/delete-using.plan.json | 68 + .../examples/hyper/dml/delete.plan.json | 41 + .../examples/hyper/dml/insert.plan.json | 43 + .../examples/hyper/dml/update-from.plan.json | 63 + .../examples/hyper/dml/update.plan.json | 41 + .../examples/hyper/insert.plan.json | 69 - .../examples/hyper/markjoin-analyze.plan.json | 2 +- .../examples/hyper/pgq-path-steps.plan.json | 652 +++++++++ .../examples/hyper/pgq-path.plan.json | 73 + .../examples/hyper/pgq-steps.plan.json | 763 +++++++++++ standalone-app/examples/hyper/pgq.plan.json | 82 ++ .../hyper/setoperation-analyze.plan.json | 476 +++++-- .../examples/hyper/subquery-analyze.plan.json | 62 + .../subquery-correlated-analyze.plan.json | 54 + .../hyper/tablesample-analyze.plan.json | 29 + .../hyper/tpch-q11-error-analyze.plan.json | 10 +- .../hyper/tpch/tpch-q1-analyze.plan.json | 2 +- .../hyper/tpch/tpch-q10-analyze.plan.json | 2 +- .../hyper/tpch/tpch-q11-analyze.plan.json | 6 +- .../hyper/tpch/tpch-q13-analyze.plan.json | 2 +- .../hyper/tpch/tpch-q14-analyze.plan.json | 10 +- .../hyper/tpch/tpch-q15-analyze.plan.json | 2 +- .../hyper/tpch/tpch-q16-analyze.plan.json | 4 +- .../hyper/tpch/tpch-q17-analyze.plan.json | 16 +- .../hyper/tpch/tpch-q19-analyze.plan.json | 8 +- .../hyper/tpch/tpch-q2-steps.plan.json | 20 +- .../examples/hyper/tpch/tpch-q2.plan.json | 2 +- .../hyper/tpch/tpch-q20-analyze.plan.json | 8 +- .../hyper/tpch/tpch-q3-analyze.plan.json | 2 +- .../hyper/tpch/tpch-q5-analyze.plan.json | 2 +- .../hyper/tpch/tpch-q6-analyze.plan.json | 6 +- .../hyper/tpch/tpch-q7-analyze.plan.json | 2 +- .../hyper/tpch/tpch-q8-analyze.plan.json | 4 +- .../hyper/tpch/tpch-q9-analyze.plan.json | 2 +- .../hyper/unionall-analyze-sql.plan.json | 69 - standalone-app/examples/index.json | 286 +++- .../examples/postgres/cte-analyze.plan.json | 185 ++- .../postgres/dml/delete-using.plan.json | 114 ++ .../examples/postgres/dml/delete.plan.json | 40 + .../examples/postgres/dml/insert.plan.json | 42 + .../postgres/dml/update-from.plan.json | 118 ++ .../examples/postgres/dml/update.plan.json | 38 + .../examples/postgres/insert.plan.json | 85 -- .../postgres/setoperation-analyze.plan.json | 1213 +++++++++++++++-- .../postgres/subquery-analyze.plan.json | 50 + .../subquery-correlated-analyze.plan.json | 52 + .../postgres/tablesample-analyze.plan.json | 33 + .../examples/umbra/cte-analyze.plan.json | 109 +- .../examples/umbra/dml/delete-using.plan.json | 28 + .../examples/umbra/dml/delete.plan.json | 34 + .../examples/umbra/dml/insert.plan.json | 34 + .../examples/umbra/dml/update-from.plan.json | 27 + .../examples/umbra/dml/update.plan.json | 33 + .../examples/umbra/insert.plan.json | 28 - .../umbra/setoperation-analyze.plan.json | 472 +++++-- .../examples/umbra/subquery-analyze.plan.json | 20 + .../subquery-correlated-analyze.plan.json | 20 + 98 files changed, 8229 insertions(+), 1501 deletions(-) create mode 100644 plan-dumper/queries/dml/delete-using.sql create mode 100644 plan-dumper/queries/dml/delete.sql create mode 100644 plan-dumper/queries/dml/insert.sql create mode 100644 plan-dumper/queries/dml/update-from.sql create mode 100644 plan-dumper/queries/dml/update.sql delete mode 100644 plan-dumper/queries/insert.sql create mode 100644 plan-dumper/queries/pgq-path.sql create mode 100644 plan-dumper/queries/pgq.sql create mode 100644 plan-dumper/queries/subquery-correlated.sql create mode 100644 plan-dumper/queries/subquery.sql create mode 100644 plan-dumper/queries/tablesample.sql delete mode 100644 plan-dumper/queries/unionall.sql create mode 100644 plan-dumper/test_filter_timing_diff.py create mode 100644 standalone-app/examples/cedardb/dml/delete-using.plan.json create mode 100644 standalone-app/examples/cedardb/dml/delete.plan.json create mode 100644 standalone-app/examples/cedardb/dml/insert.plan.json create mode 100644 standalone-app/examples/cedardb/dml/update-from.plan.json create mode 100644 standalone-app/examples/cedardb/dml/update.plan.json delete mode 100644 standalone-app/examples/cedardb/insert.plan.json create mode 100644 standalone-app/examples/cedardb/subquery-analyze.plan.json create mode 100644 standalone-app/examples/cedardb/subquery-correlated-analyze.plan.json create mode 100644 standalone-app/examples/duckdb/dml/delete-using.plan.json create mode 100644 standalone-app/examples/duckdb/dml/delete.plan.json create mode 100644 standalone-app/examples/duckdb/dml/insert.plan.json create mode 100644 standalone-app/examples/duckdb/dml/update-from.plan.json create mode 100644 standalone-app/examples/duckdb/dml/update.plan.json delete mode 100644 standalone-app/examples/duckdb/insert.plan.json create mode 100644 standalone-app/examples/duckdb/subquery-analyze.plan.json create mode 100644 standalone-app/examples/duckdb/subquery-correlated-analyze.plan.json create mode 100644 standalone-app/examples/duckdb/tablesample-analyze.plan.json create mode 100644 standalone-app/examples/hyper/dml/delete-using.plan.json create mode 100644 standalone-app/examples/hyper/dml/delete.plan.json create mode 100644 standalone-app/examples/hyper/dml/insert.plan.json create mode 100644 standalone-app/examples/hyper/dml/update-from.plan.json create mode 100644 standalone-app/examples/hyper/dml/update.plan.json delete mode 100644 standalone-app/examples/hyper/insert.plan.json create mode 100644 standalone-app/examples/hyper/pgq-path-steps.plan.json create mode 100644 standalone-app/examples/hyper/pgq-path.plan.json create mode 100644 standalone-app/examples/hyper/pgq-steps.plan.json create mode 100644 standalone-app/examples/hyper/pgq.plan.json create mode 100644 standalone-app/examples/hyper/subquery-analyze.plan.json create mode 100644 standalone-app/examples/hyper/subquery-correlated-analyze.plan.json create mode 100644 standalone-app/examples/hyper/tablesample-analyze.plan.json delete mode 100644 standalone-app/examples/hyper/unionall-analyze-sql.plan.json create mode 100644 standalone-app/examples/postgres/dml/delete-using.plan.json create mode 100644 standalone-app/examples/postgres/dml/delete.plan.json create mode 100644 standalone-app/examples/postgres/dml/insert.plan.json create mode 100644 standalone-app/examples/postgres/dml/update-from.plan.json create mode 100644 standalone-app/examples/postgres/dml/update.plan.json delete mode 100644 standalone-app/examples/postgres/insert.plan.json create mode 100644 standalone-app/examples/postgres/subquery-analyze.plan.json create mode 100644 standalone-app/examples/postgres/subquery-correlated-analyze.plan.json create mode 100644 standalone-app/examples/postgres/tablesample-analyze.plan.json create mode 100644 standalone-app/examples/umbra/dml/delete-using.plan.json create mode 100644 standalone-app/examples/umbra/dml/delete.plan.json create mode 100644 standalone-app/examples/umbra/dml/insert.plan.json create mode 100644 standalone-app/examples/umbra/dml/update-from.plan.json create mode 100644 standalone-app/examples/umbra/dml/update.plan.json delete mode 100644 standalone-app/examples/umbra/insert.plan.json create mode 100644 standalone-app/examples/umbra/subquery-analyze.plan.json create mode 100644 standalone-app/examples/umbra/subquery-correlated-analyze.plan.json diff --git a/plan-dumper/filter-timing-diff.py b/plan-dumper/filter-timing-diff.py index 1b597ad9..27721a39 100755 --- a/plan-dumper/filter-timing-diff.py +++ b/plan-dumper/filter-timing-diff.py @@ -33,9 +33,95 @@ re.IGNORECASE, ) -# DuckDB also reports allocator-dependent peak/total memory counters. +# DuckDB's `optimizer` object consists entirely of per-pass timing counters. +# These keys do not contain a timing suffix, so the common matcher cannot +# identify them by name. DuckDB also reports allocator-dependent peak/total +# memory counters. +DUCKDB_OPTIMIZER_TIMING_FIELDS = ( + "aggregate_function_rewriter", + "aggregate_reuse", + "build_side_probe_side", + "column_lifetime", + "common_aggregate", + "common_subexpressions", + "common_subplan", + "cte_filter_pusher", + "cte_inlining", + "deliminator", + "duplicate_groups", + "empty_result_pullup", + "expression_rewriter", + "filter_pullup", + "filter_pushdown", + "grouping_sets", + "in_clause", + "join_elimination", + "join_filter_pushdown", + "join_order", + "late_materialization", + "limit_pushdown", + "outer_join_simplification", + "partial_aggregate_pushdown", + "partitioned_execution", + "projection_placement", + "projection_pullup", + "redundant_order_keys", + "regex_range", + "reorder_filter", + "row_group_pruner", + "row_number_rewriter", + "sampling_pushdown", + "scalar_fn_pushdown", + "statistics_propagation", + "top_n", + "top_n_window_elimination", + "type_pushdown", + "unnest_rewriter", + "unused_columns", + "window_self_join", +) + +DUCKDB_PLANNER_TIMING_FIELDS = ( + "column_binding", + "create_plan", + "resolve_types", +) + +DUCKDB_OPTIMIZER_TIMING_FIELD_RE = re.compile( + r'"(?:' + + "|".join(DUCKDB_OPTIMIZER_TIMING_FIELDS + DUCKDB_PLANNER_TIMING_FIELDS) + + r')"' + + JSON_SCALAR_RE +) + DUCKDB_VOLATILE_FIELD_RE = re.compile( - r'"(?:system_peak_buffer_memory|total_memory_allocated)"' + JSON_SCALAR_RE + r'"(?:intermediate_size_bytes|peak_buffer_memory|peak_temp_dir_size|' + r'system_peak_buffer_memory|total_intermediate_size_bytes|total_memory_allocated)"' + + JSON_SCALAR_RE +) + +# Hyper nests additional execution counters in pipeline statistics. Several of +# these keys describe a metric rather than a duration, so they need an +# engine-specific matcher as well. +HYPER_VOLATILE_FIELD_RE = re.compile( + r'"(?:actual|elapsed|expected|instance-seconds|memory-bytes|memory-mb-seconds|' + r'peak-transaction-memory-mb|rows-matching-restrictions)"' + + JSON_SCALAR_RE +) + +HYPER_WALL_CLOCK_RE = re.compile(r'"wall-clock"' + JSON_SCALAR_RE) + +# Hyper's processed-row counters are nested objects within the per-pipeline +# query metrics. The row counts vary with runtime scheduling and execution +# details, but are not part of the plan structure. +HYPER_PROCESSED_ROWS_RE = re.compile(r'"processed-rows"\s*:\s*\{[^{}]*\}') + +# CedarDB does not guarantee the order in which analyzePlanPipelines entries +# are reported. Their operator-ID lists and parallelism labels describe the +# runtime pipeline association, so mask them together with the timing fields +# when comparing CedarDB plans. +CEDARDB_PIPELINE_OPERATORS_RE = re.compile( + r'(?:"operators"\s*:\s*\[[^\]]*\]|"parallelism"\s*:\s*"[^"]*")' ) def mask_fields(line, pattern): @@ -47,7 +133,18 @@ def normalize(line, path=None): in those values compare equal; a line with any other change still differs.""" line = mask_fields(line, COMMON_VOLATILE_FIELD_RE) if path and "/duckdb/" in f"/{path}": + line = mask_fields(line, DUCKDB_OPTIMIZER_TIMING_FIELD_RE) line = mask_fields(line, DUCKDB_VOLATILE_FIELD_RE) + if path and "/hyper/" in f"/{path}": + line = mask_fields(line, HYPER_VOLATILE_FIELD_RE) + line = mask_fields(line, HYPER_WALL_CLOCK_RE) + line = HYPER_PROCESSED_ROWS_RE.sub( + lambda match: match.group(0).split(":")[0] + ": ~", line + ) + if path and "/cedardb/" in f"/{path}": + line = CEDARDB_PIPELINE_OPERATORS_RE.sub( + lambda match: match.group(0).split(":")[0] + ": ~", line + ) return line diff --git a/plan-dumper/queries/cte.sql b/plan-dumper/queries/cte.sql index 53f48a20..e63d5245 100644 --- a/plan-dumper/queries/cte.sql +++ b/plan-dumper/queries/cte.sql @@ -1,5 +1,27 @@ -WITH cte AS (SELECT l_orderkey, SUM(l_quantity), AVG(l_extendedprice) - FROM lineitem - GROUP BY l_orderkey +WITH base AS ( + SELECT l_orderkey, l_partkey, l_quantity, l_extendedprice + FROM lineitem +), filtered AS ( + SELECT * + FROM base + WHERE l_quantity > 1 +), grouped AS ( + SELECT l_orderkey, SUM(l_quantity) AS quantity, AVG(l_extendedprice) AS price + FROM filtered + GROUP BY l_orderkey +), nested AS ( + WITH nested_filtered AS ( + SELECT l_orderkey, quantity + FROM grouped + WHERE quantity > 10 + ) + SELECT l_orderkey, quantity + FROM nested_filtered +), reused AS ( + SELECT l_orderkey, quantity FROM nested + UNION ALL + SELECT l_orderkey, quantity FROM nested ) -SELECT * FROM cte UNION ALL SELECT * FROM cte +SELECT r.l_orderkey, r.quantity, g.price +FROM reused r +JOIN grouped g ON g.l_orderkey = r.l_orderkey diff --git a/plan-dumper/queries/dml/delete-using.sql b/plan-dumper/queries/dml/delete-using.sql new file mode 100644 index 00000000..1944782d --- /dev/null +++ b/plan-dumper/queries/dml/delete-using.sql @@ -0,0 +1,10 @@ +--- DML queries are intentionally limited to simple mode because ANALYZE +--- executes the mutation and would change the shared setup state. +--- UNSUPPORTED: mariadb +--- MariaDB supports DELETE ... USING, but does not allow RETURNING on +--- multi-table DELETE statements. +--- MODES: simple +DELETE FROM t2 +USING t1 +WHERE t2.a2 = t1.a1 +RETURNING t2.a2, t2.b2 diff --git a/plan-dumper/queries/dml/delete.sql b/plan-dumper/queries/dml/delete.sql new file mode 100644 index 00000000..282d3492 --- /dev/null +++ b/plan-dumper/queries/dml/delete.sql @@ -0,0 +1,6 @@ +--- DML queries are intentionally limited to simple mode because ANALYZE +--- executes the mutation and would change the shared setup state. +--- MODES: simple +DELETE FROM t2 +WHERE a2 < 10 +RETURNING a2, b2 diff --git a/plan-dumper/queries/dml/insert.sql b/plan-dumper/queries/dml/insert.sql new file mode 100644 index 00000000..a1a2be85 --- /dev/null +++ b/plan-dumper/queries/dml/insert.sql @@ -0,0 +1,7 @@ +--- DML queries are intentionally limited to simple mode because ANALYZE +--- executes the mutation and would change the shared setup state. +--- MODES: simple +INSERT INTO t2 (a2, b2, c2) +SELECT a1, b1, c1 +FROM t1 +RETURNING a2, b2, c2 diff --git a/plan-dumper/queries/dml/update-from.sql b/plan-dumper/queries/dml/update-from.sql new file mode 100644 index 00000000..70f737a1 --- /dev/null +++ b/plan-dumper/queries/dml/update-from.sql @@ -0,0 +1,11 @@ +--- DML queries are intentionally limited to simple mode because ANALYZE +--- executes the mutation and would change the shared setup state. +--- UNSUPPORTED: mariadb +--- MariaDB does not support PostgreSQL's UPDATE ... FROM syntax. +--- MODES: simple +UPDATE t2 +SET a2 = t1.a1 + 1, + b2 = t1.b1 +FROM t1 +WHERE t2.a2 = t1.a1 +RETURNING t2.a2, t2.b2 diff --git a/plan-dumper/queries/dml/update.sql b/plan-dumper/queries/dml/update.sql new file mode 100644 index 00000000..da8e133f --- /dev/null +++ b/plan-dumper/queries/dml/update.sql @@ -0,0 +1,7 @@ +--- DML queries are intentionally limited to simple mode because ANALYZE +--- executes the mutation and would change the shared setup state. +--- MODES: simple +UPDATE t2 +SET a2 = a2 + 1, + b2 = b2 + 1 +WHERE a2 < 10 diff --git a/plan-dumper/queries/insert.sql b/plan-dumper/queries/insert.sql deleted file mode 100644 index afccac43..00000000 --- a/plan-dumper/queries/insert.sql +++ /dev/null @@ -1,7 +0,0 @@ ---- UNSUPPORTED: mariadb ---- MariaDB 10.11 does not support the standard VALUES table constructor in FROM. ---- MODES: simple -INSERT INTO t2 -SELECT a1*v, b1*v, c1*v -FROM t1, -(VALUES(1), (2)) v(v) diff --git a/plan-dumper/queries/pgq-path.sql b/plan-dumper/queries/pgq-path.sql new file mode 100644 index 00000000..359eb9f0 --- /dev/null +++ b/plan-dumper/queries/pgq-path.sql @@ -0,0 +1,36 @@ +--- UNSUPPORTED: postgres, duckdb, umbra, cedardb, mariadb +--- SQL/PGQ is currently only available in Hyper. +--- Simple mode is sufficient here because the fixture targets PGQ's +--- relational lowering and does not need runtime measurements. +--- MODES: simple, steps + +-- Exercise a questioned edge and ONE ROW PER STEP on the TPC-H part/supplier +-- relationship. The optional edge also gives the sqlpos implementation a +-- concrete absent-edge branch to annotate. +WITH pg AS PROPERTY GRAPH ( + VERTEX TABLES ( + part KEY (p_partkey) + LABEL Product + PROPERTIES (part.p_name AS name), + supplier KEY (s_suppkey) + LABEL Supplier + PROPERTIES (supplier.s_name AS name) + ) + EDGE TABLES ( + partsupp KEY (ps_partkey, ps_suppkey) + SOURCE KEY (ps_partkey) REFERENCES part + DESTINATION KEY (ps_suppkey) REFERENCES supplier + LABEL Supply + PROPERTIES (partsupp.ps_supplycost AS supply_cost) + ) +) +SELECT * +FROM GRAPH_TABLE(pg + MATCH (product:Product)-[supply:Supply]->?(vendor:Supplier) + ONE ROW PER STEP (source_step, edge_step, destination_step) + COLUMNS ( + source_step.name AS product_name, + edge_step.supply_cost AS supply_cost, + destination_step.name AS supplier_name + ) +) AS matched diff --git a/plan-dumper/queries/pgq.sql b/plan-dumper/queries/pgq.sql new file mode 100644 index 00000000..7564c11a --- /dev/null +++ b/plan-dumper/queries/pgq.sql @@ -0,0 +1,41 @@ +--- UNSUPPORTED: postgres, duckdb, umbra, cedardb, mariadb +--- SQL/PGQ is currently only available in Hyper. +--- Simple mode is sufficient here because the fixture targets PGQ's +--- relational lowering and does not need runtime measurements. +--- MODES: simple, steps + +-- Match parts to their suppliers, using labels and projected properties from +-- the shared TPC-H schema. +WITH pg AS PROPERTY GRAPH ( + VERTEX TABLES ( + part KEY (p_partkey) + LABEL Product + PROPERTIES (part.p_name AS name, part.p_brand AS brand), + supplier KEY (s_suppkey) + LABEL Supplier + PROPERTIES (supplier.s_name AS name, supplier.s_acctbal AS account_balance) + ) + EDGE TABLES ( + partsupp KEY (ps_partkey, ps_suppkey) + SOURCE KEY (ps_partkey) REFERENCES part + DESTINATION KEY (ps_suppkey) REFERENCES supplier + LABEL Supply + PROPERTIES (partsupp.ps_supplycost AS supply_cost) + ) +) +SELECT * +FROM GRAPH_TABLE(pg + MATCH ( + product:Product WHERE product.brand = 'Brand#11' + )-[ + supply:Supply WHERE supply.supply_cost > 100 + ]->( + vendor:Supplier WHERE vendor.account_balance > 0 + ) + WHERE product.name LIKE '%blue%' + COLUMNS ( + product.name AS product_name, + supply.supply_cost AS supply_cost, + vendor.name AS supplier_name + ) +) AS matched diff --git a/plan-dumper/queries/setoperation.sql b/plan-dumper/queries/setoperation.sql index 90c21d44..d3e2d4e3 100644 --- a/plan-dumper/queries/setoperation.sql +++ b/plan-dumper/queries/setoperation.sql @@ -1,14 +1,56 @@ -SELECT l_orderkey, l_partkey FROM lineitem -UNION ALL -SELECT l_orderkey, l_suppkey FROM lineitem -UNION ALL -( - SELECT l_suppkey, l_partkey FROM lineitem - WHERE l_quantity < 25 - INTERSECT ALL - SELECT l_suppkey, l_partkey FROM lineitem - WHERE l_quantity >= 25 - EXCEPT ALL - SELECT l_suppkey, l_partkey FROM lineitem - WHERE l_quantity >= 25 -) +-- Exercise every set-operation variant, including n-ary and nested trees. +-- Keeping the arms independent gives optimizers an opportunity to flatten the +-- UNION/INTERSECT/EXCEPT chains into n-ary operators. +SELECT 'union' AS operation, value +FROM ( + SELECT a1 AS value FROM t1 WHERE a1 < 10 + UNION + SELECT b1 FROM t1 WHERE b1 < 10 + UNION + SELECT c1 FROM t1 WHERE c1 < 10 +) u +UNION ALL +SELECT 'union-all', value +FROM ( + SELECT a1 AS value FROM t1 WHERE a1 >= 10 + UNION ALL + SELECT b1 FROM t1 WHERE b1 >= 10 + UNION ALL + SELECT c1 FROM t1 WHERE c1 >= 10 +) ua +UNION ALL +SELECT 'intersect', value +FROM ( + SELECT a1 AS value FROM t1 + INTERSECT + SELECT b1 FROM t1 + INTERSECT + SELECT c1 FROM t1 +) i +UNION ALL +SELECT 'intersect-all', value +FROM ( + SELECT a1 AS value FROM t1 + INTERSECT ALL + SELECT b1 FROM t1 + INTERSECT ALL + SELECT c1 FROM t1 +) ia +UNION ALL +SELECT 'except', value +FROM ( + SELECT a1 AS value FROM t1 + EXCEPT + SELECT b1 FROM t1 + EXCEPT + SELECT c1 FROM t1 +) e +UNION ALL +SELECT 'except-all', value +FROM ( + SELECT a1 AS value FROM t1 + EXCEPT ALL + SELECT b1 FROM t1 + EXCEPT ALL + SELECT c1 FROM t1 +) ea diff --git a/plan-dumper/queries/subquery-correlated.sql b/plan-dumper/queries/subquery-correlated.sql new file mode 100644 index 00000000..d42cfe7b --- /dev/null +++ b/plan-dumper/queries/subquery-correlated.sql @@ -0,0 +1,5 @@ +-- A correlated scalar subquery is lowered to a single join on Hyper. The +-- correlation makes the inner query depend on the current outer row. +SELECT t1.a1, + (SELECT t2.b2 FROM t2 WHERE t2.a2 = t1.a1) AS matching_b +FROM t1 diff --git a/plan-dumper/queries/subquery.sql b/plan-dumper/queries/subquery.sql new file mode 100644 index 00000000..0b50444a --- /dev/null +++ b/plan-dumper/queries/subquery.sql @@ -0,0 +1,6 @@ +-- For this query, the engine must ensure that the subquery returns at most +-- one row. The optimizer cannot prove this, so that assertion must be +-- preserved in the query plan somehow. +SELECT t1.a1, + (SELECT t2.b2 FROM t2) AS matching_b +FROM t1 diff --git a/plan-dumper/queries/tablesample.sql b/plan-dumper/queries/tablesample.sql new file mode 100644 index 00000000..dcfea137 --- /dev/null +++ b/plan-dumper/queries/tablesample.sql @@ -0,0 +1,5 @@ +--- UNSUPPORTED: umbra, cedardb, mariadb +--- Umbra, CedarDB, and MariaDB do not implement TABLESAMPLE SYSTEM or BERNOULLI. +SELECT a1, b1, c1 +FROM t1 TABLESAMPLE SYSTEM (50) +REPEATABLE (1) diff --git a/plan-dumper/queries/unionall.sql b/plan-dumper/queries/unionall.sql deleted file mode 100644 index 3c27eff3..00000000 --- a/plan-dumper/queries/unionall.sql +++ /dev/null @@ -1,5 +0,0 @@ ---- MODES: analyze-sql --- UNION ALL: three independent arms feed one union-all target, so that target --- belongs to all three arm pipelines (multi-segment bars, and a gradient edge --- above it). -SELECT a1 FROM t1 UNION ALL SELECT a2 FROM t2 UNION ALL SELECT c1 FROM t1; diff --git a/plan-dumper/test_filter_timing_diff.py b/plan-dumper/test_filter_timing_diff.py new file mode 100644 index 00000000..cd7bb35b --- /dev/null +++ b/plan-dumper/test_filter_timing_diff.py @@ -0,0 +1,90 @@ +import importlib.util +import unittest +from pathlib import Path + + +MODULE_PATH = Path(__file__).with_name("filter-timing-diff.py") +SPEC = importlib.util.spec_from_file_location("filter_timing_diff", MODULE_PATH) +assert SPEC and SPEC.loader +filter_timing_diff = importlib.util.module_from_spec(SPEC) +SPEC.loader.exec_module(filter_timing_diff) + + +class FilterTimingDiffTest(unittest.TestCase): + def test_duckdb_optimizer_planner_and_memory_counters_are_volatile(self): + diff = """\ +diff --git a/standalone-app/examples/duckdb/example.plan.json b/standalone-app/examples/duckdb/example.plan.json +index 1111111..2222222 100644 +--- a/standalone-app/examples/duckdb/example.plan.json ++++ b/standalone-app/examples/duckdb/example.plan.json +@@ -1,8 +1,8 @@ +- \"aggregate_function_rewriter\": 0.1, ++ \"aggregate_function_rewriter\": 0.2, +- \"column_binding\": 0.3, ++ \"column_binding\": 0.4, +- \"peak_buffer_memory\": 100, ++ \"peak_buffer_memory\": 200, +""" + + filtered, dropped_hunks, dropped_files = filter_timing_diff.filter_diff(diff) + + self.assertEqual(filtered, "") + self.assertEqual(dropped_hunks, 1) + self.assertEqual(dropped_files, ["standalone-app/examples/duckdb/example.plan.json"]) + + def test_duckdb_intermediate_sizes_are_volatile(self): + diff = """\ +diff --git a/standalone-app/examples/duckdb/example.plan.json b/standalone-app/examples/duckdb/example.plan.json +index 1111111..2222222 100644 +--- a/standalone-app/examples/duckdb/example.plan.json ++++ b/standalone-app/examples/duckdb/example.plan.json +@@ -1,2 +1,2 @@ +- \"intermediate_size_bytes\": 16600, ++ \"intermediate_size_bytes\": 32984, +- \"total_intermediate_size_bytes\": 189108, ++ \"total_intermediate_size_bytes\": 238260, +""" + + filtered, dropped_hunks, dropped_files = filter_timing_diff.filter_diff(diff) + + self.assertEqual(filtered, "") + self.assertEqual(dropped_hunks, 1) + self.assertEqual(dropped_files, ["standalone-app/examples/duckdb/example.plan.json"]) + + def test_hyper_pipeline_metrics_are_volatile(self): + diff = """\ +diff --git a/standalone-app/examples/hyper/example.plan.json b/standalone-app/examples/hyper/example.plan.json +index 1111111..2222222 100644 +--- a/standalone-app/examples/hyper/example.plan.json ++++ b/standalone-app/examples/hyper/example.plan.json +@@ -1,2 +1,2 @@ +-{"statistics":{"cpu-cycles":100,"query-metrics":{"elapsed":1e-5,"wall-clock":2e-5,"memory-mb-seconds":2e-5,"instance-seconds":1e-5,"threads":{"thread-time":1e-5},"peak-transaction-memory-mb":0.5},"memory-bytes":1024}} ++{"statistics":{"cpu-cycles":200,"query-metrics":{"elapsed":2e-5,"wall-clock":3e-5,"memory-mb-seconds":4e-5,"instance-seconds":2e-5,"threads":{"thread-time":2e-5},"peak-transaction-memory-mb":0.6},"memory-bytes":2048}} +""" + + filtered, dropped_hunks, dropped_files = filter_timing_diff.filter_diff(diff) + + self.assertEqual(filtered, "") + self.assertEqual(dropped_hunks, 1) + self.assertEqual(dropped_files, ["standalone-app/examples/hyper/example.plan.json"]) + + def test_hyper_nested_runtime_counters_are_volatile(self): + diff = """\ +diff --git a/standalone-app/examples/hyper/example.plan.json b/standalone-app/examples/hyper/example.plan.json +index 1111111..2222222 100644 +--- a/standalone-app/examples/hyper/example.plan.json ++++ b/standalone-app/examples/hyper/example.plan.json +@@ -1,2 +1,2 @@ +-{\"statistics\":{\"query-metrics\":{\"processed-rows\":{\"total\":572,\"native\":572},\"additional-entries\":{\"scan-stats\":{\"rows-matching-restrictions\":42}}}}} ++{\"statistics\":{\"query-metrics\":{\"processed-rows\":{\"total\":533,\"native\":533},\"additional-entries\":{\"scan-stats\":{\"rows-matching-restrictions\":3}}}}} +""" + + filtered, dropped_hunks, dropped_files = filter_timing_diff.filter_diff(diff) + + self.assertEqual(filtered, "") + self.assertEqual(dropped_hunks, 1) + self.assertEqual(dropped_files, ["standalone-app/examples/hyper/example.plan.json"]) + + +if __name__ == "__main__": + unittest.main() diff --git a/query-graphs/test/duckdb.test.ts b/query-graphs/test/duckdb.test.ts index 4d086109..5bc2e0b5 100644 --- a/query-graphs/test/duckdb.test.ts +++ b/query-graphs/test/duckdb.test.ts @@ -59,6 +59,7 @@ test("DuckDB analyzed plans preserve metrics, metadata, and CTE crosslinks", () [ ["cte_scan", "cte"], ["cte_scan", "cte"], + ["cte_scan", "cte"], ], ); diff --git a/query-graphs/test/loader-results.json b/query-graphs/test/loader-results.json index be0dc7ea..4c81c2b7 100644 --- a/query-graphs/test/loader-results.json +++ b/query-graphs/test/loader-results.json @@ -1,13 +1,19 @@ { "postgres": { - "cedardb/cte-analyze.plan.json": "8e83abbbe7ca5d43ed45c5302f8eaaef218d6aa6acfe4906f3a19d6e174e1dea", + "cedardb/cte-analyze.plan.json": "303a44ce854a0517b8a23bb63dc330e9ca516a218f7daf60c08735a521fa9c33", "cedardb/cte-recursive-analyze.plan.json": "59812af63fdc8a62702541bb6b6ac188c68b758bacd1769102e780b08ece2090", + "cedardb/dml/delete-using.plan.json": "0de1f197c6ed4007ca39070221991ff3a148e0d9da1ea1ecc75fe0057ec8cdd2", + "cedardb/dml/delete.plan.json": "4903ce87da90800e3e16b3d04f6594aeba3dac3af5d625ddc8935628f9f2b196", + "cedardb/dml/insert.plan.json": "32bfec5c6aaca326a713408fb81895e228b9e07e7fcd89c32023d9d55b22e090", + "cedardb/dml/update-from.plan.json": "409743c0cfba497e1faff1eb9a3568c5fb9bf4f093e75808b33da7adff82ce08", + "cedardb/dml/update.plan.json": "f47f1f696a2d28268d9511344060a3b0330a692cf7bb76dd866cdb2dc7bd1b9d", "cedardb/groupby-analyze.plan.json": "1451e99943a15dbb711e8eeac4c26a989f1bff62965564aeba468f0d07fca943", - "cedardb/insert.plan.json": "d300eb6740f1dd28052585d9ab5555fdb8b3972c9133fc16d8df6b090fa89c28", "cedardb/magicunnesting-analyze.plan.json": "2e87cafde7f332e11a4def313d004f2c749e49db4fd2a2643290c49a4d878da7", "cedardb/markjoin-analyze.plan.json": "cd4e10fff497244389b312303af89b58627f37693c633790aed79c89f68477e8", "cedardb/metadata-describe-table.plan.json": "47f3f74e158f15977207d6a90373395948caaae784462ea791c6c422d2768e3d", - "cedardb/setoperation-analyze.plan.json": "7eeef2c4caa398567f260a7faef3f81524e60a872b5d746c91138b9eaa5c97e0", + "cedardb/setoperation-analyze.plan.json": "17e46a20ef2d5daf81124ad57ecc83253dd76e5dc95d035e1b9518102180716e", + "cedardb/subquery-analyze.plan.json": "48ac554ee351108b165421fa41ddf370e854877436d719d5a8486fbcf725e830", + "cedardb/subquery-correlated-analyze.plan.json": "6f5909e06d89bcf5a0e8e5e92a4e061794c58c0de9d4a8b51885eb3677effd63", "cedardb/tableconstruction.plan.json": "0ca378822eeb50497100f1512b844a3a338387c54c37778c284063e001dff953", "cedardb/tablefunction.plan.json": "496557a09f01149f54a387e6cdade720c6a28d93f6f838364550bf6a3c2ea16c", "cedardb/tablescan-analyze.plan.json": "38809baa6cb39f7628a3fab9395970bab2a639765c290ddf244baa64b5f725af", @@ -37,15 +43,22 @@ "cedardb/tpch/tpch-q9-analyze.plan.json": "ab4a5872157b4738ff496205b21d4268c21a9369239e190248fd3ed1c45a4f07", "cedardb/unicode.plan.json": "88c77a5df6e7b44b8eda62116e3d6b18ed6e5a6893b3544c57b33e8f2785003c", "cedardb/window-analyze.plan.json": "066eaff267c8af4b47588171e6bf9b4d7c99c85ca568871eb8696ad7f9f756a7", - "duckdb/cte-analyze.plan.json": "9e6cd0591bae4982eb36a08c195e2cd773ec7f6d52be2a71650920bbb89bfc32", + "duckdb/cte-analyze.plan.json": "19d37297fe798b1b0a2cb1467ccf53fb4dc5bde9da1d81208cf0cab338d103b0", "duckdb/cte-recursive-analyze.plan.json": "2edee2e8b04af7930bdf0c0986595ed1f7eec6ff7540936624f44ee3b205b01a", + "duckdb/dml/delete-using.plan.json": "cc074251add286d7dcd220658dd65facf7b573e7e4a71f426cebe69399c9989e", + "duckdb/dml/delete.plan.json": "8367aba0a4fd2477734d52099c2e909554aeb726f7a19cf8fcbf626281e8b474", + "duckdb/dml/insert.plan.json": "7c7b99a65d8a23f86bed482a7312e7bfdcbd449f128dadaabb320623b5757cab", + "duckdb/dml/update-from.plan.json": "6c4ba3cb535ba62deef98a1635d58ef32f9bdf8ceee18ba3451ef7d1e9121837", + "duckdb/dml/update.plan.json": "50c53403b9bc58446a0f716aa312ad456475246c02c2cc7ae82ca33f5129cc67", "duckdb/groupby-analyze.plan.json": "c30f2ef35504f9ba8e2f78f332b2ad2a0a77a7b730f51ec2ff4c2381353f6e86", - "duckdb/insert.plan.json": "82a3d928476697b5b0ab59ba16a597af6f8ca8f8d2b0195532d550c786cebe1d", "duckdb/magicunnesting-analyze.plan.json": "60b52b8f98a28c4f25cd5da21ec149f2472ded580843905fbefb59383fc67049", "duckdb/markjoin-analyze.plan.json": "28953c96e88da01e4fe2b03823d02348c0ac911654657a118c9ec5409b8a84c3", - "duckdb/setoperation-analyze.plan.json": "db5c3ce9ca2fb4220b437540960e74b65988d5bb691a3485a0d214216d66097c", + "duckdb/setoperation-analyze.plan.json": "e6074dae8ee68f8f790df8cd39a3e7a566e239ca66bdef84466b68ed14d7e1eb", + "duckdb/subquery-analyze.plan.json": "4fa9ad98e46d80d66cdabc76edb1b61100b2755b9611caa06e18e4f356ebfd63", + "duckdb/subquery-correlated-analyze.plan.json": "e0b9c9fbf766e8c7e20681c62ee6614ed8aaa5f5019e7d338dcab029d6b3715b", "duckdb/tableconstruction.plan.json": "13cc7bfaa4bf8caecc1639f375948b795f6874b626bbbb20cd6cb5a1093bb2ef", "duckdb/tablefunction.plan.json": "cac7073d3f1bb9a2a1e5edac8ca577a0575fb9fe0922a12c9a9e00c80b2645b9", + "duckdb/tablesample-analyze.plan.json": "574215053564d1d5ea42ac3721166c45c6e331dc6a9430f84d147e755a48ca6e", "duckdb/tablescan-analyze.plan.json": "ea559784cb1c868de3c17dffb559425f1d94e036c1b4942941f0456592d1cd03", "duckdb/tpch-q11-error-analyze.plan.json": "ce6caf065d3d8cfbbec3ebddc742cdc7e4755b16729d8ea9f8cc17db863bc008", "duckdb/tpch/tpch-q1-analyze.plan.json": "92f88c8180e164a9bf636aabd980d3ed964896997b6b6cfc73eccbd42020849f", @@ -74,48 +87,58 @@ "duckdb/tpch/tpch-q9-analyze.plan.json": "5d42904e41879ea9b648593a004dc7fdb77223594e348be29dc7f984fdff5c2a", "duckdb/unicode.plan.json": "142267d0f633fa20be11b65bd2866a2814f5668358722244cec52c9e3b6b0a51", "duckdb/window-analyze.plan.json": "ab582117eef53ecf6acec488b9d2e00e11b4ae86ade764e47fe81b78ee6e724d", - "hyper/cte-analyze.plan.json": "5ce6ea4d2886e40425b81084a4b9fed3cc0faec13b8f03cd0d09b69834e1b817", - "hyper/cte-recursive-analyze.plan.json": "637e08fd4621480510870f6ff10036fcf4416e93d4bff696508c93075fde9716", + "hyper/cte-analyze.plan.json": "30bd9a6f78a9bffd347bd65e8e04fd009bfae945121d9b2a5b25933f25636e92", + "hyper/cte-recursive-analyze.plan.json": "a7d563a474b6e05dab6027cb33d0be48e132e14941b119f8eb21acd825d032b1", + "hyper/dml/delete-using.plan.json": "fb03b3451c6dc000969a3e56776d34fe948f4398e0fe7f4acf51503e168069c3", + "hyper/dml/delete.plan.json": "89552be1f46a0d8962219f68db41fe8ff8dc2e0ccac7b890830e004c519ad2c0", + "hyper/dml/insert.plan.json": "e1b63aeae07df94faefab55f1f0061e4d4bca3336d62dc25f85880a6ef810ca1", + "hyper/dml/update-from.plan.json": "9107b4dbbda0afcbb24cb426ab63a1833c4ca8e64bed5d48730dbf0be01757d3", + "hyper/dml/update.plan.json": "4612c67c5343cb5ed9e7e18ac99ae3e77522af44a83bc239ebc9ed30cddd4abe", "hyper/forkshare-analyze-sql.plan.json": "c39538eb2c9a28516a6812328f49d32cdca598d82b8f2a7b374490c6990dd7ed", "hyper/groupby-analyze.plan.json": "ddf95189e29067183dc06e7f3de053994dac70391c08b0dec6aa751e88d47865", - "hyper/insert.plan.json": "d3686403dddcd21870313ebeaa8ee125661d3aa5977fe5778cf542ed5887fdf8", "hyper/magicunnesting-analyze-sql.plan.json": "bda92db0e86ee0f5ed3e42df209cae00675829fd84e3a6eff72560368d22535d", "hyper/magicunnesting-analyze.plan.json": "763c02d0858c38dbb6b2eb382be2b309ec3c78cd48c8b0841fafcb2c7e9f7f0c", - "hyper/markjoin-analyze.plan.json": "7330da0410dd54cb4b99b6ad4da047b81ed4530971fce89ff295e94219333cd2", + "hyper/markjoin-analyze.plan.json": "4154d3108d2b70034d2d245e41425bbc32aa376e6d3b4df1dfa3050c7586e1eb", "hyper/materialized-analyze-sql.plan.json": "e7854c8476d1ad6396dcd107d64596a2a784bd85441c62fc10fb063173e29859", "hyper/metadata-describe-table.plan.json": "b7ebaa417cefb123c01461d8c126a38bc4611f5d86433743c4d93809e7b2f32e", - "hyper/setoperation-analyze.plan.json": "63aa2914d127d2b9d5a5c40019a77fc1ad0b810813f1d8500e8a2e531e1ef706", + "hyper/pgq-path-steps.plan.json": "b19cb0b4c1fadbfd5e4e41ec0c708d52d83cf365c764748c5d86772ff212b9e6", + "hyper/pgq-path.plan.json": "262e0ed2012bc4062d60f97b62c61dd7a97ff2bf7cde9ce5facc29257babb11d", + "hyper/pgq-steps.plan.json": "3ed1938de9e880497932863c3f8e65b48fb5d2df5f40a4439d2a7dd73746e960", + "hyper/pgq.plan.json": "2f2bd78309049aef066c55e07100b057f79b99a2d76d71c97352447061eee866", + "hyper/setoperation-analyze.plan.json": "9fcaa2674dd04529fa4622e7830c35d3ee1d11a8cb72784e438c51d1c96b017f", + "hyper/subquery-analyze.plan.json": "27c6a90a2d2d644735b0a5478994cd5025ed655c5d4b5384ca6df717f95c0ea5", + "hyper/subquery-correlated-analyze.plan.json": "83eb7ceba001426e39b98644bd54ef3468203a0c043a8839c521e00d715b0009", "hyper/tableconstruction.plan.json": "800be4689cc13dad180be1044858fe4773c6b1b97c80775c795914f9539a02cb", "hyper/tablefunction.plan.json": "1dbf053594a8cf2d7d12caefb2c9ee023da7a274fb7d8010526d0f626e7f329e", + "hyper/tablesample-analyze.plan.json": "9d20c175a028506a8497619866f8aaec02654174e23206a2635e92bc52ccc0fc", "hyper/tablescan-analyze.plan.json": "91daf430bc221b256c58fa1e106cf41b4ac69b9872f04d75a88a62df5e196900", - "hyper/tpch-q11-error-analyze.plan.json": "bbc95adffb6cb6d8589d8a160ec4b72cbcdc558b1d4004eab9cb62410447c6d1", - "hyper/tpch/tpch-q1-analyze.plan.json": "6230e314743404f0612d8d43c2922b09a13030514a45544b51637e21b350cb5e", + "hyper/tpch-q11-error-analyze.plan.json": "2c7bccbd585fe0a486e5e694e9b5df45cc4ff2b0246e3657bc19e28889ac44a6", + "hyper/tpch/tpch-q1-analyze.plan.json": "918d073989c6067b8d921ce76e46b027d3723a504f001afbe2a10fff325ffff6", "hyper/tpch/tpch-q1-external-analyze.plan.json": "0c8973042c6db8266f981124f60edf2b6a1630da4d2c3b26ff7ffbb26eb34e20", - "hyper/tpch/tpch-q10-analyze.plan.json": "77230bd5a4579200aad289ab45788711f826106569c9b6e1e0fcad377cf4d477", - "hyper/tpch/tpch-q11-analyze.plan.json": "ecfbc445f9732683e3f04c89e3429101cfd411bc640d8ce8ded53f7ff25ccfc8", + "hyper/tpch/tpch-q10-analyze.plan.json": "40d272d106eba9a7d51a9ad9caddbd80cf4a0a17cb8ca8de0252e8700bcba017", + "hyper/tpch/tpch-q11-analyze.plan.json": "fd48eef96d97f3bc7203775d159cb070ca9ade16d311158e4291f4e925c36feb", "hyper/tpch/tpch-q12-analyze.plan.json": "eea884b56e64778c30c672ca84360b4a9120795d4eddb1f63dbeed461ef66662", - "hyper/tpch/tpch-q13-analyze.plan.json": "ea08571d38ae59b0c0b690dc0bba07217a8010a9efdde26d8146645afd7bc4ee", - "hyper/tpch/tpch-q14-analyze.plan.json": "7d0e12a46eb3738297ed6c448c98b2faaaaed05c229b357bb3b301e2a86dd2fc", - "hyper/tpch/tpch-q15-analyze.plan.json": "1087dc326470ccd9e8c2b93caad5cae6e6fd1d536aade663acde4e86ff62c15a", - "hyper/tpch/tpch-q16-analyze.plan.json": "edd1ffd2cdc1a5c7d3ba11b4af9b3fa50c0a614592d57464b7bb9e9f02ff1be9", - "hyper/tpch/tpch-q17-analyze.plan.json": "0b7b03cb4487d6bc84538bc1edf618799df2694eb97d48b6132744d8d59bf566", + "hyper/tpch/tpch-q13-analyze.plan.json": "da84d9f95b58d1ef49641b87ce5afff6f5778475ebf1aad88283750eaba0325d", + "hyper/tpch/tpch-q14-analyze.plan.json": "92b56f66d0393eae1cae8cbe3dfd3162a19fef7ce00e3a7e0894c787713b507b", + "hyper/tpch/tpch-q15-analyze.plan.json": "a03543fa4fdbeecb0c5ce2b2e7224f1f48c6745f4f8622560bd2263a934d44ab", + "hyper/tpch/tpch-q16-analyze.plan.json": "bf922280e754ec9693c00996b9938daa3ac6171991f29eaa286e45445dc7880c", + "hyper/tpch/tpch-q17-analyze.plan.json": "fff1ef9eb6fcd8dce6271a2154017bb99f085707baa7105688f36e61abf34ec1", "hyper/tpch/tpch-q18-analyze.plan.json": "c2ef0969c9ad700e3197ea99494ce1e51486aae9922f810738b04c745195fe85", - "hyper/tpch/tpch-q19-analyze.plan.json": "eb8377d0c6400004e58c75d6d1df5f39a2fdb6658ab516b4d41a97f4377be533", + "hyper/tpch/tpch-q19-analyze.plan.json": "556c34edab64b87fe71cb598f4a88fba951adf1041389d2665f05befd4236765", "hyper/tpch/tpch-q2-analyze.plan.json": "52e9036ec5cfc90df22e90b50f7e3ff117e4168ed7d1a01adb306878c86e263d", - "hyper/tpch/tpch-q2-steps.plan.json": "a995ab7ae694ecd07c2660c881897551f907add8626d47b59cafd14c0e708bfb", - "hyper/tpch/tpch-q2.plan.json": "60f77a472d6239ab5ecf58c16f7d48fcc545b0d4f83ba1baa772a25089aa28a9", - "hyper/tpch/tpch-q20-analyze.plan.json": "824407c87ece3307e2ffd270e4ec1ad33dd20993da4d43392414e4be28944d1d", + "hyper/tpch/tpch-q2-steps.plan.json": "b96814490c1e194421146a5dbedbcb2c04f3ee5e8d47e3b9ac035c6c7ab2166c", + "hyper/tpch/tpch-q2.plan.json": "d1d507d2c0bbb100281f01c1e30b79445b5f3ec4ac9e6514f246dc6ec6962346", + "hyper/tpch/tpch-q20-analyze.plan.json": "859de34d22109c17e0f32f7394586d83db7cc7757ac2a9cfeb551bf960abe6d8", "hyper/tpch/tpch-q21-analyze.plan.json": "e8f309f354ac2fdec2c2c969f006bdf04a09cea3924949c9f3d6e3da97a9e623", "hyper/tpch/tpch-q22-analyze.plan.json": "baf2941b9526eda97cf645b75159a7cb4a28cc60ab8757ce2fb6c880f5dedb2a", - "hyper/tpch/tpch-q3-analyze.plan.json": "8dca3c4f7388931b03273ebe16b5e065c77e7b663031310e2542f5fec3102e57", + "hyper/tpch/tpch-q3-analyze.plan.json": "d4682cf46917b07f4398a43755b0df0aaf045b3e3c07b8229c3a6c5a52282437", "hyper/tpch/tpch-q4-analyze.plan.json": "4d89e8c45a502521b8bf07f59fa85c3329524b379fb347cfb99684bb576c764a", - "hyper/tpch/tpch-q5-analyze.plan.json": "9a969cc41cb1d63a9bd7c2431dd2408801c194aab3019ed23ee664acb0c2c1ac", - "hyper/tpch/tpch-q6-analyze.plan.json": "6dad39223b317e7321bdc1960c24514289770c7ba71e2988accfbff218d958d9", - "hyper/tpch/tpch-q7-analyze.plan.json": "ad4f7b33b2d49f11fb66b392eaee0702be44ba739705c9f9c9555faec9ee825c", - "hyper/tpch/tpch-q8-analyze.plan.json": "d68d5b3d32373831f38d2ee3797fda448faf1e9e0c235c72595dcd0b262dea2f", - "hyper/tpch/tpch-q9-analyze.plan.json": "265a515135f39533e63835c7451e9b0a17d97d8e79d2f681e606dd46a07a9141", + "hyper/tpch/tpch-q5-analyze.plan.json": "cf91e360bcbb46ed0fcfc46be55e39dff04218b06adb0d4119fe95ec15f2d681", + "hyper/tpch/tpch-q6-analyze.plan.json": "a2ae856f0fc3a386a3b9e52866d44a333f9e4393242f416ba0859aec76904541", + "hyper/tpch/tpch-q7-analyze.plan.json": "c1dd17031c6d44ccab809dbc591fa005501b0dc802351478764e89d05751394f", + "hyper/tpch/tpch-q8-analyze.plan.json": "de7709189874d690293451fc735f9ecc886a8d5112ebcd197fa2be049ff0645e", + "hyper/tpch/tpch-q9-analyze.plan.json": "8ef09cb7574e70edcde871b1e72f6293fc28726902b0710b3ef71d736092ef84", "hyper/unicode.plan.json": "95c1e4c52fda46e1f4f27e43dec1c96d8cfcee2e43ae59f31a7978c031a63fb6", - "hyper/unionall-analyze-sql.plan.json": "517c8fe5843924841ac739cfaf52c9137267c2fb683ebeafbb24cba6a7e1acd3", "hyper/window-analyze.plan.json": "a1a5b8554a282f361a3379944baec8966979103295dad779b107c62e5438f9de", "mariadb/cte-analyze.plan.json": "bd8e1aa4d4d9816ef23a80d8c16e3d661795b86896fe891cfd2e7f8b4a4e5357", "mariadb/cte-recursive-analyze.plan.json": "c0a065327ed721b035bf050ea0341f3225a2ef9c9affba6d03fc521b5d5cda54", @@ -151,16 +174,23 @@ "mariadb/tpch/tpch-q9-analyze.plan.json": "fbc71e8dd7aef0a6d3bea1a896dadcd93d526ab855ccdf7bedf43328aa03dbf8", "mariadb/unicode.plan.json": "943e8f42ff88bcc1551a910201754a5dee61f4b54a15df15614a02f1bbc1badc", "mariadb/window-analyze.plan.json": "be61a01c295c8643c8effa10d39c795143f37f106a3b4e6f48ea09ba9780f402", - "postgres/cte-analyze.plan.json": "6e1c3339c6800d41603c523a23d65d28cd6954692c7e074f6fc290d3d0ef1307", + "postgres/cte-analyze.plan.json": "88b1a416acb5492930aed72fb60da3fa8df4b86484a73bcee7c24231af7cd52b", "postgres/cte-recursive-analyze.plan.json": "e85d49f1bf6a8f2c9006d1701c4c75fd54e14973ea2eafa0618e4254c846dbfc", + "postgres/dml/delete-using.plan.json": "8a713362f2c8aeb6e1466812ba0b6b6f236b362899881ec01f6c0153043fc505", + "postgres/dml/delete.plan.json": "f989712b3bd72e01fc5f3f27d13714cbfed2f43f3a30a01b93e6bd5b9f39a20c", + "postgres/dml/insert.plan.json": "f8b4f095d6bd01daa7a5d8e9583e94c5c243debd8f80791138f967d9cbf20c8a", + "postgres/dml/update-from.plan.json": "0e0669b5264a01e07882cb2c91dff1e933d9895b34ef226b5f5d6186428c881d", + "postgres/dml/update.plan.json": "9ec142e6facc24d52b1ebfe5ba9a1f02e58f7b01940ae814de2b97675b5b394c", "postgres/groupby-analyze.plan.json": "fcce706e05a6fcd372fcb73f0a2439abaf49a89dcf4c5cd84674e81b3bee6c65", - "postgres/insert.plan.json": "b0ba04a3df48e7ad6af4d37334401b8f9926171365decf9188bf06f6ed832c28", "postgres/magicunnesting-analyze.plan.json": "b5cfb32bf7ad95c2ab99d53b9b64c5307fe467e4833977cdd550efeee58c5b93", "postgres/markjoin-analyze.plan.json": "7db9c2b83709e130732bea7435a3ed85062821e2f6d2f54522cb15124bd495a0", "postgres/metadata-describe-table.plan.json": "f275ca5b19cd984f1c8eabf81bfd520a2127df759c61d329aed7985c04be4581", - "postgres/setoperation-analyze.plan.json": "7ed9137396002d58937dc0f466af027a739b477e174764199a47c721a4f1405c", + "postgres/setoperation-analyze.plan.json": "66a21d9c6c021a7d7a178760e61f2d85cf350c2864c42f804134776eddb5e218", + "postgres/subquery-analyze.plan.json": "ed305962c86c20d6988fcc28c02c030785d6d1af88ce282990aa247d1550f0f7", + "postgres/subquery-correlated-analyze.plan.json": "718633abfdfe0cb9c2abadc081fd97a3db5fe83894f66728ffe8890f42025f5f", "postgres/tableconstruction.plan.json": "0acd2d24cd52048fb157d4e7981c0d7093b16715ec115b71ebd578c3069d26cd", "postgres/tablefunction.plan.json": "7b07df32e7ec227a20e4f3703180f757fc13fd3c1392aed8b3198d7bcd4a496b", + "postgres/tablesample-analyze.plan.json": "75161206c2b0b6e881ef11603169c881e7177335caff265b80264e7c4bd86617", "postgres/tablescan-analyze.plan.json": "aa40f6a023b390d319f80d88649fe80604f8075ac438c3a2d666882a1b842edd", "postgres/tpch/tpch-q1-analyze.plan.json": "066be3ed7736ca0890f659e5631bd7d21e6c798dadbb2224955d783cf0f74b10", "postgres/tpch/tpch-q10-analyze.plan.json": "ab0b7627deabf7a594e39ebee024fd4ee93768b6889ee5ce62e8260c77d8b39f", @@ -188,13 +218,19 @@ "postgres/unicode.plan.json": "80001ff265ea4979a0c8d8af024b07aa67c6d72273608c00bed85e9a942c998f", "postgres/window-analyze.plan.json": "f8849ba5ee6629541b7bdf15b3ba5b5a6407037bb04d65fc64f1ef477f9a5f80", "tests/short_names.json": "76624e4f6729762c7a54ddf342a9a691c983c555b8542cb5140f2590d86600c5", - "umbra/cte-analyze.plan.json": "f50627569c713d2919c09c364185d57b3aec7afde0a956f8e6b1d8cbfa7bc47f", + "umbra/cte-analyze.plan.json": "9ca31ce241a4c4010943749e0aa8814b2b81fe0cab5a233a745f9cbb43132b45", "umbra/cte-recursive-analyze.plan.json": "966e1ffa3e387ee350ee8b033f5899721903b1173e8289631f2cad010687b2bb", + "umbra/dml/delete-using.plan.json": "b4d0f1ea663a8a4697a16a19db04347f38b9a684bfef9835dd76d6e62a8638ec", + "umbra/dml/delete.plan.json": "0f9861eee4e4f1511d507d1070e645e81861d95182591196251bfead5769b06e", + "umbra/dml/insert.plan.json": "01890f9ad2f29072fe889a5a8ee099c98ab8a715d9802e4e02e261bcff8be7fb", + "umbra/dml/update-from.plan.json": "e271e5751f2099f02d00718725daf06d90468b3d6683942281a208b5846774e1", + "umbra/dml/update.plan.json": "5314e4a8e11a86ac8a9ff87660e21a8e51b80103926370fb2a0116760f64a9a3", "umbra/groupby-analyze.plan.json": "9e4a9d8a1f7df10872f49e2988efa68978ffb68b7e2bbe54473ceded46da80ed", - "umbra/insert.plan.json": "71a0a6871080048059fff90c403c5efd4159a04144599ef8db9e0d237dbee671", "umbra/magicunnesting-analyze.plan.json": "8bdf8c00e778013091234f5d4bba720206eb675c4fdc1eaf83ff8ecb4d7da791", "umbra/markjoin-analyze.plan.json": "615f758923735908bf3a685a5caf08202055b9c08967528c9b14629bc1c59d17", - "umbra/setoperation-analyze.plan.json": "0e5f1a2212b363c81ad841d1515a426f24d752f53dd0887dc8a14e0146a8b435", + "umbra/setoperation-analyze.plan.json": "3289940a33be2ed979716d69fb5875b15c475db496e2786434001bc9319952f9", + "umbra/subquery-analyze.plan.json": "e72e53a69fd533d1ec5f986eeca1e540e41604fac45b3cf61a5076bd2693c181", + "umbra/subquery-correlated-analyze.plan.json": "397ff7e83fd507b915a1b419e731141428b5e2708e92d07efcbfc34651e43872", "umbra/tableconstruction.plan.json": "2a96cea172b5e9e4c14f24abb155d03ac5de50409a1cf918b4f62e135bcb4652", "umbra/tablefunction.plan.json": "a1a83be69f7062de10dcdc8ab2a172e092dea5efe0f93e4f18408b259814af57", "umbra/tablescan-analyze.plan.json": "b06005d9de8a8934578aec0b50a969bbbc1adcbe1fbd5c145f49e710f1199521", @@ -225,14 +261,20 @@ "umbra/window-analyze.plan.json": "79e942c609ace1f829bf7bf1a59a57904890131e5030a9e234c405785a3dacb8" }, "umbra": { - "cedardb/cte-analyze.plan.json": "eda2edd67d4f0d8495e760982617f84ec098bc9065f34020fd6ce8266c2b39a4", + "cedardb/cte-analyze.plan.json": "af34bf4f389ce1d47a87b3eb9e6964ec31c7900f27ac54b69bef7a526bbe0ffb", "cedardb/cte-recursive-analyze.plan.json": "2ca1998e2e6b1d4a0783bc5d265fa0801742634ea8264129c209fbbb5cd1b597", + "cedardb/dml/delete-using.plan.json": "e661fcd08ae02a34d2f712a037be7ee414c21d040af860d22cf5483c7e30a331", + "cedardb/dml/delete.plan.json": "8e763dd60aa6f8a3e6ce016fd8ed45b97c469c20124c03a41e6a06237cc3dd87", + "cedardb/dml/insert.plan.json": "fcd5334d206b52cda2673a0e111d6b257755cd44dbd2078edb2ea84d0b8096a7", + "cedardb/dml/update-from.plan.json": "9dda2b75fe7b5a5d06d0055188c2db055c2b5b9e1259cc3f1679b01c363ed648", + "cedardb/dml/update.plan.json": "2b1a132ab5aa91c552f8a6915f654fe83f3c31e09d73ee957a28913f099b3003", "cedardb/groupby-analyze.plan.json": "931060bf4ae207ca2cd11347baea0807e9cd574c976dd3a4708c949b44f1f592", - "cedardb/insert.plan.json": "12ef9869670dd8efad78a89f370d3bf2d3d1a86eaa51f25a3d9cc7a8e2f12d0c", "cedardb/magicunnesting-analyze.plan.json": "d0fe7821a3db733dda8809194b4040a2cb6b9f57afd1e7ce5e6bd5c78096af62", "cedardb/markjoin-analyze.plan.json": "ec0668dc044fae43035858673d11bdfd3577e24425cfd2ba9d3b4202361bc5f7", "cedardb/metadata-describe-table.plan.json": "e4d7afc9c032cab62d0ca8217a24b937ba3df1f1bfa6f4903a1f7402792aec93", - "cedardb/setoperation-analyze.plan.json": "4245131fd019a5969f2550833c88fbc5aa71ad90cce2c5afdd03c577fa640333", + "cedardb/setoperation-analyze.plan.json": "229d43e8cee1ed44808248ecc75d16cac726a38def789b1a82f4abcbed4543dc", + "cedardb/subquery-analyze.plan.json": "1be983fef16bcba016a7c7aa41691cea9c8f96f010092c97d72c9c469d5b400d", + "cedardb/subquery-correlated-analyze.plan.json": "b4f43544a1b9f3b05b274d54536473b5d2cad7180a049b12548e6f96989e0e24", "cedardb/tableconstruction.plan.json": "ecfe75cfd78fb49c5985feae9af802e4c8c85a0bb75b3f0c023d9b43fa0194ea", "cedardb/tablefunction.plan.json": "ed2e83bb660412c5ed8dcbdfae84aae8842dbdaa768e2f2580c912560c2d1c9b", "cedardb/tablescan-analyze.plan.json": "fca813398115443ef3a063e0182ee6d4957bca9ed5e0cb25f6d7d1896f2325b0", @@ -262,15 +304,22 @@ "cedardb/tpch/tpch-q9-analyze.plan.json": "12785beee9081f2c7f77b0e288896a4da37a48e375279bf56f505867a8ef8a92", "cedardb/unicode.plan.json": "d51616a24e64b7dc448520ab7dab5b8e2866b857dc31587df2cc5b6ec5d0bb8e", "cedardb/window-analyze.plan.json": "04ff5d0cad1f4499a682c56905b76fba54c6906b4071618be13ef63cab241cc4", - "duckdb/cte-analyze.plan.json": "2e6a0fd6dda5578a8ce568d423cfa38e278fffeec19cf99bfc50fccd0d4010ba", + "duckdb/cte-analyze.plan.json": "c1cdaf922fb2bdcca966d8ea7e13bb7f0998bf8ebad7f8a33df45aec0becf14f", "duckdb/cte-recursive-analyze.plan.json": "29a46adb9ec85561fa62eafc3fdb600b94b83af43e7f533aeb20ebd6947a8a71", + "duckdb/dml/delete-using.plan.json": "3a39a83fafd50e049b762ae2f3a8c88438ceee2b84f7d78ca1a444208d0a6b9f", + "duckdb/dml/delete.plan.json": "859b0e7aa8e45e98ea5084c5cb6f50f1a160f17880a61e6200479a65e5a31eb8", + "duckdb/dml/insert.plan.json": "04e28a7c330ea5ed29450ffb98b13cb5e39a6655ab1d8eebbed1a0cfdd003b05", + "duckdb/dml/update-from.plan.json": "ae04d864bceb5c21bc0f6b698afe069c02b583bd685e7fff03dd64bd19980649", + "duckdb/dml/update.plan.json": "53d1cb903126f12db08788751acaf917439c44ba33de41a3253c735088348a15", "duckdb/groupby-analyze.plan.json": "64f55132442692482029855838ef7bbf4c6ca33d76bad6125f2f2adf5349acc5", - "duckdb/insert.plan.json": "aa0ffd0b13f07e40537ab0e0625fcb8d2514a485459aba7733cb8d126db95fd8", "duckdb/magicunnesting-analyze.plan.json": "fca1810812ebb8e7e7f794c39c4fcae927d80f8a91f5da8a3b4d0d9a24574659", "duckdb/markjoin-analyze.plan.json": "698249d875db539440da730a4ea9a604d9c36308f010097eb6dc0f449d90961e", - "duckdb/setoperation-analyze.plan.json": "a92bd737b29a71c145da333d4220d0277c561c52539fa88e98b255a6dc9be27e", + "duckdb/setoperation-analyze.plan.json": "55abc851d6be35977403f970ef586eb644ef2209f2fa75b6f043f842b4befb76", + "duckdb/subquery-analyze.plan.json": "8bde7e0552a9b39e26db7b91caf9b4eb2625f0af716df1c4aa46f23c4e5ad363", + "duckdb/subquery-correlated-analyze.plan.json": "8b444b975e0dce6d66ee865d2b90d3fe0718cba241961e3cc8123c99abe82116", "duckdb/tableconstruction.plan.json": "4e8d2260d5144d782969780bae5c1adeff930c8037008f776999dc44964ab152", "duckdb/tablefunction.plan.json": "d17067ee7bbf2503575d28545685fbab93784ce3e9db0871b9efc9dc588a2d61", + "duckdb/tablesample-analyze.plan.json": "dee4c230b939af4754f0e6ad2ecec85cd5499cc8c9b88d678bc5773c89ddefb6", "duckdb/tablescan-analyze.plan.json": "bf788cb1e78fb47710e8961b256d4f38d1d528eaa133cacb13e4c2531cb7ec22", "duckdb/tpch-q11-error-analyze.plan.json": "3c53414e33f7201dfb6cf5651fb17a7511667bf204cdb72abcf1fd6ae673caaf", "duckdb/tpch/tpch-q1-analyze.plan.json": "cf40a174a97710b98a986de1480e8968d0a49ccb082a759a866f4cde73e8081d", @@ -299,48 +348,58 @@ "duckdb/tpch/tpch-q9-analyze.plan.json": "88a23790512be87c4d0a9bba2dc8f67a2086d5c7e4d815d3ba6de45f5eae888d", "duckdb/unicode.plan.json": "c786c71c55c979ab0f60cfa567d28dc439f585f13d417107a4b58bc0c5eca442", "duckdb/window-analyze.plan.json": "2f38f957011b23e627d9a63aa9d9bf671bf880fd5f74d05931ced8842caa3766", - "hyper/cte-analyze.plan.json": "00251650134450ab14f65ea7b573ac7c60041fdb5a3d291cfe0b2717fb97d0f7", - "hyper/cte-recursive-analyze.plan.json": "2bd2e630e427ad976d80938c30545c6908b6aa3f432f859615f83abeee575289", + "hyper/cte-analyze.plan.json": "8866eb009e6f3281c3bcedae267f2bb3bfbb8a0556a0e3dd50cd4a05558b66c6", + "hyper/cte-recursive-analyze.plan.json": "ec013b504cf5756219aff50038daf8e6783010e2c9acda06cd58f8aa3b1af566", + "hyper/dml/delete-using.plan.json": "e49e982bf1b6324641e87bb70b5d132abd3f89fd23893dd609df5319167b0894", + "hyper/dml/delete.plan.json": "2363743b3ef843bab85fc7a4d318832fc4f122ed6b64b591485fd0d0dd1da8a7", + "hyper/dml/insert.plan.json": "b49b2db5040c8c9c0e1770b8aa7d5c382ad7e9a31b11bcd10efffee13bd95642", + "hyper/dml/update-from.plan.json": "3650ff149319461c27fbcd6f7e6171f62a2b6b3cf06411ed24e7010553d216d8", + "hyper/dml/update.plan.json": "971de1eb22b82ae305a07f79b8ab1ab75f7c3b0c2b2dca60aa620a689b892d63", "hyper/forkshare-analyze-sql.plan.json": "5d6aea8fe734464a148e8e80a6406b832d114bde79bf7de3ef43e02f085b9240", "hyper/groupby-analyze.plan.json": "7a97164f4b3682d7f8aec76cc3c9f662a6a76aab12a58581f06550ea75b1173e", - "hyper/insert.plan.json": "4bd2dd37c1cb0d5fc5e3830c850d92399d391359785ac9d39eb83b496c2d6f53", "hyper/magicunnesting-analyze-sql.plan.json": "176abce0f81f760c6145cc15891c0a8dff8de098e3e9535261fad6e10f032539", "hyper/magicunnesting-analyze.plan.json": "60c1671e29dcdb06fa221e837c6b7523a4298e613550704b2612efff2a79f4c6", - "hyper/markjoin-analyze.plan.json": "a90dfed00f501b8ea92458261a683ebaa7df87c63cd6d28aaa7c02ae40e32760", + "hyper/markjoin-analyze.plan.json": "c06afc152175911896b0c4c2d1e8a172adfb25abc799b67cf41bdd2f7e76a17a", "hyper/materialized-analyze-sql.plan.json": "9e92e1636718ca0364c9e52d3f7f382029ee0684f0b89d6606789ae07ef7b6fd", "hyper/metadata-describe-table.plan.json": "5530ba063715297b6794565f6aac8186a0f839d87358cd30d59487f07fcc1398", - "hyper/setoperation-analyze.plan.json": "7922505e28982d2edf55bc403aacb3dbad344038042c5f4c9accbfa4bda496cb", + "hyper/pgq-path-steps.plan.json": "4d3f839c4455bc3dd0c9ce4ed1a17207940125bcb8825a429e391aefa7bc0748", + "hyper/pgq-path.plan.json": "3a0fb2ea1e7d6c7440d00a7ed56d7676c05f5b55ca99ab0afbadbbd2622f6ed3", + "hyper/pgq-steps.plan.json": "e4ef41b99c4247f31b7205f0c4a6d093498edee338399beee570020d1fa679ea", + "hyper/pgq.plan.json": "5bd05dfdf52784261b28a5d4320b5d7376c95983a07361324cefd01c62d6b5fb", + "hyper/setoperation-analyze.plan.json": "47fc4f21de66e13b712a3fb6bba25049b0315718320530c5cdc70cc7349864ce", + "hyper/subquery-analyze.plan.json": "a798023fb2fccf82e8ba772abc93efdd5db99beff52135272e30af5a31a1c852", + "hyper/subquery-correlated-analyze.plan.json": "bc71c752ff4e70f8c80cac960b63ce733d88303fd4c7bcab3a45259f80900a89", "hyper/tableconstruction.plan.json": "4d5d66a9b8f6479d71b7ace08d375f0d37f8d34a2f523465a2c7561a2b867e3e", "hyper/tablefunction.plan.json": "3093b5775d41fd6073a4a978f5c7de33a2bbc49d54223958508b5fe3916c0da4", + "hyper/tablesample-analyze.plan.json": "0af69704f35fe5009f98c881ab40a619d00c1861327c274fbb01b30bd8754429", "hyper/tablescan-analyze.plan.json": "a94d96c547177c2f01a5509f22ef75f65f4e5000645d45792fb94ad825a0d81c", - "hyper/tpch-q11-error-analyze.plan.json": "2087d5ba28097294f2ef5c873a6ce00ed796dd6ed7c5e38292a68446bee28179", - "hyper/tpch/tpch-q1-analyze.plan.json": "479f57bb762b97b311fda6d9ed6cf0867212b2aed0e4916511d478aa5dd410db", + "hyper/tpch-q11-error-analyze.plan.json": "b955f5bd3489f6909e277970db3a9ef9716c2b9c27969949e78463c8111b41f5", + "hyper/tpch/tpch-q1-analyze.plan.json": "176c4b55692248372c3a56f8e5eac95777c25e7eb4e0bb3b97004a87075a4075", "hyper/tpch/tpch-q1-external-analyze.plan.json": "afefa85248fea9abd42efeeff30e94095ac080c2365d2e0740062e0fbfb2283f", - "hyper/tpch/tpch-q10-analyze.plan.json": "34cbaeb23a331bfcc4e1f90d9a098037ecd91765684ea674695ae85e401c91de", - "hyper/tpch/tpch-q11-analyze.plan.json": "efdc18bd9183712c44330c8e169d4518b02a132044fb38c332172d4a5a288be2", + "hyper/tpch/tpch-q10-analyze.plan.json": "2ab9d34c59ca041dcd796144a90d5b2c2695af1b328764583c3c4b9b2a3fd975", + "hyper/tpch/tpch-q11-analyze.plan.json": "8442a33dbdb4127aeb5def39651fede2dd7e1c3b1bd0c8206ea330651ca6b6ea", "hyper/tpch/tpch-q12-analyze.plan.json": "25e3de75b7404dabb41cfa638adab474b48cf8ddda72981aaf65053991be2918", - "hyper/tpch/tpch-q13-analyze.plan.json": "041d23738b5fd1d89808696cb54ff657c347a17fec7b9882fb2b2722e660e665", - "hyper/tpch/tpch-q14-analyze.plan.json": "d88dbe56a4bb42fd4e26d09c04846cb681268742b564e13dffd525d76ad5ac54", - "hyper/tpch/tpch-q15-analyze.plan.json": "fb7d7b3f356596cef865b511fa717c5480a3315f710085ddfbce9e9764f40374", - "hyper/tpch/tpch-q16-analyze.plan.json": "849c7dd5c29f5d87464236577f78624195b9d44c389e69e26aaba98cb250364f", - "hyper/tpch/tpch-q17-analyze.plan.json": "3ef28e23c8102a697e3fa081e3b0aff16cca33d899e83ad6211887b4f46df136", + "hyper/tpch/tpch-q13-analyze.plan.json": "4beda4d7305c85eddc650eb940c88d2e288ba82157fbae7e0359cf649bb8999d", + "hyper/tpch/tpch-q14-analyze.plan.json": "e5feb2dc0b4a412232d9bce2fdc47d7c905291734dfa610fca04c1ec81ed8ce4", + "hyper/tpch/tpch-q15-analyze.plan.json": "e022dd5100f48e8f29cec7b4acebb2b5d44665785a8f64dc543cfd9e2397ce22", + "hyper/tpch/tpch-q16-analyze.plan.json": "72e8b1256faf7c83fdd89e36267cdf38934397f3b3dc915445752ef1b5cc5481", + "hyper/tpch/tpch-q17-analyze.plan.json": "acd1c435669ba5a4e588b55e38cd94b97530ebe502e4a35aaddf6a000ca45959", "hyper/tpch/tpch-q18-analyze.plan.json": "c72fc12cc61128d2861b188c55a95c6fed1da9bfdeb06457b787341dd0e10cf3", - "hyper/tpch/tpch-q19-analyze.plan.json": "440ed95e9f0b83f90b5cb909a6948804d5c6c51f7784d6b64dc547573a3f36a9", + "hyper/tpch/tpch-q19-analyze.plan.json": "11129636d8ec177a611ad2e732b7062c5241848c7d9dd0ba99b996d820db3902", "hyper/tpch/tpch-q2-analyze.plan.json": "fc5ad06043b54bf5f52b89ecbd3d697e09554cd6d0ab1a06a0a9a1dce4dc9f0b", - "hyper/tpch/tpch-q2-steps.plan.json": "5299a43ffbcd07e2195a25ce8b971bd988eab14cd1a72d5d09aed2da2e538119", - "hyper/tpch/tpch-q2.plan.json": "d55667dbdd1c0680d7b2cf50864f6187bcde91a7347bb5984cb0d284a303c4e9", - "hyper/tpch/tpch-q20-analyze.plan.json": "b2e7ed6fa1cead7caa50e7126da45468c3a8e7ddc2634d89dbf0768f03e7c215", + "hyper/tpch/tpch-q2-steps.plan.json": "39639acb2d3c84afece2979c75d6b29693e32577adbfbe828200080aec2a3b47", + "hyper/tpch/tpch-q2.plan.json": "a5c4ef8dd8c9adef3544ef82620075bb44655b8ea9e90dbbaaa87c6eb6d0b763", + "hyper/tpch/tpch-q20-analyze.plan.json": "7ec373c1699a61686c0ef7622dfaa50d022e735e90453bd6213ef392b516c72c", "hyper/tpch/tpch-q21-analyze.plan.json": "cdf1c976db184b32322db843acad6c2ac7c92a33964fea1a706917a6a50bd614", "hyper/tpch/tpch-q22-analyze.plan.json": "e0f9c9b110299e0cc59a5f3b74f7713d22bfd0e094c680c5b808f7634f73667c", - "hyper/tpch/tpch-q3-analyze.plan.json": "5329400b149888a7be0418381826a028b954e302c674b2ae337472a5fe63615c", + "hyper/tpch/tpch-q3-analyze.plan.json": "5ead00dbf6352ff76f487d159524b5600862be680b195807cc4b1894fbc7c987", "hyper/tpch/tpch-q4-analyze.plan.json": "070e92150479f00dc2ae0d2683715142416711fc508f1a71d27ffe5ea72adfbe", - "hyper/tpch/tpch-q5-analyze.plan.json": "4879c3aaab6821d4e757a38e838e02bf7d0b6c5cb6e84a9cf77c9eeba04e5b59", - "hyper/tpch/tpch-q6-analyze.plan.json": "e6d7273087ff15aea394c492c987c16b8fa958ddf619f41d3e30ce92916e15e6", - "hyper/tpch/tpch-q7-analyze.plan.json": "f4a55423cddc7776cf4c618ee6d3d9cffa2acf323865c909c4a875ac240ac33b", - "hyper/tpch/tpch-q8-analyze.plan.json": "d7dc6280da3aff48136111fa6081c1aed9c91a88e94c8eae3181c21ca5e88ccc", - "hyper/tpch/tpch-q9-analyze.plan.json": "5f545aa6f4a189c947a52b8c88942e0e0f107c9e68251dbb9688cabee3217e9f", + "hyper/tpch/tpch-q5-analyze.plan.json": "44da7ef13a464b0b1e475a74e7eedce48eb7aba608a8eaaf07c7d2114ace0cf3", + "hyper/tpch/tpch-q6-analyze.plan.json": "a648660313187690f588d5e85c08c61c5b1d441bd462acde48cc4a9b97f01ff2", + "hyper/tpch/tpch-q7-analyze.plan.json": "b408deb871b31ccb3562c5ab5dd2b84340c28f227e496a7c87634df474731eeb", + "hyper/tpch/tpch-q8-analyze.plan.json": "3caca8f9733043d5ccf232ddc94f0a3c3e3c7201515e1c1ab89a47cf1e9d759e", + "hyper/tpch/tpch-q9-analyze.plan.json": "fce501bf6fb8d9da06ae7b446c5261653ca3d2d6d526934389341c82a2598ce1", "hyper/unicode.plan.json": "d7b98a1aad52b1ef5103b72b5e63289b4673e864d6e4d5d5309bdf007bb02a90", - "hyper/unionall-analyze-sql.plan.json": "5e5c358b5839f6330ac55205dd2f78fbdd986eab595c440b81439c1ddbe8183b", "hyper/window-analyze.plan.json": "54b988d6a405b2130bf8f4053c7f0e082c48ca6c9fbb12dd047334dcdb3e2b8f", "mariadb/cte-analyze.plan.json": "3dc3a29641b17672d4499f3c29d559121c0e6f7b85c42f3120ffdc40e6ab7f36", "mariadb/cte-recursive-analyze.plan.json": "66f6949f361c474fff08c753a7b7e5cf03e4fc9726f83e6f98935b027331ba81", @@ -376,16 +435,23 @@ "mariadb/tpch/tpch-q9-analyze.plan.json": "b175dcaaef03317f7f3ea05e55a446c852a8476e0320248c9a5af8265622331c", "mariadb/unicode.plan.json": "61d052a30659813c23964101d477b5b380364c183f2bcd790e23552e0b6ad0cb", "mariadb/window-analyze.plan.json": "1b814836e45d5a2b067eba0dc61a9d24c2c1e226186030934eb0bf5daa498875", - "postgres/cte-analyze.plan.json": "6bb79d0bbbd81780d4a41bcec4127c9dedbc2fb6b5d8e6c8383230b191836a9b", + "postgres/cte-analyze.plan.json": "b2d6c3bc2d0ace14c5c345ddd57da8a92e8f305d842d1ba227d006fa66ace99a", "postgres/cte-recursive-analyze.plan.json": "69f1da11ef0e3d911d153246899d88e99ddac9145c86f5075bb2aebcb383074e", + "postgres/dml/delete-using.plan.json": "b1450aeefae331b81364c3a8670a162c92d9cd37dc681041e4bf37af7be5aff1", + "postgres/dml/delete.plan.json": "75cd343abf2fbb1463b3a56c7c1f20f38c36a90e9cae6954921b77c3446a29c9", + "postgres/dml/insert.plan.json": "08e7e87d5d87bbbbef78fb395ebdef163825d670eff37c0b021fed38f745375d", + "postgres/dml/update-from.plan.json": "92a81d2fc55ef6d8997b5561f97eccecb7624f48c46b9f84657a17b04cb560db", + "postgres/dml/update.plan.json": "77f8e2ba43ce44f4151343e075ed1d606dc07f2dd0f4b6ac47e3d51003f566aa", "postgres/groupby-analyze.plan.json": "2788e02e007bf575600a47d3f4a2714c65d561955fc15533b2a1a7a1eae7244e", - "postgres/insert.plan.json": "ed760b299a788b84e4a25851d100b8911a564e4297f6e7c33e1168b7c29acf45", "postgres/magicunnesting-analyze.plan.json": "fd9a162357213c52e6fdcb17b440ba7b3cab80ddb1aa91a670f7505dbe324914", "postgres/markjoin-analyze.plan.json": "8f461c61775cf9a379f7cb049cc0763071f86630d33a3e9a7b368ce77c8de323", "postgres/metadata-describe-table.plan.json": "ef76ca761624faedf3d89df97812d45117c17e55de3d2b1c212a22f97f82a613", - "postgres/setoperation-analyze.plan.json": "64f9f008c1c6ae991a5d0835289ac176d4690e15a9732f90262a456033248550", + "postgres/setoperation-analyze.plan.json": "ee8367b79a1caf03e71fb2908b772ca4a40917281a2fd56be64184f28edbc4a7", + "postgres/subquery-analyze.plan.json": "3839d2471cb3fe1cfa8ce72a9ea1cb75e5f8a6b02fe6347c524ae4e39c9da418", + "postgres/subquery-correlated-analyze.plan.json": "33245c5fb126f24dd539f511e56f5fec5fcd370b4f8d235fd220a8feb5ea8de0", "postgres/tableconstruction.plan.json": "629ecb37908b5147b302279ee4084163f54985ab4dc8f80dc386df2f2c27e596", "postgres/tablefunction.plan.json": "19af81c8e5df87bcaa19df6108d5f3f9bf8760a28fa0dcdc1fb6263d932083a9", + "postgres/tablesample-analyze.plan.json": "1805cf2d5752348d8619a400673ae4002022eefce600a3a2d827e2541d51efa0", "postgres/tablescan-analyze.plan.json": "10e2b3316d2d1d499294472f198a71c84d20116dc49fd670c2fd1c7875440e10", "postgres/tpch/tpch-q1-analyze.plan.json": "6df8f736a6ea6462eefa86c2aa30bb1eca45d2cb1a048e78536ea7ede32eeb49", "postgres/tpch/tpch-q10-analyze.plan.json": "d474316bbdc9b154b36b0022f917ec1386d0ac6efdbc583e5da90c3af540e4c2", @@ -413,13 +479,19 @@ "postgres/unicode.plan.json": "38cc1d869fe25c6b0a609d65477f3d6cc5208f509414bbbc08a5ba59e0a56986", "postgres/window-analyze.plan.json": "521bcc9a83fe5e2624032cb8743606d8c68ca6259cc6a513e8db1eb0ac983f51", "tests/short_names.json": "c2bc1b7875b3dc31d0b2d4a52d7bece341c9449386b3ef194aff2ce5db35b716", - "umbra/cte-analyze.plan.json": "e6c7f8f4b13daab7561d51b82eca54a3279020f3da0436fee5d0492aa1f154e6", + "umbra/cte-analyze.plan.json": "e4adc40019f245dc4e253bd9c4eda35bd3da4e028383535c140600efa350da05", "umbra/cte-recursive-analyze.plan.json": "376a6cf6eb2e0d6155e95eb97fe6572779054783920252f2ad55f2eba8bfd4bb", + "umbra/dml/delete-using.plan.json": "6f115557c0518ac67e89ec6e3f2bb7aaa6927f9a007443ecdeec69d570421368", + "umbra/dml/delete.plan.json": "5eb136b1167b501cff13261529bb95da573da069bd70476a09555bd06951576f", + "umbra/dml/insert.plan.json": "39a6ea5c0c7bbf8dc1d2ced65297ae9cfb82525743ea73281af3bfb3f61c5282", + "umbra/dml/update-from.plan.json": "e31f3dcb9414c61ed02a8451c1aa0e3308408b21a66741dceba29f8d2cabe484", + "umbra/dml/update.plan.json": "6be4e440f3b9b86e1a95b4c8a19d1875721ac26357019050994126d5c751292e", "umbra/groupby-analyze.plan.json": "a5d46a64af1c259bfc7799fce86612c122aafcf19c9405ecb23fdcef0cfeb3b9", - "umbra/insert.plan.json": "61c7ef8e32e41d906abe87dd670fc3d38839908565a8bba29fa304dba3085da9", "umbra/magicunnesting-analyze.plan.json": "04b576470d9325dfffae838aa313656d3b1ea75cbce77ad700e8dc9576f5e0d5", "umbra/markjoin-analyze.plan.json": "e81aebc6319fa3419d6e92fd756d837d33cb1164536703252de6a0bbbdf95077", - "umbra/setoperation-analyze.plan.json": "ec0b0aba67adfe2915ffe1e5cf66bccc8ba5c10bab288c0e49ac328f160d1b12", + "umbra/setoperation-analyze.plan.json": "30a120b8e2bf65b7fb5467d55890379338fee2165f288324be2ab1ea7cb2024e", + "umbra/subquery-analyze.plan.json": "eb459ff5e762848cdd7fabb02807e788b39240c54c58478c3873166f8290cd35", + "umbra/subquery-correlated-analyze.plan.json": "b990b03087c3316bfab5b9dc537d789614dd903b5d489ba062631d5186f34053", "umbra/tableconstruction.plan.json": "c1671293e2de967d2cc18520410e3094e698fb19d56909ab9f781693bead2b84", "umbra/tablefunction.plan.json": "c83d6dd330c48bb22057208739ffaa5d7bab5b919bbf57f1294182b0e9a1b510", "umbra/tablescan-analyze.plan.json": "091997d577f71b836361b909d2e4a56ac15502051802b5b31da8b73b9c10e681", @@ -450,14 +522,20 @@ "umbra/window-analyze.plan.json": "1acb480c7cfef745da3d8ab7378ca3c6dba38beaefb6ca3895c772b74d93e75e" }, "duckdb": { - "cedardb/cte-analyze.plan.json": "4dd866409dc18c5fedd4d90f05907645bf0b57daf4a217d328a0a4b4333b2e42", + "cedardb/cte-analyze.plan.json": "03e4f1aac96d70e9f98163e3371706662e25ab1afb5826d3c304c74d85abdc7c", "cedardb/cte-recursive-analyze.plan.json": "708693effcff8b5c49808a28b4ff18239bca801031a530f1cf37f5788738a0f2", + "cedardb/dml/delete-using.plan.json": "a1fab4e8a08b6772d1b7d26bc1861cf2a59951e89a440a9a40225d93087dc99c", + "cedardb/dml/delete.plan.json": "c874e931d1c6917dd25d98ecea81713f02bbd753fe2ed86a68f303c079d1b081", + "cedardb/dml/insert.plan.json": "ae8a62e69f34b1bba19658093140978004758e4fdc277e84c645022a606ad2fc", + "cedardb/dml/update-from.plan.json": "2e48d5904972cff12c9e606a7ca08605fcfc716afddbb9491b4521a9088b5544", + "cedardb/dml/update.plan.json": "5fcc8eb485b1221955c27495dd3906bed6a1f44ae7af676fe5fcb9372468f7f7", "cedardb/groupby-analyze.plan.json": "5d4bd6e9cd18772610df83853158fda045274211b5ce0772a94be8222be54cc2", - "cedardb/insert.plan.json": "c0fdc479f407ab3967c77852f9de94bdf9b12e64a8f370cfdbb4e17b85d1f406", "cedardb/magicunnesting-analyze.plan.json": "7e1ea76229f78d1ffe12c8f5737b642271339ce1711026a1aab42d63b3e42db5", "cedardb/markjoin-analyze.plan.json": "1858d14eac46bb1bba3cb445b4fa4c36d38f5c0447ff994e3054ddde81cf2f4d", "cedardb/metadata-describe-table.plan.json": "be52e3f93bae5e48842820846fec408eb14a462dce69cc4e6d3a719658155b2c", - "cedardb/setoperation-analyze.plan.json": "866ce317b6f28bc6623a879c446253ecb4e7af890eeaa3406ad00e0894c9fb42", + "cedardb/setoperation-analyze.plan.json": "bd31c2a8dcf6a4227c647bc5666453847ebeaba1154b674eac9384fcd357dcfd", + "cedardb/subquery-analyze.plan.json": "103d65e5f697017f99b363ab561c03e81941b637496ad62aeffd0e5e8529290c", + "cedardb/subquery-correlated-analyze.plan.json": "56984bc9ee795539f85c5205ba0169f6072a2667d8f840aef052fe1cc7b44088", "cedardb/tableconstruction.plan.json": "c4a345c4096f585eeb39542ea33cd0298005554aec93605ae8bdd795272de493", "cedardb/tablefunction.plan.json": "428fac0b0cb6f12080caddcca482c9f486af4594b6c83ae3ea4e882b2e6fa744", "cedardb/tablescan-analyze.plan.json": "1f58107a745c068aa564c7fcc4e8e1d42ebd909226bda5452089a5a62398c56a", @@ -487,15 +565,22 @@ "cedardb/tpch/tpch-q9-analyze.plan.json": "4030131d8008b143ebef32696871de30492ee10256f60888f49f356f1ac005f9", "cedardb/unicode.plan.json": "2b4cec8fc6790c980871c87886a82cf94524a9732289efdd05a907a8970a74d3", "cedardb/window-analyze.plan.json": "2540c2a6b1966e1665d3b91a1b4d3c596bdbeed41495e483b39708488d8ee945", - "duckdb/cte-analyze.plan.json": "f148a9cfd3df45f9d128ed774c13ec0c089961dde6f65353bd71a982f468293e", + "duckdb/cte-analyze.plan.json": "480b7b00963ffe60c774e0e58a96e859a0d7400c1475d05d2a44831bed146dac", "duckdb/cte-recursive-analyze.plan.json": "5d584b80fa1327f249ecacf5c354fcde1fbf5e22a7fa14e6b248e8fa39784679", + "duckdb/dml/delete-using.plan.json": "eb25fefeea55b53a73803873e5979ddf742be04e766fe8ac00b9271b5d4eb3e4", + "duckdb/dml/delete.plan.json": "d060f8f41eeaba31eecb721fdfe12e6f78cd084c89de4f7299a71f4dfaeb7d6d", + "duckdb/dml/insert.plan.json": "5ab7ae948a0d3313dda8ed862764bbe4999d9fbc0c765f3fe1ed7323e9194a47", + "duckdb/dml/update-from.plan.json": "43ab9351f542df62ad05f55d5d53327958af741845e14e37882c77594243cf06", + "duckdb/dml/update.plan.json": "3e95ef4a409f8a10c8429b65fe0607824f546717639dc2aadfeabf21995b7c52", "duckdb/groupby-analyze.plan.json": "f999e85244a36b7a890124e263b5f43cce5255d6cbc3db2c21c3e077289c785b", - "duckdb/insert.plan.json": "ffe145e31fb94afbec97ccd6e6df14335eab043c2f35bd3c6187d758458b6659", "duckdb/magicunnesting-analyze.plan.json": "d1f7ff556650177fa4546109b98c0df7d84a2ef6a0a12181e404c0b7754f77f3", "duckdb/markjoin-analyze.plan.json": "aa3b837de02851035e6fff213b38ea8164ed42f9413442328b8ab9e65dec3b86", - "duckdb/setoperation-analyze.plan.json": "8a54e77623ce8f6b6f0cfb285f746bca43a8b505ac7468fbd428b7112c681094", + "duckdb/setoperation-analyze.plan.json": "4770c017d0fc8fab4249141bb813bbd8848547d1f4fa088bf55808240188c21a", + "duckdb/subquery-analyze.plan.json": "dce4a9d3042f6f054f4de1d9a98fe974bc9d3f7873d4eb3aa49a124a2aec08e1", + "duckdb/subquery-correlated-analyze.plan.json": "1d717d5c1b7f1305d70b86608ed9629aa77bf7c47d8fc5c3712fa8e1d127b5d6", "duckdb/tableconstruction.plan.json": "88e7df4b6d151870d4ab4033d5788713dab0b9b95fe3821ac60496a3543dc89b", "duckdb/tablefunction.plan.json": "e5ea6a05e39d48599467abe3cd051230344daa1db6103339ed494c2738c42d9a", + "duckdb/tablesample-analyze.plan.json": "9e14e0bba65549e218f5e4e3ecfcbcdf0ef8f5f0e8983d54f179a61542be95c9", "duckdb/tablescan-analyze.plan.json": "9fe9585ffabb34dc63163e78b0a86fb548af380513c9d46dc3114d1a2a313c26", "duckdb/tpch-q11-error-analyze.plan.json": "b4f808ba574290d864dd1b5db277144d37e4dd0e7f9b1a8caff8882083fa19ad", "duckdb/tpch/tpch-q1-analyze.plan.json": "cdd1cc7cd3468e2bb5667a9b125ea5063389e4af54fcee46623485c430ead54e", @@ -524,48 +609,58 @@ "duckdb/tpch/tpch-q9-analyze.plan.json": "d93f761af244839da17650a175173cbe02d63afcb49e826762d7ce3c27c2a7fd", "duckdb/unicode.plan.json": "0253f155eb17dfca54782fb1cf94488161fea8c572dfcf513825c8a7cd986ba5", "duckdb/window-analyze.plan.json": "34f9968589284cfba289e3781f7c436e8b555f8b4eee73e51af936b5791bcda8", - "hyper/cte-analyze.plan.json": "24b23974351c1a4e2da6cd4061846d64cd2660a2649c1a59f67e73d61676c939", - "hyper/cte-recursive-analyze.plan.json": "3843ddf0ecbcbd2421dfc6c441582c1aa9a6d495285040a7640c1184113b12da", + "hyper/cte-analyze.plan.json": "7395d9755fb1fdf721deaf4a6642be0e43d5ef3c9ed7e9342202c5f07c0d0d01", + "hyper/cte-recursive-analyze.plan.json": "4a7052773532cef35f3aed78aeb131c7ff605cf730fbf26de91e18e73a46a474", + "hyper/dml/delete-using.plan.json": "db6e13bd97ea5a5493213cc1a2d580ac653d937373eb341fb09a7107870c9611", + "hyper/dml/delete.plan.json": "4a99ba15e4d530874bee0caea68f2818d0a768d672c18d3551b6535cbe8540c9", + "hyper/dml/insert.plan.json": "85f922feb3cc298fbb5514da26b2882b19564147854b9f4cf9b2097564517a38", + "hyper/dml/update-from.plan.json": "bd8521385d8d20c65f6c1b1ccf8da6328e95d6708ebf881a4cae273e1db36427", + "hyper/dml/update.plan.json": "fcce0492086240f89fa6a96f1ad609e08e3c6f13c9a8c04f544477994a526196", "hyper/forkshare-analyze-sql.plan.json": "5648ceac68a738b9ab85ce3ee481262d0afe7bd3e3daea31585691d40878dfb4", "hyper/groupby-analyze.plan.json": "1d7400bcfea2ae1e5de328690eb2b577a9660e7fa8b8dcc72dd8ff6a14344dc1", - "hyper/insert.plan.json": "f83f977fba1003cedc01d04ed76c44da376d511753709ae590f717e7933249ad", "hyper/magicunnesting-analyze-sql.plan.json": "74f42f5f653a3e11c0fb139d6821fd4542f9045a7fa1af3c028778722a5410cb", "hyper/magicunnesting-analyze.plan.json": "3849386901761f4d9c870133fba309f442a34aef359eed466438eb31b861965c", - "hyper/markjoin-analyze.plan.json": "cd6c18bac1519ad4420a706ef7e571a9be119b1d9018d0895e945edfc7d09a8a", + "hyper/markjoin-analyze.plan.json": "fe1b9430c75b9c9c0d8e85da63c8819bf1930911661d54e41e504eeae983bcf3", "hyper/materialized-analyze-sql.plan.json": "704f63ef74563c6eabbb54007bedf0c29e575226c02a0d8b6c6a717c3f405607", "hyper/metadata-describe-table.plan.json": "a244f1a1b3a54368682c794476f381d32af56027c87c1cc981354b5176c44be2", - "hyper/setoperation-analyze.plan.json": "d34e4b3cfa8a2dd5ab659af647e30e3d5ba3de515fdee5113a0be231604b7979", + "hyper/pgq-path-steps.plan.json": "53e9d560926fdd27e50e8ba78617561a382660cf7a74fb1d6c0130e7a0eff394", + "hyper/pgq-path.plan.json": "15e4641c67ef44d3d93e26941506bf7a8d2d03fe4101542d714a27e85208990d", + "hyper/pgq-steps.plan.json": "0c5cef5f76312e2b5fc9597343de980b11cbd232ca6ca445c048619babb48d34", + "hyper/pgq.plan.json": "1e68eeaa87c9296086becc7d6aded257ee4816c664364ba210bd70eba89a861e", + "hyper/setoperation-analyze.plan.json": "755e88ca1edd4b514cffb1fc8672a4cb21192f93d3b93ac0bd5deaa8112d5e34", + "hyper/subquery-analyze.plan.json": "4232e42252413c0d63bd239f4882ac9a70a74906e05b090ca258a457b4bee451", + "hyper/subquery-correlated-analyze.plan.json": "4c96353e7e972fa30091da41d21aa6781d9d5a7bfe40012c4acef557dc7d2d49", "hyper/tableconstruction.plan.json": "db1162e57aa6c6898762b314c42ff5c33f67730c0266c653bbf8772e203341cf", "hyper/tablefunction.plan.json": "1c3f43af6054c86469def3644dcf586964d5042be131c8c73d38162480952707", + "hyper/tablesample-analyze.plan.json": "a7c75d8356d27464d37b6ac2ad06573c77158e66ec20a2cf3b666dc3158d49f8", "hyper/tablescan-analyze.plan.json": "4447a57748091bd76eaac4eb682477ad2f058301442231638e28f97db94969a4", - "hyper/tpch-q11-error-analyze.plan.json": "44e6fae35bee184b6549825bfad6392e93cc5526791e170a764fd8a980058159", - "hyper/tpch/tpch-q1-analyze.plan.json": "d06048eb8eb0db151f68b18d8ff80865ece61b01e5eae9188ed50a75022565c6", + "hyper/tpch-q11-error-analyze.plan.json": "9dc22f97a49c51ac384dcd4bdec122b55ec6a2b61612c4b4f47f172b34e493a1", + "hyper/tpch/tpch-q1-analyze.plan.json": "b787a73f9ad6d960dc15de6f55e6e18cd02adfa8d729c308cc799e7e75e7525b", "hyper/tpch/tpch-q1-external-analyze.plan.json": "1f814744bd0d1e8d49a9d9a5521ee510f4488e29f1b98dc1d23ba75596f221d2", - "hyper/tpch/tpch-q10-analyze.plan.json": "c375843992d1b4ac07d869ced1273b0efcb0f7495988acd9571668501ca22f8a", - "hyper/tpch/tpch-q11-analyze.plan.json": "06121a93e322fc6a9cfe0de878a6de71b52294e129e95c995a09b7205baa189a", + "hyper/tpch/tpch-q10-analyze.plan.json": "22156712f9408aeace0d1cdf58d0d8d59930792523cd8188bdb360e7d00d6a5b", + "hyper/tpch/tpch-q11-analyze.plan.json": "1c6ce21ac823481795c1cf0829591d7b9be28f0bdfd5e5c41cc157d946950ce3", "hyper/tpch/tpch-q12-analyze.plan.json": "e125ac19fbda39509d819091ed1ab3814028707b9d4b0d5e3dbb7c01b27ba2eb", - "hyper/tpch/tpch-q13-analyze.plan.json": "b74018ca9cda4b9479663be16356d1a9c428c9c7ef1cc024e1ea6e18827390cb", - "hyper/tpch/tpch-q14-analyze.plan.json": "ce25503ecf4e90b6ac0b9e2be18deec756d12ac65394b705cb5923434306954f", - "hyper/tpch/tpch-q15-analyze.plan.json": "9299ec43b17ed67e5a97172780c0cf64ee1e5c6c8603a11ea0938825b2c6515a", - "hyper/tpch/tpch-q16-analyze.plan.json": "b80396071c605afe1e14c10808f346ffa549eac198e6056075bf64eec2d1019e", - "hyper/tpch/tpch-q17-analyze.plan.json": "8b3af7b773d1eb2cec248de5bacee214fdaf3dfd2fc65a89329b2f9410fb4e2e", + "hyper/tpch/tpch-q13-analyze.plan.json": "e13f7bed9027a24bcb880b43aa7117dac7b16927f6e6e542459684cf624b67cd", + "hyper/tpch/tpch-q14-analyze.plan.json": "fbb4c646a9ab9a9eba84da87c094786abbd1f9f21ffe3d97d80758b71c4b43fd", + "hyper/tpch/tpch-q15-analyze.plan.json": "538db6eaa752a0aaf4fc6b0b97581c16781c3f9edc535c3a695fd94d873c0c56", + "hyper/tpch/tpch-q16-analyze.plan.json": "fdf6b589af49db6608daae695f6c3b340c4ce3ee04535469a90a02c5c4a32c0a", + "hyper/tpch/tpch-q17-analyze.plan.json": "17685e17568c57a73eebc2f04ff904f769508e584348bf55f79502268086df14", "hyper/tpch/tpch-q18-analyze.plan.json": "3eeb33cee9ebebd0a1fa503a2adfdf1ac66b1a764f7853bcc6e391869d914381", - "hyper/tpch/tpch-q19-analyze.plan.json": "13fe780f817a8c537519ab9e5b0ddaf7ca8d596b26200306257048a383b5b0a5", + "hyper/tpch/tpch-q19-analyze.plan.json": "0750d2f99f8fad962c01e88163f709395637a64f26ecf238ca5ef4394af8da2a", "hyper/tpch/tpch-q2-analyze.plan.json": "1599e90534e7f7a4a56ea6810da853f68d0e26e76ea9c40b87a52ad5e490f7b7", - "hyper/tpch/tpch-q2-steps.plan.json": "4112de3f368eadc7ae22d31eb8d77fb146959f3f9403d1e64b36633a31997fe1", - "hyper/tpch/tpch-q2.plan.json": "e2bbd189af0f33b8d3e007ffaf6cc6912adae4d1b72bed89ee1085106ce74d5f", - "hyper/tpch/tpch-q20-analyze.plan.json": "1d18bddf60e543b82c3104b02324e9546381b86547d2f71f5c47514a8cc70404", + "hyper/tpch/tpch-q2-steps.plan.json": "560284d54555b190ed85721b229136109ac3a4edff371f2685834d0454311497", + "hyper/tpch/tpch-q2.plan.json": "beb0c9a052717fdf0b04b82a86744189a148dd2e06514b6a4f92998ab267eba1", + "hyper/tpch/tpch-q20-analyze.plan.json": "58d9602d8c4c7cf0926afea6ea10f842a6b195721d5e8ef74ec47683ea344b62", "hyper/tpch/tpch-q21-analyze.plan.json": "e4dc83a049f6b9b01e1e92783ed6f1fb6e3277294e27576d00f7ba8f9c5600eb", "hyper/tpch/tpch-q22-analyze.plan.json": "4acbb4d43d9920fc6b873743d4908d6b70e41dc80974819295a2ced67c3ad211", - "hyper/tpch/tpch-q3-analyze.plan.json": "0d3cb1f3a2207bcfe13352a1ccf44f560767c66ca732d01f7cc2559a8249910d", + "hyper/tpch/tpch-q3-analyze.plan.json": "96333aa3274eca8af9f165f19b2e371a9eb5f1eefabfa8d374255610334d9093", "hyper/tpch/tpch-q4-analyze.plan.json": "20bbcc04369d993b241d073ac23a7ebc0a994f7b9794d5321d6b891a2b9e934a", - "hyper/tpch/tpch-q5-analyze.plan.json": "4b10d281bcffed4a2896ad3f43ed39f1227cd9def13c2ebaacc149c15562e1c8", - "hyper/tpch/tpch-q6-analyze.plan.json": "f6d108fd71d7825a3ac1dffd9bdf29dffe557b400e6e87ef461b4485aec8ee55", - "hyper/tpch/tpch-q7-analyze.plan.json": "b87f3376a195c3cbd560acb4cf7b6061fac5089caf9c57ac5161503c6fa47cd7", - "hyper/tpch/tpch-q8-analyze.plan.json": "9d1f13f00b139b7a49a2016a899f680c91d4d50d0a453fa1281f30e87484449a", - "hyper/tpch/tpch-q9-analyze.plan.json": "0e5486fa6be7f6cd37935d9f2c5bd18f1e84b9cf61e051a98229a2138536293a", + "hyper/tpch/tpch-q5-analyze.plan.json": "1e38f81d98514eaab1c5633e152f28f37de563966719353908dee1fde2bf6307", + "hyper/tpch/tpch-q6-analyze.plan.json": "9e5b59f3cb167bc259fcc6a461ced0c4dcbc5fd08d6f30fd5df3c02347fb5894", + "hyper/tpch/tpch-q7-analyze.plan.json": "e28a35c2470e348420759824da92efc2112643fe86d21db51d8c7e34681f05d3", + "hyper/tpch/tpch-q8-analyze.plan.json": "f01eb9895db1f135f217ba8e19076c20d6f8435a814bc56c384c647a84710467", + "hyper/tpch/tpch-q9-analyze.plan.json": "585217b5417386b89e33aba9b295c779d635bdcd2fdb2b56eb90219dc6b615c2", "hyper/unicode.plan.json": "03b2b674ddeb9de8f9954989213ad5788c24cb8aad3defe30e9c91dc9bb5b902", - "hyper/unionall-analyze-sql.plan.json": "d19e87e755b5f3a0fb7df3763704cea978be5f9ef997ab9bed437f148bab691f", "hyper/window-analyze.plan.json": "349f2f4b83f434816f8ff3a91ce49093cc89ff39e9c3bf360168a8a29ed40795", "mariadb/cte-analyze.plan.json": "0760d73989200aa7ba68f1077e5cf8b4340af1a2b142abf63849def11089f71a", "mariadb/cte-recursive-analyze.plan.json": "b829b5b151a3acf79101928adc41f6e4bb0117954c0d247d34ff0aa3f464d8c7", @@ -601,16 +696,23 @@ "mariadb/tpch/tpch-q9-analyze.plan.json": "f334d5b560750788e28c1166178fb35b8011dcd6de61773bf484ec840fbd78c4", "mariadb/unicode.plan.json": "91c1b2c0dd4d0971c584d8f6a793f2987d113ed83bd25fa93d5fdafcd5f54e3a", "mariadb/window-analyze.plan.json": "9ee726eb1c40094a1e6530e261ed36c64139f07e8650ec582e9930e4fd061a2b", - "postgres/cte-analyze.plan.json": "47c30c8a46d383ac85b558591b3b7773f319b7c95fc5442eda8cc1da5568e9b0", + "postgres/cte-analyze.plan.json": "41be396ab4c86ca57181eb87f11338404bc694834fb7a6f3d8d83e8f928384d7", "postgres/cte-recursive-analyze.plan.json": "1df077c9b8a7cdc518ad4f13cea0c55fa08245999b9b343ba63273e38aeff8d8", + "postgres/dml/delete-using.plan.json": "bae070ac308e141c79c895e846ddeff51ae3e418b826af7ff898c3d9f9c0fbe7", + "postgres/dml/delete.plan.json": "fbb0499975beaf7d8df67b4a024ae54772d66ba62e1075aef97db816d2ea15fc", + "postgres/dml/insert.plan.json": "eb1fe1dad7755b5be740b0b087a434cb6cb3b7b79343541a8be52f628248ebe2", + "postgres/dml/update-from.plan.json": "5dbc8f8722adc01d26e7e17398da652b7851b52a6267f2b7718a3718266907fd", + "postgres/dml/update.plan.json": "36814d6c62f29af2abe621737e60e27ddc370019820820f60bd94381448b4c73", "postgres/groupby-analyze.plan.json": "024cb35ccb149e0946b2e10993c7957394922d670ea7c7cadff588106d2df1ce", - "postgres/insert.plan.json": "2a12b8c6da7dab5129580492b3a1ae71c0938807a13ac804910ba6dbb2743d66", "postgres/magicunnesting-analyze.plan.json": "23942c9629fc446ee3051c97c4f8095b0b4da466bcf35817c243d95226cb296a", "postgres/markjoin-analyze.plan.json": "82ea6d15e4d2b70d2a596e47e2d3dcd2176bba6d9f45dae0c1e538191a040b07", "postgres/metadata-describe-table.plan.json": "e3d4afd1777887faa0622bef90f5314a609b67c74059c6e8b8b1eaf09be97360", - "postgres/setoperation-analyze.plan.json": "1987419135e2a0181115cb425ac165dd9bc00c847deb58baf013170bdb53b915", + "postgres/setoperation-analyze.plan.json": "903153ebfb0cd422c82ad295350f7512ff66dd0d32b311ae7943774a0d3ae91d", + "postgres/subquery-analyze.plan.json": "7c7e65105a8c0b83f37a48bca604b76f69e8d4e61bb12bcc293451fede2872d2", + "postgres/subquery-correlated-analyze.plan.json": "f50fafabd3bf20eea40a04f0a85aa3680e5d7b93be94e99f497653b5e4ebb3a9", "postgres/tableconstruction.plan.json": "4b61c50ca304a85c27cccfb41a6844835f8266c42ea69ff7b051fde1658de357", "postgres/tablefunction.plan.json": "83eb99495631e004c2440f1a068809790c276949666c48e23f44dda65bca5469", + "postgres/tablesample-analyze.plan.json": "a0ec5a46661a0184dde3ea87a21af760ca7f4cdfc94d02a8cf9a4a7cb06450ce", "postgres/tablescan-analyze.plan.json": "af7943bac29b6ac38740681464b16a5955e6bddd4aa1a98717e638c194ae2daf", "postgres/tpch/tpch-q1-analyze.plan.json": "0d734871372806255e69df64393a3730cdbb493ca3d555cb32a3f6ced335bb0b", "postgres/tpch/tpch-q10-analyze.plan.json": "6c60ead605523f67e3b6358a147c4805e8db0468aa57243460a6b02c67974c31", @@ -638,13 +740,19 @@ "postgres/unicode.plan.json": "20c1da1f4165c375f42bda5dc545eaad8b0eff8938e719afe8b32ddd7b1283d3", "postgres/window-analyze.plan.json": "378a714f833504f4d9a3feb8cd2cb5f034bb970c496c62599261a240c03edfc6", "tests/short_names.json": "b2aec4e9a8c1ddbd125c70697b016692f2ba71d8dcd548bd1971b832d59d5264", - "umbra/cte-analyze.plan.json": "7be5a75b455688d8dbaac8f1c654708c835394b7b2d53366e36f453c7ca90d0c", + "umbra/cte-analyze.plan.json": "a8d546d6a4b4850597ee84ce8d429ef63ca0fc3ae1982deac7b107db95c38ee5", "umbra/cte-recursive-analyze.plan.json": "95a91d4138ed5f1a4cd01ef0e9f587d6c27ee8097d53c4c6cf1c45a3c28a4e7c", + "umbra/dml/delete-using.plan.json": "c5d65c2b6a90905662b9ec50bb5563d7ee4f71f8e021bdf9bc3952042bcf0f1c", + "umbra/dml/delete.plan.json": "6209430e72d106310b1b7873670dca890a335a31be1e7820e21bd44b9ae92c05", + "umbra/dml/insert.plan.json": "75ce6a2ed0e925e78b2500e3b512c7f01eb97a72333cd87364b866086c7e17d9", + "umbra/dml/update-from.plan.json": "ee7e4f113dde39f7baa11b491f91c7ba2512af2f24535d6f5367fa2fa1db5f4d", + "umbra/dml/update.plan.json": "5b142b019e631d2fd3874d6fc1b5d370fea31c440931309ce4e8e30020b2b1d3", "umbra/groupby-analyze.plan.json": "ef041fafa34438526c79076005850b2f85605076030fbc7125a2c090069ae867", - "umbra/insert.plan.json": "045d9c80aea9b998814214b4c9801b40c1d723db10e7da4bac3e1c5fc05cc42e", "umbra/magicunnesting-analyze.plan.json": "f42f4fd9e70644f87609ca508a0b060db5c58fe28a5324396c1d11fd7261766a", "umbra/markjoin-analyze.plan.json": "43e91b3b544274bd56ddd8fb0e3389545091935d75fd5b3df756d71911c7b441", - "umbra/setoperation-analyze.plan.json": "269eaa865f1e2b11c1c0b1d53a7a20d2f1a80b1a2673fa7d3b32bb0c8e6f4fe5", + "umbra/setoperation-analyze.plan.json": "6fbcb82ab9f2e33bfd071851f6fae9db106aeeaadfa1d5ff5155956559e7b5b1", + "umbra/subquery-analyze.plan.json": "0a334e724a8a6bddde4b6e98b33cb8f9a3864284ce141506d2f05aa87f3da90c", + "umbra/subquery-correlated-analyze.plan.json": "e49d3640954703684987c1ad386b67c8cc1ddefa2cc6e29feeb89df831d28658", "umbra/tableconstruction.plan.json": "73d3e6bf404d6e74fca46be1814954d030283adb3b41b75dbbc54b1ff16f60ae", "umbra/tablefunction.plan.json": "f7978f228e6660976bd2ca3b5ccda72cd3d779a2ebb4218238429d326907129e", "umbra/tablescan-analyze.plan.json": "520fa94f67ebbea1d41c92524f5f0a1ab8c26d3e0db9483528897099f1ef591d", @@ -675,14 +783,20 @@ "umbra/window-analyze.plan.json": "ca01957cfcced0ff6cb1bcb692328334ac009ff95ad05e367830a3022930c0ef" }, "hyper": { - "cedardb/cte-analyze.plan.json": "17ff6ea145e29a82f88b9bfd9a286c5199bc88fac1769d3fa6f8c7184d6bcba7", + "cedardb/cte-analyze.plan.json": "28caffe33f45418f9defc181307856f62fee26f8a3f905c97570892966faa5b9", "cedardb/cte-recursive-analyze.plan.json": "51d2457cb902f0bcfef8f0af27eff0e300289372c145072c13feced1c311ef61", + "cedardb/dml/delete-using.plan.json": "d8f0f6b825407fde2023b898f3dcb1129917d7ff9982c5ad7e3341874aff28b1", + "cedardb/dml/delete.plan.json": "8f10c74df45efe0c2678c3f6f5d652b39118378f466968a8b2ea44ce010720e4", + "cedardb/dml/insert.plan.json": "707732f8f92f051b9424a4a148779f3aacbdf131a723c2d7a9e4f4667a5462e2", + "cedardb/dml/update-from.plan.json": "d7e38d878005913420ecf15554273f0cc00f700a3cfdba98713f4c6bfdc628c4", + "cedardb/dml/update.plan.json": "5efa4bb3abf1c455ca02de30c1d51cc220ab5eb00bb253ea77b348efc6d563b1", "cedardb/groupby-analyze.plan.json": "ff819e6801202ec25a03307d0139cad3042779bd57094244fba509d8209107fe", - "cedardb/insert.plan.json": "143990047c9234edf88ae5d4b314c9f20be2133a06789bb9993b8748f46e94d9", "cedardb/magicunnesting-analyze.plan.json": "a4e9d8aebf0db3a8dba7c169a924f67fa89cbf35113d30deb36edd453c5466eb", "cedardb/markjoin-analyze.plan.json": "8b7991a4649aae750728724208e7120d8adb64cd7d7002fb7f238adbfef0e7fc", "cedardb/metadata-describe-table.plan.json": "b37dab9bfba8b5443b22bc40b8e1a9933ec835c27c6e7a3f5672940b2e4fe6bc", - "cedardb/setoperation-analyze.plan.json": "2eafb02b5cef44aa4c9b8d043cb8d2d3a41539455c728651289d2e85e4fa1bd1", + "cedardb/setoperation-analyze.plan.json": "011aeb6bd643a339c34a8f5e43cf1ecf1731b703519e1690172f32b45b948eb0", + "cedardb/subquery-analyze.plan.json": "973a2dd7055f29a1cb564a96fd978b58bffdaf6b4c4387b28935cf898ece4b8d", + "cedardb/subquery-correlated-analyze.plan.json": "86a9b036bd1439d96cb66cc53365381c9953c1d40d0ad943aea4798e970b1bd9", "cedardb/tableconstruction.plan.json": "e61a112cb567122fa7271f9a272502fd60eb89d4986d279f1b08253c43e3aa10", "cedardb/tablefunction.plan.json": "7158c6c36df8f74112866729bcea724bbf4dd6757e73b0276ce5ae78e798ba46", "cedardb/tablescan-analyze.plan.json": "08efe5209d0f39d52e5351870c8a0e46a722586509f0c20aa9a6f19760cbc66b", @@ -712,15 +826,22 @@ "cedardb/tpch/tpch-q9-analyze.plan.json": "c9ac725d4db14e21ec9cce59df72a889440a8610b1321b3dd5036a328bd92fb0", "cedardb/unicode.plan.json": "446b4e3c877941b5dd96a0eb26c0b758f959eb99d5f43f1d579253a2417cef50", "cedardb/window-analyze.plan.json": "f22896471d6c6b6ca8e574a3c03976a254f2245d9d6bb6cfa974954d1eed2ff0", - "duckdb/cte-analyze.plan.json": "229597adb020ce5843aceef375893191407791b21e4c41491b076335104d1845", + "duckdb/cte-analyze.plan.json": "679785453648fb5abcac925c74d1c7a0b739a313aa66df0a5eebfba2f380c30b", "duckdb/cte-recursive-analyze.plan.json": "963c575bb641a4b037381d35c678c9d782ae141fba3d8c4e439f3119496f1982", + "duckdb/dml/delete-using.plan.json": "68946e5a8b0e7b079de8ca300b9bcc91b173fe4351a9be8f6078466073aec684", + "duckdb/dml/delete.plan.json": "6b75a5bdd248d3524d87bafbe569d087e90f6206a2d549a4377e7856beba3ec8", + "duckdb/dml/insert.plan.json": "008f00dffd77280354d3dec6f6bfaebd37c0731ec2903594a67480175ba03286", + "duckdb/dml/update-from.plan.json": "0976390ec51caeb13f44c9678f318441c9b3607d0e49d54e32964b3e4b05b5e7", + "duckdb/dml/update.plan.json": "9e3e8ae2352699951cc4bb0869cadb4d41816afe5a08dbe18dd59dbdccfc32fb", "duckdb/groupby-analyze.plan.json": "b6c52f1cce3ddbe609c3a3242cf7e3e02c7aac99ad5b0de2bca5254876b886d9", - "duckdb/insert.plan.json": "4c1c184b0cbe64b847a0fd72211a799a1c7ac6a76d90f85f44e0f0d20a26f0c9", "duckdb/magicunnesting-analyze.plan.json": "4208de56ef0e7e9ddae75417f99888201093b9fac5a94160d0b0a4075800357a", "duckdb/markjoin-analyze.plan.json": "f17218bb5d4446e4fe41308c018644def31a2396b86bcfd5cfa12284dc163912", - "duckdb/setoperation-analyze.plan.json": "2efa73cc21ee6a6ca2d6022f594e3b3d7622595160017390db110f8a27cf858e", + "duckdb/setoperation-analyze.plan.json": "b9d6d816fe7efef6ccfa62796cbd22e75edba0c39a54b9cac13ea57525718777", + "duckdb/subquery-analyze.plan.json": "dcf266db9f9f750054b3c0036449d10d6157d777145c123247ebd89daf31dc29", + "duckdb/subquery-correlated-analyze.plan.json": "2a2bdf4bf825284c0ea10e77aeda643470b15d11acef05e0675a74bb6846a8ae", "duckdb/tableconstruction.plan.json": "fd7e8fb841d796b693806db55654977cd60b53f4cfd4f646136bf0e601e792ec", "duckdb/tablefunction.plan.json": "694444bc6c0657eca185033a044b79af3545eb97f084c5ba3c807059b2356df2", + "duckdb/tablesample-analyze.plan.json": "b6e33c02db640a24375d2339f9e18cc2f64d4b93a9dc1c9d08b374bb333c41b6", "duckdb/tablescan-analyze.plan.json": "596ab2492ce2c68021df7810589f4c7195b60978fe83a18b1995211ac76b2cb5", "duckdb/tpch-q11-error-analyze.plan.json": "d83d1aa2982a7797c618a5a76bb5475240a4ba17d6c47e1ecbf75972d06040e4", "duckdb/tpch/tpch-q1-analyze.plan.json": "cd7b94ee3cba4608b8215e6a18f63f5212df3f221eb85e884a79c9e1efddcef6", @@ -749,48 +870,58 @@ "duckdb/tpch/tpch-q9-analyze.plan.json": "70f8e77f6beacfa293433e936f9710b4fb31caf80826fd8b3ec9e805bff66745", "duckdb/unicode.plan.json": "d058c4fdd757c34f4b748e88993ef30a1761bdb2d3ee923517fce33b2950e9d7", "duckdb/window-analyze.plan.json": "98c370760b4a59681d10bdd227b33804ebed5254fb1a5dc77399a23378cf6068", - "hyper/cte-analyze.plan.json": "3b153ec2547b29ea3657fc26fad6e3a86d99cb0f976652c264755daf2e153ea1", - "hyper/cte-recursive-analyze.plan.json": "3ca6cee8bedaa80705ccea84ad2861bfcd60cc550687a85dadf63e986b032588", + "hyper/cte-analyze.plan.json": "ae82aaa5b5706aa2517d51e26ea6c95a626376c416e505166645d88107d60f8c", + "hyper/cte-recursive-analyze.plan.json": "614b1bc5cbd04487378ec134caf772768b0970fdc38288965dcb771eb7c11e0f", + "hyper/dml/delete-using.plan.json": "8ca1997fabdf11914b47738668bf99f3475b907bc03342e7da0c00c85d94bb5c", + "hyper/dml/delete.plan.json": "30a0c0a5282af86bc73b8313d16a2af99f5b7a2ef16b089a4af6c999bc575422", + "hyper/dml/insert.plan.json": "ad4f2c93dff48840997ee57032aef5c70c26474c7f91cb2c3877adb910ceb3f1", + "hyper/dml/update-from.plan.json": "0040d88cd4008c047fe970968183e14aaae32131a0093fc1d27232af86c396dd", + "hyper/dml/update.plan.json": "7239321b40070d678c482b3e7b1ea4807df6ad9f0685bb437c75a451dd48cd24", "hyper/forkshare-analyze-sql.plan.json": "c0c0d26823e53d505ffb16028224475b97f180a38de7cde0eb5e135d4c0bbe61", "hyper/groupby-analyze.plan.json": "14634af7f89057d72268d089a82f6e436a41e90194936f66f6dbae4fa11d9757", - "hyper/insert.plan.json": "8f54218b1276c6c5d00b063106556f5ab75ba25afcd913d509f8717ac296a72e", "hyper/magicunnesting-analyze-sql.plan.json": "b13aa69b3996293f02a5da519cc5cc673a22190d5b4fe4d3f19d63c52db910d3", "hyper/magicunnesting-analyze.plan.json": "75059fa523873bf61064caf9f2038683c77dea60291f419850ae79dfb2188876", - "hyper/markjoin-analyze.plan.json": "74eb1f2be139a95ea0a00a0c033f7cf08a94453c54962aaef30dfd87057caf50", + "hyper/markjoin-analyze.plan.json": "6f451b549dace4a7a92b9b52797b4582cf01991d1d9919e3d447a295a986bb33", "hyper/materialized-analyze-sql.plan.json": "12ddee7462ec0c454b2a9bac30a402b81b120112d4ab5a82f242f950ec04daee", "hyper/metadata-describe-table.plan.json": "dd2bdd8dfa82ffa8f6f3591822c84032a82af18e717ce4bb28d3aaa5472ae0b4", - "hyper/setoperation-analyze.plan.json": "27c9eac703b074c103b07868c595cbd7ff53a415a9de6b59cd4c56803a8ac692", + "hyper/pgq-path-steps.plan.json": "bb2d2da403174ccc6429c865aeb5fbc1c8c23b1bb1ad4f738e3580b9628a0a04", + "hyper/pgq-path.plan.json": "464e6f5fd26c2ebc3fb6684febce32824351a32583800075582c30049b241e03", + "hyper/pgq-steps.plan.json": "f2a52431357d14a4582255550f12da0c7060d7dbd1241d30db6b5ad80491a609", + "hyper/pgq.plan.json": "1e8ecabdefd919e96296fad8ae9578f1fcc526bb6c0463666a279fd25187c991", + "hyper/setoperation-analyze.plan.json": "2caf1dacd97f604b0f9cd6768247af7b8f563e1948d8e874977296e5dad9efd8", + "hyper/subquery-analyze.plan.json": "1aadd583a8f38eb01e3a59a5514cfb1eafbdda7cb1024570a8262d6396fd2339", + "hyper/subquery-correlated-analyze.plan.json": "5d026f376045a48074e9ed071e8f52bfb28ab02cc03ae34ce66678815be1f3e3", "hyper/tableconstruction.plan.json": "6982510af22e4e756ca2c906a0c88ce81690c756b9e41381b3523c2481a60e71", "hyper/tablefunction.plan.json": "caf41cd235d2ba0c42d8f28f489f85dafe183eb2255f8cd3107c26d28aa87629", + "hyper/tablesample-analyze.plan.json": "d8ef49e2ac2b22c76cf81e98e0c5f37a5eeb21ebcfc13876e6ab05c6f638975a", "hyper/tablescan-analyze.plan.json": "0f716c6d618a94a5c444ed038be609aed26348fce715b39628f17a32f2a7f2f5", - "hyper/tpch-q11-error-analyze.plan.json": "b7d42d19e300a51de1d5344e247f3d118d22a3ca1f97f4a8a6296619d4783a58", - "hyper/tpch/tpch-q1-analyze.plan.json": "2bd5468089beddc74a5860c973ce254fe5fa55d6f00e09222c62987d2e91736e", + "hyper/tpch-q11-error-analyze.plan.json": "8d70e4b038008d7bc3fa2241f10620d2c68b4a31e981cbad86fdbe46e41c1ce7", + "hyper/tpch/tpch-q1-analyze.plan.json": "3318348f8fa83b01499a63e74014655499d41625de07bc83ae0a6503b1c1fad8", "hyper/tpch/tpch-q1-external-analyze.plan.json": "9be65ca17df406ecce5359d716144f823d952f518a5703fd8141cc3c4dfec10b", - "hyper/tpch/tpch-q10-analyze.plan.json": "d660a92b4a2a8a5a28b28584e7fa90f31a705cbb7b90f15f54a633938693805d", - "hyper/tpch/tpch-q11-analyze.plan.json": "908870171c0aad7ca57b26819e9db42c0937c4db85de2a9d7c8e03835d56755e", + "hyper/tpch/tpch-q10-analyze.plan.json": "d2039713599f3d6f1f7f28b8ebbc066fea018176d620b8c0c0a3469c4a4fbeb8", + "hyper/tpch/tpch-q11-analyze.plan.json": "b05a36f8c349d7b76ebbcb6661533da75b8e5fb9570b32751390229cb137043b", "hyper/tpch/tpch-q12-analyze.plan.json": "d203f4c2b578c6fa37874e8499af857b81667edcf4bb42606a4177ecc9f585a4", - "hyper/tpch/tpch-q13-analyze.plan.json": "41188f3a07d3727b2cabefc428d3221188f228a15a6f3077d46c070f8ccb2e9a", - "hyper/tpch/tpch-q14-analyze.plan.json": "87e11049985bbd1b22257874dc9dc3a0105dd1e8d1aea7c3fe036998f9606fe9", - "hyper/tpch/tpch-q15-analyze.plan.json": "158821604a5a341b51ccb203acf582f0d2ec09286685a27dc5afece325c3f5f4", - "hyper/tpch/tpch-q16-analyze.plan.json": "ed199130aedcf4f4f083a0b262c57163345613bf2b7ac25eef36a6d13037bc03", - "hyper/tpch/tpch-q17-analyze.plan.json": "db6a5930670fe3e28067b04886e56e2740cb732a851edade2efe5051ea0916a4", + "hyper/tpch/tpch-q13-analyze.plan.json": "2bfc3d3bb6ef0f45c09331fe59f1f0b582ee275c027537f664aa669893d4ca2c", + "hyper/tpch/tpch-q14-analyze.plan.json": "1b2d4a0c6f763fc4fd77c30acd104e1c2027c3ecf4940827aef22a691b478e74", + "hyper/tpch/tpch-q15-analyze.plan.json": "d50997c55689b49991ef76c79446ccc8293606d81c57beb930ff18428b4b154c", + "hyper/tpch/tpch-q16-analyze.plan.json": "f1f4af4ada0905503897dccd367f323e3a29d948009124f298370a0ef700b09e", + "hyper/tpch/tpch-q17-analyze.plan.json": "f552e3fbc6bf3459e0ea4be9be40722e3d8042ebcd715e24da060c521d9623bd", "hyper/tpch/tpch-q18-analyze.plan.json": "66f6494ea257147887d2e32dee6565e4d03bd587fd3efae60701d6156d1ff0d5", - "hyper/tpch/tpch-q19-analyze.plan.json": "61eaf65e45bbf38a9006e194da2b8be064a0ebad1d2726affc4dd117a7b3fb73", + "hyper/tpch/tpch-q19-analyze.plan.json": "594f14f7833a2f112405bf7a11fd20a8dce61036f58a85ebafd637ad0e9d47ee", "hyper/tpch/tpch-q2-analyze.plan.json": "aa4b5eb936281d2b4a82fb6a7d763dfb6f6beb4bbdee4634cebedec0f6ae50d8", - "hyper/tpch/tpch-q2-steps.plan.json": "ad04b423d912feec0cdbf70fda6be648fc804ad13998d35d876cc2a4d45484f8", - "hyper/tpch/tpch-q2.plan.json": "3f01caafdd010e843e9cf1af0c2d0dd83ff426bfff53e49594d16dd5c78596c9", - "hyper/tpch/tpch-q20-analyze.plan.json": "4ff9a7699a102f601c530b53e832000fc6096ed6f4ffaded6dc5afbcce06623a", + "hyper/tpch/tpch-q2-steps.plan.json": "257282c846061f25962b0914e6bf02d740991674783dfe404f059a126d1fb475", + "hyper/tpch/tpch-q2.plan.json": "6f09f1cb69323f81d691c00a4b6dc12348d1fca9e01a88c123034376ac711568", + "hyper/tpch/tpch-q20-analyze.plan.json": "485b2fa060e9a598c54cc20cae45df8cad8e9dace053f7adb3e87b0808d2a984", "hyper/tpch/tpch-q21-analyze.plan.json": "3bf0906ae64361110fb6a4e65b534a5e5b326ffb3f4ab5275f1e1597683fa967", "hyper/tpch/tpch-q22-analyze.plan.json": "e9670d7d98c595c3c7822bc2fafb193cdab6d1adf96eb138fb0391e92cf315b1", - "hyper/tpch/tpch-q3-analyze.plan.json": "99a6df14bba2aa6d97b62be48edc71fdd45eec52d30c1097db566b6f2cdddec6", + "hyper/tpch/tpch-q3-analyze.plan.json": "45662207c0647ca7992d14898613869694953f10e0c7ec8af5a752598f6b6e3d", "hyper/tpch/tpch-q4-analyze.plan.json": "cd602e1e042256202349bc37491e81afa92c678edeab180dbe94a9acbac968ad", - "hyper/tpch/tpch-q5-analyze.plan.json": "fb33a1d0dd536128e2c5b25f579e042fd26cbaab3a4604f7763ce3faa4d72b0e", - "hyper/tpch/tpch-q6-analyze.plan.json": "fadb6f8aee5fa396bfe72216ee203ac66b01000ef3c5ad238af3ddd89430e195", - "hyper/tpch/tpch-q7-analyze.plan.json": "e066cdfd848db23e74863c9d385db6faec14aa016aef2f440bf676f8b374cdc7", - "hyper/tpch/tpch-q8-analyze.plan.json": "98e2e39e35f127413b66fe25e914e77048c3847b1b1d6f8175682f475e11f823", - "hyper/tpch/tpch-q9-analyze.plan.json": "8409639bbbf8e2f48cddf05dd51fe3e245da253adfc6f93a4df060668c03f14d", + "hyper/tpch/tpch-q5-analyze.plan.json": "abfe0cfa92ccb6adf91e65311868ba1139ee320ab9849cea73c72bb49ec74d78", + "hyper/tpch/tpch-q6-analyze.plan.json": "1eb8b65d527d8808d48def94a1b564103f57357dbc0d403c1c55c97d1ab16bce", + "hyper/tpch/tpch-q7-analyze.plan.json": "2f8381c458f268db3096365c603954e211da87f8ceea3bef8b2c2d2b0910ec45", + "hyper/tpch/tpch-q8-analyze.plan.json": "c2154ceb595769ed4c56b6f56d3c45ee708cafe0576fb1a9be725c8e10a0cb0b", + "hyper/tpch/tpch-q9-analyze.plan.json": "f705bd55cb44061d1e2a4dd57cd960eb405f3717ab2b87ff9b30cb965121e73d", "hyper/unicode.plan.json": "b1fb2e177eaa0137ccf8a03d28198cb32c33894a2278aa4f5998d23bd7a6248f", - "hyper/unionall-analyze-sql.plan.json": "396bc616d40ec339ef90d80e66e1c88a26d1c4ecf2df3754ad777b66641ce380", "hyper/window-analyze.plan.json": "2d0c6a9bd67b06b53a94b9bf9add09a3abbd68ae62105b8a86b9c642ea3bcaef", "mariadb/cte-analyze.plan.json": "304eed0440b9508eb4d31f102c54a37d7fbc9ffc273c261079e31e93bae2d841", "mariadb/cte-recursive-analyze.plan.json": "c848391b4e283dd89deabfab0c14ba0f06ff50926b9703f522090973bb13f97d", @@ -826,16 +957,23 @@ "mariadb/tpch/tpch-q9-analyze.plan.json": "bd2789575fe0df147a5ad73f8f6c8855e7ae101853d9f2ea1fdcb61e4599052e", "mariadb/unicode.plan.json": "98bca8e6ce6e96c8f056ddce722625ae00cca92450c35d1ac673c8d547543e49", "mariadb/window-analyze.plan.json": "e34b9c71bfdb00ed04fc7a7e34504e4400296ca67b2de318cbe18220487d2f9a", - "postgres/cte-analyze.plan.json": "54860808d5f8a758301e59cef92d56f1747b2ce6537ecd4b22957ad5c1def268", + "postgres/cte-analyze.plan.json": "ff685f3c111d0a74552d0fd46c8e0c5ab5a17d290fe09508be652949dcbeabb8", "postgres/cte-recursive-analyze.plan.json": "2df002d2e19881155eb9014954401d4cb977942a3460286cb7ef07c849cffe42", + "postgres/dml/delete-using.plan.json": "d10dc4002ad07ed298a9b3197b8b8b0319ee8af651db74fb496bc9744addfb66", + "postgres/dml/delete.plan.json": "af0c6232ccae6b9346cf684f56a5e54c5d6ad82999f13f9a3706a104102ab860", + "postgres/dml/insert.plan.json": "686f1dbeb1b53607e1b563063027486f8a6ee3e4254f9f4cb9ce351b58820c1a", + "postgres/dml/update-from.plan.json": "a906d807cc30da3b2f5353c0dd0b67c24ec15edd53f80515af3959de3d4ae68d", + "postgres/dml/update.plan.json": "f93dee4a2a5d91ca686f1d8f540b604194cc230b777593fda5f0df46f808ca73", "postgres/groupby-analyze.plan.json": "7410e32274badf1741a4730e2e12ab74b4764286b8c77309266d36f70bea9192", - "postgres/insert.plan.json": "dd9ff9ced868de8eb9325dd12b78dc2a0f60c0dc757b36da54c569d8628482eb", "postgres/magicunnesting-analyze.plan.json": "bcb1cf3b1b3cb6ada1c82f88b10001b7e3d56839844449e0fa853bad5a97ead8", "postgres/markjoin-analyze.plan.json": "20e2c1b3cc8cc8405e4fd10648fbc5ceb6e7f574c08028d236febe7c4533b809", "postgres/metadata-describe-table.plan.json": "4c1ab62e3dda3eaecb58c1a29cae8953e02ac8983f67c753efa4b378454e330b", - "postgres/setoperation-analyze.plan.json": "250e2eb95d4afd79e5f6c6d30f664304f21b68d2482174f2efd6633c5c55a7e1", + "postgres/setoperation-analyze.plan.json": "8312b4f4c4926a6556d4c461a5d77f368ab9f938b579ceef43e24f52cb74755c", + "postgres/subquery-analyze.plan.json": "dc1aceb8a0f2f9360e8d238c8e660103b42a77bd63f62435c9893d335901ca83", + "postgres/subquery-correlated-analyze.plan.json": "d6c64a475f0572d8feb61aa57e4f1a5d2ca951b1ce05574c3e571ce71550a0c9", "postgres/tableconstruction.plan.json": "44a6241a08dc6da21c13d6e2a13884ff0663dbb4b75eb871fc1cfab325178735", "postgres/tablefunction.plan.json": "d3f60b2bf0e67883e9f583d5861b5278d7a0e415ba6f852e81c94e7b06049eed", + "postgres/tablesample-analyze.plan.json": "b52314a95289ceed313924aef2d7ae3bfc7cc1cadb15df315a1a16416e064e31", "postgres/tablescan-analyze.plan.json": "1c3311229ad0d5548fe5da139c12fe7c45b390bd2a0420855af1472dcb7dc4ff", "postgres/tpch/tpch-q1-analyze.plan.json": "b975a59cfc994605bea0b36f6ff08b073daea81ef0844efe6325c20cd573a00b", "postgres/tpch/tpch-q10-analyze.plan.json": "5b65cfd27cb4d4b23b874d734bb837cff9a00a510630cabce012441ca8ff0369", @@ -863,13 +1001,19 @@ "postgres/unicode.plan.json": "20533ce023e151482963a9849ed337151701e966219e67fb7e80222c2e067d26", "postgres/window-analyze.plan.json": "cbb0e1c570d274d00628b541eced7ae21470d45e53ce6ef6130b3dc188c7a7e4", "tests/short_names.json": "ab717d1b602514247bb972d64191623c6abec4d4f8db3b82c2fb5c46968a0d50", - "umbra/cte-analyze.plan.json": "38154c6b5e94d6dd64818685cfa0cb4dc749de5276091dd67350c44179087b72", + "umbra/cte-analyze.plan.json": "708f3154b8139b629bfce07dc6573d2f61b4cc76de50c282a5d8331b45637cbd", "umbra/cte-recursive-analyze.plan.json": "5d61a53c0ac190462791e76fb03d8c356422062175bd1b694fc799ad0fdb2857", + "umbra/dml/delete-using.plan.json": "a0654350d27f2362939a25898192e722ba61d5785bdbe121904aeb763761ec1e", + "umbra/dml/delete.plan.json": "50f99bfccafc73b2e5addc20344ccf8ea11830c318fd1d07c2aeb710ea876d27", + "umbra/dml/insert.plan.json": "d7dba289a6fb96a5dcdc052a1a6cf562abc077ed0f8f357384e909268a154aff", + "umbra/dml/update-from.plan.json": "522cd98951d5394fbdd93ca70f9365022bd1bd98197cbe1acc03f88308c7f376", + "umbra/dml/update.plan.json": "30877116487793ca00373f6f53bb63a1799a2b8ec068cea95e389f98a6f9bed6", "umbra/groupby-analyze.plan.json": "afa93425e8862832db87a27446d98b9fecdfb55a220ce8b3a0672a8e8a6bd4a7", - "umbra/insert.plan.json": "978e865833fffffcca34084bd4396830e9d58b9231ba12343acd36500cef75a8", "umbra/magicunnesting-analyze.plan.json": "dbebcd19baea4cec313d53dabf1d2e37483d8e42c82d52a6492bad17e46a58c6", "umbra/markjoin-analyze.plan.json": "6925d05be7299c9a88bbc4bf4fce05087d89d521cffc962b3aa23ac3ab09e863", - "umbra/setoperation-analyze.plan.json": "ace98a53bcd5e634d84033e6e4fa9d10b7bd589508bb2d4ce3a98d7aa8f3707f", + "umbra/setoperation-analyze.plan.json": "9f0c5891f6f08a93d93f710ec9209cbd1628cb5c6d26dd50762e768d04e59658", + "umbra/subquery-analyze.plan.json": "1ada901fcc413d15c5c49f208ff88f8bfb664f1ebca1eac417aec8f8c4b44f41", + "umbra/subquery-correlated-analyze.plan.json": "556e0ef86ecb249be2598ec1a8a8285f7acd3e36f193124f04993f2aefee4813", "umbra/tableconstruction.plan.json": "d7f64999df027a417ab723da1a5971747e6fd109a05a1a85a64fb929e5699bfe", "umbra/tablefunction.plan.json": "194d58946b8621b15706ff7263d3edf7d9ddcaddbc79346040c4d38d57967f0e", "umbra/tablescan-analyze.plan.json": "e19f32c132c921b35084422ddaae9d88787d2bf5774bc648a1853189ba8c0f74", @@ -900,14 +1044,20 @@ "umbra/window-analyze.plan.json": "4d73172fec418132e03edda6b9e4a197de0cf921f3c8945d75be93311c7584c6" }, "json": { - "cedardb/cte-analyze.plan.json": "ae9f926a04fda72ee7b2697cccc0ea88da1854013df4e181f5afc4bfaba71d04", + "cedardb/cte-analyze.plan.json": "2938a3e754f1122a604b3d0bfdc92a62cd8a2777373385471cd424a5671339ce", "cedardb/cte-recursive-analyze.plan.json": "8961529b9ff7f7e496a3bdb800bf8a7c706129feb903ebd301998d768b277c63", + "cedardb/dml/delete-using.plan.json": "8c7ffd1a526a4e34e09fa7f7d06d38ab757fb80e00e67f800eff7ac336087a21", + "cedardb/dml/delete.plan.json": "f50cf2a444095586f13ce043cbd61a1c4fc5469eb530399a717227a5ad690d55", + "cedardb/dml/insert.plan.json": "e7f0f172ae0c715555835ce95a2fdb96e66418edded5205e44b196a2ca129c85", + "cedardb/dml/update-from.plan.json": "375251f8f93493d95bbf6f09e42a7b279aaac8e1fbc034b2375af5e39cd86145", + "cedardb/dml/update.plan.json": "43107db02785ecc76ad6585dc9e9fe3a4ccb0b14897e4e1aae8da81569bc66d8", "cedardb/groupby-analyze.plan.json": "bdfea2bce81c52a61080db9678c56647b63136cfd222db159dd9c00ea45f693e", - "cedardb/insert.plan.json": "f7a331a740949e87057670dacafe5425284e29d8546fdb27e2f2f0b5b85d821f", "cedardb/magicunnesting-analyze.plan.json": "04a5f5dcbd22e7722e228b668a6ed819d30891901b8abf56101d9e66a8217e06", "cedardb/markjoin-analyze.plan.json": "c24061e6d286da8ccbd37b7a03973b797c1a6e6cb260bb4f1aadbfd317562e5c", "cedardb/metadata-describe-table.plan.json": "09eb0ae6c150f2658388fc25c9f1e02aebd8686ba8795f1cbb623113364d09d4", - "cedardb/setoperation-analyze.plan.json": "0411ca88b9af58f2b78f91f0e026c1876481f159d7e90c6bf12d90c52fc36104", + "cedardb/setoperation-analyze.plan.json": "fd1a42dce3579bcaab6950b0955040d90273aa948e1a817ae2e0574393d76fd1", + "cedardb/subquery-analyze.plan.json": "05e6ae638cf61d43bd257662f532774785ca844e5c699d714bdc3add5b0f82ca", + "cedardb/subquery-correlated-analyze.plan.json": "8aef2f7a37158b89e64aa3cad5d45e39794c1357aaab72a4a841f889aab9af28", "cedardb/tableconstruction.plan.json": "576999747b2cb09e2fd7df7456fab872509c44d99274ec9464313be8adcc65eb", "cedardb/tablefunction.plan.json": "d5a83a667934bff3c72916cc99dd4dd464ebbad3301925838bd1dbe48d8f7734", "cedardb/tablescan-analyze.plan.json": "273cc2875d1be71c0baee15a69dea51d2c20e7a7d0051ad2bdbdc6bc1aabcc51", @@ -937,15 +1087,22 @@ "cedardb/tpch/tpch-q9-analyze.plan.json": "84659ea974f2b360d4883fd7d55886243c888db6fc6e868cca328c058244a627", "cedardb/unicode.plan.json": "8cf7f0a26454edd306104ca41a17ff4f6d4a86126d48d1ca5a9e5b0aaaf95f2a", "cedardb/window-analyze.plan.json": "e25b37df51c66c0c6581989afc9e525fc96e8553d0a22b72cc9b23b662ed6d25", - "duckdb/cte-analyze.plan.json": "ff8b92d3e84d8ccfc0067a04f0d409319bc4960c39072a91cdf18ffab9732414", + "duckdb/cte-analyze.plan.json": "a0205df833632e40e06c3ffe0ae3d6fa156a7fe3081b586ad7e89b10c4cb0670", "duckdb/cte-recursive-analyze.plan.json": "897c5bdf011c0a1cbb045d57674cfb055389369ac6b18cf4ef0cdb5be26b9afb", + "duckdb/dml/delete-using.plan.json": "92eccdf81aab12c97758c5414a56a92c6576de2ab4f27d748213c8ba39dfa6a2", + "duckdb/dml/delete.plan.json": "3513fd1f37fe64a64631592c9cb5f6ebc3d4d5e811163036bfcc1aa5cc324f1b", + "duckdb/dml/insert.plan.json": "3d8c0ba800d4609f25c1b62dcac5443e49cda8160cc184a90569d3747a8fa4d6", + "duckdb/dml/update-from.plan.json": "c370cb3048022d0f7bc14bccc4699a1725ab3e2ee04dea35546a57f7aac3c8eb", + "duckdb/dml/update.plan.json": "50ce9b41d7c230165e07d4b9477dbf0da193757b9289512e93c509e7dd4a300b", "duckdb/groupby-analyze.plan.json": "264aa05567c9661c14188dff623470d61e1455b34a867899e7ef65bee74809f7", - "duckdb/insert.plan.json": "964e686ecb2a38e5798f4dcedd7d2d64d37d7164d7ce37236afb66e27cae4573", "duckdb/magicunnesting-analyze.plan.json": "68848969952a96074cf230f7b63b687b2df146ac284b98bf1bf93c525ef7026f", "duckdb/markjoin-analyze.plan.json": "83f0927f444e292f5970bbac117b84c4d8583d32b0e19be2aca6a8e470ff5ef5", - "duckdb/setoperation-analyze.plan.json": "365315e8a6d59a0c71954223f6e7c193d71a683225feda6b3e36836be86783a7", + "duckdb/setoperation-analyze.plan.json": "552b3cfa7a406aad8fcb1cc5adb621823551da052dea33a53b23b369a770b096", + "duckdb/subquery-analyze.plan.json": "f6ee7396b8579e85bcfc17fad7e6b267fe662a338c0a12de60c5fa4cf03b6248", + "duckdb/subquery-correlated-analyze.plan.json": "736948a465e22db1bb992692fb566cf599a9dce68998ebc90de8fe963abc4943", "duckdb/tableconstruction.plan.json": "fcdfe5f9a18a0b8882cac243625ed6350cae86e1e04bdc802396405a020aeed9", "duckdb/tablefunction.plan.json": "cde2fae208a3e0af1399991f941f516a661a7f4dac18a4bd985f0b5e95f57032", + "duckdb/tablesample-analyze.plan.json": "42c657afe3210fea14ffda35f52e2ec026a6a887e536e3775f70b25b6ccbfd60", "duckdb/tablescan-analyze.plan.json": "7f8f497d44afcc9ef6e2bec8dda34b4a8b9eda1cb87674c48e2bcb89423f7917", "duckdb/tpch-q11-error-analyze.plan.json": "ad8eb3fa0fe2e502a6e14c6d8ef8666bb47f6f486d13f8dc737c44d632d619ec", "duckdb/tpch/tpch-q1-analyze.plan.json": "8982e71be32affe79d871db127bf818552455439efd09fce6b073ffa03cffff3", @@ -974,48 +1131,58 @@ "duckdb/tpch/tpch-q9-analyze.plan.json": "64c34dad17c9a8ef0d0358feaf3ed6781169492f93da2a3cbed693f0ee4a33af", "duckdb/unicode.plan.json": "f1a656fb02ac793c05117568d6be40672e3f59bb7423df2b4f1823752803b26d", "duckdb/window-analyze.plan.json": "840d582bade9968ce3c00ff633b16b3b1c06431219281d411370da17f0d5bd42", - "hyper/cte-analyze.plan.json": "b3527bee47142681248aa8b6affb99c9cef2d311dd5b3cdd5a6e0cf58a9946cc", - "hyper/cte-recursive-analyze.plan.json": "fc6d18173520f4d5096943bf365b7db3856fe50a9a5fcfb4b017e1f310bc6ec0", + "hyper/cte-analyze.plan.json": "9d4c9d2e043596c05a0d21e77f1e058483096324ab3c564c980b55b0621e6542", + "hyper/cte-recursive-analyze.plan.json": "c74e5c8829343c84f533433e619d56f1ee11322268d8a64998238c691d73258e", + "hyper/dml/delete-using.plan.json": "4219ba08051227bd7de2aaa7e683e4ea38a785e73d84cfb8bb23c80936893549", + "hyper/dml/delete.plan.json": "ecda67f6af86b149e6c3335cda4d33444b46a6d0646d7d78b077d7a2c91b74a7", + "hyper/dml/insert.plan.json": "f147505f2e6090d9e64f7cdd969f72cc5c4d58307910f0e4f86227dc4e73568e", + "hyper/dml/update-from.plan.json": "1957433302cf1a34b7d8548e67e96cb39b358641a9d8106924aff526d2d58cd1", + "hyper/dml/update.plan.json": "6fce7e408dd05f40dee43f1ed9d91ee11b9d6d75e7bb4382774a5ca2391dc745", "hyper/forkshare-analyze-sql.plan.json": "bfdaafe4bbb5e4212f40bdcd7b4f68e67fca0fc0f7fd87fb1df9a4e1e9cd4f64", "hyper/groupby-analyze.plan.json": "b4021338070b6ccb7832f608b97744fd9e1ddc005d76d57268c6f98ba060fb74", - "hyper/insert.plan.json": "ff4077dbc79987602f9c81991beacf460c1315d631019686da2c2062c9480c84", "hyper/magicunnesting-analyze-sql.plan.json": "d61145645b26d7ae7ca17e25b338e17083a1ab8f27c07ec1ad9aa88e83f98df8", "hyper/magicunnesting-analyze.plan.json": "900e62d83760e1fc63364bec19604b420ab5c3e8fa8331fa4c7b749247e99083", - "hyper/markjoin-analyze.plan.json": "49984485b2e05d599dd3149043d8d7294df0dc4d62d065e5777944d7f737ae27", + "hyper/markjoin-analyze.plan.json": "9a9789c9442549a6351bcb50a891b635685ff11f09164c4b0ba24276c58e746a", "hyper/materialized-analyze-sql.plan.json": "165987448e59791316b9e63b4f12a834d6a35c396582973f24192dd1c117a28a", "hyper/metadata-describe-table.plan.json": "13ad3a40c6a2dea7690764661b4e3ec42d1c15ecc9f94611d8e834b33c4d707c", - "hyper/setoperation-analyze.plan.json": "8cffb550117474445115f0fb3f41ebfdc14a1c7c5cd098bf20eda7407bb7f691", + "hyper/pgq-path-steps.plan.json": "98a529af8b482ad1a9e7d3507a07cb440c271cc69ecfd4ac072c517394ba5f6b", + "hyper/pgq-path.plan.json": "8f8d1e15dde643379421926b97a7844bc763747acebd3bace24af67f5031fd6a", + "hyper/pgq-steps.plan.json": "bf167b1f900aa3bf0b03f378c81f8abce24826f78fd3ec280fa386e727919d69", + "hyper/pgq.plan.json": "589e4f947a05d2e5533440e9c714fbffb82453b74240f7847181de54ab794806", + "hyper/setoperation-analyze.plan.json": "f53c95189d80791201e23099d9e0986d52e3bdfd8f44222d59fb5194f20554c7", + "hyper/subquery-analyze.plan.json": "023ad33e7c0854ca56dc294ab89d0af993f6846f9026ae7218a22376e86a32ee", + "hyper/subquery-correlated-analyze.plan.json": "ca7b17577faa92b46c5a02d7b60dd2ad271f40ad18a599f689bb829e5c76972b", "hyper/tableconstruction.plan.json": "28abf3b224da369ad7d712ba56058d51b3a4e2bf95db7025ab81b0bd3cc1b5b5", "hyper/tablefunction.plan.json": "634192352e0244d57f9d1cdf2ffeb4d91f0c4c755c87f1aa8670e52c23512467", + "hyper/tablesample-analyze.plan.json": "6e809952b2aa1375aa64052be8ae7a2e1ced2127f53e2de9a9429acdd6331171", "hyper/tablescan-analyze.plan.json": "d6393bf7577ac7e266096b4487e2f4a9239db81e121ddc17bbfa8d895dc6d346", - "hyper/tpch-q11-error-analyze.plan.json": "0f76b7c203b964fb07455ed4b8953857f4b2b41a22bededc1ac5d3388537d19c", - "hyper/tpch/tpch-q1-analyze.plan.json": "eb17dcd49709db149b92d0683819395ef5cf389d418ef38a52bec96752d489e2", + "hyper/tpch-q11-error-analyze.plan.json": "67c5db501d5b5faeaca38ef7125b3814d8ba31ac77137ec151184d9ade68b8e0", + "hyper/tpch/tpch-q1-analyze.plan.json": "568e976412439c47e710ab8228d46b88b3cba3f10563bd37f8239543964aa4b1", "hyper/tpch/tpch-q1-external-analyze.plan.json": "523415367bb143940e28265e7f27efd3fab35e3e6663d9bb288cc6c3696a9ce6", - "hyper/tpch/tpch-q10-analyze.plan.json": "3d7b6cd513fa30b55475c238ab40573eee2b7e5afaacbcc95b6d9df19d1c4957", - "hyper/tpch/tpch-q11-analyze.plan.json": "8e3770da5ac0376a3292cd2e6045a2ad90b38a88197c0d9a2d7931c2408ab9f3", + "hyper/tpch/tpch-q10-analyze.plan.json": "0a986d0763510d6d40f975107baf4c091cf50595d742a8e7c234424c8acbf1a0", + "hyper/tpch/tpch-q11-analyze.plan.json": "c525eccd19092147e1b9b786cff5c284110524aada8c0f920ac3845354ad5355", "hyper/tpch/tpch-q12-analyze.plan.json": "02a6a4161cdf603534475df4564fdeab3af75959d39722238accede750d43950", - "hyper/tpch/tpch-q13-analyze.plan.json": "1c275cfcc996a05266d603cd60017a7bc7cd9e977435fac81f92f1cd9a3b0c52", - "hyper/tpch/tpch-q14-analyze.plan.json": "f3a73d427452e3f8f67e1ddb680626beada0c57fdba9d1131baa25c7bc2ed26f", - "hyper/tpch/tpch-q15-analyze.plan.json": "e87d089a5518a2e539e5285fef53ecebbf58b71a312f98d715e6dfabc0bc3c58", - "hyper/tpch/tpch-q16-analyze.plan.json": "51ba1d59c5be9a7dc145ef4c038ac78b769b06956eac03f84cdf2cbb06488967", - "hyper/tpch/tpch-q17-analyze.plan.json": "e74cc34b72cb15214f66c693e231a2ca6907422b060b9e84139292872cacde81", + "hyper/tpch/tpch-q13-analyze.plan.json": "c8f12bcca0e33b3493ad41e14541a919bd24acd54f4440c3d073d0b006988565", + "hyper/tpch/tpch-q14-analyze.plan.json": "b2c778792810f3daa29a4f1f48ff592f528112a621c06a2b638f11269cded6c6", + "hyper/tpch/tpch-q15-analyze.plan.json": "2eb1f5c52594a5a691ee8284991d59d483e37076057dc275e76859ee70539216", + "hyper/tpch/tpch-q16-analyze.plan.json": "c76de5aa8dbf0bdf8a78690a5a47e7ab1477724ae745cf117ba05609d1e5236c", + "hyper/tpch/tpch-q17-analyze.plan.json": "2bedb295b4d62a1e8c51628f4e440b9e8cfb884eed675e45658f7b780832ee1f", "hyper/tpch/tpch-q18-analyze.plan.json": "8b520965f100a38b05481bf47e23864ba33c30926294c41e99f031b2fda68493", - "hyper/tpch/tpch-q19-analyze.plan.json": "432d0852f7584fd74afe215d94ec9edbb0f5f7a0a35f3a3e0e62d31601cae9f3", + "hyper/tpch/tpch-q19-analyze.plan.json": "be886d01dec61ebf8c34f1cacb78d3c35082a43d90e1ba1496b4610aad3e48e5", "hyper/tpch/tpch-q2-analyze.plan.json": "398de0632d1f086691f3fb73c7bbcdc3c46e478c89919e22d6edf7748360fec6", - "hyper/tpch/tpch-q2-steps.plan.json": "2d9560f84e1362bdc01d314f8233b21f834ed4f2c2db64ab2b24282179ca9020", - "hyper/tpch/tpch-q2.plan.json": "8ab689f35a5efd7663e1a8b7a813dafdf91d20bcaf9b3ea39e2cd80290ea4392", - "hyper/tpch/tpch-q20-analyze.plan.json": "2eb3d1f85777d5d00682e849e5874fd9bd0e33169c9ae5324eaca6ad46fee296", + "hyper/tpch/tpch-q2-steps.plan.json": "6ec25cc8cdd03302c9b691eae51a006210c382f3366dce2cc7b761dd852cbf2b", + "hyper/tpch/tpch-q2.plan.json": "cac4d5977759472cfbd6ac50c6d7c59fada4649c462d30cec6fa021f24c210fb", + "hyper/tpch/tpch-q20-analyze.plan.json": "cf1620ab71f33cb791d713cd4e359181f7f3cd88a253c436c354349407a6136d", "hyper/tpch/tpch-q21-analyze.plan.json": "f17652d8b81ddb40ff4d02b4973598c207fd34280d0a4d66ce4455e4252061bc", "hyper/tpch/tpch-q22-analyze.plan.json": "282b4aea27cd35bcb97fbbc2e0a8b403d0f8fd82c72f96fd4d7e059cd33aa232", - "hyper/tpch/tpch-q3-analyze.plan.json": "5b5c1bcb3796971adde7566a1bd5c72f23bfeef86ed9c6c3882b3efc17c5330a", + "hyper/tpch/tpch-q3-analyze.plan.json": "388efe18f2f65576bcdf0470761914acf277eb39cd1d9d31193a6e1ef42a3118", "hyper/tpch/tpch-q4-analyze.plan.json": "dd01298351eaa7d98a60061504f809d1c7c652a747df63a047acba3e17784903", - "hyper/tpch/tpch-q5-analyze.plan.json": "8e37ffc90c4b11a96a097a29c4e7664e7b62938f52253ac475d58de80d50c02c", - "hyper/tpch/tpch-q6-analyze.plan.json": "5c6b5260f7456ac6abd5b8200292588b4aaf62b849d8e2a35577d87f58686e5b", - "hyper/tpch/tpch-q7-analyze.plan.json": "16771abea792d4298d2219f4975790c460cbeb5481a066a0101bf5d8afcd266c", - "hyper/tpch/tpch-q8-analyze.plan.json": "dded639ed59d59aa8a5e9ef580a404dd7909f83516e33f26f1d3fe6f1cecddfe", - "hyper/tpch/tpch-q9-analyze.plan.json": "60216cd096786e653416596656ff6fa23fd78b6cce7cff4d5a6510be2daa5212", + "hyper/tpch/tpch-q5-analyze.plan.json": "707bc7c93402dbdf73a6964e8f64a61935df9c17bff726a5a08bb8fa5f651179", + "hyper/tpch/tpch-q6-analyze.plan.json": "ef9449b806a209add6eea01ea45d005c7bd445536cfeed27bf0f686b055928c6", + "hyper/tpch/tpch-q7-analyze.plan.json": "d312d4f1db7ab8ab342b04fd2dcdcce749a18b2c84b6d03033404fef44da85e1", + "hyper/tpch/tpch-q8-analyze.plan.json": "54f5c6da1de403ebc735055a0a66fc8d1d809da73cdff43b17b3164ba7d1b1c3", + "hyper/tpch/tpch-q9-analyze.plan.json": "27af6d4d813c6c358ff994a0784d1467586f757f4b6dd334798f5a395ea77ac8", "hyper/unicode.plan.json": "4774d1b71931bfddbfde693ca06a3dda3a0b4d60b358a3ee70025f8b2d3c0ff6", - "hyper/unionall-analyze-sql.plan.json": "24e37b1e53dec15481266813fff898c8fbf1c1c4f830d17007e2d2542b38df7d", "hyper/window-analyze.plan.json": "e5273d3fb043495ce6fb5033a7926353f6057de1ad9ac71e599e0eb8f538f042", "mariadb/cte-analyze.plan.json": "2c62cd6968c553858f8770a7b8e7aebfbfb328f952ba90b3599debd519c44712", "mariadb/cte-recursive-analyze.plan.json": "f787dc245f895b80461e92cfb3e86ada53da4e77175e754f6ada9264f71aa957", @@ -1051,16 +1218,23 @@ "mariadb/tpch/tpch-q9-analyze.plan.json": "27d251af78e7ac6149032c5aabb65db155339229535a226d866596969894f94f", "mariadb/unicode.plan.json": "791cd7f88204e93f21dacde5763ff0c4f030a12150d6d29c38fbf60ce95fa0b5", "mariadb/window-analyze.plan.json": "7309671b90d8694d0480d2b61acff6fea25b0e67bba13ebb0c05bd8701d33f2d", - "postgres/cte-analyze.plan.json": "3e8e459eb52339decc593c2c57cc886ed3956419e03b8ee7873e5807e985c930", + "postgres/cte-analyze.plan.json": "42d5e816d7d09e36411e242e54a44935333947e34fe9ec8ff4bfc03f3e3dbdd5", "postgres/cte-recursive-analyze.plan.json": "4baacfd3e565da3a14aecfd9292d0683f719824342b54a21f65b04665c2e7959", + "postgres/dml/delete-using.plan.json": "77124d07379c125d980110a57f82e424569372c96bbe1bbe64b497b4594667dc", + "postgres/dml/delete.plan.json": "0279df5884c63465f06a935fd9bd0a0ebfcd6db15a5c4954578ad969cbb20a97", + "postgres/dml/insert.plan.json": "6893a05fb48d67581271984c8651f437b84bb6d9eb91bbfdda75e2e0a3f42db8", + "postgres/dml/update-from.plan.json": "06d03fc5f36cbea6058f99dd9752119e30a6a3c219ab0b67153380344ccff6b6", + "postgres/dml/update.plan.json": "54299361e25912163544a906fd13758971b30d6319d9f7e5299677e2084ebde4", "postgres/groupby-analyze.plan.json": "d6dfaf2dec698d9a809c7a65203f07f5cbb0fd3908d81e01010046d673117f46", - "postgres/insert.plan.json": "bc1d6678bf5eae68031955759a99574ce90922c8a392852bba4e0656f4ecdf64", "postgres/magicunnesting-analyze.plan.json": "2ad17a9525d5916e3a5da5def496e0f9e827a4eaa717608ce4fa4b6577745f4a", "postgres/markjoin-analyze.plan.json": "8b850e89f3418c08b9f6cf47081a1b993e1b4ab60592bf7de4dfa962bd79ef3d", "postgres/metadata-describe-table.plan.json": "cb5fb53f19e379f27f2ff798576dade1d5d42921a4e7c2da28dd637d698c7518", - "postgres/setoperation-analyze.plan.json": "2dc0f4cf3eb9b43204298843358d2f1f523f79d0444109ea90e299edfa148cb6", + "postgres/setoperation-analyze.plan.json": "9e82c2a7164d35f3f7ba980e970c7785a6fd55ac0fc591e5d13f0e28778a64f1", + "postgres/subquery-analyze.plan.json": "6f8df430021dee93688d006f11693eb3a732dd1345267bdf363bf31ed7110d77", + "postgres/subquery-correlated-analyze.plan.json": "ad8830ec83ea19097a6a14e7f67ee29194a9cbb70f3336203a23ea21c3746247", "postgres/tableconstruction.plan.json": "5777f3b7c54355fb4db620fac90a80f016710b47d868f8b1e443e687b62d8cc6", "postgres/tablefunction.plan.json": "bb3aa611742a7469f73be1b471654d74e21a24c384c4775c5c10c5a60672f82c", + "postgres/tablesample-analyze.plan.json": "397231dd72bf95889b003cd78f702533d3d8f8c6f393a0faaa36dcb76d353f6b", "postgres/tablescan-analyze.plan.json": "03bec10fc91f582280062dfce9eabfebddaadf839067b4c369eaf8260ab8212d", "postgres/tpch/tpch-q1-analyze.plan.json": "763b226d4850925f811a90ee73dcd3e7eaba5c51d49d92f69b602bdee5bba1af", "postgres/tpch/tpch-q10-analyze.plan.json": "981c61d8ade1c1b8649a2a712afe1e39613b6a5c919197a9dce3dca7d18733bd", @@ -1088,13 +1262,19 @@ "postgres/unicode.plan.json": "5021070a9c0c4bd39623328571c00cf754ad4e3540c8ce06aa48d5260926d2c5", "postgres/window-analyze.plan.json": "7d16153afe4f5b2a3f73818bab82786038bc8d9d8a4b177e9dc7d822d641599a", "tests/short_names.json": "2d68d1cd4d255de3a593e1aea93add1ab9cafb8ea01f885353b19956b5b69cde", - "umbra/cte-analyze.plan.json": "e9d4f98c98363bfc53198dbcaf5f6f9977b9a08e1ddb6d7e2fbf2aa893d2065b", + "umbra/cte-analyze.plan.json": "adb5e37b6791721d431a4503a631290dacd4ee0e264f4aee44cc7cb668663551", "umbra/cte-recursive-analyze.plan.json": "7c9d6ca5fb26e6a2eaa4fad10ac6e316236a366eec9a261a2f20512ad6be1d7c", + "umbra/dml/delete-using.plan.json": "feabebe0bcbb6aaa48e1066da2861d82c81f17d02012d1c1281f6916b5392964", + "umbra/dml/delete.plan.json": "0bc5fdb2f5a394addc13e474124c089e282209927f40d62ff41e36ee35d65fc0", + "umbra/dml/insert.plan.json": "d40ecefa9c3e74bd79d8ec5c1b0557c8fd894f2b61ebc578c342953d50f0ab85", + "umbra/dml/update-from.plan.json": "52ac3f5d40a0f41850b0beef7f889c3b31ca3230e73437001717d739487e5816", + "umbra/dml/update.plan.json": "1b69d22a85e5a358e9dcd5b881b3068cc78cbe71677adda119b51739eb7e14fb", "umbra/groupby-analyze.plan.json": "051ab5779bce8685731646847281f7dcf70a2cc95c572892036c5108878d5376", - "umbra/insert.plan.json": "3cb735f0d2ec7a8d49f3c1a84ae12cf8a79520e316d69db9286375d2bf36d567", "umbra/magicunnesting-analyze.plan.json": "a5ca093fa443ac69f5ffa0e4e6ca877f74490cc370ef21c43b76087b083533b9", "umbra/markjoin-analyze.plan.json": "03215c731ed33fe83d127042b6a1b5df683d0c6bc413434688c3e505041daa97", - "umbra/setoperation-analyze.plan.json": "a3ee45b8486c32ebf42eff041632bab7ae4fddf70fa80d06e776c460fdfa9913", + "umbra/setoperation-analyze.plan.json": "49c897af4e0995c81f0863a5452dee0445c1495fc3bc3e37b0027d338a2a8a3b", + "umbra/subquery-analyze.plan.json": "a8d0f8b5462e89cc7805f096acf70cd962864f25ac48a61a15d82aa67981fad3", + "umbra/subquery-correlated-analyze.plan.json": "c9d8ce3fca55338e70d41efb8e85e9a586a09776d609acff50549350368fccd3", "umbra/tableconstruction.plan.json": "3104c0c3ec8fff6f0d3922fe3f7ef1f513579eccefb1de2ae0cc88053392395e", "umbra/tablefunction.plan.json": "22bcbfa17ae13ca721a8bdce2ca5c088da7430676e2504cbdaca4709f32d98fc", "umbra/tablescan-analyze.plan.json": "1497f07135b5a700cc478da6de123ab54fb64c01850cd312f8ee863cbe7ad1ea", diff --git a/standalone-app/examples/cedardb/cte-analyze.plan.json b/standalone-app/examples/cedardb/cte-analyze.plan.json index 8e9ea348..1c3cc819 100644 --- a/standalone-app/examples/cedardb/cte-analyze.plan.json +++ b/standalone-app/examples/cedardb/cte-analyze.plan.json @@ -2,37 +2,30 @@ "plan":{ "operator":"planroot", "physicalOperator":"planroot", - "cardinality":243, + "cardinality":111, "operatorId":1, "input":{ - "operator":"setoperation", - "physicalOperator":"unionall", - "cardinality":243, - "operatorId":2,"analyzePlanId":0,"analyzePlanCardinality":256, - "arguments":[{"input":{ + "operator":"join", + "physicalOperator":"hashjoin", + "cardinality":111, + "operatorId":2,"analyzePlanId":0,"analyzePlanCardinality":250, + "left":{ "operator":"pipelinebreakerscan", "physicalOperator":"groupbyscan", "cardinality":122, "operatorId":3,"analyzePlanId":1,"analyzePlanCardinality":128, - "scannedOperator":4, - "output":[{"originalIU":"l_orderkey", "iu":"l_orderkey2"}, {"originalIU":"sum(l_quantity)", "iu":"sum"}, {"originalIU":"avg(l_extendedprice)", "iu":"avg"}] - }, "columns":[{"expression":"iuref", "iu":"l_orderkey2"}, {"expression":"iuref", "iu":"sum"}, {"expression":"iuref", "iu":"avg"}]}, {"input":{ - "operator":"pipelinebreakerscan", - "physicalOperator":"groupbyscan", - "cardinality":122, - "operatorId":5,"analyzePlanId":2,"analyzePlanCardinality":128, "pipelineBreaker":{ "operator":"groupby", "physicalOperator":"groupby", "cardinality":122, - "operatorId":4,"analyzePlanId":3,"analyzePlanCardinality":128, + "operatorId":4,"analyzePlanId":2,"analyzePlanCardinality":128, "input":{ "operator":"tablescan", "physicalOperator":"tablescan", - "cardinality":572, - "operatorId":6,"analyzePlanId":4,"analyzePlanCardinality":572, - "attributes":[{"name":"l_orderkey", "iu":"l_orderkey7", "column":0}, {"name":"l_partkey", "iu":"l_partkey", "column":1}, {"name":"l_suppkey", "iu":"l_suppkey", "column":2}, {"name":"l_linenumber", "iu":"l_linenumber", "column":3}, {"name":"l_quantity", "iu":"l_quantity", "column":4}, {"name":"l_extendedprice", "iu":"l_extendedprice", "column":5}, {"name":"l_discount", "iu":"l_discount", "column":6}, {"name":"l_tax", "iu":"l_tax", "column":7}, {"name":"l_returnflag", "iu":"l_returnflag", "column":8}, {"name":"l_linestatus", "iu":"l_linestatus", "column":9}, {"name":"l_shipdate", "iu":"l_shipdate", "column":10}, {"name":"l_commitdate", "iu":"l_commitdate", "column":11}, {"name":"l_receiptdate", "iu":"l_receiptdate", "column":12}, {"name":"l_shipinstruct", "iu":"l_shipinstruct", "column":13}, {"name":"l_shipmode", "iu":"l_shipmode", "column":14}, {"name":"l_comment", "iu":"l_comment", "column":15}], - "restrictions":[], + "cardinality":560, + "operatorId":5,"analyzePlanId":3,"analyzePlanCardinality":560, + "attributes":[{"name":"l_orderkey", "iu":"l_orderkey", "column":0}, {"name":"l_partkey", "iu":"l_partkey", "column":1}, {"name":"l_suppkey", "iu":"l_suppkey", "column":2}, {"name":"l_linenumber", "iu":"l_linenumber", "column":3}, {"name":"l_quantity", "iu":"l_quantity", "column":4}, {"name":"l_extendedprice", "iu":"l_extendedprice", "column":5}, {"name":"l_discount", "iu":"l_discount", "column":6}, {"name":"l_tax", "iu":"l_tax", "column":7}, {"name":"l_returnflag", "iu":"l_returnflag", "column":8}, {"name":"l_linestatus", "iu":"l_linestatus", "column":9}, {"name":"l_shipdate", "iu":"l_shipdate", "column":10}, {"name":"l_commitdate", "iu":"l_commitdate", "column":11}, {"name":"l_receiptdate", "iu":"l_receiptdate", "column":12}, {"name":"l_shipinstruct", "iu":"l_shipinstruct", "column":13}, {"name":"l_shipmode", "iu":"l_shipmode", "column":14}, {"name":"l_comment", "iu":"l_comment", "column":15}], + "restrictions":[{"attribute":4, "mode":">=", "value":{"expression":"const", "value":{"type":{"type":"numeric", "precision":12, "scale":2}, "value":101}}, "estimatedSelectivity":0.9790209790209791, "collate":""}], "residuals":[], "tid":"tid", "tableoid":"tableoid", @@ -41,8 +34,8 @@ "tableSize":572, "tablename":"lineitem" }, - "values":[{"expression":"iuref", "iu":"l_orderkey7"}, {"expression":"iuref", "iu":"l_quantity"}, {"expression":"iuref", "iu":"l_extendedprice"}], - "key":[{"arg":0, "iu":"l_orderkey", "collate":""}], + "values":[{"expression":"iuref", "iu":"l_orderkey"}, {"expression":"iuref", "iu":"l_quantity"}, {"expression":"iuref", "iu":"l_extendedprice"}], + "key":[{"arg":0, "iu":"l_orderkey20", "collate":""}], "groupingmode":"regular", "aggregates":[{"op":"sum", "arg":1, "collate":"", "iu":"sum(l_quantity)"}, {"op":"avg", "arg":2, "collate":"", "iu":"avg(l_extendedprice)"}], "orders":[], @@ -51,18 +44,62 @@ "hasminspoolinglimit":true }, "scannedOperator":4, - "output":[{"originalIU":"l_orderkey", "iu":"l_orderkey26"}, {"originalIU":"sum(l_quantity)", "iu":"sum27"}, {"originalIU":"avg(l_extendedprice)", "iu":"avg28"}] - }, "columns":[{"expression":"iuref", "iu":"l_orderkey26"}, {"expression":"iuref", "iu":"sum27"}, {"expression":"iuref", "iu":"avg28"}]}], - "columns":[{"iu":"l_orderkey29", "collate":""}, {"iu":"sum30", "collate":""}, {"iu":"avg31", "collate":""}], - "operation":"unionall" + "output":[{"originalIU":"l_orderkey20", "iu":"l_orderkey23"}, {"originalIU":"avg(l_extendedprice)", "iu":"price"}] + }, + "right":{ + "operator":"setoperation", + "physicalOperator":"unionall", + "cardinality":222, + "operatorId":6,"analyzePlanId":4,"analyzePlanCardinality":250, + "arguments":[{"input":{ + "operator":"pipelinebreakerscan", + "physicalOperator":"tempscan", + "cardinality":111, + "operatorId":7,"analyzePlanId":5,"analyzePlanCardinality":125, + "scannedOperator":8, + "output":[{"originalIU":"l_orderkey2", "iu":"l_orderkey26"}, {"originalIU":"quantity", "iu":"quantity28"}] + }, "columns":[{"expression":"iuref", "iu":"l_orderkey26"}, {"expression":"iuref", "iu":"quantity28"}]}, {"input":{ + "operator":"pipelinebreakerscan", + "physicalOperator":"tempscan", + "cardinality":111, + "operatorId":9,"analyzePlanId":6,"analyzePlanCardinality":125, + "pipelineBreaker":{ + "operator":"temp", + "physicalOperator":"temp", + "cardinality":111, + "operatorId":8,"analyzePlanId":7,"analyzePlanCardinality":125, + "input":{ + "operator":"select", + "physicalOperator":"select", + "cardinality":111, + "operatorId":10,"analyzePlanId":8,"analyzePlanCardinality":125, + "input":{ + "operator":"pipelinebreakerscan", + "physicalOperator":"groupbyscan", + "cardinality":122, + "operatorId":11,"analyzePlanId":9,"analyzePlanCardinality":128, + "scannedOperator":4, + "output":[{"originalIU":"l_orderkey20", "iu":"l_orderkey2"}, {"originalIU":"sum(l_quantity)", "iu":"quantity"}] + }, + "condition":{"expression":"compare", "left":{"expression":"iuref", "iu":"quantity"}, "right":{"expression":"const", "value":{"type":{"type":"numeric", "precision":18, "scale":2}, "value":1001}}, "direction":">=", "collate":""} + } + }, + "scannedOperator":8, + "output":[{"originalIU":"l_orderkey2", "iu":"l_orderkey29"}, {"originalIU":"quantity", "iu":"quantity30"}] + }, "columns":[{"expression":"iuref", "iu":"l_orderkey29"}, {"expression":"iuref", "iu":"quantity30"}]}], + "columns":[{"iu":"l_orderkey31", "collate":""}, {"iu":"quantity32", "collate":""}], + "operation":"unionall" + }, + "condition":{"expression":"compare", "left":{"expression":"iuref", "iu":"l_orderkey23"}, "right":{"expression":"iuref", "iu":"l_orderkey31"}, "direction":"=", "collate":""}, + "type":"inner" }, - "output":[{"name":"l_orderkey", "value":{"expression":"iuref", "iu":"l_orderkey29"}}, {"name":"sum", "value":{"expression":"iuref", "iu":"sum30"}}, {"name":"avg", "value":{"expression":"iuref", "iu":"avg31"}}] + "output":[{"name":"l_orderkey", "value":{"expression":"iuref", "iu":"l_orderkey31"}}, {"name":"quantity", "value":{"expression":"iuref", "iu":"quantity32"}}, {"name":"price", "value":{"expression":"iuref", "iu":"price"}}] }, - "ius":[{"iu":"l_orderkey7", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_partkey", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_suppkey", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_linenumber", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_quantity", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_extendedprice", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_discount", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_tax", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_returnflag", "outerNull":false, "type":{"type":"char1"}}, {"iu":"l_linestatus", "outerNull":false, "type":{"type":"char1"}}, {"iu":"l_shipdate", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_commitdate", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_receiptdate", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_shipinstruct", "outerNull":false, "type":{"type":"char", "precision":25}}, {"iu":"l_shipmode", "outerNull":false, "type":{"type":"char", "precision":10}}, {"iu":"l_comment", "outerNull":false, "type":{"type":"text", "precision":44}}, {"iu":"tid", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate", "outerNull":false, "type":{"type":"int64"}}, {"iu":"l_orderkey", "outerNull":false, "type":{"type":"int32"}}, {"iu":"sum(l_quantity)", "outerNull":false, "type":{"type":"numeric", "precision":18, "scale":2}}, {"iu":"avg(l_extendedprice)", "outerNull":false, "type":{"type":"bignumeric", "precision":31, "scale":21}}, {"iu":"l_orderkey2", "outerNull":false, "type":{"type":"int32"}}, {"iu":"sum", "outerNull":false, "type":{"type":"numeric", "precision":18, "scale":2}}, {"iu":"avg", "outerNull":false, "type":{"type":"bignumeric", "precision":31, "scale":21}}, {"iu":"l_orderkey26", "outerNull":false, "type":{"type":"int32"}}, {"iu":"sum27", "outerNull":false, "type":{"type":"numeric", "precision":18, "scale":2}}, {"iu":"avg28", "outerNull":false, "type":{"type":"bignumeric", "precision":31, "scale":21}}, {"iu":"l_orderkey29", "outerNull":false, "type":{"type":"int32"}}, {"iu":"sum30", "outerNull":false, "type":{"type":"numeric", "precision":18, "scale":2}}, {"iu":"avg31", "outerNull":false, "type":{"type":"bignumeric", "precision":31, "scale":21}}], + "ius":[{"iu":"l_orderkey", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_partkey", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_suppkey", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_linenumber", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_quantity", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_extendedprice", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_discount", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_tax", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_returnflag", "outerNull":false, "type":{"type":"char1"}}, {"iu":"l_linestatus", "outerNull":false, "type":{"type":"char1"}}, {"iu":"l_shipdate", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_commitdate", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_receiptdate", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_shipinstruct", "outerNull":false, "type":{"type":"char", "precision":25}}, {"iu":"l_shipmode", "outerNull":false, "type":{"type":"char", "precision":10}}, {"iu":"l_comment", "outerNull":false, "type":{"type":"text", "precision":44}}, {"iu":"tid", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate", "outerNull":false, "type":{"type":"int64"}}, {"iu":"l_orderkey20", "outerNull":false, "type":{"type":"int32"}}, {"iu":"sum(l_quantity)", "outerNull":false, "type":{"type":"numeric", "precision":18, "scale":2}}, {"iu":"avg(l_extendedprice)", "outerNull":false, "type":{"type":"bignumeric", "precision":31, "scale":21}}, {"iu":"l_orderkey2", "outerNull":false, "type":{"type":"int32"}}, {"iu":"quantity", "outerNull":false, "type":{"type":"numeric", "precision":18, "scale":2}}, {"iu":"l_orderkey26", "outerNull":false, "type":{"type":"int32"}}, {"iu":"quantity28", "outerNull":false, "type":{"type":"numeric", "precision":18, "scale":2}}, {"iu":"l_orderkey29", "outerNull":false, "type":{"type":"int32"}}, {"iu":"quantity30", "outerNull":false, "type":{"type":"numeric", "precision":18, "scale":2}}, {"iu":"l_orderkey31", "outerNull":false, "type":{"type":"int32"}}, {"iu":"quantity32", "outerNull":false, "type":{"type":"numeric", "precision":18, "scale":2}}, {"iu":"l_orderkey23", "outerNull":false, "type":{"type":"int32"}}, {"iu":"price", "outerNull":false, "type":{"type":"bignumeric", "precision":31, "scale":21}}], "type":"select", "query":true, "hasParameters":false, "queryOptimized":true, "permissions":{"planPermissions":[{"object":{"type":"table", "id":7}, "role":10, "permissions":{"value":2, "grantMask":0}}, {"object":{"type":"schema", "id":3}, "role":10, "permissions":{"value":256, "grantMask":0}}], "fileReaders":[], "fileWriters":[], "objectsToLock":[]}, - "analyzePlanPipelines":[{"start":1414,"stop":1505,"duration":91,"parallelism":"multi-threaded","operators":[0,1]},{"start":1505,"stop":1567,"duration":62,"parallelism":"multi-threaded","operators":[0,2]},{"start":49,"stop":1080,"duration":1031,"parallelism":"multi-threaded","operators":[3,4]}] + "analyzePlanPipelines":[{"start":1103,"stop":1141,"duration":38,"parallelism":"multi-threaded","operators":[7,8,9]},{"start":1144,"stop":1185,"duration":41,"parallelism":"multi-threaded","operators":[0,1]},{"start":35,"stop":957,"duration":922,"parallelism":"multi-threaded","operators":[2,3]},{"start":1201,"stop":1217,"duration":16,"parallelism":"multi-threaded","operators":[0,4,5]},{"start":1217,"stop":1224,"duration":7,"parallelism":"multi-threaded","operators":[0,4,6]}] } diff --git a/standalone-app/examples/cedardb/dml/delete-using.plan.json b/standalone-app/examples/cedardb/dml/delete-using.plan.json new file mode 100644 index 00000000..3997e1c1 --- /dev/null +++ b/standalone-app/examples/cedardb/dml/delete-using.plan.json @@ -0,0 +1,64 @@ +{ + "plan":{ + "operator":"planroot", + "physicalOperator":"planroot", + "cardinality":1, + "operatorId":1, + "input":{ + "operator":"delete", + "physicalOperator":"delete", + "cardinality":1, + "operatorId":2, + "input":{ + "operator":"join", + "physicalOperator":"hashjoin", + "cardinality":1, + "operatorId":3, + "left":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":4, + "attributes":[{"name":"a1", "iu":"a1", "column":0}, {"name":"b1", "iu":"b1", "column":1}, {"name":"c1", "iu":"c1", "column":2}], + "restrictions":[{"attribute":0, "mode":"isnotnull", "estimatedSelectivity":0, "collate":""}], + "residuals":[], + "tid":"tid", + "tableoid":"tableoid", + "rowstate":"rowstate", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, + "right":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":5, + "attributes":[{"name":"a2", "iu":"a2", "column":0}, {"name":"b2", "iu":"b2", "column":1}, {"name":"c2", "iu":"c2", "column":2}], + "restrictions":[{"attribute":0, "mode":"isnotnull", "estimatedSelectivity":0, "collate":""}, {"attribute":0, "mode":"joinfilter", "value":{"expression":"const", "value":{"type":{"type":"bool"}, "value":false}}, "upper":{"expression":"const", "value":{"type":{"type":"bool"}, "value":false}}, "op":3, "estimatedSelectivity":0.05, "collate":""}], + "residuals":[], + "tid":"tid10", + "tableoid":"tableoid11", + "rowstate":"rowstate12", + "table":{"type":"table", "id":1}, + "tableSize":1, + "tablename":"t2" + }, + "condition":{"expression":"compare", "left":{"expression":"iuref", "iu":"a2"}, "right":{"expression":"iuref", "iu":"a1"}, "direction":"=", "collate":""}, + "type":"rightsingleinner", + "filter":true + }, + "tid":{"expression":"iuref", "iu":"tid10"}, + "tableObjectRef":{"type":"table", "id":1}, + "hasReturningClause":true, + "indexesToDeferConstraintsOn":[] + }, + "output":[{"name":"a2", "value":{"expression":"iuref", "iu":"a2"}}, {"name":"b2", "value":{"expression":"iuref", "iu":"b2"}}] + }, + "ius":[{"iu":"a2", "outerNull":false, "type":{"type":"int32"}}, {"iu":"b2", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c2", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid10", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid11", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate12", "outerNull":false, "type":{"type":"int64"}}, {"iu":"a1", "outerNull":false, "type":{"type":"int32"}}, {"iu":"b1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate", "outerNull":false, "type":{"type":"int64"}}], + "type":"delete", + "query":true, + "hasParameters":false, + "queryOptimized":true, + "permissions":{"planPermissions":[{"object":{"type":"table", "id":1}, "role":10, "permissions":{"value":10, "grantMask":0}}, {"object":{"type":"schema", "id":3}, "role":10, "permissions":{"value":256, "grantMask":0}}, {"object":{"type":"table", "id":0}, "role":10, "permissions":{"value":2, "grantMask":0}}], "fileReaders":[], "fileWriters":[], "objectsToLock":[]} +} \ No newline at end of file diff --git a/standalone-app/examples/cedardb/dml/delete.plan.json b/standalone-app/examples/cedardb/dml/delete.plan.json new file mode 100644 index 00000000..2a01d19f --- /dev/null +++ b/standalone-app/examples/cedardb/dml/delete.plan.json @@ -0,0 +1,40 @@ +{ + "plan":{ + "operator":"planroot", + "physicalOperator":"planroot", + "cardinality":1, + "operatorId":1, + "input":{ + "operator":"delete", + "physicalOperator":"delete", + "cardinality":1, + "operatorId":2, + "input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":3, + "attributes":[{"name":"a2", "iu":"a2", "column":0}, {"name":"b2", "iu":"b2", "column":1}, {"name":"c2", "iu":"c2", "column":2}], + "restrictions":[{"attribute":0, "mode":"<=", "value":{"expression":"const", "value":{"type":{"type":"int32"}, "value":9}}, "estimatedSelectivity":0, "collate":""}], + "residuals":[], + "tid":"tid", + "tableoid":"tableoid", + "rowstate":"rowstate", + "table":{"type":"table", "id":1}, + "tableSize":1, + "tablename":"t2" + }, + "tid":{"expression":"iuref", "iu":"tid"}, + "tableObjectRef":{"type":"table", "id":1}, + "hasReturningClause":true, + "indexesToDeferConstraintsOn":[] + }, + "output":[{"name":"a2", "value":{"expression":"iuref", "iu":"a2"}}, {"name":"b2", "value":{"expression":"iuref", "iu":"b2"}}] + }, + "ius":[{"iu":"a2", "outerNull":false, "type":{"type":"int32"}}, {"iu":"b2", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c2", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate", "outerNull":false, "type":{"type":"int64"}}], + "type":"delete", + "query":true, + "hasParameters":false, + "queryOptimized":true, + "permissions":{"planPermissions":[{"object":{"type":"table", "id":1}, "role":10, "permissions":{"value":10, "grantMask":0}}, {"object":{"type":"schema", "id":3}, "role":10, "permissions":{"value":256, "grantMask":0}}], "fileReaders":[], "fileWriters":[], "objectsToLock":[]} +} \ No newline at end of file diff --git a/standalone-app/examples/cedardb/dml/insert.plan.json b/standalone-app/examples/cedardb/dml/insert.plan.json new file mode 100644 index 00000000..bcdc4b12 --- /dev/null +++ b/standalone-app/examples/cedardb/dml/insert.plan.json @@ -0,0 +1,39 @@ +{ + "plan":{ + "operator":"planroot", + "physicalOperator":"planroot", + "cardinality":1, + "operatorId":1, + "input":{ + "operator":"insert", + "physicalOperator":"insert", + "cardinality":1, + "operatorId":2, + "input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":3, + "attributes":[{"name":"a1", "iu":"a1", "column":0}, {"name":"b1", "iu":"b1", "column":1}, {"name":"c1", "iu":"c1", "column":2}], + "restrictions":[], + "residuals":[], + "tid":"tid", + "tableoid":"tableoid", + "rowstate":"rowstate", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, + "expressions":[{"expression":"iuref", "iu":"a1"}, {"expression":"iuref", "iu":"b1"}, {"expression":"iuref", "iu":"c1"}], + "tableObjectRef":{"type":"table", "id":1}, + "hasReturningClause":true + }, + "output":[{"name":"a2", "value":{"expression":"iuref", "iu":"a1"}}, {"name":"b2", "value":{"expression":"iuref", "iu":"b1"}}, {"name":"c2", "value":{"expression":"iuref", "iu":"c1"}}] + }, + "ius":[{"iu":"a1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate", "outerNull":false, "type":{"type":"int64"}}], + "type":"insert", + "query":true, + "hasParameters":false, + "queryOptimized":true, + "permissions":{"planPermissions":[{"object":{"type":"table", "id":1}, "role":10, "permissions":{"value":3, "grantMask":0}}, {"object":{"type":"schema", "id":3}, "role":10, "permissions":{"value":256, "grantMask":0}}, {"object":{"type":"table", "id":0}, "role":10, "permissions":{"value":2, "grantMask":0}}], "fileReaders":[], "fileWriters":[], "objectsToLock":[]} +} \ No newline at end of file diff --git a/standalone-app/examples/cedardb/dml/update-from.plan.json b/standalone-app/examples/cedardb/dml/update-from.plan.json new file mode 100644 index 00000000..e3a1a232 --- /dev/null +++ b/standalone-app/examples/cedardb/dml/update-from.plan.json @@ -0,0 +1,72 @@ +{ + "plan":{ + "operator":"planroot", + "physicalOperator":"planroot", + "cardinality":1, + "operatorId":1, + "input":{ + "operator":"update", + "physicalOperator":"update", + "cardinality":1, + "operatorId":2, + "input":{ + "operator":"map", + "physicalOperator":"map", + "cardinality":1, + "operatorId":3, + "input":{ + "operator":"join", + "physicalOperator":"hashjoin", + "cardinality":1, + "operatorId":4, + "left":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":5, + "attributes":[{"name":"a1", "iu":"a1", "column":0}, {"name":"b1", "iu":"b1", "column":1}, {"name":"c1", "iu":"c1", "column":2}], + "restrictions":[{"attribute":0, "mode":"isnotnull", "estimatedSelectivity":0, "collate":""}], + "residuals":[], + "tid":"tid", + "tableoid":"tableoid", + "rowstate":"rowstate", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, + "right":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":6, + "attributes":[{"name":"a2", "iu":"a2", "column":0}, {"name":"b2", "iu":"b2", "column":1}, {"name":"c2", "iu":"c2", "column":2}], + "restrictions":[{"attribute":0, "mode":"isnotnull", "estimatedSelectivity":0, "collate":""}, {"attribute":0, "mode":"joinfilter", "value":{"expression":"const", "value":{"type":{"type":"bool"}, "value":false}}, "upper":{"expression":"const", "value":{"type":{"type":"bool"}, "value":false}}, "op":4, "estimatedSelectivity":0.05, "collate":""}], + "residuals":[], + "tid":"tid10", + "tableoid":"tableoid11", + "rowstate":"rowstate12", + "table":{"type":"table", "id":1}, + "tableSize":1, + "tablename":"t2" + }, + "condition":{"expression":"compare", "left":{"expression":"iuref", "iu":"a2"}, "right":{"expression":"iuref", "iu":"a1"}, "direction":"=", "collate":""}, + "type":"rightsingleinner", + "filter":true + }, + "values":[{"iu":"v", "exp":{"expression":"add", "left":{"expression":"iuref", "iu":"a1"}, "right":{"expression":"const", "value":{"type":{"type":"int32"}, "value":1}}}}] + }, + "tupleId":{"expression":"iuref", "iu":"tid10"}, + "updatedValues":[{"logicalColumn":{"id":0}, "physicalColumns":[{"id":0}], "expr":{"expression":"iuref", "iu":"v"}}, {"logicalColumn":{"id":1}, "physicalColumns":[{"id":1}], "expr":{"expression":"iuref", "iu":"b1"}}], + "tableObjectRef":{"type":"table", "id":1}, + "hasReturningClause":true, + "upsertTid":0 + }, + "output":[{"name":"a2", "value":{"expression":"iuref", "iu":"v"}}, {"name":"b2", "value":{"expression":"iuref", "iu":"b1"}}] + }, + "ius":[{"iu":"a2", "outerNull":false, "type":{"type":"int32"}}, {"iu":"b2", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c2", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid10", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid11", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate12", "outerNull":false, "type":{"type":"int64"}}, {"iu":"a1", "outerNull":false, "type":{"type":"int32"}}, {"iu":"b1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate", "outerNull":false, "type":{"type":"int64"}}, {"iu":"v", "outerNull":false, "type":{"type":"int32"}}], + "type":"update", + "query":true, + "hasParameters":false, + "queryOptimized":true, + "permissions":{"planPermissions":[{"object":{"type":"table", "id":1}, "role":10, "permissions":{"value":6, "grantMask":0}}, {"object":{"type":"schema", "id":3}, "role":10, "permissions":{"value":256, "grantMask":0}}, {"object":{"type":"table", "id":0}, "role":10, "permissions":{"value":2, "grantMask":0}}], "fileReaders":[], "fileWriters":[], "objectsToLock":[]} +} \ No newline at end of file diff --git a/standalone-app/examples/cedardb/dml/update.plan.json b/standalone-app/examples/cedardb/dml/update.plan.json new file mode 100644 index 00000000..4ac4d190 --- /dev/null +++ b/standalone-app/examples/cedardb/dml/update.plan.json @@ -0,0 +1,40 @@ +{ + "plan":{ + "operator":"planroot", + "physicalOperator":"planroot", + "cardinality":1, + "operatorId":1, + "input":{ + "operator":"update", + "physicalOperator":"update", + "cardinality":1, + "operatorId":2, + "input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":3, + "attributes":[{"name":"a2", "iu":"a2", "column":0}, {"name":"b2", "iu":"b2", "column":1}, {"name":"c2", "iu":"c2", "column":2}], + "restrictions":[{"attribute":0, "mode":"<=", "value":{"expression":"const", "value":{"type":{"type":"int32"}, "value":9}}, "estimatedSelectivity":0, "collate":""}], + "residuals":[], + "tid":"tid", + "tableoid":"tableoid", + "rowstate":"rowstate", + "table":{"type":"table", "id":1}, + "tableSize":1, + "tablename":"t2" + }, + "tupleId":{"expression":"iuref", "iu":"tid"}, + "updatedValues":[{"logicalColumn":{"id":0}, "physicalColumns":[{"id":0}], "expr":{"expression":"add", "left":{"expression":"iuref", "iu":"a2"}, "right":{"expression":"const", "value":{"type":{"type":"int32"}, "value":1}}}}, {"logicalColumn":{"id":1}, "physicalColumns":[{"id":1}], "expr":{"expression":"add", "left":{"expression":"iuref", "iu":"b2"}, "right":{"expression":"const", "value":{"type":{"type":"int32"}, "value":1}}}}], + "tableObjectRef":{"type":"table", "id":1}, + "upsertTid":0 + }, + "output":[] + }, + "ius":[{"iu":"a2", "outerNull":false, "type":{"type":"int32"}}, {"iu":"b2", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c2", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate", "outerNull":false, "type":{"type":"int64"}}], + "type":"update", + "query":false, + "hasParameters":false, + "queryOptimized":true, + "permissions":{"planPermissions":[{"object":{"type":"table", "id":1}, "role":10, "permissions":{"value":6, "grantMask":0}}, {"object":{"type":"schema", "id":3}, "role":10, "permissions":{"value":256, "grantMask":0}}], "fileReaders":[], "fileWriters":[], "objectsToLock":[]} +} \ No newline at end of file diff --git a/standalone-app/examples/cedardb/insert.plan.json b/standalone-app/examples/cedardb/insert.plan.json deleted file mode 100644 index 54b56c1a..00000000 --- a/standalone-app/examples/cedardb/insert.plan.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "plan":{ - "operator":"planroot", - "physicalOperator":"planroot", - "cardinality":2, - "operatorId":1, - "input":{ - "operator":"insert", - "physicalOperator":"insert", - "cardinality":2, - "operatorId":2, - "input":{ - "operator":"join", - "physicalOperator":"bnljoin", - "cardinality":2, - "operatorId":3, - "left":{ - "operator":"tablescan", - "physicalOperator":"tablescan", - "cardinality":1, - "operatorId":4, - "attributes":[{"name":"a1", "iu":"a1", "column":0}, {"name":"b1", "iu":"b1", "column":1}, {"name":"c1", "iu":"c1", "column":2}], - "restrictions":[], - "residuals":[], - "tid":"tid", - "tableoid":"tableoid", - "rowstate":"rowstate", - "table":{"type":"table", "id":0}, - "tableSize":1, - "tablename":"t1" - }, - "right":{ - "operator":"inlinetable", - "physicalOperator":"inlinetable", - "cardinality":2, - "operatorId":5, - "attributes":[{"name":"column1", "iu":"column1"}], - "restrictions":[], - "residuals":[], - "count":2, - "values":[{"expression":"const", "value":{"type":{"type":"int32"}, "value":1}}, {"expression":"const", "value":{"type":{"type":"int32"}, "value":2}}] - }, - "condition":{"expression":"const", "value":{"type":{"type":"bool"}, "value":true}}, - "type":"inner" - }, - "expressions":[{"expression":"mul", "left":{"expression":"iuref", "iu":"a1"}, "right":{"expression":"iuref", "iu":"column1"}}, {"expression":"mul", "left":{"expression":"iuref", "iu":"b1"}, "right":{"expression":"iuref", "iu":"column1"}}, {"expression":"mul", "left":{"expression":"iuref", "iu":"c1"}, "right":{"expression":"iuref", "iu":"column1"}}], - "tableObjectRef":{"type":"table", "id":1} - }, - "output":[] - }, - "ius":[{"iu":"a1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate", "outerNull":false, "type":{"type":"int64"}}, {"iu":"column1", "outerNull":false, "type":{"type":"int32"}}], - "type":"insert", - "query":false, - "hasParameters":false, - "queryOptimized":true, - "permissions":{"planPermissions":[{"object":{"type":"table", "id":1}, "role":10, "permissions":{"value":1, "grantMask":0}}, {"object":{"type":"schema", "id":3}, "role":10, "permissions":{"value":256, "grantMask":0}}, {"object":{"type":"table", "id":0}, "role":10, "permissions":{"value":2, "grantMask":0}}], "fileReaders":[], "fileWriters":[], "objectsToLock":[]} -} \ No newline at end of file diff --git a/standalone-app/examples/cedardb/setoperation-analyze.plan.json b/standalone-app/examples/cedardb/setoperation-analyze.plan.json index f3cf1fac..097f4439 100644 --- a/standalone-app/examples/cedardb/setoperation-analyze.plan.json +++ b/standalone-app/examples/cedardb/setoperation-analyze.plan.json @@ -2,110 +2,324 @@ "plan":{ "operator":"planroot", "physicalOperator":"planroot", - "cardinality":1287, + "cardinality":9, "operatorId":1, "input":{ "operator":"setoperation", "physicalOperator":"unionall", - "cardinality":1287, - "operatorId":2,"analyzePlanId":0,"analyzePlanCardinality":1144, + "cardinality":9, + "operatorId":2,"analyzePlanId":0,"analyzePlanCardinality":0, "arguments":[{"input":{ - "operator":"tablescan", - "physicalOperator":"tablescan", - "cardinality":572, - "operatorId":3,"analyzePlanId":1,"analyzePlanCardinality":572, - "attributes":[{"name":"l_orderkey", "iu":"l_orderkey", "column":0}, {"name":"l_partkey", "iu":"l_partkey", "column":1}, {"name":"l_suppkey", "iu":"l_suppkey", "column":2}, {"name":"l_linenumber", "iu":"l_linenumber", "column":3}, {"name":"l_quantity", "iu":"l_quantity", "column":4}, {"name":"l_extendedprice", "iu":"l_extendedprice", "column":5}, {"name":"l_discount", "iu":"l_discount", "column":6}, {"name":"l_tax", "iu":"l_tax", "column":7}, {"name":"l_returnflag", "iu":"l_returnflag", "column":8}, {"name":"l_linestatus", "iu":"l_linestatus", "column":9}, {"name":"l_shipdate", "iu":"l_shipdate", "column":10}, {"name":"l_commitdate", "iu":"l_commitdate", "column":11}, {"name":"l_receiptdate", "iu":"l_receiptdate", "column":12}, {"name":"l_shipinstruct", "iu":"l_shipinstruct", "column":13}, {"name":"l_shipmode", "iu":"l_shipmode", "column":14}, {"name":"l_comment", "iu":"l_comment", "column":15}], - "restrictions":[], - "residuals":[], - "tid":"tid", - "tableoid":"tableoid", - "rowstate":"rowstate", - "table":{"type":"table", "id":7}, - "tableSize":572, - "tablename":"lineitem" - }, "columns":[{"expression":"iuref", "iu":"l_orderkey"}, {"expression":"iuref", "iu":"l_partkey"}]}, {"input":{ "operator":"setoperation", "physicalOperator":"setoperation", - "cardinality":143, - "operatorId":4,"analyzePlanId":2,"analyzePlanCardinality":0, + "cardinality":3, + "operatorId":3,"analyzePlanId":1,"analyzePlanCardinality":0, "arguments":[{"input":{ - "operator":"setoperation", - "physicalOperator":"setoperation", - "cardinality":286, - "operatorId":5,"analyzePlanId":3,"analyzePlanCardinality":16, - "arguments":[{"input":{ - "operator":"tablescan", - "physicalOperator":"tablescan", - "cardinality":286, - "operatorId":6,"analyzePlanId":4,"analyzePlanCardinality":286, - "attributes":[{"name":"l_orderkey", "iu":"l_orderkey20", "column":0}, {"name":"l_partkey", "iu":"l_partkey21", "column":1}, {"name":"l_suppkey", "iu":"l_suppkey22", "column":2}, {"name":"l_linenumber", "iu":"l_linenumber23", "column":3}, {"name":"l_quantity", "iu":"l_quantity24", "column":4}, {"name":"l_extendedprice", "iu":"l_extendedprice25", "column":5}, {"name":"l_discount", "iu":"l_discount26", "column":6}, {"name":"l_tax", "iu":"l_tax27", "column":7}, {"name":"l_returnflag", "iu":"l_returnflag28", "column":8}, {"name":"l_linestatus", "iu":"l_linestatus29", "column":9}, {"name":"l_shipdate", "iu":"l_shipdate30", "column":10}, {"name":"l_commitdate", "iu":"l_commitdate31", "column":11}, {"name":"l_receiptdate", "iu":"l_receiptdate32", "column":12}, {"name":"l_shipinstruct", "iu":"l_shipinstruct33", "column":13}, {"name":"l_shipmode", "iu":"l_shipmode34", "column":14}, {"name":"l_comment", "iu":"l_comment35", "column":15}], - "restrictions":[{"attribute":4, "mode":"<=", "value":{"expression":"const", "value":{"type":{"type":"numeric", "precision":12, "scale":2}, "value":2499}}, "estimatedSelectivity":0.5, "collate":""}], - "residuals":[], - "tid":"tid36", - "tableoid":"tableoid37", - "rowstate":"rowstate38", - "table":{"type":"table", "id":7}, - "tableSize":572, - "tablename":"lineitem" - }, "columns":[{"expression":"iuref", "iu":"l_suppkey22"}, {"expression":"iuref", "iu":"l_partkey21"}]}, {"input":{ - "operator":"tablescan", - "physicalOperator":"tablescan", - "cardinality":286, - "operatorId":7,"analyzePlanId":5,"analyzePlanCardinality":286, - "attributes":[{"name":"l_orderkey", "iu":"l_orderkey39", "column":0}, {"name":"l_partkey", "iu":"l_partkey40", "column":1}, {"name":"l_suppkey", "iu":"l_suppkey41", "column":2}, {"name":"l_linenumber", "iu":"l_linenumber42", "column":3}, {"name":"l_quantity", "iu":"l_quantity43", "column":4}, {"name":"l_extendedprice", "iu":"l_extendedprice44", "column":5}, {"name":"l_discount", "iu":"l_discount45", "column":6}, {"name":"l_tax", "iu":"l_tax46", "column":7}, {"name":"l_returnflag", "iu":"l_returnflag47", "column":8}, {"name":"l_linestatus", "iu":"l_linestatus48", "column":9}, {"name":"l_shipdate", "iu":"l_shipdate49", "column":10}, {"name":"l_commitdate", "iu":"l_commitdate50", "column":11}, {"name":"l_receiptdate", "iu":"l_receiptdate51", "column":12}, {"name":"l_shipinstruct", "iu":"l_shipinstruct52", "column":13}, {"name":"l_shipmode", "iu":"l_shipmode53", "column":14}, {"name":"l_comment", "iu":"l_comment54", "column":15}], - "restrictions":[{"attribute":4, "mode":">=", "value":{"expression":"const", "value":{"type":{"type":"numeric", "precision":12, "scale":2}, "value":2500}}, "estimatedSelectivity":0.5, "collate":""}], - "residuals":[], - "tid":"tid55", - "tableoid":"tableoid56", - "rowstate":"rowstate57", - "table":{"type":"table", "id":7}, - "tableSize":572, - "tablename":"lineitem" - }, "columns":[{"expression":"iuref", "iu":"l_suppkey41"}, {"expression":"iuref", "iu":"l_partkey40"}]}], - "columns":[{"iu":"l_suppkey58", "collate":""}, {"iu":"l_partkey59", "collate":""}], - "operation":"intersectall" - }, "columns":[{"expression":"iuref", "iu":"l_suppkey58"}, {"expression":"iuref", "iu":"l_partkey59"}]}, {"input":{ - "operator":"tablescan", - "physicalOperator":"tablescan", - "cardinality":286, - "operatorId":8,"analyzePlanId":6,"analyzePlanCardinality":286, - "attributes":[{"name":"l_orderkey", "iu":"l_orderkey60", "column":0}, {"name":"l_partkey", "iu":"l_partkey61", "column":1}, {"name":"l_suppkey", "iu":"l_suppkey62", "column":2}, {"name":"l_linenumber", "iu":"l_linenumber63", "column":3}, {"name":"l_quantity", "iu":"l_quantity64", "column":4}, {"name":"l_extendedprice", "iu":"l_extendedprice65", "column":5}, {"name":"l_discount", "iu":"l_discount66", "column":6}, {"name":"l_tax", "iu":"l_tax67", "column":7}, {"name":"l_returnflag", "iu":"l_returnflag68", "column":8}, {"name":"l_linestatus", "iu":"l_linestatus69", "column":9}, {"name":"l_shipdate", "iu":"l_shipdate70", "column":10}, {"name":"l_commitdate", "iu":"l_commitdate71", "column":11}, {"name":"l_receiptdate", "iu":"l_receiptdate72", "column":12}, {"name":"l_shipinstruct", "iu":"l_shipinstruct73", "column":13}, {"name":"l_shipmode", "iu":"l_shipmode74", "column":14}, {"name":"l_comment", "iu":"l_comment75", "column":15}], - "restrictions":[{"attribute":4, "mode":">=", "value":{"expression":"const", "value":{"type":{"type":"numeric", "precision":12, "scale":2}, "value":2500}}, "estimatedSelectivity":0.5, "collate":""}], - "residuals":[], - "tid":"tid76", - "tableoid":"tableoid77", - "rowstate":"rowstate78", - "table":{"type":"table", "id":7}, - "tableSize":572, - "tablename":"lineitem" - }, "columns":[{"expression":"iuref", "iu":"l_suppkey62"}, {"expression":"iuref", "iu":"l_partkey61"}]}], - "columns":[{"iu":"l_suppkey79", "collate":""}, {"iu":"l_partkey80", "collate":""}], + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":4,"analyzePlanId":2,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a1", "column":0}, {"name":"b1", "iu":"b1", "column":1}, {"name":"c1", "iu":"c1", "column":2}], + "restrictions":[{"attribute":0, "mode":"<=", "value":{"expression":"const", "value":{"type":{"type":"int32"}, "value":9}}, "estimatedSelectivity":0, "collate":""}], + "residuals":[], + "tid":"tid", + "tableoid":"tableoid", + "rowstate":"rowstate", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"a1"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":5,"analyzePlanId":3,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a17", "column":0}, {"name":"b1", "iu":"b18", "column":1}, {"name":"c1", "iu":"c19", "column":2}], + "restrictions":[{"attribute":2, "mode":"<=", "value":{"expression":"const", "value":{"type":{"type":"int32"}, "value":9}}, "estimatedSelectivity":0, "collate":""}], + "residuals":[], + "tid":"tid10", + "tableoid":"tableoid11", + "rowstate":"rowstate12", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"c19"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":6,"analyzePlanId":4,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a113", "column":0}, {"name":"b1", "iu":"b114", "column":1}, {"name":"c1", "iu":"c115", "column":2}], + "restrictions":[{"attribute":1, "mode":"<=", "value":{"expression":"const", "value":{"type":{"type":"int32"}, "value":9}}, "estimatedSelectivity":0, "collate":""}], + "residuals":[], + "tid":"tid16", + "tableoid":"tableoid17", + "rowstate":"rowstate18", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"b114"}]}], + "columns":[{"iu":"value", "collate":""}], + "operation":"union" + }, "columns":[{"expression":"const", "value":{"type":{"type":"text"}, "value":"union"}}, {"expression":"iuref", "iu":"value"}]}, {"input":{ + "operator":"setoperation", + "physicalOperator":"setoperation", + "cardinality":1, + "operatorId":7,"analyzePlanId":5,"analyzePlanCardinality":0, + "arguments":[{"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":8,"analyzePlanId":6,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a120", "column":0}, {"name":"b1", "iu":"b121", "column":1}, {"name":"c1", "iu":"c122", "column":2}], + "restrictions":[], + "residuals":[], + "tid":"tid23", + "tableoid":"tableoid24", + "rowstate":"rowstate25", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"a120"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":9,"analyzePlanId":7,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a126", "column":0}, {"name":"b1", "iu":"b127", "column":1}, {"name":"c1", "iu":"c128", "column":2}], + "restrictions":[], + "residuals":[], + "tid":"tid29", + "tableoid":"tableoid30", + "rowstate":"rowstate31", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"c128"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":10,"analyzePlanId":8,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a132", "column":0}, {"name":"b1", "iu":"b133", "column":1}, {"name":"c1", "iu":"c134", "column":2}], + "restrictions":[], + "residuals":[], + "tid":"tid35", + "tableoid":"tableoid36", + "rowstate":"rowstate37", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"b133"}]}], + "columns":[{"iu":"value38", "collate":""}], "operation":"exceptall" - }, "columns":[{"expression":"iuref", "iu":"l_suppkey79"}, {"expression":"iuref", "iu":"l_partkey80"}]}, {"input":{ - "operator":"tablescan", - "physicalOperator":"tablescan", - "cardinality":572, - "operatorId":9,"analyzePlanId":7,"analyzePlanCardinality":572, - "attributes":[{"name":"l_orderkey", "iu":"l_orderkey81", "column":0}, {"name":"l_partkey", "iu":"l_partkey82", "column":1}, {"name":"l_suppkey", "iu":"l_suppkey83", "column":2}, {"name":"l_linenumber", "iu":"l_linenumber84", "column":3}, {"name":"l_quantity", "iu":"l_quantity85", "column":4}, {"name":"l_extendedprice", "iu":"l_extendedprice86", "column":5}, {"name":"l_discount", "iu":"l_discount87", "column":6}, {"name":"l_tax", "iu":"l_tax88", "column":7}, {"name":"l_returnflag", "iu":"l_returnflag89", "column":8}, {"name":"l_linestatus", "iu":"l_linestatus90", "column":9}, {"name":"l_shipdate", "iu":"l_shipdate91", "column":10}, {"name":"l_commitdate", "iu":"l_commitdate92", "column":11}, {"name":"l_receiptdate", "iu":"l_receiptdate93", "column":12}, {"name":"l_shipinstruct", "iu":"l_shipinstruct94", "column":13}, {"name":"l_shipmode", "iu":"l_shipmode95", "column":14}, {"name":"l_comment", "iu":"l_comment96", "column":15}], - "restrictions":[], - "residuals":[], - "tid":"tid97", - "tableoid":"tableoid98", - "rowstate":"rowstate99", - "table":{"type":"table", "id":7}, - "tableSize":572, - "tablename":"lineitem" - }, "columns":[{"expression":"iuref", "iu":"l_orderkey81"}, {"expression":"iuref", "iu":"l_suppkey83"}]}], - "columns":[{"iu":"l_orderkey100", "collate":""}, {"iu":"l_partkey101", "collate":""}], + }, "columns":[{"expression":"const", "value":{"type":{"type":"text"}, "value":"except-all"}}, {"expression":"iuref", "iu":"value38"}]}, {"input":{ + "operator":"setoperation", + "physicalOperator":"setoperation", + "cardinality":1, + "operatorId":11,"analyzePlanId":9,"analyzePlanCardinality":0, + "arguments":[{"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":12,"analyzePlanId":10,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a139", "column":0}, {"name":"b1", "iu":"b140", "column":1}, {"name":"c1", "iu":"c141", "column":2}], + "restrictions":[], + "residuals":[], + "tid":"tid42", + "tableoid":"tableoid43", + "rowstate":"rowstate44", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"a139"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":13,"analyzePlanId":11,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a145", "column":0}, {"name":"b1", "iu":"b146", "column":1}, {"name":"c1", "iu":"c147", "column":2}], + "restrictions":[], + "residuals":[], + "tid":"tid48", + "tableoid":"tableoid49", + "rowstate":"rowstate50", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"c147"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":14,"analyzePlanId":12,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a151", "column":0}, {"name":"b1", "iu":"b152", "column":1}, {"name":"c1", "iu":"c153", "column":2}], + "restrictions":[], + "residuals":[], + "tid":"tid54", + "tableoid":"tableoid55", + "rowstate":"rowstate56", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"b152"}]}], + "columns":[{"iu":"value57", "collate":""}], + "operation":"except" + }, "columns":[{"expression":"const", "value":{"type":{"type":"text"}, "value":"except"}}, {"expression":"iuref", "iu":"value57"}]}, {"input":{ + "operator":"setoperation", + "physicalOperator":"setoperation", + "cardinality":1, + "operatorId":15,"analyzePlanId":13,"analyzePlanCardinality":0, + "arguments":[{"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":16,"analyzePlanId":14,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a158", "column":0}, {"name":"b1", "iu":"b159", "column":1}, {"name":"c1", "iu":"c160", "column":2}], + "restrictions":[], + "residuals":[], + "tid":"tid61", + "tableoid":"tableoid62", + "rowstate":"rowstate63", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"a158"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":17,"analyzePlanId":15,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a164", "column":0}, {"name":"b1", "iu":"b165", "column":1}, {"name":"c1", "iu":"c166", "column":2}], + "restrictions":[], + "residuals":[], + "tid":"tid67", + "tableoid":"tableoid68", + "rowstate":"rowstate69", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"c166"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":18,"analyzePlanId":16,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a170", "column":0}, {"name":"b1", "iu":"b171", "column":1}, {"name":"c1", "iu":"c172", "column":2}], + "restrictions":[], + "residuals":[], + "tid":"tid73", + "tableoid":"tableoid74", + "rowstate":"rowstate75", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"b171"}]}], + "columns":[{"iu":"value76", "collate":""}], + "operation":"intersectall" + }, "columns":[{"expression":"const", "value":{"type":{"type":"text"}, "value":"intersect-all"}}, {"expression":"iuref", "iu":"value76"}]}, {"input":{ + "operator":"setoperation", + "physicalOperator":"setoperation", + "cardinality":1, + "operatorId":19,"analyzePlanId":17,"analyzePlanCardinality":0, + "arguments":[{"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":20,"analyzePlanId":18,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a177", "column":0}, {"name":"b1", "iu":"b178", "column":1}, {"name":"c1", "iu":"c179", "column":2}], + "restrictions":[], + "residuals":[], + "tid":"tid80", + "tableoid":"tableoid81", + "rowstate":"rowstate82", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"a177"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":21,"analyzePlanId":19,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a183", "column":0}, {"name":"b1", "iu":"b184", "column":1}, {"name":"c1", "iu":"c185", "column":2}], + "restrictions":[], + "residuals":[], + "tid":"tid86", + "tableoid":"tableoid87", + "rowstate":"rowstate88", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"c185"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":22,"analyzePlanId":20,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a189", "column":0}, {"name":"b1", "iu":"b190", "column":1}, {"name":"c1", "iu":"c191", "column":2}], + "restrictions":[], + "residuals":[], + "tid":"tid92", + "tableoid":"tableoid93", + "rowstate":"rowstate94", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"b190"}]}], + "columns":[{"iu":"value95", "collate":""}], + "operation":"intersect" + }, "columns":[{"expression":"const", "value":{"type":{"type":"text"}, "value":"intersect"}}, {"expression":"iuref", "iu":"value95"}]}, {"input":{ + "operator":"setoperation", + "physicalOperator":"unionall", + "cardinality":3, + "operatorId":23,"analyzePlanId":21,"analyzePlanCardinality":0, + "arguments":[{"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":24,"analyzePlanId":22,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a196", "column":0}, {"name":"b1", "iu":"b197", "column":1}, {"name":"c1", "iu":"c198", "column":2}], + "restrictions":[{"attribute":0, "mode":">=", "value":{"expression":"const", "value":{"type":{"type":"int32"}, "value":10}}, "estimatedSelectivity":0, "collate":""}], + "residuals":[], + "tid":"tid99", + "tableoid":"tableoid100", + "rowstate":"rowstate101", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"a196"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":25,"analyzePlanId":23,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a1102", "column":0}, {"name":"b1", "iu":"b1103", "column":1}, {"name":"c1", "iu":"c1104", "column":2}], + "restrictions":[{"attribute":2, "mode":">=", "value":{"expression":"const", "value":{"type":{"type":"int32"}, "value":10}}, "estimatedSelectivity":0, "collate":""}], + "residuals":[], + "tid":"tid105", + "tableoid":"tableoid106", + "rowstate":"rowstate107", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"c1104"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":26,"analyzePlanId":24,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a1108", "column":0}, {"name":"b1", "iu":"b1109", "column":1}, {"name":"c1", "iu":"c1110", "column":2}], + "restrictions":[{"attribute":1, "mode":">=", "value":{"expression":"const", "value":{"type":{"type":"int32"}, "value":10}}, "estimatedSelectivity":0, "collate":""}], + "residuals":[], + "tid":"tid111", + "tableoid":"tableoid112", + "rowstate":"rowstate113", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "iu":"b1109"}]}], + "columns":[{"iu":"value114", "collate":""}], + "operation":"unionall" + }, "columns":[{"expression":"const", "value":{"type":{"type":"text"}, "value":"union-all"}}, {"expression":"iuref", "iu":"value114"}]}], + "columns":[{"iu":"operation", "collate":""}, {"iu":"value116", "collate":""}], "operation":"unionall" }, - "output":[{"name":"l_orderkey", "value":{"expression":"iuref", "iu":"l_orderkey100"}}, {"name":"l_partkey", "value":{"expression":"iuref", "iu":"l_partkey101"}}] + "output":[{"name":"operation", "value":{"expression":"iuref", "iu":"operation"}}, {"name":"value", "value":{"expression":"iuref", "iu":"value116"}}] }, - "ius":[{"iu":"l_orderkey", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_partkey", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_suppkey", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_linenumber", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_quantity", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_extendedprice", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_discount", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_tax", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_returnflag", "outerNull":false, "type":{"type":"char1"}}, {"iu":"l_linestatus", "outerNull":false, "type":{"type":"char1"}}, {"iu":"l_shipdate", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_commitdate", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_receiptdate", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_shipinstruct", "outerNull":false, "type":{"type":"char", "precision":25}}, {"iu":"l_shipmode", "outerNull":false, "type":{"type":"char", "precision":10}}, {"iu":"l_comment", "outerNull":false, "type":{"type":"text", "precision":44}}, {"iu":"tid", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate", "outerNull":false, "type":{"type":"int64"}}, {"iu":"l_orderkey81", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_partkey82", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_suppkey83", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_linenumber84", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_quantity85", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_extendedprice86", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_discount87", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_tax88", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_returnflag89", "outerNull":false, "type":{"type":"char1"}}, {"iu":"l_linestatus90", "outerNull":false, "type":{"type":"char1"}}, {"iu":"l_shipdate91", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_commitdate92", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_receiptdate93", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_shipinstruct94", "outerNull":false, "type":{"type":"char", "precision":25}}, {"iu":"l_shipmode95", "outerNull":false, "type":{"type":"char", "precision":10}}, {"iu":"l_comment96", "outerNull":false, "type":{"type":"text", "precision":44}}, {"iu":"tid97", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid98", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate99", "outerNull":false, "type":{"type":"int64"}}, {"iu":"l_orderkey20", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_partkey21", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_suppkey22", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_linenumber23", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_quantity24", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_extendedprice25", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_discount26", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_tax27", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_returnflag28", "outerNull":false, "type":{"type":"char1"}}, {"iu":"l_linestatus29", "outerNull":false, "type":{"type":"char1"}}, {"iu":"l_shipdate30", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_commitdate31", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_receiptdate32", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_shipinstruct33", "outerNull":false, "type":{"type":"char", "precision":25}}, {"iu":"l_shipmode34", "outerNull":false, "type":{"type":"char", "precision":10}}, {"iu":"l_comment35", "outerNull":false, "type":{"type":"text", "precision":44}}, {"iu":"tid36", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid37", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate38", "outerNull":false, "type":{"type":"int64"}}, {"iu":"l_orderkey39", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_partkey40", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_suppkey41", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_linenumber42", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_quantity43", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_extendedprice44", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_discount45", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_tax46", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_returnflag47", "outerNull":false, "type":{"type":"char1"}}, {"iu":"l_linestatus48", "outerNull":false, "type":{"type":"char1"}}, {"iu":"l_shipdate49", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_commitdate50", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_receiptdate51", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_shipinstruct52", "outerNull":false, "type":{"type":"char", "precision":25}}, {"iu":"l_shipmode53", "outerNull":false, "type":{"type":"char", "precision":10}}, {"iu":"l_comment54", "outerNull":false, "type":{"type":"text", "precision":44}}, {"iu":"tid55", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid56", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate57", "outerNull":false, "type":{"type":"int64"}}, {"iu":"l_suppkey58", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_partkey59", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_orderkey60", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_partkey61", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_suppkey62", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_linenumber63", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_quantity64", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_extendedprice65", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_discount66", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_tax67", "outerNull":false, "type":{"type":"numeric", "precision":12, "scale":2}}, {"iu":"l_returnflag68", "outerNull":false, "type":{"type":"char1"}}, {"iu":"l_linestatus69", "outerNull":false, "type":{"type":"char1"}}, {"iu":"l_shipdate70", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_commitdate71", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_receiptdate72", "outerNull":false, "type":{"type":"date"}}, {"iu":"l_shipinstruct73", "outerNull":false, "type":{"type":"char", "precision":25}}, {"iu":"l_shipmode74", "outerNull":false, "type":{"type":"char", "precision":10}}, {"iu":"l_comment75", "outerNull":false, "type":{"type":"text", "precision":44}}, {"iu":"tid76", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid77", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate78", "outerNull":false, "type":{"type":"int64"}}, {"iu":"l_suppkey79", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_partkey80", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_orderkey100", "outerNull":false, "type":{"type":"int32"}}, {"iu":"l_partkey101", "outerNull":false, "type":{"type":"int32"}}], + "ius":[{"iu":"a1", "outerNull":false, "type":{"type":"int32"}}, {"iu":"b1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate", "outerNull":false, "type":{"type":"int64"}}, {"iu":"a113", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b114", "outerNull":false, "type":{"type":"int32"}}, {"iu":"c115", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid16", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid17", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate18", "outerNull":false, "type":{"type":"int64"}}, {"iu":"a17", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b18", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c19", "outerNull":false, "type":{"type":"int32"}}, {"iu":"tid10", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid11", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate12", "outerNull":false, "type":{"type":"int64"}}, {"iu":"value", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"a196", "outerNull":false, "type":{"type":"int32"}}, {"iu":"b197", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c198", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid99", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid100", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate101", "outerNull":false, "type":{"type":"int64"}}, {"iu":"a1108", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b1109", "outerNull":false, "type":{"type":"int32"}}, {"iu":"c1110", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid111", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid112", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate113", "outerNull":false, "type":{"type":"int64"}}, {"iu":"a1102", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b1103", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c1104", "outerNull":false, "type":{"type":"int32"}}, {"iu":"tid105", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid106", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate107", "outerNull":false, "type":{"type":"int64"}}, {"iu":"value114", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"a177", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b178", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c179", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid80", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid81", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate82", "outerNull":false, "type":{"type":"int64"}}, {"iu":"a189", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b190", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c191", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid92", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid93", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate94", "outerNull":false, "type":{"type":"int64"}}, {"iu":"a183", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b184", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c185", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid86", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid87", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate88", "outerNull":false, "type":{"type":"int64"}}, {"iu":"value95", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"a158", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b159", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c160", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid61", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid62", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate63", "outerNull":false, "type":{"type":"int64"}}, {"iu":"a170", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b171", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c172", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid73", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid74", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate75", "outerNull":false, "type":{"type":"int64"}}, {"iu":"a164", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b165", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c166", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid67", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid68", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate69", "outerNull":false, "type":{"type":"int64"}}, {"iu":"value76", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"a139", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b140", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c141", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid42", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid43", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate44", "outerNull":false, "type":{"type":"int64"}}, {"iu":"a151", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b152", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c153", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid54", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid55", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate56", "outerNull":false, "type":{"type":"int64"}}, {"iu":"a145", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b146", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c147", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid48", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid49", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate50", "outerNull":false, "type":{"type":"int64"}}, {"iu":"value57", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"a120", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b121", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c122", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid23", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid24", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate25", "outerNull":false, "type":{"type":"int64"}}, {"iu":"a132", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b133", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c134", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid35", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid36", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate37", "outerNull":false, "type":{"type":"int64"}}, {"iu":"a126", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b127", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c128", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid29", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid30", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate31", "outerNull":false, "type":{"type":"int64"}}, {"iu":"value38", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"operation", "outerNull":false, "type":{"type":"text"}}, {"iu":"value116", "outerNull":false, "type":{"type":"int32", "nullable":true}}], "type":"select", "query":true, "hasParameters":false, "queryOptimized":true, - "permissions":{"planPermissions":[{"object":{"type":"table", "id":7}, "role":10, "permissions":{"value":2, "grantMask":0}}, {"object":{"type":"schema", "id":3}, "role":10, "permissions":{"value":256, "grantMask":0}}], "fileReaders":[], "fileWriters":[], "objectsToLock":[]}, - "analyzePlanPipelines":[{"start":2924,"stop":3058,"duration":134,"parallelism":"multi-threaded","operators":[3,5]},{"start":9712,"stop":9796,"duration":84,"parallelism":"multi-threaded","operators":[0,1]},{"start":9796,"stop":9813,"duration":17,"parallelism":"multi-threaded","operators":[0,2]},{"start":9813,"stop":9878,"duration":65,"parallelism":"multi-threaded","operators":[0,7]},{"start":7311,"stop":7496,"duration":185,"parallelism":"multi-threaded","operators":[2,3]},{"start":8219,"stop":8331,"duration":112,"parallelism":"multi-threaded","operators":[2,6]},{"start":19,"stop":196,"duration":177,"parallelism":"multi-threaded","operators":[3,4]}] + "permissions":{"planPermissions":[{"object":{"type":"table", "id":0}, "role":10, "permissions":{"value":2, "grantMask":0}}, {"object":{"type":"schema", "id":3}, "role":10, "permissions":{"value":256, "grantMask":0}}], "fileReaders":[], "fileWriters":[], "objectsToLock":[]}, + "analyzePlanPipelines":[{"start":895,"stop":923,"duration":28,"parallelism":"multi-threaded","operators":[17,19]},{"start":734,"stop":779,"duration":45,"parallelism":"multi-threaded","operators":[13,15]},{"start":533,"stop":557,"duration":24,"parallelism":"multi-threaded","operators":[9,10]},{"start":425,"stop":470,"duration":45,"parallelism":"multi-threaded","operators":[5,7]},{"start":616,"stop":676,"duration":60,"parallelism":"multi-threaded","operators":[9,12]},{"start":801,"stop":824,"duration":23,"parallelism":"multi-threaded","operators":[13,16]},{"start":293,"stop":324,"duration":31,"parallelism":"multi-threaded","operators":[1,4]},{"start":132,"stop":206,"duration":74,"parallelism":"multi-threaded","operators":[1,2]},{"start":491,"stop":515,"duration":24,"parallelism":"multi-threaded","operators":[5,8]},{"start":1014,"stop":1021,"duration":7,"parallelism":"multi-threaded","operators":[0,1]},{"start":1021,"stop":1027,"duration":6,"parallelism":"multi-threaded","operators":[0,5]},{"start":1027,"stop":1032,"duration":5,"parallelism":"multi-threaded","operators":[0,9]},{"start":1032,"stop":1037,"duration":5,"parallelism":"multi-threaded","operators":[0,13]},{"start":1037,"stop":1048,"duration":11,"parallelism":"multi-threaded","operators":[0,17]},{"start":1048,"stop":1077,"duration":29,"parallelism":"multi-threaded","operators":[0,21,22]},{"start":1077,"stop":1123,"duration":46,"parallelism":"multi-threaded","operators":[0,21,23]},{"start":1123,"stop":1132,"duration":9,"parallelism":"multi-threaded","operators":[0,21,24]},{"start":343,"stop":403,"duration":60,"parallelism":"multi-threaded","operators":[5,6]},{"start":942,"stop":991,"duration":49,"parallelism":"multi-threaded","operators":[17,20]},{"start":693,"stop":719,"duration":26,"parallelism":"multi-threaded","operators":[13,14]},{"start":226,"stop":258,"duration":32,"parallelism":"multi-threaded","operators":[1,3]},{"start":575,"stop":596,"duration":21,"parallelism":"multi-threaded","operators":[9,11]},{"start":855,"stop":878,"duration":23,"parallelism":"multi-threaded","operators":[17,18]}] } diff --git a/standalone-app/examples/cedardb/subquery-analyze.plan.json b/standalone-app/examples/cedardb/subquery-analyze.plan.json new file mode 100644 index 00000000..b875faa6 --- /dev/null +++ b/standalone-app/examples/cedardb/subquery-analyze.plan.json @@ -0,0 +1,54 @@ +{ + "plan":{ + "operator":"planroot", + "physicalOperator":"planroot", + "cardinality":1, + "operatorId":1, + "input":{ + "operator":"join", + "physicalOperator":"bnljoin", + "cardinality":1, + "operatorId":2,"analyzePlanId":0,"analyzePlanCardinality":0, + "left":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":3,"analyzePlanId":1,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a1", "column":0}, {"name":"b1", "iu":"b1", "column":1}, {"name":"c1", "iu":"c1", "column":2}], + "restrictions":[], + "residuals":[], + "tid":"tid", + "tableoid":"tableoid", + "rowstate":"rowstate", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, + "right":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":4,"analyzePlanId":2,"analyzePlanCardinality":0, + "attributes":[{"name":"a2", "iu":"a2", "column":0}, {"name":"b2", "iu":"b2", "column":1}, {"name":"c2", "iu":"c2", "column":2}], + "restrictions":[], + "residuals":[], + "tid":"tid10", + "tableoid":"tableoid11", + "rowstate":"rowstate12", + "table":{"type":"table", "id":1}, + "tableSize":1, + "tablename":"t2" + }, + "condition":{"expression":"const", "value":{"type":{"type":"bool"}, "value":true}}, + "type":"leftsingle" + }, + "output":[{"name":"a1", "value":{"expression":"iuref", "iu":"a1"}}, {"name":"matching_b", "value":{"expression":"iuref", "iu":"b2"}}] + }, + "ius":[{"iu":"a1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate", "outerNull":false, "type":{"type":"int64"}}, {"iu":"a2", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b2", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c2", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid10", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid11", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate12", "outerNull":false, "type":{"type":"int64"}}], + "type":"select", + "query":true, + "hasParameters":false, + "queryOptimized":true, + "permissions":{"planPermissions":[{"object":{"type":"table", "id":0}, "role":10, "permissions":{"value":2, "grantMask":0}}, {"object":{"type":"schema", "id":3}, "role":10, "permissions":{"value":256, "grantMask":0}}, {"object":{"type":"table", "id":1}, "role":10, "permissions":{"value":2, "grantMask":0}}], "fileReaders":[], "fileWriters":[], "objectsToLock":[]}, + "analyzePlanPipelines":[{"start":13,"stop":30,"duration":17,"parallelism":"multi-threaded","operators":[0,2]},{"start":5,"stop":9,"duration":4,"parallelism":"single-threaded","operators":[0,1]}] +} diff --git a/standalone-app/examples/cedardb/subquery-correlated-analyze.plan.json b/standalone-app/examples/cedardb/subquery-correlated-analyze.plan.json new file mode 100644 index 00000000..bb42bf5e --- /dev/null +++ b/standalone-app/examples/cedardb/subquery-correlated-analyze.plan.json @@ -0,0 +1,55 @@ +{ + "plan":{ + "operator":"planroot", + "physicalOperator":"planroot", + "cardinality":1, + "operatorId":1, + "input":{ + "operator":"join", + "physicalOperator":"hashjoin", + "cardinality":1, + "operatorId":2,"analyzePlanId":0,"analyzePlanCardinality":0, + "left":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":3,"analyzePlanId":1,"analyzePlanCardinality":0, + "attributes":[{"name":"a1", "iu":"a1", "column":0}, {"name":"b1", "iu":"b1", "column":1}, {"name":"c1", "iu":"c1", "column":2}], + "restrictions":[], + "residuals":[], + "tid":"tid", + "tableoid":"tableoid", + "rowstate":"rowstate", + "table":{"type":"table", "id":0}, + "tableSize":1, + "tablename":"t1" + }, + "right":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":4,"analyzePlanId":2,"analyzePlanCardinality":0, + "attributes":[{"name":"a2", "iu":"a2", "column":0}, {"name":"b2", "iu":"b2", "column":1}, {"name":"c2", "iu":"c2", "column":2}], + "restrictions":[{"attribute":0, "mode":"isnotnull", "estimatedSelectivity":0, "collate":""}, {"attribute":0, "mode":"joinfilter", "value":{"expression":"const", "value":{"type":{"type":"bool"}, "value":false}}, "upper":{"expression":"const", "value":{"type":{"type":"bool"}, "value":false}}, "op":2, "estimatedSelectivity":0.05, "collate":""}], + "residuals":[], + "tid":"tid10", + "tableoid":"tableoid11", + "rowstate":"rowstate12", + "table":{"type":"table", "id":1}, + "tableSize":1, + "tablename":"t2" + }, + "condition":{"expression":"compare", "left":{"expression":"iuref", "iu":"a2"}, "right":{"expression":"iuref", "iu":"a1"}, "direction":"=", "collate":""}, + "type":"leftsingle", + "filter":true + }, + "output":[{"name":"a1", "value":{"expression":"iuref", "iu":"a1"}}, {"name":"matching_b", "value":{"expression":"iuref", "iu":"b2"}}] + }, + "ius":[{"iu":"a1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c1", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate", "outerNull":false, "type":{"type":"int64"}}, {"iu":"a2", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"b2", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"c2", "outerNull":false, "type":{"type":"int32", "nullable":true}}, {"iu":"tid10", "outerNull":false, "type":{"type":"int64"}}, {"iu":"tableoid11", "outerNull":false, "type":{"type":"int32"}}, {"iu":"rowstate12", "outerNull":false, "type":{"type":"int64"}}], + "type":"select", + "query":true, + "hasParameters":false, + "queryOptimized":true, + "permissions":{"planPermissions":[{"object":{"type":"table", "id":0}, "role":10, "permissions":{"value":2, "grantMask":0}}, {"object":{"type":"schema", "id":3}, "role":10, "permissions":{"value":256, "grantMask":0}}, {"object":{"type":"table", "id":1}, "role":10, "permissions":{"value":2, "grantMask":0}}], "fileReaders":[], "fileWriters":[], "objectsToLock":[]}, + "analyzePlanPipelines":[{"start":17,"stop":22,"duration":5,"parallelism":"multi-threaded","operators":[0,2]},{"start":4,"stop":12,"duration":8,"parallelism":"single-threaded","operators":[0,1]}] +} diff --git a/standalone-app/examples/duckdb/cte-analyze.plan.json b/standalone-app/examples/duckdb/cte-analyze.plan.json index c36649c3..d54d9c68 100644 --- a/standalone-app/examples/duckdb/cte-analyze.plan.json +++ b/standalone-app/examples/duckdb/cte-analyze.plan.json @@ -15,21 +15,21 @@ "extra_info": {}, "intermediate_rows": 0, "intermediate_size_bytes": 0, - "timing": 5.22e-7, + "timing": 0.000001013, "type": "EXPLAIN_ANALYZE", "children": [ { "extra_info": { - "CTE Name": "cte", - "Table Index": "0", + "CTE Name": "grouped", + "Table Index": "2", "Execution Mode": "MATERIALIZED", "Order Mode": "UNORDERED", - "Materialized Consumers": "2", - "Estimated Cardinality": "202" + "Materialized Consumers": "3", + "Estimated Cardinality": "90" }, "intermediate_rows": 0, "intermediate_size_bytes": 0, - "timing": 0.000007435, + "timing": 0.000021248, "type": "CTE", "children": [ { @@ -39,11 +39,11 @@ "sum_no_overflow(#1)", "avg(#2)" ], - "Estimated Cardinality": "101" + "Estimated Cardinality": "68" }, "intermediate_rows": 128, "intermediate_size_bytes": 3584, - "timing": 0.000287901, + "timing": 0.0007739600000000001, "type": "HASH_GROUP_BY", "children": [ { @@ -53,11 +53,11 @@ "l_quantity", "l_extendedprice" ], - "Estimated Cardinality": "572" + "Estimated Cardinality": "114" }, - "intermediate_rows": 572, - "intermediate_size_bytes": 11440, - "timing": 6.07e-7, + "intermediate_rows": 560, + "intermediate_size_bytes": 11200, + "timing": 5.7e-7, "type": "PROJECTION", "children": [ { @@ -69,13 +69,14 @@ "l_quantity", "l_extendedprice" ], - "Estimated Cardinality": "572" + "Filters": "(l_quantity > 1.00)", + "Estimated Cardinality": "114" }, - "intermediate_rows": 572, - "intermediate_size_bytes": 11440, + "intermediate_rows": 560, + "intermediate_size_bytes": 11200, "row_groups_scanned": 1, "rows_scanned": 572, - "timing": 0.000009926, + "timing": 0.000136233, "total_row_groups_to_scan": 1, "type": "TABLE_SCAN" } @@ -84,30 +85,107 @@ ] }, { - "extra_info": {}, - "intermediate_rows": 0, - "intermediate_size_bytes": 0, - "timing": 0.0, - "type": "UNION", + "extra_info": { + "Join Type": "INNER", + "Conditions": "l_orderkey = l_orderkey", + "Estimated Cardinality": "90" + }, + "intermediate_rows": 250, + "intermediate_size_bytes": 7000, + "timing": 0.000625233, + "type": "HASH_JOIN", "children": [ { - "extra_info": { - "CTE Index": "0", - "Estimated Cardinality": "101" - }, - "intermediate_rows": 128, - "intermediate_size_bytes": 3584, - "timing": 0.000007189, - "type": "CTE_SCAN" + "extra_info": {}, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "UNION", + "children": [ + { + "extra_info": { + "Projections": [ + "#0", + "#1" + ], + "Estimated Cardinality": "68" + }, + "intermediate_rows": 125, + "intermediate_size_bytes": 2500, + "timing": 0.0000017899999999999998, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Expression": "(quantity > 10.00)", + "Estimated Cardinality": "68" + }, + "intermediate_rows": 125, + "intermediate_size_bytes": 3500, + "timing": 0.000050687, + "type": "FILTER", + "children": [ + { + "extra_info": { + "CTE Index": "2", + "Estimated Cardinality": "68" + }, + "intermediate_rows": 128, + "intermediate_size_bytes": 3584, + "timing": 0.000018405, + "type": "CTE_SCAN" + } + ] + } + ] + }, + { + "extra_info": { + "Projections": [ + "#0", + "#1" + ], + "Estimated Cardinality": "68" + }, + "intermediate_rows": 125, + "intermediate_size_bytes": 2500, + "timing": 0.0000017119999999999999, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Expression": "(quantity > 10.00)", + "Estimated Cardinality": "68" + }, + "intermediate_rows": 125, + "intermediate_size_bytes": 3500, + "timing": 0.000053637, + "type": "FILTER", + "children": [ + { + "extra_info": { + "CTE Index": "2", + "Estimated Cardinality": "68" + }, + "intermediate_rows": 128, + "intermediate_size_bytes": 3584, + "timing": 0.000013643, + "type": "CTE_SCAN" + } + ] + } + ] + } + ] }, { "extra_info": { - "CTE Index": "0", - "Estimated Cardinality": "101" + "CTE Index": "2", + "Estimated Cardinality": "68" }, "intermediate_rows": 128, "intermediate_size_bytes": 3584, - "timing": 0.000002496, + "timing": 0.000022151000000000002, "type": "CTE_SCAN" } ] @@ -120,74 +198,74 @@ } ], "optimizer": { - "aggregate_function_rewriter": 0.000032817, - "aggregate_reuse": 0.000003286, - "build_side_probe_side": 0.00000159, - "column_lifetime": 0.000005026, - "common_aggregate": 0.000001325, - "common_subexpressions": 0.000001402, - "common_subplan": 0.000047249, - "cte_filter_pusher": 0.000005248, - "cte_inlining": 0.000001775, - "deliminator": 7.82e-7, - "duplicate_groups": 0.000004588, - "empty_result_pullup": 4.85e-7, - "expression_rewriter": 0.000011231, - "filter_pullup": 6.46e-7, - "filter_pushdown": 0.000006262, - "grouping_sets": 9.56e-7, - "in_clause": 7.49e-7, - "join_elimination": 0.000005031, - "join_filter_pushdown": 7.06e-7, - "join_order": 0.000042134, - "late_materialization": 6.13e-7, - "limit_pushdown": 6.25e-7, - "outer_join_simplification": 0.000004433, - "partial_aggregate_pushdown": 0.000001529, - "partitioned_execution": 5e-7, - "projection_placement": 0.000001765, - "projection_pullup": 0.000003269, - "redundant_order_keys": 0.000004444, - "regex_range": 3.8e-7, - "reorder_filter": 8.47e-7, - "row_group_pruner": 3.37e-7, - "row_number_rewriter": 3.68e-7, - "sampling_pushdown": 2.75e-7, - "scalar_fn_pushdown": 2.5e-7, - "statistics_propagation": 0.000057992, - "top_n": 3.2e-7, - "top_n_window_elimination": 0.000001617, - "total_time": 0.000319466, - "type_pushdown": 4.46e-7, - "unnest_rewriter": 0.000001055, - "unused_columns": 0.00001157, - "window_self_join": 4.5e-7 + "aggregate_function_rewriter": 0.00003247, + "aggregate_reuse": 0.000006371, + "build_side_probe_side": 0.000011551, + "column_lifetime": 0.000014797, + "common_aggregate": 0.0000019, + "common_subexpressions": 0.000002325, + "common_subplan": 0.000071717, + "cte_filter_pusher": 0.000131645, + "cte_inlining": 0.00038482, + "deliminator": 0.000001445, + "duplicate_groups": 0.000010969, + "empty_result_pullup": 9.26e-7, + "expression_rewriter": 0.000164822, + "filter_pullup": 0.000002274, + "filter_pushdown": 0.000063592, + "grouping_sets": 0.000003003, + "in_clause": 0.000001887, + "join_elimination": 0.000006707, + "join_filter_pushdown": 0.000035832, + "join_order": 0.000217382, + "late_materialization": 8.49e-7, + "limit_pushdown": 5.5e-7, + "outer_join_simplification": 0.000007417, + "partial_aggregate_pushdown": 0.000003316, + "partitioned_execution": 8.54e-7, + "projection_placement": 0.00000282, + "projection_pullup": 0.000010441, + "redundant_order_keys": 0.000004782, + "regex_range": 7.71e-7, + "reorder_filter": 0.000001914, + "row_group_pruner": 4.71e-7, + "row_number_rewriter": 5.47e-7, + "sampling_pushdown": 4.17e-7, + "scalar_fn_pushdown": 3.99e-7, + "statistics_propagation": 0.000070724, + "top_n": 4.45e-7, + "top_n_window_elimination": 0.000001971, + "total_time": 0.001421804, + "type_pushdown": 5.95e-7, + "unnest_rewriter": 0.00000136, + "unused_columns": 0.000028045, + "window_self_join": 5.88e-7 }, "physical_planner": { - "column_binding": 0.000004281, - "create_plan": 0.000032899, - "resolve_types": 4.98e-7, - "total_time": 0.000042752 + "column_binding": 0.000010223, + "create_plan": 0.000045664, + "resolve_types": 0.000001119, + "total_time": 0.000064114 }, "planner": { - "binding_time": 0.000187823, - "total_time": 0.000248199 + "binding_time": 0.00055531, + "total_time": 0.000883103 }, "query": { - "cpu_time": 0.00031607600000000004, - "sql": "EXPLAIN (ANALYZE, FORMAT JSON)\nWITH cte AS (SELECT l_orderkey, SUM(l_quantity), AVG(l_extendedprice)\n FROM lineitem\n GROUP BY l_orderkey\n)\nSELECT * FROM cte UNION ALL SELECT * FROM cte", - "total_intermediate_rows": 1528, - "total_intermediate_size_bytes": 33632, + "cpu_time": 0.001720282, + "sql": "EXPLAIN (ANALYZE, FORMAT JSON)\nWITH base AS (\n SELECT l_orderkey, l_partkey, l_quantity, l_extendedprice\n FROM lineitem\n), filtered AS (\n SELECT *\n FROM base\n WHERE l_quantity > 1\n), grouped AS (\n SELECT l_orderkey, SUM(l_quantity) AS quantity, AVG(l_extendedprice) AS price\n FROM filtered\n GROUP BY l_orderkey\n), nested AS (\n WITH nested_filtered AS (\n SELECT l_orderkey, quantity\n FROM grouped\n WHERE quantity > 10\n )\n SELECT l_orderkey, quantity\n FROM nested_filtered\n), reused AS (\n SELECT l_orderkey, quantity FROM nested\n UNION ALL\n SELECT l_orderkey, quantity FROM nested\n)\nSELECT r.l_orderkey, r.quantity, g.price\nFROM reused r\nJOIN grouped g ON g.l_orderkey = r.l_orderkey", + "total_intermediate_rows": 2382, + "total_intermediate_size_bytes": 55736, "total_row_groups_scanned": 1, "total_row_groups_to_scan": 1, "total_rows_scanned": 572, - "total_time": 0.002949974 + "total_time": 0.007403535 }, "system": { - "blocked_thread_time": 0.0015069999999999999, - "peak_buffer_memory": 7208048, + "blocked_thread_time": 0.00287, + "peak_buffer_memory": 9350192, "peak_streaming_buffer_size": 0, "peak_temp_dir_size": 0, - "total_memory_allocated": 8388608 + "total_memory_allocated": 12582912 } } \ No newline at end of file diff --git a/standalone-app/examples/duckdb/dml/delete-using.plan.json b/standalone-app/examples/duckdb/dml/delete-using.plan.json new file mode 100644 index 00000000..7799a781 --- /dev/null +++ b/standalone-app/examples/duckdb/dml/delete-using.plan.json @@ -0,0 +1,50 @@ +[ + { + "name": "PROJECTION", + "children": [ + { + "name": "DELETE", + "children": [ + { + "name": "HASH_JOIN", + "children": [ + { + "name": "SEQ_SCAN", + "children": [], + "extra_info": { + "Table": "\"temp\".main.t2", + "Type": "Sequential Scan", + "Projections": "", + "Estimated Cardinality": "0" + } + }, + { + "name": "SEQ_SCAN", + "children": [], + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": "", + "Estimated Cardinality": "0" + } + } + ], + "extra_info": { + "Join Type": "INNER", + "Conditions": "a2 = a1", + "Estimated Cardinality": "1" + } + } + ], + "extra_info": {} + } + ], + "extra_info": { + "Projections": [ + "a2", + "b2" + ], + "Estimated Cardinality": "1" + } + } +] \ No newline at end of file diff --git a/standalone-app/examples/duckdb/dml/delete.plan.json b/standalone-app/examples/duckdb/dml/delete.plan.json new file mode 100644 index 00000000..36beae7b --- /dev/null +++ b/standalone-app/examples/duckdb/dml/delete.plan.json @@ -0,0 +1,25 @@ +[ + { + "name": "PROJECTION", + "children": [ + { + "name": "DELETE", + "children": [ + { + "name": "EMPTY_RESULT", + "children": [], + "extra_info": {} + } + ], + "extra_info": {} + } + ], + "extra_info": { + "Projections": [ + "a2", + "b2" + ], + "Estimated Cardinality": "0" + } + } +] \ No newline at end of file diff --git a/standalone-app/examples/duckdb/dml/insert.plan.json b/standalone-app/examples/duckdb/dml/insert.plan.json new file mode 100644 index 00000000..147e234c --- /dev/null +++ b/standalone-app/examples/duckdb/dml/insert.plan.json @@ -0,0 +1,22 @@ +[ + { + "name": "INSERT", + "children": [ + { + "name": "SEQ_SCAN", + "children": [], + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": [ + "a1", + "b1", + "c1" + ], + "Estimated Cardinality": "0" + } + } + ], + "extra_info": {} + } +] \ No newline at end of file diff --git a/standalone-app/examples/duckdb/dml/update-from.plan.json b/standalone-app/examples/duckdb/dml/update-from.plan.json new file mode 100644 index 00000000..709898c4 --- /dev/null +++ b/standalone-app/examples/duckdb/dml/update-from.plan.json @@ -0,0 +1,70 @@ +[ + { + "name": "PROJECTION", + "children": [ + { + "name": "UPDATE", + "children": [ + { + "name": "PROJECTION", + "children": [ + { + "name": "HASH_JOIN", + "children": [ + { + "name": "SEQ_SCAN", + "children": [], + "extra_info": { + "Table": "\"temp\".main.t2", + "Type": "Sequential Scan", + "Projections": [ + "a2", + "c2" + ], + "Estimated Cardinality": "0" + } + }, + { + "name": "SEQ_SCAN", + "children": [], + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": [ + "a1", + "b1" + ], + "Estimated Cardinality": "0" + } + } + ], + "extra_info": { + "Join Type": "INNER", + "Conditions": "a2 = a1", + "Estimated Cardinality": "1" + } + } + ], + "extra_info": { + "Projections": [ + "(a1 + 1)", + "b1", + "#1", + "rowid" + ], + "Estimated Cardinality": "1" + } + } + ], + "extra_info": {} + } + ], + "extra_info": { + "Projections": [ + "a2", + "b2" + ], + "Estimated Cardinality": "1" + } + } +] \ No newline at end of file diff --git a/standalone-app/examples/duckdb/dml/update.plan.json b/standalone-app/examples/duckdb/dml/update.plan.json new file mode 100644 index 00000000..3d90b301 --- /dev/null +++ b/standalone-app/examples/duckdb/dml/update.plan.json @@ -0,0 +1,13 @@ +[ + { + "name": "UPDATE", + "children": [ + { + "name": "EMPTY_RESULT", + "children": [], + "extra_info": {} + } + ], + "extra_info": {} + } +] \ No newline at end of file diff --git a/standalone-app/examples/duckdb/insert.plan.json b/standalone-app/examples/duckdb/insert.plan.json deleted file mode 100644 index b44e7f93..00000000 --- a/standalone-app/examples/duckdb/insert.plan.json +++ /dev/null @@ -1,48 +0,0 @@ -[ - { - "name": "BATCH_INSERT", - "children": [ - { - "name": "PROJECTION", - "children": [ - { - "name": "CROSS_PRODUCT", - "children": [ - { - "name": "COLUMN_DATA_SCAN", - "children": [], - "extra_info": { - "Estimated Cardinality": "2" - } - }, - { - "name": "SEQ_SCAN", - "children": [], - "extra_info": { - "Table": "\"temp\".main.t1", - "Type": "Sequential Scan", - "Projections": [ - "a1", - "b1", - "c1" - ], - "Estimated Cardinality": "0" - } - } - ], - "extra_info": {} - } - ], - "extra_info": { - "Projections": [ - "(a1 * v)", - "(b1 * v)", - "(c1 * v)" - ], - "Estimated Cardinality": "2" - } - } - ], - "extra_info": {} - } -] \ No newline at end of file diff --git a/standalone-app/examples/duckdb/setoperation-analyze.plan.json b/standalone-app/examples/duckdb/setoperation-analyze.plan.json index b598262e..de96997f 100644 --- a/standalone-app/examples/duckdb/setoperation-analyze.plan.json +++ b/standalone-app/examples/duckdb/setoperation-analyze.plan.json @@ -27,47 +27,126 @@ "children": [ { "extra_info": { - "Table": "\"temp\".main.lineitem", - "Type": "Sequential Scan", "Projections": [ - "l_orderkey", - "l_partkey" + "operation", + "value" ], - "Estimated Cardinality": "572" + "Estimated Cardinality": "0" }, - "intermediate_rows": 572, - "intermediate_size_bytes": 4576, - "row_groups_scanned": 1, - "rows_scanned": 572, - "timing": 0.000020361, - "total_row_groups_to_scan": 1, - "type": "TABLE_SCAN" + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Groups": "#0", + "Aggregates": "", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.000001373, + "type": "HASH_GROUP_BY", + "children": [ + { + "extra_info": { + "Projections": "value", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": {}, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "UNION", + "children": [ + { + "extra_info": {}, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.000005972, + "type": "EMPTY_RESULT" + }, + { + "extra_info": {}, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 9.87e-7, + "type": "EMPTY_RESULT" + }, + { + "extra_info": {}, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 9.93e-7, + "type": "EMPTY_RESULT" + } + ] + } + ] + } + ] + } + ] }, { "extra_info": { - "Table": "\"temp\".main.lineitem", - "Type": "Sequential Scan", "Projections": [ - "l_orderkey", - "l_suppkey" + "'union-all'", + "value" ], - "Estimated Cardinality": "572" + "Estimated Cardinality": "0" }, - "intermediate_rows": 572, - "intermediate_size_bytes": 4576, - "row_groups_scanned": 1, - "rows_scanned": 572, - "timing": 0.00004316, - "total_row_groups_to_scan": 1, - "type": "TABLE_SCAN" + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": {}, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "UNION", + "children": [ + { + "extra_info": {}, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.000001009, + "type": "EMPTY_RESULT" + }, + { + "extra_info": {}, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 8.97e-7, + "type": "EMPTY_RESULT" + }, + { + "extra_info": {}, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 9.36e-7, + "type": "EMPTY_RESULT" + } + ] + } + ] }, { "extra_info": { "Projections": [ - "#0", - "#1" + "'intersect'", + "value" ], - "Estimated Cardinality": "114" + "Estimated Cardinality": "0" }, "intermediate_rows": 0, "intermediate_size_bytes": 0, @@ -76,153 +155,732 @@ "children": [ { "extra_info": { - "Join Type": "ANTI", - "Conditions": [ - "#0 IS NOT DISTINCT FROM #0", - "#1 IS NOT DISTINCT FROM #1", - "#2 IS NOT DISTINCT FROM #2" - ], - "Estimated Cardinality": "114" + "Projections": "CAST(#0 AS INTEGER)", + "Estimated Cardinality": "0" }, "intermediate_rows": 0, "intermediate_size_bytes": 0, - "timing": 0.0030617780000000002, - "type": "HASH_JOIN", + "timing": 0.0, + "type": "PROJECTION", "children": [ { "extra_info": { - "Projections": "row_number() OVER (PARTITION BY #0, #1 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)", - "Estimated Cardinality": "114" + "Groups": "#0", + "Aggregates": "", + "Estimated Cardinality": "0" }, - "intermediate_rows": 16, - "intermediate_size_bytes": 256, - "timing": 0.0010451850000000001, - "type": "WINDOW", + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.000001693, + "type": "HASH_GROUP_BY", "children": [ { "extra_info": { - "Projections": [ - "#0", - "#1" - ], - "Estimated Cardinality": "114" + "Projections": "value", + "Estimated Cardinality": "0" }, - "intermediate_rows": 16, - "intermediate_size_bytes": 128, - "timing": 0.000004462000000000001, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, "type": "PROJECTION", "children": [ { "extra_info": { - "Join Type": "SEMI", - "Conditions": [ - "#0 IS NOT DISTINCT FROM #0", - "#1 IS NOT DISTINCT FROM #1", - "#2 IS NOT DISTINCT FROM #2" - ], - "Estimated Cardinality": "114" + "Projections": "CAST(#0 AS TINYINT)", + "Estimated Cardinality": "0" }, - "intermediate_rows": 16, - "intermediate_size_bytes": 256, - "timing": 0.004224951, - "type": "HASH_JOIN", + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", "children": [ { "extra_info": { - "Projections": "row_number() OVER (PARTITION BY #0, #1 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)", - "Estimated Cardinality": "114" + "Groups": "#0", + "Aggregates": "", + "Estimated Cardinality": "0" }, - "intermediate_rows": 286, - "intermediate_size_bytes": 4576, - "timing": 0.014421899000000002, - "type": "WINDOW", + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.000001692, + "type": "HASH_GROUP_BY", "children": [ { "extra_info": { - "Table": "\"temp\".main.lineitem", - "Type": "Sequential Scan", - "Projections": [ - "l_suppkey", - "l_partkey" - ], - "Filters": "(l_quantity < 25.00)", - "Estimated Cardinality": "114" + "Join Type": "SEMI", + "Conditions": "#0 IS NOT DISTINCT FROM #0", + "Estimated Cardinality": "0" }, - "intermediate_rows": 286, - "intermediate_size_bytes": 2288, - "row_groups_scanned": 1, - "rows_scanned": 572, - "timing": 0.00007980400000000001, - "total_row_groups_to_scan": 1, - "type": "TABLE_SCAN" + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0000021, + "type": "HASH_JOIN", + "children": [ + { + "extra_info": { + "Projections": "CAST(#0 AS INTEGER)", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Groups": "#0", + "Aggregates": "", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.000001525, + "type": "HASH_GROUP_BY", + "children": [ + { + "extra_info": { + "Projections": "value", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Projections": "CAST(#0 AS TINYINT)", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Groups": "#0", + "Aggregates": "", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.000001614, + "type": "HASH_GROUP_BY", + "children": [ + { + "extra_info": { + "Join Type": "SEMI", + "Conditions": "#0 IS NOT DISTINCT FROM #0", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.000002344, + "type": "HASH_JOIN", + "children": [ + { + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": "a1", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000003785, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + }, + { + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": "b1", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000003801, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": "c1", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000005105, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + } + ] } ] - }, + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "extra_info": { + "Projections": [ + "'intersect-all'", + "value" + ], + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Projections": "#0", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Join Type": "SEMI", + "Conditions": [ + "#0 IS NOT DISTINCT FROM #0", + "#1 IS NOT DISTINCT FROM #1" + ], + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.000002278, + "type": "HASH_JOIN", + "children": [ + { + "extra_info": { + "Projections": "row_number() OVER (PARTITION BY #0 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 7.19e-7, + "type": "WINDOW", + "children": [ + { + "extra_info": { + "Projections": "#0", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ { "extra_info": { - "Projections": "row_number() OVER (PARTITION BY #0, #1 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)", - "Estimated Cardinality": "114" + "Join Type": "SEMI", + "Conditions": [ + "#0 IS NOT DISTINCT FROM #0", + "#1 IS NOT DISTINCT FROM #1" + ], + "Estimated Cardinality": "0" }, - "intermediate_rows": 286, - "intermediate_size_bytes": 4576, - "timing": 0.019459293000000003, - "type": "WINDOW", + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.000002538, + "type": "HASH_JOIN", "children": [ { "extra_info": { - "Table": "\"temp\".main.lineitem", - "Type": "Sequential Scan", - "Projections": [ - "l_suppkey", - "l_partkey" - ], - "Filters": "(l_quantity >= 25.00)", - "Estimated Cardinality": "114" + "Projections": "row_number() OVER (PARTITION BY #0 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 4.08e-7, + "type": "WINDOW", + "children": [ + { + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": "a1", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000003994, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + } + ] + }, + { + "extra_info": { + "Projections": "row_number() OVER (PARTITION BY #0 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)", + "Estimated Cardinality": "0" }, - "intermediate_rows": 286, - "intermediate_size_bytes": 2288, - "row_groups_scanned": 1, - "rows_scanned": 572, - "timing": 0.00003926, - "total_row_groups_to_scan": 1, - "type": "TABLE_SCAN" + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 6.91e-7, + "type": "WINDOW", + "children": [ + { + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": "b1", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000003747, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + } + ] } ] } ] } ] + }, + { + "extra_info": { + "Projections": "row_number() OVER (PARTITION BY #0 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 7.73e-7, + "type": "WINDOW", + "children": [ + { + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": "c1", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000008747, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + } + ] } ] - }, + } + ] + } + ] + }, + { + "extra_info": { + "Projections": [ + "'except'", + "value" + ], + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Projections": "CAST(#0 AS INTEGER)", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ { "extra_info": { - "Projections": "row_number() OVER (PARTITION BY #0, #1 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)", - "Estimated Cardinality": "114" + "Groups": "#0", + "Aggregates": "", + "Estimated Cardinality": "0" }, - "intermediate_rows": 286, - "intermediate_size_bytes": 4576, - "timing": 0.012447436000000001, - "type": "WINDOW", + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 6.45e-7, + "type": "HASH_GROUP_BY", "children": [ { "extra_info": { - "Table": "\"temp\".main.lineitem", - "Type": "Sequential Scan", - "Projections": [ - "l_suppkey", - "l_partkey" - ], - "Filters": "(l_quantity >= 25.00)", - "Estimated Cardinality": "114" + "Projections": "value", + "Estimated Cardinality": "0" }, - "intermediate_rows": 286, - "intermediate_size_bytes": 2288, - "row_groups_scanned": 1, - "rows_scanned": 572, - "timing": 0.000089627, - "total_row_groups_to_scan": 1, - "type": "TABLE_SCAN" + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Projections": "CAST(#0 AS TINYINT)", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Groups": "#0", + "Aggregates": "", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 6.33e-7, + "type": "HASH_GROUP_BY", + "children": [ + { + "extra_info": { + "Join Type": "ANTI", + "Conditions": "#0 IS NOT DISTINCT FROM #0", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.000002486, + "type": "HASH_JOIN", + "children": [ + { + "extra_info": { + "Projections": "CAST(#0 AS INTEGER)", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Groups": "#0", + "Aggregates": "", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 2.2e-7, + "type": "HASH_GROUP_BY", + "children": [ + { + "extra_info": { + "Projections": "value", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Projections": "CAST(#0 AS TINYINT)", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Groups": "#0", + "Aggregates": "", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 7.63e-7, + "type": "HASH_GROUP_BY", + "children": [ + { + "extra_info": { + "Join Type": "ANTI", + "Conditions": "#0 IS NOT DISTINCT FROM #0", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.000002727, + "type": "HASH_JOIN", + "children": [ + { + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": "a1", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000001814, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + }, + { + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": "b1", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000003858, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": "c1", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000004366, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "extra_info": { + "Projections": [ + "'except-all'", + "value" + ], + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Projections": "#0", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Join Type": "ANTI", + "Conditions": [ + "#0 IS NOT DISTINCT FROM #0", + "#1 IS NOT DISTINCT FROM #1" + ], + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0000028099999999999998, + "type": "HASH_JOIN", + "children": [ + { + "extra_info": { + "Projections": "row_number() OVER (PARTITION BY #0 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 4.29e-7, + "type": "WINDOW", + "children": [ + { + "extra_info": { + "Projections": "#0", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Join Type": "ANTI", + "Conditions": [ + "#0 IS NOT DISTINCT FROM #0", + "#1 IS NOT DISTINCT FROM #1" + ], + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.00000243, + "type": "HASH_JOIN", + "children": [ + { + "extra_info": { + "Projections": "row_number() OVER (PARTITION BY #0 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 4.31e-7, + "type": "WINDOW", + "children": [ + { + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": "a1", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000002269, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + } + ] + }, + { + "extra_info": { + "Projections": "row_number() OVER (PARTITION BY #0 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 6.64e-7, + "type": "WINDOW", + "children": [ + { + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": "b1", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000004646, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + } + ] + } + ] + } + ] + } + ] + }, + { + "extra_info": { + "Projections": "row_number() OVER (PARTITION BY #0 ROWS BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING)", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 4.23e-7, + "type": "WINDOW", + "children": [ + { + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": "c1", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000003846, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + } + ] } ] } @@ -238,74 +896,74 @@ } ], "optimizer": { - "aggregate_function_rewriter": 0.000012407, - "aggregate_reuse": 0.0000077, - "build_side_probe_side": 0.000005422, - "column_lifetime": 0.000013528, - "common_aggregate": 0.000001608, - "common_subexpressions": 0.000003339, - "common_subplan": 0.000248007, - "cte_filter_pusher": 0.000001523, - "cte_inlining": 0.000001843, - "deliminator": 0.000002118, - "duplicate_groups": 0.000009708, - "empty_result_pullup": 0.000001711, - "expression_rewriter": 0.000136289, - "filter_pullup": 0.000016118, - "filter_pushdown": 0.000085944, - "grouping_sets": 0.000002323, - "in_clause": 0.000002243, - "join_elimination": 0.000012902, - "join_filter_pushdown": 0.000001917, - "join_order": 0.000173824, - "late_materialization": 0.00000241, - "limit_pushdown": 0.00000149, - "outer_join_simplification": 0.000011657, - "partial_aggregate_pushdown": 0.000004524, - "partitioned_execution": 0.000001346, - "projection_placement": 0.000005682, - "projection_pullup": 0.000012574, - "redundant_order_keys": 0.00002269, - "regex_range": 0.00000143, - "reorder_filter": 0.000002267, - "row_group_pruner": 0.000001409, - "row_number_rewriter": 0.000001327, - "sampling_pushdown": 0.0000011, - "scalar_fn_pushdown": 8.75e-7, - "statistics_propagation": 0.000100122, - "top_n": 0.000001393, - "top_n_window_elimination": 0.000004787, - "total_time": 0.001124055, - "type_pushdown": 0.000001449, - "unnest_rewriter": 0.000002776, - "unused_columns": 0.000050923, - "window_self_join": 0.000001605 + "aggregate_function_rewriter": 0.000018094, + "aggregate_reuse": 0.000022579, + "build_side_probe_side": 0.000012667, + "column_lifetime": 0.000043453, + "common_aggregate": 0.000003994, + "common_subexpressions": 0.000009286, + "common_subplan": 0.000479968, + "cte_filter_pusher": 0.000002681, + "cte_inlining": 0.000004935, + "deliminator": 0.0000035, + "duplicate_groups": 0.000029578, + "empty_result_pullup": 0.000004406, + "expression_rewriter": 0.00028113, + "filter_pullup": 0.000007087, + "filter_pushdown": 0.000157733, + "grouping_sets": 0.000006594, + "in_clause": 0.000005895, + "join_elimination": 0.00012067, + "join_filter_pushdown": 0.000008032, + "join_order": 0.000352961, + "late_materialization": 0.000004379, + "limit_pushdown": 0.000004129, + "outer_join_simplification": 0.000028796, + "partial_aggregate_pushdown": 0.000014347, + "partitioned_execution": 0.000004416, + "projection_placement": 0.000036684, + "projection_pullup": 0.000061843, + "redundant_order_keys": 0.000019087, + "regex_range": 0.000003142, + "reorder_filter": 0.000008391, + "row_group_pruner": 0.000003493, + "row_number_rewriter": 0.000003551, + "sampling_pushdown": 0.000002979, + "scalar_fn_pushdown": 0.000002872, + "statistics_propagation": 0.000311093, + "top_n": 0.000003188, + "top_n_window_elimination": 0.000008018, + "total_time": 0.002380342, + "type_pushdown": 0.000004611, + "unnest_rewriter": 0.000006173, + "unused_columns": 0.000075345, + "window_self_join": 0.000003039 }, "physical_planner": { - "column_binding": 0.00001023, - "create_plan": 0.000102792, - "resolve_types": 0.000001535, - "total_time": 0.000128869 + "column_binding": 0.000028188, + "create_plan": 0.000245644, + "resolve_types": 0.000004792, + "total_time": 0.000307961 }, "planner": { - "binding_time": 0.000538497, - "total_time": 0.000756636 + "binding_time": 0.001082552, + "total_time": 0.001502325 }, "query": { - "cpu_time": 0.054937811, - "sql": "EXPLAIN (ANALYZE, FORMAT JSON)\nSELECT l_orderkey, l_partkey FROM lineitem\nUNION ALL\nSELECT l_orderkey, l_suppkey FROM lineitem\nUNION ALL\n(\n SELECT l_suppkey, l_partkey FROM lineitem\n WHERE l_quantity < 25\n INTERSECT ALL\n SELECT l_suppkey, l_partkey FROM lineitem\n WHERE l_quantity >= 25\n EXCEPT ALL\n SELECT l_suppkey, l_partkey FROM lineitem\n WHERE l_quantity >= 25\n)", - "total_intermediate_rows": 2908, - "total_intermediate_size_bytes": 30384, - "total_row_groups_scanned": 5, - "total_row_groups_to_scan": 5, - "total_rows_scanned": 2860, - "total_time": 0.008495981 + "cpu_time": 0.00009518100000000002, + "sql": "EXPLAIN (ANALYZE, FORMAT JSON)\nSELECT 'union' AS operation, value\nFROM (\n SELECT a1 AS value FROM t1 WHERE a1 < 10\n UNION\n SELECT b1 FROM t1 WHERE b1 < 10\n UNION\n SELECT c1 FROM t1 WHERE c1 < 10\n) u\nUNION ALL\nSELECT 'union-all', value\nFROM (\n SELECT a1 AS value FROM t1 WHERE a1 >= 10\n UNION ALL\n SELECT b1 FROM t1 WHERE b1 >= 10\n UNION ALL\n SELECT c1 FROM t1 WHERE c1 >= 10\n) ua\nUNION ALL\nSELECT 'intersect', value\nFROM (\n SELECT a1 AS value FROM t1\n INTERSECT\n SELECT b1 FROM t1\n INTERSECT\n SELECT c1 FROM t1\n) i\nUNION ALL\nSELECT 'intersect-all', value\nFROM (\n SELECT a1 AS value FROM t1\n INTERSECT ALL\n SELECT b1 FROM t1\n INTERSECT ALL\n SELECT c1 FROM t1\n) ia\nUNION ALL\nSELECT 'except', value\nFROM (\n SELECT a1 AS value FROM t1\n EXCEPT\n SELECT b1 FROM t1\n EXCEPT\n SELECT c1 FROM t1\n) e\nUNION ALL\nSELECT 'except-all', value\nFROM (\n SELECT a1 AS value FROM t1\n EXCEPT ALL\n SELECT b1 FROM t1\n EXCEPT ALL\n SELECT c1 FROM t1\n) ea", + "total_intermediate_rows": 0, + "total_intermediate_size_bytes": 0, + "total_row_groups_scanned": 0, + "total_row_groups_to_scan": 0, + "total_rows_scanned": 0, + "total_time": 0.006569997 }, "system": { - "blocked_thread_time": 0.00209, - "peak_buffer_memory": 81329376, + "blocked_thread_time": 0.0006929999999999999, + "peak_buffer_memory": 2340624, "peak_streaming_buffer_size": 0, "peak_temp_dir_size": 0, - "total_memory_allocated": 109314048 + "total_memory_allocated": 0 } } \ No newline at end of file diff --git a/standalone-app/examples/duckdb/subquery-analyze.plan.json b/standalone-app/examples/duckdb/subquery-analyze.plan.json new file mode 100644 index 00000000..4b9b954a --- /dev/null +++ b/standalone-app/examples/duckdb/subquery-analyze.plan.json @@ -0,0 +1,193 @@ +{ + "io": { + "total_bytes_read": 0, + "total_bytes_written": 0 + }, + "operator": [ + { + "extra_info": {}, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "RESULT_COLLECTOR", + "children": [ + { + "extra_info": {}, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "EXPLAIN_ANALYZE", + "children": [ + { + "extra_info": { + "Projections": [ + "a1", + "matching_b" + ], + "Estimated Cardinality": "1" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": {}, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.000001467, + "type": "CROSS_PRODUCT", + "children": [ + { + "extra_info": { + "Projections": [ + "CASE WHEN ((#1 > 1)) THEN (\"error\"('More than one row returned by a subquery used as an expression - scalar subqueries can only return a single row.", + "Use \"SET scalar_subquery_error_on_multiple_rows=false\" to revert to previous behavior of returning a random row.')) ELSE #0 END" + ], + "Estimated Cardinality": "1" + }, + "intermediate_rows": 1, + "intermediate_size_bytes": 260, + "timing": 0.000533324, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Aggregates": [ + "\"first\"(#0)", + "count_star()" + ], + "Estimated Cardinality": "1" + }, + "intermediate_rows": 1, + "intermediate_size_bytes": 268, + "timing": 0.000006337, + "type": "UNGROUPED_AGGREGATE", + "children": [ + { + "extra_info": { + "Projections": "#0", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Table": "\"temp\".main.t2", + "Type": "Sequential Scan", + "Projections": "b2", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000004166, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + } + ] + } + ] + } + ] + }, + { + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": "a1", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000002757, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + } + ] + } + ] + } + ] + } + ] + } + ], + "optimizer": { + "aggregate_function_rewriter": 0.000010182, + "aggregate_reuse": 0.000005007, + "build_side_probe_side": 0.000006577, + "column_lifetime": 0.000007283, + "common_aggregate": 0.000002449, + "common_subexpressions": 0.000007927, + "common_subplan": 0.000062558, + "cte_filter_pusher": 7.17e-7, + "cte_inlining": 7.31e-7, + "deliminator": 0.000001283, + "duplicate_groups": 0.00000383, + "empty_result_pullup": 6.84e-7, + "expression_rewriter": 0.00005142, + "filter_pullup": 0.000001338, + "filter_pushdown": 0.000014044, + "grouping_sets": 0.000001525, + "in_clause": 0.000001521, + "join_elimination": 0.000005977, + "join_filter_pushdown": 0.000001378, + "join_order": 0.000104457, + "late_materialization": 0.000001159, + "limit_pushdown": 5.59e-7, + "outer_join_simplification": 0.000005718, + "partial_aggregate_pushdown": 0.00000297, + "partitioned_execution": 8.32e-7, + "projection_placement": 0.000002877, + "projection_pullup": 0.000010644, + "redundant_order_keys": 0.000002178, + "regex_range": 6.27e-7, + "reorder_filter": 0.000001479, + "row_group_pruner": 6.37e-7, + "row_number_rewriter": 6.43e-7, + "sampling_pushdown": 5.03e-7, + "scalar_fn_pushdown": 4.25e-7, + "statistics_propagation": 0.000019986, + "top_n": 6.21e-7, + "top_n_window_elimination": 0.000002927, + "total_time": 0.000458255, + "type_pushdown": 7.29e-7, + "unnest_rewriter": 0.000001134, + "unused_columns": 0.0000127, + "window_self_join": 7.42e-7 + }, + "physical_planner": { + "column_binding": 0.000005416, + "create_plan": 0.00001817, + "resolve_types": 5.93e-7, + "total_time": 0.00003043 + }, + "planner": { + "binding_time": 0.000642249, + "total_time": 0.00074245 + }, + "query": { + "cpu_time": 0.000548051, + "sql": "EXPLAIN (ANALYZE, FORMAT JSON)\nSELECT t1.a1,\n (SELECT t2.b2 FROM t2) AS matching_b\nFROM t1", + "total_intermediate_rows": 2, + "total_intermediate_size_bytes": 528, + "total_row_groups_scanned": 0, + "total_row_groups_to_scan": 0, + "total_rows_scanned": 0, + "total_time": 0.002123287 + }, + "system": { + "blocked_thread_time": 0.00009900000000000001, + "peak_buffer_memory": 2455312, + "peak_streaming_buffer_size": 0, + "peak_temp_dir_size": 0, + "total_memory_allocated": 262144 + } +} \ No newline at end of file diff --git a/standalone-app/examples/duckdb/subquery-correlated-analyze.plan.json b/standalone-app/examples/duckdb/subquery-correlated-analyze.plan.json new file mode 100644 index 00000000..23d0b229 --- /dev/null +++ b/standalone-app/examples/duckdb/subquery-correlated-analyze.plan.json @@ -0,0 +1,158 @@ +{ + "io": { + "total_bytes_read": 0, + "total_bytes_written": 0 + }, + "operator": [ + { + "extra_info": {}, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "RESULT_COLLECTOR", + "children": [ + { + "extra_info": {}, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "EXPLAIN_ANALYZE", + "children": [ + { + "extra_info": { + "Join Type": "SINGLE", + "Conditions": "a1 IS NOT DISTINCT FROM a1", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.00000184, + "type": "HASH_JOIN", + "children": [ + { + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": "a1", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000004352, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + }, + { + "extra_info": { + "Projections": [ + "b2", + "a1" + ], + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "PROJECTION", + "children": [ + { + "extra_info": { + "Table": "\"temp\".main.t2", + "Type": "Sequential Scan", + "Projections": [ + "a2", + "b2" + ], + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000002714, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + } + ] + } + ] + } + ] + } + ] + } + ], + "optimizer": { + "aggregate_function_rewriter": 0.000006677, + "aggregate_reuse": 0.000004419, + "build_side_probe_side": 0.000002819, + "column_lifetime": 0.000009216, + "common_aggregate": 0.000001096, + "common_subexpressions": 0.000001827, + "common_subplan": 0.000054917, + "cte_filter_pusher": 7.34e-7, + "cte_inlining": 7.71e-7, + "deliminator": 0.000017526, + "duplicate_groups": 0.000003161, + "empty_result_pullup": 8.73e-7, + "expression_rewriter": 0.000015492, + "filter_pullup": 0.000001442, + "filter_pushdown": 0.000259905, + "grouping_sets": 0.000001753, + "in_clause": 0.000001083, + "join_elimination": 0.000004155, + "join_filter_pushdown": 0.000001249, + "join_order": 0.000044955, + "late_materialization": 0.000001313, + "limit_pushdown": 5.4e-7, + "outer_join_simplification": 0.000004097, + "partial_aggregate_pushdown": 0.000002336, + "partitioned_execution": 5.87e-7, + "projection_placement": 0.000002353, + "projection_pullup": 0.000003577, + "redundant_order_keys": 0.000003087, + "regex_range": 5.83e-7, + "reorder_filter": 0.000001243, + "row_group_pruner": 5.61e-7, + "row_number_rewriter": 6.6e-7, + "sampling_pushdown": 4.2e-7, + "scalar_fn_pushdown": 4.06e-7, + "statistics_propagation": 0.000021433, + "top_n": 5.11e-7, + "top_n_window_elimination": 0.000003007, + "total_time": 0.000588199, + "type_pushdown": 7.4e-7, + "unnest_rewriter": 0.000001072, + "unused_columns": 0.000028469, + "window_self_join": 7.49e-7 + }, + "physical_planner": { + "column_binding": 0.000006338, + "create_plan": 0.000017816, + "resolve_types": 7.88e-7, + "total_time": 0.000030913 + }, + "planner": { + "binding_time": 0.000182051, + "total_time": 0.000314209 + }, + "query": { + "cpu_time": 0.000008906, + "sql": "EXPLAIN (ANALYZE, FORMAT JSON)\nSELECT t1.a1,\n (SELECT t2.b2 FROM t2 WHERE t2.a2 = t1.a1) AS matching_b\nFROM t1", + "total_intermediate_rows": 0, + "total_intermediate_size_bytes": 0, + "total_row_groups_scanned": 0, + "total_row_groups_to_scan": 0, + "total_rows_scanned": 0, + "total_time": 0.001492035 + }, + "system": { + "blocked_thread_time": 0.00032, + "peak_buffer_memory": 2193168, + "peak_streaming_buffer_size": 0, + "peak_temp_dir_size": 0, + "total_memory_allocated": 0 + } +} \ No newline at end of file diff --git a/standalone-app/examples/duckdb/tablesample-analyze.plan.json b/standalone-app/examples/duckdb/tablesample-analyze.plan.json new file mode 100644 index 00000000..87804606 --- /dev/null +++ b/standalone-app/examples/duckdb/tablesample-analyze.plan.json @@ -0,0 +1,117 @@ +{ + "io": { + "total_bytes_read": 0, + "total_bytes_written": 0 + }, + "operator": [ + { + "extra_info": {}, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "RESULT_COLLECTOR", + "children": [ + { + "extra_info": {}, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "timing": 0.0, + "type": "EXPLAIN_ANALYZE", + "children": [ + { + "extra_info": { + "Table": "\"temp\".main.t1", + "Type": "Sequential Scan", + "Projections": [ + "a1", + "b1", + "c1" + ], + "Sample Method": "System: 50 rows", + "Estimated Cardinality": "0" + }, + "intermediate_rows": 0, + "intermediate_size_bytes": 0, + "row_groups_scanned": 0, + "rows_scanned": 0, + "timing": 0.000002051, + "total_row_groups_to_scan": 0, + "type": "TABLE_SCAN" + } + ] + } + ] + } + ], + "optimizer": { + "aggregate_function_rewriter": 0.000005354, + "aggregate_reuse": 0.00000224, + "build_side_probe_side": 0.000001823, + "column_lifetime": 0.000002531, + "common_aggregate": 4.37e-7, + "common_subexpressions": 8.96e-7, + "common_subplan": 0.000012333, + "cte_filter_pusher": 4.75e-7, + "cte_inlining": 4.49e-7, + "deliminator": 8.47e-7, + "duplicate_groups": 0.000001332, + "empty_result_pullup": 4.67e-7, + "expression_rewriter": 0.000006879, + "filter_pullup": 7.95e-7, + "filter_pushdown": 0.000004188, + "grouping_sets": 4.69e-7, + "in_clause": 5.71e-7, + "join_elimination": 0.000001436, + "join_filter_pushdown": 5.02e-7, + "join_order": 0.000003582, + "late_materialization": 8.6e-7, + "limit_pushdown": 3.05e-7, + "outer_join_simplification": 0.000002953, + "partial_aggregate_pushdown": 0.00000119, + "partitioned_execution": 7.03e-7, + "projection_placement": 0.000001444, + "projection_pullup": 0.000002278, + "redundant_order_keys": 0.000001881, + "regex_range": 4.35e-7, + "reorder_filter": 4.93e-7, + "row_group_pruner": 3.47e-7, + "row_number_rewriter": 4.29e-7, + "sampling_pushdown": 0.000002172, + "scalar_fn_pushdown": 2.63e-7, + "statistics_propagation": 0.000007644, + "top_n": 6.55e-7, + "top_n_window_elimination": 0.000002071, + "total_time": 0.000149313, + "type_pushdown": 3.64e-7, + "unnest_rewriter": 7.03e-7, + "unused_columns": 0.000007122, + "window_self_join": 4.6e-7 + }, + "physical_planner": { + "column_binding": 0.000002226, + "create_plan": 0.000007892, + "resolve_types": 3.83e-7, + "total_time": 0.000014492 + }, + "planner": { + "binding_time": 0.000057725, + "total_time": 0.00012032 + }, + "query": { + "cpu_time": 0.000002051, + "sql": "EXPLAIN (ANALYZE, FORMAT JSON)\nSELECT a1, b1, c1\nFROM t1 TABLESAMPLE SYSTEM (50)\nREPEATABLE (1)", + "total_intermediate_rows": 0, + "total_intermediate_size_bytes": 0, + "total_row_groups_scanned": 0, + "total_row_groups_to_scan": 0, + "total_rows_scanned": 0, + "total_time": 0.000390412 + }, + "system": { + "blocked_thread_time": 0.0, + "peak_buffer_memory": 2160400, + "peak_streaming_buffer_size": 0, + "peak_temp_dir_size": 0, + "total_memory_allocated": 0 + } +} \ No newline at end of file diff --git a/standalone-app/examples/hyper/cte-analyze.plan.json b/standalone-app/examples/hyper/cte-analyze.plan.json index adfad6a7..50ddc7c5 100644 --- a/standalone-app/examples/hyper/cte-analyze.plan.json +++ b/standalone-app/examples/hyper/cte-analyze.plan.json @@ -2,66 +2,110 @@ "tree": { "operator": "result-sink", "operator-id": 1, - "estimated-rows": 256, + "estimated-rows": 128, "produces-rows": true, - "output": [{"expression": "iu-ref", "iu": ["union", ["Integer"]]}, {"expression": "iu-ref", "iu": ["union2", ["BigNumeric", 38, 2]]}, {"expression": "iu-ref", "iu": ["union3", ["Numeric", 16, 6]]}], - "output-names": ["l_orderkey", "sum", "avg"], + "output": [{"expression": "iu-ref", "sqlpos": [[660, 670]], "iu": ["union", ["Integer"]]}, {"expression": "iu-ref", "sqlpos": [[674, 682]], "iu": ["union2", ["BigNumeric", 38, 2]]}, {"expression": "iu-ref", "sqlpos": [[686, 691]], "iu": ["avg", ["Numeric", 16, 6]]}], + "output-names": ["l_orderkey", "quantity", "price"], "inputs": [{ - "operator": "union-all", + "operator": "join", "operator-id": 2, - "sqlpos": [[165, 174]], - "estimated-rows": 256, + "type": "inner", + "estimated-rows": 128, + "method": "hash", + "single-match": true, "inputs": [{ "operator": "explicit-scan", "operator-id": 3, "estimated-rows": 128, - "mapping": [{"source": {"expression": "iu-ref", "iu": ["GroupByKey", ["Integer"]]}, "target": ["GroupByKey2", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["avg", ["Numeric", 16, 6]]}, "target": ["avg2", ["Numeric", 16, 6]]}, {"source": {"expression": "iu-ref", "iu": ["sum", ["BigNumeric", 38, 2]]}, "target": ["sum2", ["BigNumeric", 38, 2]]}], + "mapping": [{"source": {"expression": "iu-ref", "iu": ["GroupByKey", ["Integer"]]}, "target": ["GroupByKey2", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["avg2", ["Numeric", 16, 6]]}, "target": ["avg", ["Numeric", 16, 6]]}, {"source": {"expression": "iu-ref", "iu": ["sum", ["BigNumeric", 38, 2]]}, "target": ["sum2", ["BigNumeric", 38, 2]]}], "input": { "operator": "group-by", "operator-id": 4, - "sqlpos": [[67, 70], [84, 87], [125, 133]], + "sqlpos": [[238, 241], [267, 270], [319, 327]], "estimated-rows": 128, "inputs": [{ "operator": "scan", "operator-id": 5, "type": "native", - "sqlpos": [[113, 121]], - "estimated-rows": 572, + "sqlpos": [[121, 129]], + "estimated-rows": 560, "volatility": "stable", "relation-id": 7, "schema": {"type":"sessionschema"}, "attribute-count": 16, "attributes": [{"col-id": 0, "name": "l_orderkey", "type": ["Integer"], "iu": ["scan_orderkey", ["Integer"]]},{"col-id": 4, "name": "l_quantity", "type": ["Numeric", 12, 2], "iu": ["scan_quantity", ["Numeric", 12, 2]]},{"col-id": 5, "name": "l_extendedprice", "type": ["Numeric", 12, 2], "iu": ["scan_extended", ["Numeric", 12, 2]]}], "debug-name": {"classification": "nonsensitive", "value": "lineitem"}, - "selectivity": 1, - "statistics": {"column-count": 3, "output-rows": 572, "processed-rows": 572} + "restrictions": [{"attribute": 4, "mode": ">", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 100}}}], + "selectivity": 0.979021, + "statistics": {"column-count": 3, "output-rows": 560, "processed-rows": 572} }], - "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[134, 144]], "iu": "scan_orderkey"}}, "iu": ["GroupByKey", ["Integer"]]}], + "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[328, 338]], "iu": "scan_orderkey"}}, "iu": ["GroupByKey", ["Integer"]]}], "grouping-sets": [{"key-indices": [0], "core-indices": [0], "behavior": "regular"}], "empty-groups": false, - "agg-expressions": [{"value": {"expression": "iu-ref", "sqlpos": [[71, 81]], "iu": "scan_quantity"}}, {"value": {"expression": "iu-ref", "sqlpos": [[88, 103]], "iu": "scan_extended"}}], - "aggregates": [{"source": 1, "operation": {"aggregate": "avg"}, "iu": ["avg", ["Numeric", 16, 6]]}, {"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 2]]}], + "agg-expressions": [{"value": {"expression": "iu-ref", "sqlpos": [[242, 252]], "iu": "scan_quantity"}}, {"value": {"expression": "iu-ref", "sqlpos": [[271, 286]], "iu": "scan_extended"}}], + "aggregates": [{"source": 1, "operation": {"aggregate": "avg"}, "iu": ["avg2", ["Numeric", 16, 6]]}, {"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 2]]}], "statistics": {"column-count": 3, "memory-bytes": 18552, "output-rows": 0} }, - "statistics": {"column-count": 3, "output-rows": 128} + "statistics": {"column-count": 2, "output-rows": 128} }, { - "operator": "explicit-scan", + "operator": "union-all", "operator-id": 6, + "sqlpos": [[595, 604]], "estimated-rows": 128, - "mapping": [{"source": {"expression": "iu-ref", "iu": "GroupByKey"}, "target": ["GroupByKey3", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": "avg"}, "target": ["avg3", ["Numeric", 16, 6]]}, {"source": {"expression": "iu-ref", "iu": "sum"}, "target": ["sum3", ["BigNumeric", 38, 2]]}], - "input": 4, - "statistics": {"column-count": 3, "output-rows": 128} + "inputs": [{ + "operator": "explicit-scan", + "operator-id": 7, + "sqlpos": [[584, 590]], + "estimated-rows": 64, + "mapping": [{"source": {"expression": "iu-ref", "iu": ["GroupByKey3", ["Integer"]]}, "target": ["GroupByKey4", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["sum3", ["BigNumeric", 38, 2]]}, "target": ["sum4", ["BigNumeric", 38, 2]]}], + "input": { + "operator": "share", + "operator-id": 8, + "sqlpos": [[342, 348]], + "estimated-rows": 64, + "inputs": [{ + "operator": "filter", + "operator-id": 9, + "sqlpos": [[449, 454]], + "estimated-rows": 64, + "inputs": [{ + "operator": "explicit-scan", + "operator-id": 10, + "estimated-rows": 128, + "mapping": [{"source": {"expression": "iu-ref", "iu": "GroupByKey"}, "target": ["GroupByKey3", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": "avg2"}, "target": ["avg3", ["Numeric", 16, 6]]}, {"source": {"expression": "iu-ref", "iu": "sum"}, "target": ["sum3", ["BigNumeric", 38, 2]]}], + "input": 4, + "statistics": {"column-count": 2, "output-rows": 128} + }], + "condition": {"expression": "comparison", "sqlpos": [[464, 465]], "mode": ">", "left": {"expression": "iu-ref", "sqlpos": [[455, 463]], "iu": "sum3"}, "right": {"expression": "const", "value": {"type": ["BigNumeric", 38, 2], "low": 1000, "high": 0}}}, + "statistics": {"column-count": 2, "output-rows": 125} + }], + "strategy": "fork", + "statistics": {"column-count": 2, "output-rows": 0} + }, + "statistics": {"column-count": 2, "output-rows": 125} + }, { + "operator": "explicit-scan", + "operator-id": 11, + "sqlpos": [[642, 648]], + "estimated-rows": 64, + "mapping": [{"source": {"expression": "iu-ref", "iu": "GroupByKey3"}, "target": ["GroupByKey5", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": "sum3"}, "target": ["sum5", ["BigNumeric", 38, 2]]}], + "input": 8, + "statistics": {"column-count": 2, "output-rows": 125} + }], + "ius": [["union", ["Integer"]], ["union2", ["BigNumeric", 38, 2]]], + "values": [[{"expression": "iu-ref", "iu": "GroupByKey4"}, {"expression": "iu-ref", "iu": "sum4"}], [{"expression": "iu-ref", "iu": "GroupByKey5"}, {"expression": "iu-ref", "iu": "sum5"}]], + "collates": [null, null], + "statistics": {"column-count": 2, "output-rows": 250} }], - "ius": [["union", ["Integer"]], ["union2", ["BigNumeric", 38, 2]], ["union3", ["Numeric", 16, 6]]], - "values": [[{"expression": "iu-ref", "iu": "GroupByKey2"}, {"expression": "iu-ref", "iu": "sum2"}, {"expression": "iu-ref", "iu": "avg2"}], [{"expression": "iu-ref", "iu": "GroupByKey3"}, {"expression": "iu-ref", "iu": "sum3"}, {"expression": "iu-ref", "iu": "avg3"}]], - "collates": [null, null, null], - "statistics": {"column-count": 3, "output-rows": 256} + "condition": {"expression": "comparison", "sqlpos": [[737, 738]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[726, 736]], "iu": "GroupByKey2"}, "right": {"expression": "iu-ref", "sqlpos": [[741, 751]], "iu": "union"}}, + "predicates": [{"left": {"expression": "iu-ref", "sqlpos": [[726, 736]], "iu": "GroupByKey2"}, "right": {"expression": "iu-ref", "sqlpos": [[741, 751]], "iu": "union"}, "comparison": "="}], + "statistics": {"column-count": 3, "memory-bytes": 18552, "output-rows": 250} }], "statistics": {"error": null, "column-count": 0} }, "pipelines": [ - {"id": 1, "operators": [1, 2, 3], "dependencies": [3], "statistics": {"cpu-cycles": 54329, "query-metrics": {"elapsed":2.0385e-05,"memory-mb-seconds":1.0192e-05,"instance-seconds":2.0385e-05,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":2.0385e-05,"cpu-time":2.0418e-05,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 3, "operators": [4, 5], "dependencies": [], "statistics": {"cpu-cycles": 116183, "query-metrics": {"elapsed":4.4888e-05,"memory-mb-seconds":2.2444e-05,"instance-seconds":4.4888e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":4.4888e-05,"cpu-time":4.4896e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":572}},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 4, "operators": [1, 2, 6], "dependencies": [3], "statistics": {"cpu-cycles": 43950, "query-metrics": {"elapsed":1.6013e-05,"memory-mb-seconds":8.006e-06,"instance-seconds":1.6013e-05,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.6013e-05,"cpu-time":1.6021e-05,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}} + {"id": 1, "operators": [2, 3], "dependencies": [3], "statistics": {"cpu-cycles": 81845, "query-metrics": {"elapsed":4.3772e-05,"memory-mb-seconds":2.1886e-05,"instance-seconds":4.3772e-05,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":4.3772e-05,"cpu-time":4.3905e-05,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 3, "operators": [4, 5], "dependencies": [], "statistics": {"cpu-cycles": 228920, "query-metrics": {"elapsed":9.8727e-05,"memory-mb-seconds":4.9363e-05,"instance-seconds":9.8727e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":9.8727e-05,"cpu-time":9.856e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":560}},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 6, "operators": [1, 2, 6, 7, 8, 9, 10, 11], "dependencies": [1, 3], "statistics": {"cpu-cycles": 286788, "query-metrics": {"elapsed":0.00011641,"memory-mb-seconds":5.8205e-05,"instance-seconds":0.00011641,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":0.00011641,"cpu-time":0.000116604,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}} ] } diff --git a/standalone-app/examples/hyper/cte-recursive-analyze.plan.json b/standalone-app/examples/hyper/cte-recursive-analyze.plan.json index 0eff4f7d..68e57bd7 100644 --- a/standalone-app/examples/hyper/cte-recursive-analyze.plan.json +++ b/standalone-app/examples/hyper/cte-recursive-analyze.plan.json @@ -45,7 +45,7 @@ "condition": {"expression": "comparison", "sqlpos": [[119, 120]], "mode": "<", "left": {"expression": "iu-ref", "sqlpos": [[117, 118]], "iu": "map_increment"}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 10}}}, "statistics": {"column-count": 1, "output-rows": 9} }], - "values": [{"iu": ["map3", ["Integer"]], "value": {"expression": "add", "left": {"expression": "iu-ref", "sqlpos": [[98, 99]], "iu": "map_increment"}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 1}}}}], + "values": [{"iu": ["map3", ["Integer"]], "value": {"expression": "add", "sqlpos": [[100, 101]], "left": {"expression": "iu-ref", "sqlpos": [[98, 99]], "iu": "map_increment"}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 1}}}}], "statistics": {"column-count": 1, "output-rows": 9} }], "collates": [null], diff --git a/standalone-app/examples/hyper/dml/delete-using.plan.json b/standalone-app/examples/hyper/dml/delete-using.plan.json new file mode 100644 index 00000000..80f93924 --- /dev/null +++ b/standalone-app/examples/hyper/dml/delete-using.plan.json @@ -0,0 +1,68 @@ +{ + "tree": { + "operator": "result-sink", + "operator-id": 1, + "estimated-rows": 2000, + "produces-rows": true, + "output": [{"expression": "iu-ref", "sqlpos": [[83, 85]], "iu": ["scan_a2", ["Integer"]]}, {"expression": "iu-ref", "sqlpos": [[90, 92]], "iu": ["scan_b2", ["Integer"]]}], + "output-names": ["a2", "b2"], + "inputs": [{ + "operator": "delete", + "operator-id": 2, + "sqlpos": [[26, 32]], + "estimated-rows": 2000, + "volatility": "volatile", + "relation-id": 1, + "schema": {"type":"sessionschema"}, + "from": "t2", + "tid": {"expression": "iu-ref", "iu": ["scan_tid", ["BigInt"]]}, + "inputs": [{ + "operator": "join", + "operator-id": 3, + "type": "right-semi", + "estimated-rows": 2000, + "method": "hash", + "compute-left-bounds": [0], + "filter-join-iu": "scan_a2", + "inputs": [{ + "operator": "scan", + "operator-id": 4, + "type": "native", + "sqlpos": [[47, 49]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "might-scan-domain": true, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a1", "type": ["Integer"], "iu": ["scan_a1", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1 + }, { + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[38, 40]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 1, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a2", "type": ["Integer"], "iu": ["scan_a2", ["Integer"]]},{"col-id": 1, "name": "b2", "type": ["Integer"], "iu": ["scan_b2", ["Integer"]]}], + "system-values": {"ctid": ["scan_tid", ["BigInt"]]}, + "debug-name": {"classification": "nonsensitive", "value": "t2"}, + "early-probes": [{"builder-id": 3, "attributes": [0], "num-equality-predicates": 1, "selectivities": [1], "type": "exact-probe", "pass-on-nulls": false}], + "selectivity": 1 + }], + "early-probed-by": [5], + "condition": {"expression": "comparison", "sqlpos": [[62, 63]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[59, 61]], "iu": "scan_a2"}, "right": {"expression": "iu-ref", "sqlpos": [[67, 69]], "iu": "scan_a1"}}, + "predicates": [{"left": {"expression": "iu-ref", "sqlpos": [[67, 69]], "iu": "scan_a1"}, "right": {"expression": "iu-ref", "sqlpos": [[59, 61]], "iu": "scan_a2"}, "comparison": "="}] + }] + }] + }, + "pipelines": [ + {"id": 0, "operators": [1, 2], "dependencies": [1]}, + {"id": 1, "operators": [2, 3, 5], "dependencies": [2]}, + {"id": 2, "operators": [3, 4], "dependencies": []} + ] +} diff --git a/standalone-app/examples/hyper/dml/delete.plan.json b/standalone-app/examples/hyper/dml/delete.plan.json new file mode 100644 index 00000000..89f820ec --- /dev/null +++ b/standalone-app/examples/hyper/dml/delete.plan.json @@ -0,0 +1,41 @@ +{ + "tree": { + "operator": "result-sink", + "operator-id": 1, + "estimated-rows": 1000, + "produces-rows": true, + "output": [{"expression": "iu-ref", "sqlpos": [[65, 67]], "iu": ["scan_a2", ["Integer"]]}, {"expression": "iu-ref", "sqlpos": [[69, 71]], "iu": ["scan_b2", ["Integer"]]}], + "output-names": ["a2", "b2"], + "inputs": [{ + "operator": "delete", + "operator-id": 2, + "sqlpos": [[26, 32]], + "estimated-rows": 1000, + "volatility": "volatile", + "relation-id": 1, + "schema": {"type":"sessionschema"}, + "from": "t2", + "tid": {"expression": "iu-ref", "iu": ["scan_tid", ["BigInt"]]}, + "inputs": [{ + "operator": "scan", + "operator-id": 3, + "type": "native", + "sqlpos": [[38, 40]], + "estimated-rows": 1000, + "volatility": "stable", + "relation-id": 1, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a2", "type": ["Integer"], "iu": ["scan_a2", ["Integer"]]},{"col-id": 1, "name": "b2", "type": ["Integer"], "iu": ["scan_b2", ["Integer"]]}], + "system-values": {"ctid": ["scan_tid", ["BigInt"]]}, + "debug-name": {"classification": "nonsensitive", "value": "t2"}, + "restrictions": [{"attribute": 0, "mode": "<", "selectivity": 0.5, "value": {"expression": "const", "value": {"type": ["Integer"], "value": 10}}}], + "selectivity": 0.5 + }] + }] + }, + "pipelines": [ + {"id": 0, "operators": [1, 2], "dependencies": [1]}, + {"id": 1, "operators": [2, 3], "dependencies": []} + ] +} diff --git a/standalone-app/examples/hyper/dml/insert.plan.json b/standalone-app/examples/hyper/dml/insert.plan.json new file mode 100644 index 00000000..cf07c6f5 --- /dev/null +++ b/standalone-app/examples/hyper/dml/insert.plan.json @@ -0,0 +1,43 @@ +{ + "tree": { + "operator": "result-sink", + "operator-id": 1, + "estimated-rows": 2000, + "produces-rows": true, + "output": [{"expression": "iu-ref", "sqlpos": [[90, 92]], "iu": ["cast", ["Integer", "nullable"]]}, {"expression": "iu-ref", "sqlpos": [[94, 96]], "iu": ["cast2", ["Integer", "nullable"]]}, {"expression": "iu-ref", "sqlpos": [[98, 100]], "iu": ["cast3", ["Integer", "nullable"]]}], + "output-names": ["a2", "b2", "c2"], + "inputs": [{ + "operator": "insert", + "operator-id": 2, + "type": "native", + "sqlpos": [[26, 32]], + "estimated-rows": 2000, + "volatility": "volatile", + "relation-id": 1, + "schema": {"type":"sessionschema"}, + "output": [["cast", ["Integer", "nullable"]], ["cast2", ["Integer", "nullable"]], ["cast3", ["Integer", "nullable"]]], + "values": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_a1", ["Integer"]]}, "type": ["Integer", "nullable"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_b1", ["Integer"]]}, "type": ["Integer", "nullable"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_c1", ["Integer"]]}, "type": ["Integer", "nullable"], "error-handling": "trap"}], + "inputs": [{ + "operator": "scan", + "operator-id": 3, + "type": "native", + "sqlpos": [[77, 79]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a1", "type": ["Integer"], "iu": ["scan_a1", ["Integer"]]},{"col-id": 1, "name": "b1", "type": ["Integer"], "iu": ["scan_b1", ["Integer"]]},{"col-id": 2, "name": "c1", "type": ["Integer"], "iu": ["scan_c1", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1 + }], + "tid": ["tid", ["Numeric", 18]], + "table-oid": ["tableOid", ["RegClass"]], + "tuple-flags": ["tupleFlags", ["BigInt"]], + "bulk-insert": false + }] + }, + "pipelines": [ + {"id": 0, "operators": [1, 2, 3], "dependencies": []} + ] +} diff --git a/standalone-app/examples/hyper/dml/update-from.plan.json b/standalone-app/examples/hyper/dml/update-from.plan.json new file mode 100644 index 00000000..2fd877f3 --- /dev/null +++ b/standalone-app/examples/hyper/dml/update-from.plan.json @@ -0,0 +1,63 @@ +{ + "tree": { + "operator": "result-sink", + "operator-id": 1, + "estimated-rows": 40000, + "produces-rows": true, + "output": [{"expression": "iu-ref", "sqlpos": [[112, 114]], "iu": ["cast", ["Integer", "nullable"]]}, {"expression": "iu-ref", "sqlpos": [[119, 121]], "iu": ["cast2", ["Integer", "nullable"]]}], + "output-names": ["a2", "b2"], + "inputs": [{ + "operator": "update", + "operator-id": 2, + "sqlpos": [[26, 32]], + "estimated-rows": 40000, + "volatility": "volatile", + "relation-id": 1, + "values": [{"attribute": 0, "value": {"expression": "cast", "value": {"expression": "add", "sqlpos": [[51, 52]], "left": {"expression": "iu-ref", "sqlpos": [[48, 50]], "iu": ["scan_a1", ["Integer"]]}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 1}}}, "type": ["Integer", "nullable"], "error-handling": "trap"}, "result": ["cast", ["Integer", "nullable"]]}, {"attribute": 1, "value": {"expression": "cast", "value": {"expression": "iu-ref", "sqlpos": [[68, 70]], "iu": ["scan_b1", ["Integer"]]}, "type": ["Integer", "nullable"], "error-handling": "trap"}, "result": ["cast2", ["Integer", "nullable"]]}], + "inputs": [{ + "operator": "join", + "operator-id": 3, + "type": "inner", + "estimated-rows": 40000, + "method": "hash", + "inputs": [{ + "operator": "scan", + "operator-id": 4, + "type": "native", + "sqlpos": [[76, 78]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a1", "type": ["Integer"], "iu": ["scan_a1", ["Integer"]]},{"col-id": 1, "name": "b1", "type": ["Integer"], "iu": ["scan_b1", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1 + }, { + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[33, 35]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 1, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a2", "type": ["Integer"], "iu": ["scan_a2", ["Integer"]]}], + "system-values": {"ctid": ["scan_tid", ["BigInt"]]}, + "debug-name": {"classification": "nonsensitive", "value": "t2"}, + "selectivity": 1 + }], + "condition": {"expression": "comparison", "sqlpos": [[91, 92]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[88, 90]], "iu": "scan_a2"}, "right": {"expression": "iu-ref", "sqlpos": [[96, 98]], "iu": "scan_a1"}}, + "predicates": [{"left": {"expression": "iu-ref", "sqlpos": [[96, 98]], "iu": "scan_a1"}, "right": {"expression": "iu-ref", "sqlpos": [[88, 90]], "iu": "scan_a2"}, "comparison": "="}] + }], + "schema": {"type":"sessionschema"}, + "tid": {"expression": "iu-ref", "iu": "scan_tid"} + }] + }, + "pipelines": [ + {"id": 0, "operators": [1, 2], "dependencies": [1]}, + {"id": 1, "operators": [2, 3, 5], "dependencies": [2]}, + {"id": 2, "operators": [3, 4], "dependencies": []} + ] +} diff --git a/standalone-app/examples/hyper/dml/update.plan.json b/standalone-app/examples/hyper/dml/update.plan.json new file mode 100644 index 00000000..7204cf6a --- /dev/null +++ b/standalone-app/examples/hyper/dml/update.plan.json @@ -0,0 +1,41 @@ +{ + "tree": { + "operator": "result-sink", + "operator-id": 1, + "estimated-rows": 1000, + "produces-rows": false, + "output": [], + "output-names": [], + "inputs": [{ + "operator": "update", + "operator-id": 2, + "sqlpos": [[26, 32]], + "estimated-rows": 1000, + "volatility": "volatile", + "relation-id": 1, + "values": [{"attribute": 0, "value": {"expression": "cast", "value": {"expression": "add", "sqlpos": [[48, 49]], "left": {"expression": "iu-ref", "sqlpos": [[45, 47]], "iu": ["scan_a2", ["Integer"]]}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 1}}}, "type": ["Integer", "nullable"], "error-handling": "trap"}, "result": ["cast", ["Integer", "nullable"]]}, {"attribute": 1, "value": {"expression": "cast", "value": {"expression": "add", "sqlpos": [[65, 66]], "left": {"expression": "iu-ref", "sqlpos": [[62, 64]], "iu": ["scan_b2", ["Integer"]]}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 1}}}, "type": ["Integer", "nullable"], "error-handling": "trap"}, "result": ["cast2", ["Integer", "nullable"]]}], + "inputs": [{ + "operator": "scan", + "operator-id": 3, + "type": "native", + "sqlpos": [[33, 35]], + "estimated-rows": 1000, + "volatility": "stable", + "relation-id": 1, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a2", "type": ["Integer"], "iu": ["scan_a2", ["Integer"]]},{"col-id": 1, "name": "b2", "type": ["Integer"], "iu": ["scan_b2", ["Integer"]]}], + "system-values": {"ctid": ["scan_tid", ["BigInt"]]}, + "debug-name": {"classification": "nonsensitive", "value": "t2"}, + "restrictions": [{"attribute": 0, "mode": "<", "selectivity": 0.5, "value": {"expression": "const", "value": {"type": ["Integer"], "value": 10}}}], + "selectivity": 0.5 + }], + "schema": {"type":"sessionschema"}, + "tid": {"expression": "iu-ref", "iu": "scan_tid"} + }] + }, + "pipelines": [ + {"id": 0, "operators": [1, 2], "dependencies": [1]}, + {"id": 1, "operators": [2, 3], "dependencies": []} + ] +} diff --git a/standalone-app/examples/hyper/insert.plan.json b/standalone-app/examples/hyper/insert.plan.json deleted file mode 100644 index c08848f6..00000000 --- a/standalone-app/examples/hyper/insert.plan.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "tree": { - "operator": "result-sink", - "operator-id": 1, - "estimated-rows": 4000, - "produces-rows": false, - "output": [], - "output-names": [], - "inputs": [{ - "operator": "insert", - "operator-id": 2, - "type": "native", - "sqlpos": [[26, 32]], - "estimated-rows": 4000, - "volatility": "volatile", - "relation-id": 1, - "schema": {"type":"sessionschema"}, - "output": [["cast", ["Integer", "nullable"]], ["cast2", ["Integer", "nullable"]], ["cast3", ["Integer", "nullable"]]], - "values": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["map", ["Integer"]]}, "type": ["Integer", "nullable"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["map2", ["Integer"]]}, "type": ["Integer", "nullable"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["map3", ["Integer"]]}, "type": ["Integer", "nullable"], "error-handling": "trap"}], - "inputs": [{ - "operator": "map", - "operator-id": 3, - "sqlpos": [[41, 47]], - "estimated-rows": 4000, - "inputs": [{ - "operator": "join", - "operator-id": 4, - "type": "inner", - "estimated-rows": 4000, - "method": "bnl", - "inputs": [{ - "operator": "table-construction", - "operator-id": 5, - "sqlpos": [[75, 81]], - "estimated-rows": 2, - "output": [["table-construction", ["Integer"]]], - "values": [[{"expression": "const", "value": {"type": ["Integer"], "value": 1}}], [{"expression": "const", "value": {"type": ["Integer"], "value": 2}}]], - "inputs": [] - }, { - "operator": "scan", - "operator-id": 6, - "type": "native", - "sqlpos": [[70, 72]], - "estimated-rows": 2000, - "volatility": "stable", - "relation-id": 0, - "schema": {"type":"sessionschema"}, - "attribute-count": 3, - "attributes": [{"col-id": 0, "name": "a1", "type": ["Integer"], "iu": ["scan_a1", ["Integer"]]},{"col-id": 1, "name": "b1", "type": ["Integer"], "iu": ["scan_b1", ["Integer"]]},{"col-id": 2, "name": "c1", "type": ["Integer"], "iu": ["scan_c1", ["Integer"]]}], - "debug-name": {"classification": "nonsensitive", "value": "t1"}, - "selectivity": 1 - }], - "condition": {"expression": "const", "value": {"type": ["Bool"], "value": true}}, - "predicates": [], - "residual": {"expression": "const", "value": {"type": ["Bool"], "value": true}} - }], - "values": [{"iu": ["map", ["Integer"]], "value": {"expression": "mul", "left": {"expression": "iu-ref", "sqlpos": [[48, 50]], "iu": "scan_a1"}, "right": {"expression": "iu-ref", "sqlpos": [[51, 52]], "iu": "table-construction"}}}, {"iu": ["map2", ["Integer"]], "value": {"expression": "mul", "left": {"expression": "iu-ref", "sqlpos": [[54, 56]], "iu": "scan_b1"}, "right": {"expression": "iu-ref", "sqlpos": [[57, 58]], "iu": "table-construction"}}}, {"iu": ["map3", ["Integer"]], "value": {"expression": "mul", "left": {"expression": "iu-ref", "sqlpos": [[60, 62]], "iu": "scan_c1"}, "right": {"expression": "iu-ref", "sqlpos": [[63, 64]], "iu": "table-construction"}}}] - }], - "tid": ["tid", ["Numeric", 18]], - "table-oid": ["tableOid", ["RegClass"]], - "tuple-flags": ["tupleFlags", ["BigInt"]], - "bulk-insert": false - }] - }, - "pipelines": [ - {"id": 0, "operators": [1, 2, 3, 4, 6], "dependencies": [1]}, - {"id": 1, "operators": [4, 5], "dependencies": []} - ] -} diff --git a/standalone-app/examples/hyper/markjoin-analyze.plan.json b/standalone-app/examples/hyper/markjoin-analyze.plan.json index 0fa48620..67c1f52b 100644 --- a/standalone-app/examples/hyper/markjoin-analyze.plan.json +++ b/standalone-app/examples/hyper/markjoin-analyze.plan.json @@ -4,7 +4,7 @@ "operator-id": 1, "estimated-rows": 518, "produces-rows": true, - "output": [{"expression": "iu-ref", "sqlpos": [[42, 43]], "iu": ["scan_suppkey", ["Integer"]]}, {"expression": "iu-ref", "sqlpos": [[42, 43]], "iu": ["scan_s_name", ["Char", 25]]}, {"expression": "iu-ref", "sqlpos": [[42, 43]], "iu": ["scan_address", ["Varchar", 40]]}, {"expression": "iu-ref", "sqlpos": [[42, 43]], "iu": ["scan_nationke", ["Integer"]]}, {"expression": "iu-ref", "sqlpos": [[42, 43]], "iu": ["scan_s_phone", ["Char", 15]]}, {"expression": "iu-ref", "sqlpos": [[42, 43]], "iu": ["scan_acctbal", ["Numeric", 12, 2]]}, {"expression": "iu-ref", "sqlpos": [[42, 43]], "iu": ["scan_comment", ["Varchar", 101]]}, {"expression": "iu-ref", "iu": ["joinMarker", ["Bool"]]}], + "output": [{"expression": "iu-ref", "sqlpos": [[42, 43]], "iu": ["scan_suppkey", ["Integer"]]}, {"expression": "iu-ref", "sqlpos": [[42, 43]], "iu": ["scan_s_name", ["Char", 25]]}, {"expression": "iu-ref", "sqlpos": [[42, 43]], "iu": ["scan_address", ["Varchar", 40]]}, {"expression": "iu-ref", "sqlpos": [[42, 43]], "iu": ["scan_nationke", ["Integer"]]}, {"expression": "iu-ref", "sqlpos": [[42, 43]], "iu": ["scan_s_phone", ["Char", 15]]}, {"expression": "iu-ref", "sqlpos": [[42, 43]], "iu": ["scan_acctbal", ["Numeric", 12, 2]]}, {"expression": "iu-ref", "sqlpos": [[42, 43]], "iu": ["scan_comment", ["Varchar", 101]]}, {"expression": "iu-ref", "sqlpos": [[45, 51]], "iu": ["joinMarker", ["Bool"]]}], "output-names": ["s_suppkey", "s_name", "s_address", "s_nationkey", "s_phone", "s_acctbal", "s_comment", "2"], "inputs": [{ "operator": "join", diff --git a/standalone-app/examples/hyper/pgq-path-steps.plan.json b/standalone-app/examples/hyper/pgq-path-steps.plan.json new file mode 100644 index 00000000..29501d44 --- /dev/null +++ b/standalone-app/examples/hyper/pgq-path-steps.plan.json @@ -0,0 +1,652 @@ +{"optimizersteps": [{ + "name": "Initial", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "produces-rows": true, + "output": [{"expression": "iu-ref", "sqlpos": [[782, 783]], "iu": ["name", ["Varchar"]]}, {"expression": "iu-ref", "sqlpos": [[782, 783]], "iu": ["supply_cost", ["Numeric", 12, 2, "nullable"]]}, {"expression": "iu-ref", "sqlpos": [[782, 783]], "iu": ["name2", ["Varchar", "nullable"]]}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "table-construction", + "operator-id": 2, + "output": [["name", ["Varchar"]], ["supply_cost", ["Numeric", 12, 2, "nullable"]], ["name2", ["Varchar", "nullable"]], ["name3", ["Varchar"]], ["supply_cost2", ["Numeric", 12, 2, "nullable"]], ["name4", ["Varchar"]]], + "values": [[{"expression": "iu-ref", "iu": ["name5", ["Varchar"]]}, {"expression": "iu-ref", "iu": ["supply_cost3", ["Numeric", 12, 2, "nullable"]]}, {"expression": "iu-ref", "iu": ["name6", ["Varchar", "nullable"]]}, {"expression": "iu-ref", "iu": ["name7", ["Varchar"]]}, {"expression": "iu-ref", "iu": ["supply_cost4", ["Numeric", 12, 2, "nullable"]]}, {"expression": "iu-ref", "iu": ["name8", ["Varchar"]]}]], + "inputs": [{ + "operator": "map", + "operator-id": 3, + "inputs": [{ + "operator": "filter", + "operator-id": 4, + "inputs": [{ + "operator": "join", + "operator-id": 5, + "type": "inner", + "inputs": [{ + "operator": "join", + "operator-id": 6, + "type": "inner", + "inputs": [{ + "operator": "explicit-scan", + "operator-id": 7, + "mapping": [{"source": {"expression": "iu-ref", "iu": ["scan_partkey", ["Integer"]]}, "target": ["scan_partkey2", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "target": ["scan_p_name2", ["Varchar", 55]]}, {"source": {"expression": "iu-ref", "iu": ["scan_p_mfgr", ["Char", 25]]}, "target": ["scan_p_mfgr2", ["Char", 25]]}, {"source": {"expression": "iu-ref", "iu": ["scan_p_brand", ["Char", 10]]}, "target": ["scan_p_brand2", ["Char", 10]]}, {"source": {"expression": "iu-ref", "iu": ["scan_p_type", ["Varchar", 25]]}, "target": ["scan_p_type2", ["Varchar", 25]]}, {"source": {"expression": "iu-ref", "iu": ["scan_p_size", ["Integer"]]}, "target": ["scan_p_size2", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["scan_containe", ["Char", 10]]}, "target": ["scan_containe2", ["Char", 10]]}, {"source": {"expression": "iu-ref", "iu": ["scan_retailpr", ["Numeric", 12, 2]]}, "target": ["scan_retailpr2", ["Numeric", 12, 2]]}, {"source": {"expression": "iu-ref", "iu": ["scan_comment", ["Varchar", 23]]}, "target": ["scan_comment2", ["Varchar", 23]]}], + "input": { + "operator": "share", + "operator-id": 8, + "inputs": [{ + "operator": "scan", + "operator-id": 9, + "type": "native", + "sqlpos": [[294, 298]], + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]},{"col-id": 2, "name": "p_mfgr", "type": ["Char", 25], "iu": ["scan_p_mfgr", ["Char", 25]]},{"col-id": 3, "name": "p_brand", "type": ["Char", 10], "iu": ["scan_p_brand", ["Char", 10]]},{"col-id": 4, "name": "p_type", "type": ["Varchar", 25], "iu": ["scan_p_type", ["Varchar", 25]]},{"col-id": 5, "name": "p_size", "type": ["Integer"], "iu": ["scan_p_size", ["Integer"]]},{"col-id": 6, "name": "p_container", "type": ["Char", 10], "iu": ["scan_containe", ["Char", 10]]},{"col-id": 7, "name": "p_retailprice", "type": ["Numeric", 12, 2], "iu": ["scan_retailpr", ["Numeric", 12, 2]]},{"col-id": 8, "name": "p_comment", "type": ["Varchar", 23], "iu": ["scan_comment", ["Varchar", 23]]}], + "system-values": {"ctid": ["scan_tid", ["BigInt"]], "table-oid": ["scan_oid", ["RegClass"]], "tuple-flags": ["scan_flags", ["BigInt"]]}, + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "selectivity": 1 + }], + "strategy": "undecided" + } + }, { + "operator": "explicit-scan", + "operator-id": 10, + "mapping": [{"source": {"expression": "iu-ref", "iu": ["scan_partkey3", ["Integer"]]}, "target": ["scan_partkey4", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["scan_suppkey", ["Integer"]]}, "target": ["scan_suppkey2", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["scan_availqty", ["Integer"]]}, "target": ["scan_availqty2", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, "target": ["scan_supplyco2", ["Numeric", 12, 2]]}, {"source": {"expression": "iu-ref", "iu": ["scan_comment3", ["Varchar", 199]]}, "target": ["scan_comment4", ["Varchar", 199]]}], + "input": { + "operator": "share", + "operator-id": 11, + "inputs": [{ + "operator": "scan", + "operator-id": 12, + "type": "native", + "sqlpos": [[528, 536]], + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey3", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 2, "name": "ps_availqty", "type": ["Integer"], "iu": ["scan_availqty", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]},{"col-id": 4, "name": "ps_comment", "type": ["Varchar", 199], "iu": ["scan_comment3", ["Varchar", 199]]}], + "system-values": {"ctid": ["scan_tid2", ["BigInt"]], "table-oid": ["scan_oid2", ["RegClass"]], "tuple-flags": ["scan_flags2", ["BigInt"]]}, + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "selectivity": 1 + }], + "strategy": "undecided" + } + }], + "condition": {"expression": "const", "value": {"type": ["Bool"], "value": true}}, + "predicates": [], + "residual": {"expression": "const", "value": {"type": ["Bool"], "value": true}} + }, { + "operator": "explicit-scan", + "operator-id": 13, + "mapping": [{"source": {"expression": "iu-ref", "iu": ["scan_suppkey3", ["Integer"]]}, "target": ["scan_suppkey4", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "target": ["scan_s_name2", ["Char", 25]]}, {"source": {"expression": "iu-ref", "iu": ["scan_address", ["Varchar", 40]]}, "target": ["scan_address2", ["Varchar", 40]]}, {"source": {"expression": "iu-ref", "iu": ["scan_nationke", ["Integer"]]}, "target": ["scan_nationke2", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["scan_s_phone", ["Char", 15]]}, "target": ["scan_s_phone2", ["Char", 15]]}, {"source": {"expression": "iu-ref", "iu": ["scan_acctbal", ["Numeric", 12, 2]]}, "target": ["scan_acctbal2", ["Numeric", 12, 2]]}, {"source": {"expression": "iu-ref", "iu": ["scan_comment5", ["Varchar", 101]]}, "target": ["scan_comment6", ["Varchar", 101]]}], + "input": { + "operator": "share", + "operator-id": 14, + "inputs": [{ + "operator": "scan", + "operator-id": 15, + "type": "native", + "sqlpos": [[395, 403]], + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey3", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]},{"col-id": 2, "name": "s_address", "type": ["Varchar", 40], "iu": ["scan_address", ["Varchar", 40]]},{"col-id": 3, "name": "s_nationkey", "type": ["Integer"], "iu": ["scan_nationke", ["Integer"]]},{"col-id": 4, "name": "s_phone", "type": ["Char", 15], "iu": ["scan_s_phone", ["Char", 15]]},{"col-id": 5, "name": "s_acctbal", "type": ["Numeric", 12, 2], "iu": ["scan_acctbal", ["Numeric", 12, 2]]},{"col-id": 6, "name": "s_comment", "type": ["Varchar", 101], "iu": ["scan_comment5", ["Varchar", 101]]}], + "system-values": {"ctid": ["scan_tid3", ["BigInt"]], "table-oid": ["scan_oid3", ["RegClass"]], "tuple-flags": ["scan_flags3", ["BigInt"]]}, + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "selectivity": 1 + }], + "strategy": "undecided" + } + }], + "condition": {"expression": "const", "value": {"type": ["Bool"], "value": true}}, + "predicates": [], + "residual": {"expression": "const", "value": {"type": ["Bool"], "value": true}} + }], + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey4"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey4"}}]} + }], + "values": [{"iu": ["name7", ["Varchar"]], "value": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_p_name2"}, "type": ["Varchar"], "error-handling": "trap"}}, {"iu": ["supply_cost4", ["Numeric", 12, 2, "nullable"]], "value": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_supplyco2"}, "type": ["Numeric", 12, 2, "nullable"], "error-handling": "trap"}}, {"iu": ["name8", ["Varchar"]], "value": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_s_name2"}, "type": ["Varchar"], "error-handling": "trap"}}, {"iu": ["name5", ["Varchar"]], "value": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_p_name2"}, "type": ["Varchar"], "error-handling": "trap"}}, {"iu": ["supply_cost3", ["Numeric", 12, 2, "nullable"]], "value": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_supplyco2"}, "type": ["Numeric", 12, 2, "nullable"], "error-handling": "trap"}}, {"iu": ["name6", ["Varchar", "nullable"]], "value": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_s_name2"}, "type": ["Varchar", "nullable"], "error-handling": "trap"}}] + }] + }] +} +}, { + "name": "Unnesting", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "produces-rows": true, + "output": [{"expression": "iu-ref", "sqlpos": [[782, 783]], "iu": ["name", ["Varchar"]]}, {"expression": "iu-ref", "sqlpos": [[782, 783]], "iu": ["supply_cost", ["Numeric", 12, 2, "nullable"]]}, {"expression": "iu-ref", "sqlpos": [[782, 783]], "iu": ["name2", ["Varchar", "nullable"]]}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "map", + "operator-id": 2, + "inputs": [{ + "operator": "filter", + "operator-id": 3, + "inputs": [{ + "operator": "join", + "operator-id": 4, + "type": "inner", + "inputs": [{ + "operator": "join", + "operator-id": 5, + "type": "inner", + "inputs": [{ + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[294, 298]], + "estimated-rows": 533, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "selectivity": 1 + }, { + "operator": "scan", + "operator-id": 7, + "type": "native", + "sqlpos": [[528, 536]], + "estimated-rows": 537, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "selectivity": 1 + }], + "condition": {"expression": "const", "value": {"type": ["Bool"], "value": true}}, + "predicates": [], + "residual": {"expression": "const", "value": {"type": ["Bool"], "value": true}} + }, { + "operator": "scan", + "operator-id": 8, + "type": "native", + "sqlpos": [[395, 403]], + "estimated-rows": 518, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "selectivity": 1 + }], + "condition": {"expression": "const", "value": {"type": ["Bool"], "value": true}}, + "predicates": [], + "residual": {"expression": "const", "value": {"type": ["Bool"], "value": true}} + }], + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey2"}, "right": {"expression": "iu-ref", "iu": "scan_partkey"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}}]} + }], + "values": [{"iu": ["name", ["Varchar"]], "value": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_p_name"}, "type": ["Varchar"], "error-handling": "trap"}}, {"iu": ["supply_cost", ["Numeric", 12, 2, "nullable"]], "value": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_supplyco"}, "type": ["Numeric", 12, 2, "nullable"], "error-handling": "trap"}}, {"iu": ["name2", ["Varchar", "nullable"]], "value": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_s_name"}, "type": ["Varchar", "nullable"], "error-handling": "trap"}}] + }] +} +}, { + "name": "PredicatePushdown", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "produces-rows": true, + "output": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "type": ["Varchar"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, "type": ["Numeric", 12, 2, "nullable"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "type": ["Varchar", "nullable"], "error-handling": "trap"}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "inner", + "inputs": [{ + "operator": "join", + "operator-id": 3, + "type": "inner", + "inputs": [{ + "operator": "scan", + "operator-id": 4, + "type": "native", + "sqlpos": [[395, 403]], + "estimated-rows": 518, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "selectivity": 1 + }, { + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[528, 536]], + "estimated-rows": 537, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "selectivity": 1 + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "comparison": "="}] + }, { + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[294, 298]], + "estimated-rows": 533, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "selectivity": 1 + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}, "comparison": "="}] + }] +} +}, { + "name": "Reordering", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "produces-rows": true, + "output": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "type": ["Varchar"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, "type": ["Numeric", 12, 2, "nullable"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "type": ["Varchar", "nullable"], "error-handling": "trap"}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "inner", + "estimated-rows": 537, + "inputs": [{ + "operator": "scan", + "operator-id": 3, + "type": "native", + "sqlpos": [[395, 403]], + "estimated-rows": 518, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "selectivity": 1 + }, { + "operator": "join", + "operator-id": 4, + "type": "inner", + "estimated-rows": 537, + "inputs": [{ + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[294, 298]], + "estimated-rows": 533, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "selectivity": 1 + }, { + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[528, 536]], + "estimated-rows": 537, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "selectivity": 1 + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey2"}, "right": {"expression": "iu-ref", "iu": "scan_partkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}, "comparison": "="}] + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "comparison": "="}] + }] +} +}, { + "name": "ChoosePhysical", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "produces-rows": true, + "output": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "type": ["Varchar"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, "type": ["Numeric", 12, 2, "nullable"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "type": ["Varchar", "nullable"], "error-handling": "trap"}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "inner", + "estimated-rows": 537, + "method": "hash", + "inputs": [{ + "operator": "scan", + "operator-id": 3, + "type": "native", + "sqlpos": [[395, 403]], + "estimated-rows": 518, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "selectivity": 1 + }, { + "operator": "join", + "operator-id": 4, + "type": "inner", + "estimated-rows": 537, + "method": "hash", + "inputs": [{ + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[294, 298]], + "estimated-rows": 533, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "selectivity": 1 + }, { + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[528, 536]], + "estimated-rows": 537, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "selectivity": 1 + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey2"}, "right": {"expression": "iu-ref", "iu": "scan_partkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}, "comparison": "="}] + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "comparison": "="}] + }] +} +}, { + "name": "ChooseAccessPath", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "produces-rows": true, + "output": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "type": ["Varchar"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, "type": ["Numeric", 12, 2, "nullable"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "type": ["Varchar", "nullable"], "error-handling": "trap"}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "inner", + "estimated-rows": 537, + "method": "hash", + "inputs": [{ + "operator": "scan", + "operator-id": 3, + "type": "native", + "sqlpos": [[395, 403]], + "estimated-rows": 518, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "selectivity": 1 + }, { + "operator": "join", + "operator-id": 4, + "type": "inner", + "estimated-rows": 537, + "method": "hash", + "inputs": [{ + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[294, 298]], + "estimated-rows": 533, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "selectivity": 1 + }, { + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[528, 536]], + "estimated-rows": 537, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "selectivity": 1 + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey2"}, "right": {"expression": "iu-ref", "iu": "scan_partkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}, "comparison": "="}] + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "comparison": "="}] + }] +} +}, { + "name": "Deduplication", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "produces-rows": true, + "output": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "type": ["Varchar"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, "type": ["Numeric", 12, 2, "nullable"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "type": ["Varchar", "nullable"], "error-handling": "trap"}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "inner", + "estimated-rows": 537, + "method": "hash", + "inputs": [{ + "operator": "scan", + "operator-id": 3, + "type": "native", + "sqlpos": [[395, 403]], + "estimated-rows": 518, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "selectivity": 1 + }, { + "operator": "join", + "operator-id": 4, + "type": "inner", + "estimated-rows": 537, + "method": "hash", + "inputs": [{ + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[294, 298]], + "estimated-rows": 533, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "selectivity": 1 + }, { + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[528, 536]], + "estimated-rows": 537, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "selectivity": 1 + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey2"}, "right": {"expression": "iu-ref", "iu": "scan_partkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}, "comparison": "="}] + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "comparison": "="}] + }] +} +}, { + "name": "CachingAndBatching", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "estimated-rows": 537, + "produces-rows": true, + "output": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "type": ["Varchar"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, "type": ["Numeric", 12, 2, "nullable"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "type": ["Varchar", "nullable"], "error-handling": "trap"}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "inner", + "estimated-rows": 537, + "method": "hash", + "inputs": [{ + "operator": "scan", + "operator-id": 3, + "type": "native", + "sqlpos": [[395, 403]], + "estimated-rows": 518, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "selectivity": 1 + }, { + "operator": "join", + "operator-id": 4, + "type": "inner", + "estimated-rows": 537, + "method": "hash", + "inputs": [{ + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[294, 298]], + "estimated-rows": 533, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "selectivity": 1 + }, { + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[528, 536]], + "estimated-rows": 537, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "selectivity": 1 + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey2"}, "right": {"expression": "iu-ref", "iu": "scan_partkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}, "comparison": "="}] + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "comparison": "="}] + }] +} +}, { + "name": "Final", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "estimated-rows": 537, + "produces-rows": true, + "output": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "type": ["Varchar"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, "type": ["Numeric", 12, 2, "nullable"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "type": ["Varchar", "nullable"], "error-handling": "trap"}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "inner", + "estimated-rows": 537, + "method": "hash", + "inputs": [{ + "operator": "scan", + "operator-id": 3, + "type": "native", + "sqlpos": [[395, 403]], + "estimated-rows": 518, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "selectivity": 1 + }, { + "operator": "join", + "operator-id": 4, + "type": "inner", + "estimated-rows": 537, + "method": "hash", + "inputs": [{ + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[294, 298]], + "estimated-rows": 533, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "selectivity": 1 + }, { + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[528, 536]], + "estimated-rows": 537, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "selectivity": 1 + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey2"}, "right": {"expression": "iu-ref", "iu": "scan_partkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}, "comparison": "="}] + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "comparison": "="}] + }] +} +}]} \ No newline at end of file diff --git a/standalone-app/examples/hyper/pgq-path.plan.json b/standalone-app/examples/hyper/pgq-path.plan.json new file mode 100644 index 00000000..44428955 --- /dev/null +++ b/standalone-app/examples/hyper/pgq-path.plan.json @@ -0,0 +1,73 @@ +{ + "tree": { + "operator": "result-sink", + "operator-id": 1, + "estimated-rows": 537, + "produces-rows": true, + "output": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "type": ["Varchar"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, "type": ["Numeric", 12, 2, "nullable"], "error-handling": "trap"}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "type": ["Varchar", "nullable"], "error-handling": "trap"}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "inner", + "estimated-rows": 537, + "method": "hash", + "inputs": [{ + "operator": "scan", + "operator-id": 3, + "type": "native", + "sqlpos": [[379, 387]], + "estimated-rows": 518, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "selectivity": 1 + }, { + "operator": "join", + "operator-id": 4, + "type": "inner", + "estimated-rows": 537, + "method": "hash", + "inputs": [{ + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[278, 282]], + "estimated-rows": 533, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "selectivity": 1 + }, { + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[512, 520]], + "estimated-rows": 537, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "selectivity": 1 + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey2"}, "right": {"expression": "iu-ref", "iu": "scan_partkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}, "comparison": "="}] + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "comparison": "="}] + }] + }, + "pipelines": [ + {"id": 0, "operators": [1, 2, 4, 6], "dependencies": [1, 2]}, + {"id": 1, "operators": [2, 3], "dependencies": []}, + {"id": 2, "operators": [4, 5], "dependencies": []} + ] +} diff --git a/standalone-app/examples/hyper/pgq-steps.plan.json b/standalone-app/examples/hyper/pgq-steps.plan.json new file mode 100644 index 00000000..d4213a14 --- /dev/null +++ b/standalone-app/examples/hyper/pgq-steps.plan.json @@ -0,0 +1,763 @@ +{"optimizersteps": [{ + "name": "Initial", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "produces-rows": true, + "output": [{"expression": "iu-ref", "sqlpos": [[754, 755]], "iu": ["name", ["Varchar"]]}, {"expression": "iu-ref", "sqlpos": [[754, 755]], "iu": ["supply_cost", ["Numeric", 12, 2]]}, {"expression": "iu-ref", "sqlpos": [[754, 755]], "iu": ["name2", ["Varchar"]]}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "filter", + "operator-id": 2, + "sqlpos": [[982, 987]], + "inputs": [{ + "operator": "table-construction", + "operator-id": 3, + "output": [["name", ["Varchar"]], ["brand", ["Char", 10]], ["supply_cost", ["Numeric", 12, 2]], ["name2", ["Varchar"]], ["account_balance", ["Numeric", 12, 2]]], + "values": [[{"expression": "iu-ref", "iu": ["name3", ["Varchar"]]}, {"expression": "iu-ref", "iu": ["brand2", ["Char", 10]]}, {"expression": "iu-ref", "iu": ["supply_cost2", ["Numeric", 12, 2]]}, {"expression": "iu-ref", "iu": ["name4", ["Varchar"]]}, {"expression": "iu-ref", "iu": ["account_balance2", ["Numeric", 12, 2]]}]], + "inputs": [{ + "operator": "map", + "operator-id": 4, + "inputs": [{ + "operator": "filter", + "operator-id": 5, + "inputs": [{ + "operator": "join", + "operator-id": 6, + "type": "inner", + "inputs": [{ + "operator": "join", + "operator-id": 7, + "type": "inner", + "inputs": [{ + "operator": "filter", + "operator-id": 8, + "sqlpos": [[812, 817]], + "inputs": [{ + "operator": "map", + "operator-id": 9, + "inputs": [{ + "operator": "explicit-scan", + "operator-id": 10, + "mapping": [{"source": {"expression": "iu-ref", "iu": ["scan_partkey", ["Integer"]]}, "target": ["scan_partkey2", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "target": ["scan_p_name2", ["Varchar", 55]]}, {"source": {"expression": "iu-ref", "iu": ["scan_p_mfgr", ["Char", 25]]}, "target": ["scan_p_mfgr2", ["Char", 25]]}, {"source": {"expression": "iu-ref", "iu": ["scan_p_brand", ["Char", 10]]}, "target": ["scan_p_brand2", ["Char", 10]]}, {"source": {"expression": "iu-ref", "iu": ["scan_p_type", ["Varchar", 25]]}, "target": ["scan_p_type2", ["Varchar", 25]]}, {"source": {"expression": "iu-ref", "iu": ["scan_p_size", ["Integer"]]}, "target": ["scan_p_size2", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["scan_containe", ["Char", 10]]}, "target": ["scan_containe2", ["Char", 10]]}, {"source": {"expression": "iu-ref", "iu": ["scan_retailpr", ["Numeric", 12, 2]]}, "target": ["scan_retailpr2", ["Numeric", 12, 2]]}, {"source": {"expression": "iu-ref", "iu": ["scan_comment", ["Varchar", 23]]}, "target": ["scan_comment2", ["Varchar", 23]]}], + "input": { + "operator": "share", + "operator-id": 11, + "inputs": [{ + "operator": "scan", + "operator-id": 12, + "type": "native", + "sqlpos": [[204, 208]], + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]},{"col-id": 2, "name": "p_mfgr", "type": ["Char", 25], "iu": ["scan_p_mfgr", ["Char", 25]]},{"col-id": 3, "name": "p_brand", "type": ["Char", 10], "iu": ["scan_p_brand", ["Char", 10]]},{"col-id": 4, "name": "p_type", "type": ["Varchar", 25], "iu": ["scan_p_type", ["Varchar", 25]]},{"col-id": 5, "name": "p_size", "type": ["Integer"], "iu": ["scan_p_size", ["Integer"]]},{"col-id": 6, "name": "p_container", "type": ["Char", 10], "iu": ["scan_containe", ["Char", 10]]},{"col-id": 7, "name": "p_retailprice", "type": ["Numeric", 12, 2], "iu": ["scan_retailpr", ["Numeric", 12, 2]]},{"col-id": 8, "name": "p_comment", "type": ["Varchar", 23], "iu": ["scan_comment", ["Varchar", 23]]}], + "system-values": {"ctid": ["scan_tid", ["BigInt"]], "table-oid": ["scan_oid", ["RegClass"]], "tuple-flags": ["scan_flags", ["BigInt"]]}, + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "selectivity": 1 + }], + "strategy": "undecided" + } + }], + "values": [{"iu": ["name5", ["Varchar"]], "value": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_p_name2"}, "type": ["Varchar"], "error-handling": "trap"}}, {"iu": ["brand3", ["Char", 10]], "value": {"expression": "iu-ref", "iu": "scan_p_brand2"}}] + }], + "condition": {"expression": "comparison", "sqlpos": [[832, 833]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[826, 831]], "iu": "brand3"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "Brand#11"}}} + }, { + "operator": "filter", + "operator-id": 13, + "sqlpos": [[875, 880]], + "inputs": [{ + "operator": "map", + "operator-id": 14, + "inputs": [{ + "operator": "explicit-scan", + "operator-id": 15, + "mapping": [{"source": {"expression": "iu-ref", "iu": ["scan_partkey3", ["Integer"]]}, "target": ["scan_partkey4", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["scan_suppkey", ["Integer"]]}, "target": ["scan_suppkey2", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["scan_availqty", ["Integer"]]}, "target": ["scan_availqty2", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, "target": ["scan_supplyco2", ["Numeric", 12, 2]]}, {"source": {"expression": "iu-ref", "iu": ["scan_comment3", ["Varchar", 199]]}, "target": ["scan_comment4", ["Varchar", 199]]}], + "input": { + "operator": "share", + "operator-id": 16, + "inputs": [{ + "operator": "scan", + "operator-id": 17, + "type": "native", + "sqlpos": [[500, 508]], + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey3", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 2, "name": "ps_availqty", "type": ["Integer"], "iu": ["scan_availqty", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]},{"col-id": 4, "name": "ps_comment", "type": ["Varchar", 199], "iu": ["scan_comment3", ["Varchar", 199]]}], + "system-values": {"ctid": ["scan_tid2", ["BigInt"]], "table-oid": ["scan_oid2", ["RegClass"]], "tuple-flags": ["scan_flags2", ["BigInt"]]}, + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "selectivity": 1 + }], + "strategy": "undecided" + } + }], + "values": [{"iu": ["supply_cost3", ["Numeric", 12, 2]], "value": {"expression": "iu-ref", "iu": "scan_supplyco2"}}] + }], + "condition": {"expression": "comparison", "sqlpos": [[900, 901]], "mode": ">", "left": {"expression": "iu-ref", "sqlpos": [[888, 899]], "iu": "supply_cost3"}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 100}}} + }], + "condition": {"expression": "const", "value": {"type": ["Bool"], "value": true}}, + "predicates": [], + "residual": {"expression": "const", "value": {"type": ["Bool"], "value": true}} + }, { + "operator": "filter", + "operator-id": 18, + "sqlpos": [[939, 944]], + "inputs": [{ + "operator": "map", + "operator-id": 19, + "inputs": [{ + "operator": "explicit-scan", + "operator-id": 20, + "mapping": [{"source": {"expression": "iu-ref", "iu": ["scan_suppkey3", ["Integer"]]}, "target": ["scan_suppkey4", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "target": ["scan_s_name2", ["Char", 25]]}, {"source": {"expression": "iu-ref", "iu": ["scan_address", ["Varchar", 40]]}, "target": ["scan_address2", ["Varchar", 40]]}, {"source": {"expression": "iu-ref", "iu": ["scan_nationke", ["Integer"]]}, "target": ["scan_nationke2", ["Integer"]]}, {"source": {"expression": "iu-ref", "iu": ["scan_s_phone", ["Char", 15]]}, "target": ["scan_s_phone2", ["Char", 15]]}, {"source": {"expression": "iu-ref", "iu": ["scan_acctbal", ["Numeric", 12, 2]]}, "target": ["scan_acctbal2", ["Numeric", 12, 2]]}, {"source": {"expression": "iu-ref", "iu": ["scan_comment5", ["Varchar", 101]]}, "target": ["scan_comment6", ["Varchar", 101]]}], + "input": { + "operator": "share", + "operator-id": 21, + "inputs": [{ + "operator": "scan", + "operator-id": 22, + "type": "native", + "sqlpos": [[328, 336]], + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey3", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]},{"col-id": 2, "name": "s_address", "type": ["Varchar", 40], "iu": ["scan_address", ["Varchar", 40]]},{"col-id": 3, "name": "s_nationkey", "type": ["Integer"], "iu": ["scan_nationke", ["Integer"]]},{"col-id": 4, "name": "s_phone", "type": ["Char", 15], "iu": ["scan_s_phone", ["Char", 15]]},{"col-id": 5, "name": "s_acctbal", "type": ["Numeric", 12, 2], "iu": ["scan_acctbal", ["Numeric", 12, 2]]},{"col-id": 6, "name": "s_comment", "type": ["Varchar", 101], "iu": ["scan_comment5", ["Varchar", 101]]}], + "system-values": {"ctid": ["scan_tid3", ["BigInt"]], "table-oid": ["scan_oid3", ["RegClass"]], "tuple-flags": ["scan_flags3", ["BigInt"]]}, + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "selectivity": 1 + }], + "strategy": "undecided" + } + }], + "values": [{"iu": ["name6", ["Varchar"]], "value": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_s_name2"}, "type": ["Varchar"], "error-handling": "trap"}}, {"iu": ["account_balance3", ["Numeric", 12, 2]], "value": {"expression": "iu-ref", "iu": "scan_acctbal2"}}] + }], + "condition": {"expression": "comparison", "sqlpos": [[968, 969]], "mode": ">", "left": {"expression": "iu-ref", "sqlpos": [[952, 967]], "iu": "account_balance3"}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 0}}} + }], + "condition": {"expression": "const", "value": {"type": ["Bool"], "value": true}}, + "predicates": [], + "residual": {"expression": "const", "value": {"type": ["Bool"], "value": true}} + }], + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey4"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey4"}}]} + }], + "values": [{"iu": ["name3", ["Varchar"]], "value": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_p_name2"}, "type": ["Varchar"], "error-handling": "trap"}}, {"iu": ["brand2", ["Char", 10]], "value": {"expression": "iu-ref", "iu": "scan_p_brand2"}}, {"iu": ["supply_cost2", ["Numeric", 12, 2]], "value": {"expression": "iu-ref", "iu": "scan_supplyco2"}}, {"iu": ["name4", ["Varchar"]], "value": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_s_name2"}, "type": ["Varchar"], "error-handling": "trap"}}, {"iu": ["account_balance2", ["Numeric", 12, 2]], "value": {"expression": "iu-ref", "iu": "scan_acctbal2"}}] + }] + }], + "condition": {"expression": "like", "sqlpos": [[1001, 1005]], "arguments": [{"expression": "iu-ref", "sqlpos": [[996, 1000]], "iu": "name"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%blue%"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]} + }] +} +}, { + "name": "Unnesting", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "produces-rows": true, + "output": [{"expression": "iu-ref", "sqlpos": [[754, 755]], "iu": ["name", ["Varchar"]]}, {"expression": "iu-ref", "sqlpos": [[754, 755]], "iu": ["supply_cost", ["Numeric", 12, 2]]}, {"expression": "iu-ref", "sqlpos": [[754, 755]], "iu": ["name2", ["Varchar"]]}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "filter", + "operator-id": 2, + "sqlpos": [[982, 987]], + "inputs": [{ + "operator": "map", + "operator-id": 3, + "inputs": [{ + "operator": "filter", + "operator-id": 4, + "inputs": [{ + "operator": "join", + "operator-id": 5, + "type": "inner", + "inputs": [{ + "operator": "join", + "operator-id": 6, + "type": "inner", + "inputs": [{ + "operator": "filter", + "operator-id": 7, + "sqlpos": [[812, 817]], + "inputs": [{ + "operator": "scan", + "operator-id": 8, + "type": "native", + "sqlpos": [[204, 208]], + "estimated-rows": 533, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]},{"col-id": 3, "name": "p_brand", "type": ["Char", 10], "iu": ["scan_p_brand", ["Char", 10]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "selectivity": 1 + }], + "condition": {"expression": "comparison", "sqlpos": [[832, 833]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[826, 831]], "iu": "scan_p_brand"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "Brand#11"}}} + }, { + "operator": "filter", + "operator-id": 9, + "sqlpos": [[875, 880]], + "inputs": [{ + "operator": "scan", + "operator-id": 10, + "type": "native", + "sqlpos": [[500, 508]], + "estimated-rows": 537, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "selectivity": 1 + }], + "condition": {"expression": "comparison", "sqlpos": [[900, 901]], "mode": ">", "left": {"expression": "iu-ref", "sqlpos": [[888, 899]], "iu": "scan_supplyco"}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 100}}} + }], + "condition": {"expression": "const", "value": {"type": ["Bool"], "value": true}}, + "predicates": [], + "residual": {"expression": "const", "value": {"type": ["Bool"], "value": true}} + }, { + "operator": "filter", + "operator-id": 11, + "sqlpos": [[939, 944]], + "inputs": [{ + "operator": "scan", + "operator-id": 12, + "type": "native", + "sqlpos": [[328, 336]], + "estimated-rows": 518, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]},{"col-id": 5, "name": "s_acctbal", "type": ["Numeric", 12, 2], "iu": ["scan_acctbal", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "selectivity": 1 + }], + "condition": {"expression": "comparison", "sqlpos": [[968, 969]], "mode": ">", "left": {"expression": "iu-ref", "sqlpos": [[952, 967]], "iu": "scan_acctbal"}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 0}}} + }], + "condition": {"expression": "const", "value": {"type": ["Bool"], "value": true}}, + "predicates": [], + "residual": {"expression": "const", "value": {"type": ["Bool"], "value": true}} + }], + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey2"}, "right": {"expression": "iu-ref", "iu": "scan_partkey"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}}]} + }], + "values": [{"iu": ["name", ["Varchar"]], "value": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_p_name"}, "type": ["Varchar"], "error-handling": "trap"}}, {"iu": ["supply_cost", ["Numeric", 12, 2]], "value": {"expression": "iu-ref", "iu": "scan_supplyco"}}, {"iu": ["name2", ["Varchar"]], "value": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_s_name"}, "type": ["Varchar"], "error-handling": "trap"}}] + }], + "condition": {"expression": "like", "sqlpos": [[1001, 1005]], "arguments": [{"expression": "iu-ref", "sqlpos": [[996, 1000]], "iu": "name"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%blue%"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]} + }] +} +}, { + "name": "PredicatePushdown", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "produces-rows": true, + "output": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "type": ["Varchar"], "error-handling": "trap"}, {"expression": "iu-ref", "sqlpos": [[754, 755]], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "type": ["Varchar"], "error-handling": "trap"}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "inner", + "inputs": [{ + "operator": "join", + "operator-id": 3, + "type": "inner", + "inputs": [{ + "operator": "scan", + "operator-id": 4, + "type": "native", + "sqlpos": [[328, 336]], + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]},{"col-id": 5, "name": "s_acctbal", "type": ["Numeric", 12, 2], "iu": ["scan_acctbal", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "residual": [{"expression": "comparison", "sqlpos": [[968, 969]], "mode": ">", "left": {"expression": "iu-ref", "sqlpos": [[952, 967]], "iu": "scan_acctbal"}, "right": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 0}}}], + "selectivity": 0.5 + }, { + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[500, 508]], + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "residual": [{"expression": "comparison", "sqlpos": [[900, 901]], "mode": ">", "left": {"expression": "iu-ref", "sqlpos": [[888, 899]], "iu": "scan_supplyco"}, "right": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 10000}}}], + "selectivity": 0.5 + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "comparison": "="}] + }, { + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[204, 208]], + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]},{"col-id": 3, "name": "p_brand", "type": ["Char", 10], "iu": ["scan_p_brand", ["Char", 10]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "residual": [{"expression": "contains", "left": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_p_name"}, "type": ["Varchar"], "error-handling": "trap"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "blue"}}}, {"expression": "comparison", "sqlpos": [[832, 833]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[826, 831]], "iu": "scan_p_brand"}, "right": {"expression": "const", "value": {"type": ["Char", 10], "value": "Brand#11"}}}], + "selectivity": 0.022 + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}, "comparison": "="}] + }] +} +}, { + "name": "Reordering", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "produces-rows": true, + "output": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "type": ["Varchar"], "error-handling": "trap"}, {"expression": "iu-ref", "sqlpos": [[754, 755]], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "type": ["Varchar"], "error-handling": "trap"}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "inner", + "estimated-rows": 3.8826, + "inputs": [{ + "operator": "join", + "operator-id": 3, + "type": "inner", + "estimated-rows": 4, + "inputs": [{ + "operator": "scan", + "operator-id": 4, + "type": "native", + "sqlpos": [[204, 208]], + "estimated-rows": 4, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]},{"col-id": 3, "name": "p_brand", "type": ["Char", 10], "iu": ["scan_p_brand", ["Char", 10]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "restrictions": [{"attribute": 3, "mode": "=", "value": {"expression": "const", "value": {"type": ["Char", 10], "value": "Brand#11"}}}, {"attribute": 1, "mode": "lambda", "expression": {"expression": "contains", "left": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_p_name"}, "type": ["Varchar"], "error-handling": "trap"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "blue"}}}}], + "selectivity": 0.00750469 + }, { + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[500, 508]], + "estimated-rows": 477, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "restrictions": [{"attribute": 3, "mode": ">", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 10000}}}], + "selectivity": 0.888268 + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey2"}, "right": {"expression": "iu-ref", "iu": "scan_partkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}, "comparison": "="}] + }, { + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[328, 336]], + "estimated-rows": 463, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]},{"col-id": 5, "name": "s_acctbal", "type": ["Numeric", 12, 2], "iu": ["scan_acctbal", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "restrictions": [{"attribute": 5, "mode": ">", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 0}}}], + "selectivity": 0.893822 + }], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "comparison": "="}] + }] +} +}, { + "name": "ChoosePhysical", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "produces-rows": true, + "output": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "type": ["Varchar"], "error-handling": "trap"}, {"expression": "iu-ref", "sqlpos": [[754, 755]], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "type": ["Varchar"], "error-handling": "trap"}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "inner", + "estimated-rows": 3.8826, + "method": "hash", + "compute-left-bounds": [0], + "inputs": [{ + "operator": "join", + "operator-id": 3, + "type": "inner", + "estimated-rows": 4, + "method": "hash", + "compute-left-bounds": [0], + "inputs": [{ + "operator": "scan", + "operator-id": 4, + "type": "native", + "sqlpos": [[204, 208]], + "estimated-rows": 4, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]},{"col-id": 3, "name": "p_brand", "type": ["Char", 10], "iu": ["scan_p_brand", ["Char", 10]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "restrictions": [{"attribute": 3, "mode": "=", "value": {"expression": "const", "value": {"type": ["Char", 10], "value": "Brand#11"}}}, {"attribute": 1, "mode": "lambda", "expression": {"expression": "contains", "left": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_p_name"}, "type": ["Varchar"], "error-handling": "trap"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "blue"}}}}], + "selectivity": 0.00750469 + }, { + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[500, 508]], + "estimated-rows": 477, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "restrictions": [{"attribute": 3, "mode": ">", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 10000}}}], + "early-probes": [{"builder-id": 3, "attributes": [0], "num-equality-predicates": 1, "selectivities": [0.00750469], "type": "hash-probe", "pass-on-nulls": false}], + "selectivity": 0.888268 + }], + "early-probed-by": [5], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey2"}, "right": {"expression": "iu-ref", "iu": "scan_partkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}, "comparison": "="}] + }, { + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[328, 336]], + "estimated-rows": 463, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]},{"col-id": 5, "name": "s_acctbal", "type": ["Numeric", 12, 2], "iu": ["scan_acctbal", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "restrictions": [{"attribute": 5, "mode": ">", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 0}}}], + "early-probes": [{"builder-id": 2, "attributes": [0], "num-equality-predicates": 1, "selectivities": [0.00772201], "type": "hash-probe", "pass-on-nulls": false}], + "selectivity": 0.893822 + }], + "early-probed-by": [6], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "comparison": "="}] + }] +} +}, { + "name": "ChooseAccessPath", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "produces-rows": true, + "output": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "type": ["Varchar"], "error-handling": "trap"}, {"expression": "iu-ref", "sqlpos": [[754, 755]], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "type": ["Varchar"], "error-handling": "trap"}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "inner", + "estimated-rows": 3.8826, + "method": "hash", + "compute-left-bounds": [0], + "inputs": [{ + "operator": "join", + "operator-id": 3, + "type": "inner", + "estimated-rows": 4, + "method": "hash", + "compute-left-bounds": [0], + "inputs": [{ + "operator": "scan", + "operator-id": 4, + "type": "native", + "sqlpos": [[204, 208]], + "estimated-rows": 4, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]},{"col-id": 3, "name": "p_brand", "type": ["Char", 10], "iu": ["scan_p_brand", ["Char", 10]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "restrictions": [{"attribute": 3, "mode": "=", "value": {"expression": "const", "value": {"type": ["Char", 10], "value": "Brand#11"}}}, {"attribute": 1, "mode": "lambda", "expression": {"expression": "contains", "left": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_p_name"}, "type": ["Varchar"], "error-handling": "trap"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "blue"}}}}], + "selectivity": 0.00750469 + }, { + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[500, 508]], + "estimated-rows": 477, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "restrictions": [{"attribute": 3, "mode": ">", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 10000}}}], + "early-probes": [{"builder-id": 3, "attributes": [0], "num-equality-predicates": 1, "selectivities": [0.00750469], "type": "hash-probe", "pass-on-nulls": false}], + "selectivity": 0.888268 + }], + "early-probed-by": [5], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey2"}, "right": {"expression": "iu-ref", "iu": "scan_partkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}, "comparison": "="}] + }, { + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[328, 336]], + "estimated-rows": 463, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]},{"col-id": 5, "name": "s_acctbal", "type": ["Numeric", 12, 2], "iu": ["scan_acctbal", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "restrictions": [{"attribute": 5, "mode": ">", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 0}}}], + "early-probes": [{"builder-id": 2, "attributes": [0], "num-equality-predicates": 1, "selectivities": [0.00772201], "type": "hash-probe", "pass-on-nulls": false}], + "selectivity": 0.893822 + }], + "early-probed-by": [6], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "comparison": "="}] + }] +} +}, { + "name": "Deduplication", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "produces-rows": true, + "output": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "type": ["Varchar"], "error-handling": "trap"}, {"expression": "iu-ref", "sqlpos": [[754, 755]], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "type": ["Varchar"], "error-handling": "trap"}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "inner", + "estimated-rows": 3.8826, + "method": "hash", + "compute-left-bounds": [0], + "inputs": [{ + "operator": "join", + "operator-id": 3, + "type": "inner", + "estimated-rows": 4, + "method": "hash", + "compute-left-bounds": [0], + "inputs": [{ + "operator": "scan", + "operator-id": 4, + "type": "native", + "sqlpos": [[204, 208]], + "estimated-rows": 4, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]},{"col-id": 3, "name": "p_brand", "type": ["Char", 10], "iu": ["scan_p_brand", ["Char", 10]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "restrictions": [{"attribute": 3, "mode": "=", "value": {"expression": "const", "value": {"type": ["Char", 10], "value": "Brand#11"}}}, {"attribute": 1, "mode": "lambda", "expression": {"expression": "contains", "left": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_p_name"}, "type": ["Varchar"], "error-handling": "trap"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "blue"}}}}], + "selectivity": 0.00750469 + }, { + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[500, 508]], + "estimated-rows": 477, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "restrictions": [{"attribute": 3, "mode": ">", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 10000}}}], + "early-probes": [{"builder-id": 3, "attributes": [0], "num-equality-predicates": 1, "selectivities": [0.00750469], "type": "hash-probe", "pass-on-nulls": false}], + "selectivity": 0.888268 + }], + "early-probed-by": [5], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey2"}, "right": {"expression": "iu-ref", "iu": "scan_partkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}, "comparison": "="}] + }, { + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[328, 336]], + "estimated-rows": 463, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]},{"col-id": 5, "name": "s_acctbal", "type": ["Numeric", 12, 2], "iu": ["scan_acctbal", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "restrictions": [{"attribute": 5, "mode": ">", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 0}}}], + "early-probes": [{"builder-id": 2, "attributes": [0], "num-equality-predicates": 1, "selectivities": [0.00772201], "type": "hash-probe", "pass-on-nulls": false}], + "selectivity": 0.893822 + }], + "early-probed-by": [6], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "comparison": "="}] + }] +} +}, { + "name": "CachingAndBatching", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "estimated-rows": 3.8826, + "produces-rows": true, + "output": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "type": ["Varchar"], "error-handling": "trap"}, {"expression": "iu-ref", "sqlpos": [[754, 755]], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "type": ["Varchar"], "error-handling": "trap"}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "inner", + "estimated-rows": 3.8826, + "method": "hash", + "compute-left-bounds": [0], + "inputs": [{ + "operator": "join", + "operator-id": 3, + "type": "inner", + "estimated-rows": 4, + "method": "hash", + "compute-left-bounds": [0], + "inputs": [{ + "operator": "scan", + "operator-id": 4, + "type": "native", + "sqlpos": [[204, 208]], + "estimated-rows": 4, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]},{"col-id": 3, "name": "p_brand", "type": ["Char", 10], "iu": ["scan_p_brand", ["Char", 10]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "restrictions": [{"attribute": 3, "mode": "=", "value": {"expression": "const", "value": {"type": ["Char", 10], "value": "Brand#11"}}}, {"attribute": 1, "mode": "lambda", "expression": {"expression": "contains", "left": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_p_name"}, "type": ["Varchar"], "error-handling": "trap"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "blue"}}}}], + "selectivity": 0.00750469 + }, { + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[500, 508]], + "estimated-rows": 477, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "restrictions": [{"attribute": 3, "mode": ">", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 10000}}}], + "early-probes": [{"builder-id": 3, "attributes": [0], "num-equality-predicates": 1, "selectivities": [0.00750469], "type": "hash-probe", "pass-on-nulls": false}], + "selectivity": 0.888268 + }], + "early-probed-by": [5], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey2"}, "right": {"expression": "iu-ref", "iu": "scan_partkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}, "comparison": "="}] + }, { + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[328, 336]], + "estimated-rows": 463, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]},{"col-id": 5, "name": "s_acctbal", "type": ["Numeric", 12, 2], "iu": ["scan_acctbal", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "restrictions": [{"attribute": 5, "mode": ">", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 0}}}], + "early-probes": [{"builder-id": 2, "attributes": [0], "num-equality-predicates": 1, "selectivities": [0.00772201], "type": "hash-probe", "pass-on-nulls": false}], + "selectivity": 0.893822 + }], + "early-probed-by": [6], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "comparison": "="}] + }] +} +}, { + "name": "Final", + "plan": { + "operator": "result-sink", + "operator-id": 1, + "estimated-rows": 3.8826, + "produces-rows": true, + "output": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "type": ["Varchar"], "error-handling": "trap"}, {"expression": "iu-ref", "sqlpos": [[754, 755]], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "type": ["Varchar"], "error-handling": "trap"}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "inner", + "estimated-rows": 3.8826, + "method": "hash", + "compute-left-bounds": [0], + "inputs": [{ + "operator": "join", + "operator-id": 3, + "type": "inner", + "estimated-rows": 4, + "method": "hash", + "compute-left-bounds": [0], + "inputs": [{ + "operator": "scan", + "operator-id": 4, + "type": "native", + "sqlpos": [[204, 208]], + "estimated-rows": 4, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]},{"col-id": 3, "name": "p_brand", "type": ["Char", 10], "iu": ["scan_p_brand", ["Char", 10]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "restrictions": [{"attribute": 3, "mode": "=", "value": {"expression": "const", "value": {"type": ["Char", 10], "value": "Brand#11"}}}, {"attribute": 1, "mode": "lambda", "expression": {"expression": "contains", "left": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_p_name"}, "type": ["Varchar"], "error-handling": "trap"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "blue"}}}}], + "selectivity": 0.00750469 + }, { + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[500, 508]], + "estimated-rows": 477, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "restrictions": [{"attribute": 3, "mode": ">", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 10000}}}], + "early-probes": [{"builder-id": 3, "attributes": [0], "num-equality-predicates": 1, "selectivities": [0.00750469], "type": "hash-probe", "pass-on-nulls": false}], + "selectivity": 0.888268 + }], + "early-probed-by": [5], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey2"}, "right": {"expression": "iu-ref", "iu": "scan_partkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}, "comparison": "="}] + }, { + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[328, 336]], + "estimated-rows": 463, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]},{"col-id": 5, "name": "s_acctbal", "type": ["Numeric", 12, 2], "iu": ["scan_acctbal", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "restrictions": [{"attribute": 5, "mode": ">", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 0}}}], + "early-probes": [{"builder-id": 2, "attributes": [0], "num-equality-predicates": 1, "selectivities": [0.00772201], "type": "hash-probe", "pass-on-nulls": false}], + "selectivity": 0.893822 + }], + "early-probed-by": [6], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "comparison": "="}] + }] +} +}]} \ No newline at end of file diff --git a/standalone-app/examples/hyper/pgq.plan.json b/standalone-app/examples/hyper/pgq.plan.json new file mode 100644 index 00000000..853c7b7a --- /dev/null +++ b/standalone-app/examples/hyper/pgq.plan.json @@ -0,0 +1,82 @@ +{ + "tree": { + "operator": "result-sink", + "operator-id": 1, + "estimated-rows": 3.8826, + "produces-rows": true, + "output": [{"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_p_name", ["Varchar", 55]]}, "type": ["Varchar"], "error-handling": "trap"}, {"expression": "iu-ref", "sqlpos": [[738, 739]], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}, {"expression": "cast", "value": {"expression": "iu-ref", "iu": ["scan_s_name", ["Char", 25]]}, "type": ["Varchar"], "error-handling": "trap"}], + "output-names": ["product_name", "supply_cost", "supplier_name"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "inner", + "estimated-rows": 3.8826, + "method": "hash", + "compute-left-bounds": [0], + "inputs": [{ + "operator": "join", + "operator-id": 3, + "type": "inner", + "estimated-rows": 4, + "method": "hash", + "compute-left-bounds": [0], + "inputs": [{ + "operator": "scan", + "operator-id": 4, + "type": "native", + "sqlpos": [[188, 192]], + "estimated-rows": 4, + "volatility": "stable", + "relation-id": 2, + "schema": {"type":"sessionschema"}, + "attribute-count": 9, + "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 1, "name": "p_name", "type": ["Varchar", 55], "iu": ["scan_p_name", ["Varchar", 55]]},{"col-id": 3, "name": "p_brand", "type": ["Char", 10], "iu": ["scan_p_brand", ["Char", 10]]}], + "debug-name": {"classification": "nonsensitive", "value": "part"}, + "restrictions": [{"attribute": 3, "mode": "=", "value": {"expression": "const", "value": {"type": ["Char", 10], "value": "Brand#11"}}}, {"attribute": 1, "mode": "lambda", "expression": {"expression": "contains", "left": {"expression": "cast", "value": {"expression": "iu-ref", "iu": "scan_p_name"}, "type": ["Varchar"], "error-handling": "trap"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "blue"}}}}], + "selectivity": 0.00750469 + }, { + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[484, 492]], + "estimated-rows": 477, + "volatility": "stable", + "relation-id": 4, + "schema": {"type":"sessionschema"}, + "attribute-count": 5, + "attributes": [{"col-id": 0, "name": "ps_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 1, "name": "ps_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 3, "name": "ps_supplycost", "type": ["Numeric", 12, 2], "iu": ["scan_supplyco", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, + "restrictions": [{"attribute": 3, "mode": ">", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 10000}}}], + "early-probes": [{"builder-id": 3, "attributes": [0], "num-equality-predicates": 1, "selectivities": [0.00750469], "type": "hash-probe", "pass-on-nulls": false}], + "selectivity": 0.888268 + }], + "early-probed-by": [5], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey2"}, "right": {"expression": "iu-ref", "iu": "scan_partkey"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey2"}, "comparison": "="}] + }, { + "operator": "scan", + "operator-id": 6, + "type": "native", + "sqlpos": [[312, 320]], + "estimated-rows": 463, + "volatility": "stable", + "relation-id": 3, + "schema": {"type":"sessionschema"}, + "attribute-count": 7, + "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 1, "name": "s_name", "type": ["Char", 25], "iu": ["scan_s_name", ["Char", 25]]},{"col-id": 5, "name": "s_acctbal", "type": ["Numeric", 12, 2], "iu": ["scan_acctbal", ["Numeric", 12, 2]]}], + "debug-name": {"classification": "nonsensitive", "value": "supplier"}, + "restrictions": [{"attribute": 5, "mode": ">", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 0}}}], + "early-probes": [{"builder-id": 2, "attributes": [0], "num-equality-predicates": 1, "selectivities": [0.00772201], "type": "hash-probe", "pass-on-nulls": false}], + "selectivity": 0.893822 + }], + "early-probed-by": [6], + "condition": {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "comparison": "="}] + }] + }, + "pipelines": [ + {"id": 0, "operators": [1, 2, 6], "dependencies": [1]}, + {"id": 1, "operators": [2, 3, 5], "dependencies": [2]}, + {"id": 2, "operators": [3, 4], "dependencies": []} + ] +} diff --git a/standalone-app/examples/hyper/setoperation-analyze.plan.json b/standalone-app/examples/hyper/setoperation-analyze.plan.json index 292218a7..42e335ec 100644 --- a/standalone-app/examples/hyper/setoperation-analyze.plan.json +++ b/standalone-app/examples/hyper/setoperation-analyze.plan.json @@ -2,123 +2,421 @@ "tree": { "operator": "result-sink", "operator-id": 1, - "estimated-rows": 1183.1, + "estimated-rows": 3501.99, "produces-rows": true, - "output": [{"expression": "iu-ref", "iu": ["union", ["Integer"]]}, {"expression": "iu-ref", "iu": ["union2", ["Integer"]]}], - "output-names": ["l_orderkey", "l_partkey"], + "output": [{"expression": "iu-ref", "iu": ["union", ["Varchar"]]}, {"expression": "iu-ref", "iu": ["union2", ["Integer"]]}], + "output-names": ["operation", "value"], "inputs": [{ "operator": "union-all", "operator-id": 2, - "sqlpos": [[78, 87], [131, 140]], - "estimated-rows": 1183.1, + "sqlpos": [[427, 436], [623, 632], [773, 782], [936, 945], [1077, 1086]], + "estimated-rows": 3501.99, "inputs": [{ - "operator": "scan", + "operator": "map", "operator-id": 3, - "type": "native", - "sqlpos": [[69, 77]], - "estimated-rows": 572, - "volatility": "stable", - "relation-id": 7, - "schema": {"type":"sessionschema"}, - "attribute-count": 16, - "attributes": [{"col-id": 0, "name": "l_orderkey", "type": ["Integer"], "iu": ["scan_orderkey", ["Integer"]]},{"col-id": 1, "name": "l_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]}], - "debug-name": {"classification": "nonsensitive", "value": "lineitem"}, - "selectivity": 1, - "statistics": {"column-count": 2, "output-rows": 572, "processed-rows": 572} - }, { - "operator": "scan", - "operator-id": 4, - "type": "native", - "sqlpos": [[122, 130]], - "estimated-rows": 572, - "volatility": "stable", - "relation-id": 7, - "schema": {"type":"sessionschema"}, - "attribute-count": 16, - "attributes": [{"col-id": 0, "name": "l_orderkey", "type": ["Integer"], "iu": ["scan_orderkey2", ["Integer"]]},{"col-id": 2, "name": "l_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]}], - "debug-name": {"classification": "nonsensitive", "value": "lineitem"}, - "selectivity": 1, - "statistics": {"column-count": 2, "output-rows": 572, "processed-rows": 572} - }, { - "operator": "except-all", - "operator-id": 5, - "sqlpos": [[304, 314]], - "estimated-rows": 39.0955, + "sqlpos": [[244, 250]], + "estimated-rows": 300, "inputs": [{ - "operator": "intersect-all", - "operator-id": 6, - "sqlpos": [[216, 229]], - "estimated-rows": 55.3353, + "operator": "union", + "operator-id": 4, + "sqlpos": [[335, 340], [381, 386]], + "estimated-rows": 300, "inputs": [{ "operator": "scan", - "operator-id": 7, + "operator-id": 5, "type": "native", - "sqlpos": [[179, 187]], - "estimated-rows": 286, + "sqlpos": [[314, 316]], + "estimated-rows": 1000, "volatility": "stable", - "relation-id": 7, + "relation-id": 0, "schema": {"type":"sessionschema"}, - "attribute-count": 16, - "attributes": [{"col-id": 1, "name": "l_partkey", "type": ["Integer"], "iu": ["scan_partkey2", ["Integer"]]},{"col-id": 2, "name": "l_suppkey", "type": ["Integer"], "iu": ["scan_suppkey2", ["Integer"]]},{"col-id": 4, "name": "l_quantity", "type": ["Numeric", 12, 2], "iu": ["scan_quantity", ["Numeric", 12, 2]]}], - "debug-name": {"classification": "nonsensitive", "value": "lineitem"}, - "restrictions": [{"attribute": 4, "mode": "<", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 2500}}}], + "might-scan-domain": true, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a1", "type": ["Integer"], "iu": ["scan_a1", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "restrictions": [{"attribute": 0, "mode": "<", "selectivity": 0.5, "value": {"expression": "const", "value": {"type": ["Integer"], "value": 10}}}], "selectivity": 0.5, - "statistics": {"column-count": 2, "output-rows": 286, "processed-rows": 572} + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} }, { "operator": "scan", - "operator-id": 8, + "operator-id": 6, "type": "native", - "sqlpos": [[266, 274]], - "estimated-rows": 286, + "sqlpos": [[360, 362]], + "estimated-rows": 1000, "volatility": "stable", - "relation-id": 7, + "relation-id": 0, "schema": {"type":"sessionschema"}, - "attribute-count": 16, - "attributes": [{"col-id": 1, "name": "l_partkey", "type": ["Integer"], "iu": ["scan_partkey3", ["Integer"]]},{"col-id": 2, "name": "l_suppkey", "type": ["Integer"], "iu": ["scan_suppkey3", ["Integer"]]},{"col-id": 4, "name": "l_quantity", "type": ["Numeric", 12, 2], "iu": ["scan_quantity2", ["Numeric", 12, 2]]}], - "debug-name": {"classification": "nonsensitive", "value": "lineitem"}, - "restrictions": [{"attribute": 4, "mode": ">=", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 2500}}}], + "might-scan-domain": true, + "attribute-count": 3, + "attributes": [{"col-id": 1, "name": "b1", "type": ["Integer"], "iu": ["scan_b1", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "restrictions": [{"attribute": 1, "mode": "<", "selectivity": 0.5, "value": {"expression": "const", "value": {"type": ["Integer"], "value": 10}}}], "selectivity": 0.5, - "statistics": {"column-count": 2, "output-rows": 286, "processed-rows": 572} + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }, { + "operator": "scan", + "operator-id": 7, + "type": "native", + "sqlpos": [[406, 408]], + "estimated-rows": 1000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "might-scan-domain": true, + "attribute-count": 3, + "attributes": [{"col-id": 2, "name": "c1", "type": ["Integer"], "iu": ["scan_c1", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "restrictions": [{"attribute": 2, "mode": "<", "selectivity": 0.5, "value": {"expression": "const", "value": {"type": ["Integer"], "value": 10}}}], + "selectivity": 0.5, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} }], - "ius": [["union3", ["Integer"]], ["union4", ["Integer"]]], - "values": [[{"expression": "iu-ref", "iu": "scan_suppkey2"}, {"expression": "iu-ref", "iu": "scan_partkey2"}], [{"expression": "iu-ref", "iu": "scan_suppkey3"}, {"expression": "iu-ref", "iu": "scan_partkey3"}]], - "collates": [null, null], - "statistics": {"column-count": 2, "output-rows": 16} - }, { - "operator": "scan", + "ius": [["union3", ["Integer"]]], + "values": [[{"expression": "iu-ref", "iu": "scan_a1"}], [{"expression": "iu-ref", "iu": "scan_b1"}], [{"expression": "iu-ref", "iu": "scan_c1"}]], + "collates": [null], + "statistics": {"column-count": 1, "output-rows": 0} + }], + "values": [{"iu": ["map", ["Varchar"]], "value": {"expression": "const", "value": {"type": ["Varchar"], "value": "union"}}}], + "statistics": {"column-count": 2, "output-rows": 0} + }, { + "operator": "map", + "operator-id": 8, + "sqlpos": [[437, 443]], + "estimated-rows": 3000, + "inputs": [{ + "operator": "union-all", "operator-id": 9, - "type": "native", - "sqlpos": [[351, 359]], - "estimated-rows": 286, - "volatility": "stable", - "relation-id": 7, - "schema": {"type":"sessionschema"}, - "attribute-count": 16, - "attributes": [{"col-id": 1, "name": "l_partkey", "type": ["Integer"], "iu": ["scan_partkey4", ["Integer"]]},{"col-id": 2, "name": "l_suppkey", "type": ["Integer"], "iu": ["scan_suppkey4", ["Integer"]]},{"col-id": 4, "name": "l_quantity", "type": ["Numeric", 12, 2], "iu": ["scan_quantity3", ["Numeric", 12, 2]]}], - "debug-name": {"classification": "nonsensitive", "value": "lineitem"}, - "restrictions": [{"attribute": 4, "mode": ">=", "value": {"expression": "const", "value": {"type": ["Numeric", 12, 2], "value": 2500}}}], - "selectivity": 0.5, - "statistics": {"column-count": 2, "output-rows": 286, "processed-rows": 572} + "sqlpos": [[520, 529], [571, 580]], + "estimated-rows": 3000, + "inputs": [{ + "operator": "scan", + "operator-id": 10, + "type": "native", + "sqlpos": [[498, 500]], + "estimated-rows": 1000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a1", "type": ["Integer"], "iu": ["scan_a12", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "restrictions": [{"attribute": 0, "mode": ">=", "selectivity": 0.5, "value": {"expression": "const", "value": {"type": ["Integer"], "value": 10}}}], + "selectivity": 0.5, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }, { + "operator": "scan", + "operator-id": 11, + "type": "native", + "sqlpos": [[549, 551]], + "estimated-rows": 1000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 1, "name": "b1", "type": ["Integer"], "iu": ["scan_b12", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "restrictions": [{"attribute": 1, "mode": ">=", "selectivity": 0.5, "value": {"expression": "const", "value": {"type": ["Integer"], "value": 10}}}], + "selectivity": 0.5, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }, { + "operator": "scan", + "operator-id": 12, + "type": "native", + "sqlpos": [[600, 602]], + "estimated-rows": 1000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 2, "name": "c1", "type": ["Integer"], "iu": ["scan_c12", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "restrictions": [{"attribute": 2, "mode": ">=", "selectivity": 0.5, "value": {"expression": "const", "value": {"type": ["Integer"], "value": 10}}}], + "selectivity": 0.5, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }], + "ius": [["union4", ["Integer"]]], + "values": [[{"expression": "iu-ref", "iu": "scan_a12"}], [{"expression": "iu-ref", "iu": "scan_b12"}], [{"expression": "iu-ref", "iu": "scan_c12"}]], + "collates": [null], + "statistics": {"column-count": 1, "output-rows": 0} + }], + "values": [{"iu": ["map2", ["Varchar"]], "value": {"expression": "const", "value": {"type": ["Varchar"], "value": "union-all"}}}], + "statistics": {"column-count": 2, "output-rows": 0} + }, { + "operator": "map", + "operator-id": 13, + "sqlpos": [[633, 639]], + "estimated-rows": 99.9973, + "inputs": [{ + "operator": "intersect", + "operator-id": 14, + "sqlpos": [[701, 710], [737, 746]], + "estimated-rows": 99.9973, + "inputs": [{ + "operator": "scan", + "operator-id": 15, + "type": "native", + "sqlpos": [[694, 696]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "might-scan-domain": true, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a1", "type": ["Integer"], "iu": ["scan_a13", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }, { + "operator": "scan", + "operator-id": 16, + "type": "native", + "sqlpos": [[730, 732]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "might-scan-domain": true, + "attribute-count": 3, + "attributes": [{"col-id": 1, "name": "b1", "type": ["Integer"], "iu": ["scan_b13", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }, { + "operator": "scan", + "operator-id": 17, + "type": "native", + "sqlpos": [[766, 768]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "might-scan-domain": true, + "attribute-count": 3, + "attributes": [{"col-id": 2, "name": "c1", "type": ["Integer"], "iu": ["scan_c13", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }], + "ius": [["union5", ["Integer"]]], + "values": [[{"expression": "iu-ref", "iu": "scan_a13"}], [{"expression": "iu-ref", "iu": "scan_b13"}], [{"expression": "iu-ref", "iu": "scan_c13"}]], + "collates": [null], + "statistics": {"column-count": 1, "output-rows": 0} + }], + "values": [{"iu": ["map3", ["Varchar"]], "value": {"expression": "const", "value": {"type": ["Varchar"], "value": "intersect"}}}], + "statistics": {"column-count": 2, "output-rows": 0} + }, { + "operator": "map", + "operator-id": 18, + "sqlpos": [[783, 789]], + "estimated-rows": 99.9973, + "inputs": [{ + "operator": "intersect-all", + "operator-id": 19, + "sqlpos": [[855, 868], [895, 908]], + "estimated-rows": 99.9973, + "inputs": [{ + "operator": "scan", + "operator-id": 20, + "type": "native", + "sqlpos": [[848, 850]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a1", "type": ["Integer"], "iu": ["scan_a14", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }, { + "operator": "scan", + "operator-id": 21, + "type": "native", + "sqlpos": [[888, 890]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 1, "name": "b1", "type": ["Integer"], "iu": ["scan_b14", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }, { + "operator": "scan", + "operator-id": 22, + "type": "native", + "sqlpos": [[928, 930]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 2, "name": "c1", "type": ["Integer"], "iu": ["scan_c14", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }], + "ius": [["union6", ["Integer"]]], + "values": [[{"expression": "iu-ref", "iu": "scan_a14"}], [{"expression": "iu-ref", "iu": "scan_b14"}], [{"expression": "iu-ref", "iu": "scan_c14"}]], + "collates": [null], + "statistics": {"column-count": 1, "output-rows": 0} + }], + "values": [{"iu": ["map4", ["Varchar"]], "value": {"expression": "const", "value": {"type": ["Varchar"], "value": "intersect-all"}}}], + "statistics": {"column-count": 2, "output-rows": 0} + }, { + "operator": "map", + "operator-id": 23, + "sqlpos": [[946, 952]], + "estimated-rows": 1, + "inputs": [{ + "operator": "except", + "operator-id": 24, + "sqlpos": [[1011, 1017], [1044, 1050]], + "estimated-rows": 1, + "inputs": [{ + "operator": "scan", + "operator-id": 25, + "type": "native", + "sqlpos": [[1004, 1006]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "might-scan-domain": true, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a1", "type": ["Integer"], "iu": ["scan_a15", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }, { + "operator": "scan", + "operator-id": 26, + "type": "native", + "sqlpos": [[1037, 1039]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "might-scan-domain": true, + "attribute-count": 3, + "attributes": [{"col-id": 1, "name": "b1", "type": ["Integer"], "iu": ["scan_b15", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }, { + "operator": "scan", + "operator-id": 27, + "type": "native", + "sqlpos": [[1070, 1072]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "might-scan-domain": true, + "attribute-count": 3, + "attributes": [{"col-id": 2, "name": "c1", "type": ["Integer"], "iu": ["scan_c15", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }], + "ius": [["union7", ["Integer"]]], + "values": [[{"expression": "iu-ref", "iu": "scan_a15"}], [{"expression": "iu-ref", "iu": "scan_b15"}], [{"expression": "iu-ref", "iu": "scan_c15"}]], + "collates": [null], + "statistics": {"column-count": 1, "output-rows": 0} + }], + "values": [{"iu": ["map5", ["Varchar"]], "value": {"expression": "const", "value": {"type": ["Varchar"], "value": "except"}}}], + "statistics": {"column-count": 2, "output-rows": 0} + }, { + "operator": "map", + "operator-id": 28, + "sqlpos": [[1087, 1093]], + "estimated-rows": 1, + "inputs": [{ + "operator": "except-all", + "operator-id": 29, + "sqlpos": [[1156, 1166], [1193, 1203]], + "estimated-rows": 1, + "inputs": [{ + "operator": "scan", + "operator-id": 30, + "type": "native", + "sqlpos": [[1149, 1151]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a1", "type": ["Integer"], "iu": ["scan_a16", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }, { + "operator": "scan", + "operator-id": 31, + "type": "native", + "sqlpos": [[1186, 1188]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 1, "name": "b1", "type": ["Integer"], "iu": ["scan_b16", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }, { + "operator": "scan", + "operator-id": 32, + "type": "native", + "sqlpos": [[1223, 1225]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 2, "name": "c1", "type": ["Integer"], "iu": ["scan_c16", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }], + "ius": [["union8", ["Integer"]]], + "values": [[{"expression": "iu-ref", "iu": "scan_a16"}], [{"expression": "iu-ref", "iu": "scan_b16"}], [{"expression": "iu-ref", "iu": "scan_c16"}]], + "collates": [null], + "statistics": {"column-count": 1, "output-rows": 0} }], - "ius": [["union5", ["Integer"]], ["union6", ["Integer"]]], - "values": [[{"expression": "iu-ref", "iu": "union3"}, {"expression": "iu-ref", "iu": "union4"}], [{"expression": "iu-ref", "iu": "scan_suppkey4"}, {"expression": "iu-ref", "iu": "scan_partkey4"}]], - "collates": [null, null], + "values": [{"iu": ["map6", ["Varchar"]], "value": {"expression": "const", "value": {"type": ["Varchar"], "value": "except-all"}}}], "statistics": {"column-count": 2, "output-rows": 0} }], - "ius": [["union", ["Integer"]], ["union2", ["Integer"]]], - "values": [[{"expression": "iu-ref", "iu": "scan_orderkey"}, {"expression": "iu-ref", "iu": "scan_partkey"}], [{"expression": "iu-ref", "iu": "scan_orderkey2"}, {"expression": "iu-ref", "iu": "scan_suppkey"}], [{"expression": "iu-ref", "iu": "union5"}, {"expression": "iu-ref", "iu": "union6"}]], + "ius": [["union", ["Varchar"]], ["union2", ["Integer"]]], + "values": [[{"expression": "iu-ref", "iu": "map"}, {"expression": "iu-ref", "iu": "union3"}], [{"expression": "iu-ref", "iu": "map2"}, {"expression": "iu-ref", "iu": "union4"}], [{"expression": "iu-ref", "iu": "map3"}, {"expression": "iu-ref", "iu": "union5"}], [{"expression": "iu-ref", "iu": "map4"}, {"expression": "iu-ref", "iu": "union6"}], [{"expression": "iu-ref", "iu": "map5"}, {"expression": "iu-ref", "iu": "union7"}], [{"expression": "iu-ref", "iu": "map6"}, {"expression": "iu-ref", "iu": "union8"}]], "collates": [null, null], - "statistics": {"column-count": 2, "output-rows": 1144} + "statistics": {"column-count": 2, "output-rows": 0} }], "statistics": {"error": null, "column-count": 0} }, "pipelines": [ - {"id": 1, "operators": [1, 2, 3], "dependencies": [], "statistics": {"cpu-cycles": 146924, "query-metrics": {"elapsed":5.2866e-05,"memory-mb-seconds":2.6433e-05,"instance-seconds":5.2866e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":5.2866e-05,"cpu-time":5.2808e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":572}},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 2, "operators": [1, 2, 4], "dependencies": [], "statistics": {"cpu-cycles": 113206, "query-metrics": {"elapsed":3.9586e-05,"memory-mb-seconds":1.9793e-05,"instance-seconds":3.9586e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":3.9586e-05,"cpu-time":3.9609e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":572}},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 3, "operators": [1, 2, 5], "dependencies": [4, 7], "statistics": {"cpu-cycles": 1727359, "query-metrics": {"elapsed":0.000591248,"memory-mb-seconds":0.000923861,"instance-seconds":0.000591248,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":0.000591248,"cpu-time":0.000591446,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, - {"id": 4, "operators": [5, 6], "dependencies": [5, 6], "statistics": {"cpu-cycles": 2235566, "query-metrics": {"elapsed":0.000768249,"memory-mb-seconds":0.00120043,"instance-seconds":0.000768249,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":0.000768249,"cpu-time":0.000768546,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, - {"id": 5, "operators": [6, 7], "dependencies": [], "statistics": {"cpu-cycles": 80738, "query-metrics": {"elapsed":0.000237238,"memory-mb-seconds":0.000370698,"instance-seconds":0.000237238,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":0.000237238,"cpu-time":0.000237363,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":286}},"peak-transaction-memory-mb":1.56256}, "running": false}}, - {"id": 6, "operators": [6, 8], "dependencies": [5], "statistics": {"cpu-cycles": 65123, "query-metrics": {"elapsed":0.000111613,"memory-mb-seconds":0.000174402,"instance-seconds":0.000111613,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":0.000111613,"cpu-time":0.000111779,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":286}},"peak-transaction-memory-mb":1.56256}, "running": false}}, - {"id": 7, "operators": [5, 9], "dependencies": [4], "statistics": {"cpu-cycles": 42780, "query-metrics": {"elapsed":3.8106e-05,"memory-mb-seconds":5.9542e-05,"instance-seconds":3.8106e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":3.8106e-05,"cpu-time":3.814e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":286}},"peak-transaction-memory-mb":1.56256}, "running": false}} + {"id": 1, "operators": [1, 2, 3, 4], "dependencies": [2, 3, 4], "statistics": {"cpu-cycles": 2439831, "query-metrics": {"elapsed":0.000829009,"memory-mb-seconds":0.00129538,"instance-seconds":0.000829009,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":0.000829009,"cpu-time":0.000829237,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 2, "operators": [4, 5], "dependencies": [], "statistics": {"cpu-cycles": 825, "query-metrics": {"elapsed":1.2013e-05,"memory-mb-seconds":6.006e-06,"instance-seconds":1.2013e-05,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.2013e-05,"cpu-time":1.1979e-05,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 3, "operators": [4, 6], "dependencies": [], "statistics": {"cpu-cycles": 278, "query-metrics": {"elapsed":5.047e-06,"memory-mb-seconds":2.523e-06,"instance-seconds":5.047e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":5.047e-06,"cpu-time":5.088e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 4, "operators": [4, 7], "dependencies": [], "statistics": {"cpu-cycles": 222, "query-metrics": {"elapsed":2.932e-06,"memory-mb-seconds":1.466e-06,"instance-seconds":2.932e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":2.932e-06,"cpu-time":2.94e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 6, "operators": [1, 2, 8, 9, 10], "dependencies": [], "statistics": {"cpu-cycles": 526, "query-metrics": {"elapsed":3.769e-06,"memory-mb-seconds":5.889e-06,"instance-seconds":3.769e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":3.769e-06,"cpu-time":3.691e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 7, "operators": [1, 2, 8, 9, 11], "dependencies": [], "statistics": {"cpu-cycles": 221, "query-metrics": {"elapsed":1.825e-06,"memory-mb-seconds":2.851e-06,"instance-seconds":1.825e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.825e-06,"cpu-time":1.825e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 8, "operators": [1, 2, 8, 9, 12], "dependencies": [], "statistics": {"cpu-cycles": 185, "query-metrics": {"elapsed":1.843e-06,"memory-mb-seconds":2.879e-06,"instance-seconds":1.843e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.843e-06,"cpu-time":1.842e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 9, "operators": [1, 2, 13, 14], "dependencies": [10, 11, 12], "statistics": {"cpu-cycles": 1321361, "query-metrics": {"elapsed":0.000454867,"memory-mb-seconds":0.000710757,"instance-seconds":0.000454867,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":0.000454867,"cpu-time":0.000455132,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 10, "operators": [14, 15], "dependencies": [], "statistics": {"cpu-cycles": 208, "query-metrics": {"elapsed":4.873e-06,"memory-mb-seconds":7.614e-06,"instance-seconds":4.873e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":4.873e-06,"cpu-time":4.957e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 11, "operators": [14, 16], "dependencies": [10], "statistics": {"cpu-cycles": 236, "query-metrics": {"elapsed":1.7273e-05,"memory-mb-seconds":2.699e-05,"instance-seconds":1.7273e-05,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.7273e-05,"cpu-time":1.737e-05,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 12, "operators": [14, 17], "dependencies": [10], "statistics": {"cpu-cycles": 235, "query-metrics": {"elapsed":1.6067e-05,"memory-mb-seconds":2.5105e-05,"instance-seconds":1.6067e-05,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.6067e-05,"cpu-time":1.6122e-05,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 13, "operators": [1, 2, 18, 19], "dependencies": [14, 15, 16], "statistics": {"cpu-cycles": 1280363, "query-metrics": {"elapsed":0.00044045,"memory-mb-seconds":0.00068823,"instance-seconds":0.00044045,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":0.00044045,"cpu-time":0.000440581,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 14, "operators": [19, 20], "dependencies": [], "statistics": {"cpu-cycles": 338, "query-metrics": {"elapsed":4.907e-06,"memory-mb-seconds":7.667e-06,"instance-seconds":4.907e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":4.907e-06,"cpu-time":4.762e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 15, "operators": [19, 21], "dependencies": [14], "statistics": {"cpu-cycles": 223, "query-metrics": {"elapsed":1.6474e-05,"memory-mb-seconds":2.5741e-05,"instance-seconds":1.6474e-05,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.6474e-05,"cpu-time":1.6543e-05,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 16, "operators": [19, 22], "dependencies": [14], "statistics": {"cpu-cycles": 234, "query-metrics": {"elapsed":1.6013e-05,"memory-mb-seconds":2.5021e-05,"instance-seconds":1.6013e-05,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.6013e-05,"cpu-time":1.6058e-05,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 17, "operators": [1, 2, 23, 24], "dependencies": [18, 19, 20], "statistics": {"cpu-cycles": 1291647, "query-metrics": {"elapsed":0.000444181,"memory-mb-seconds":0.000694059,"instance-seconds":0.000444181,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":0.000444181,"cpu-time":0.000444365,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 18, "operators": [24, 25], "dependencies": [], "statistics": {"cpu-cycles": 272, "query-metrics": {"elapsed":4.478e-06,"memory-mb-seconds":6.997e-06,"instance-seconds":4.478e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":4.478e-06,"cpu-time":4.414e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 19, "operators": [24, 26], "dependencies": [18], "statistics": {"cpu-cycles": 200, "query-metrics": {"elapsed":1.6572e-05,"memory-mb-seconds":2.5894e-05,"instance-seconds":1.6572e-05,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.6572e-05,"cpu-time":1.6603e-05,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 20, "operators": [24, 27], "dependencies": [18], "statistics": {"cpu-cycles": 224, "query-metrics": {"elapsed":1.6025e-05,"memory-mb-seconds":2.504e-05,"instance-seconds":1.6025e-05,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.6025e-05,"cpu-time":1.6042e-05,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 21, "operators": [1, 2, 28, 29], "dependencies": [22, 23, 24], "statistics": {"cpu-cycles": 1271522, "query-metrics": {"elapsed":0.000438258,"memory-mb-seconds":0.000684804,"instance-seconds":0.000438258,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":0.000438258,"cpu-time":0.000438444,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 22, "operators": [29, 30], "dependencies": [], "statistics": {"cpu-cycles": 217, "query-metrics": {"elapsed":4.359e-06,"memory-mb-seconds":6.811e-06,"instance-seconds":4.359e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":4.359e-06,"cpu-time":4.365e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 23, "operators": [29, 31], "dependencies": [22], "statistics": {"cpu-cycles": 230, "query-metrics": {"elapsed":1.6807e-05,"memory-mb-seconds":2.6261e-05,"instance-seconds":1.6807e-05,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.6807e-05,"cpu-time":1.6855e-05,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}}, + {"id": 24, "operators": [29, 32], "dependencies": [22], "statistics": {"cpu-cycles": 216, "query-metrics": {"elapsed":1.5968e-05,"memory-mb-seconds":2.495e-05,"instance-seconds":1.5968e-05,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.5968e-05,"cpu-time":1.6027e-05,"wait-time":0},"storage":{},"peak-transaction-memory-mb":1.56256}, "running": false}} ] } diff --git a/standalone-app/examples/hyper/subquery-analyze.plan.json b/standalone-app/examples/hyper/subquery-analyze.plan.json new file mode 100644 index 00000000..650af5ec --- /dev/null +++ b/standalone-app/examples/hyper/subquery-analyze.plan.json @@ -0,0 +1,62 @@ +{ + "tree": { + "operator": "result-sink", + "operator-id": 1, + "estimated-rows": 2000, + "produces-rows": true, + "output": [{"expression": "iu-ref", "sqlpos": [[232, 234]], "iu": ["scan_a1", ["Integer"]]}, {"expression": "iu-ref", "iu": ["scan_b2", ["Integer", "nullable"]]}], + "output-names": ["a1", "matching_b"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "right-outer", + "estimated-rows": 2000, + "method": "hash", + "single-match": true, + "inputs": [{ + "operator": "assert-single", + "operator-id": 3, + "estimated-rows": 1, + "inputs": [{ + "operator": "scan", + "operator-id": 4, + "type": "native", + "sqlpos": [[262, 264]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 1, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 1, "name": "b2", "type": ["Integer"], "iu": ["scan_b2", ["Integer", "nullable"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t2"}, + "selectivity": 1, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }], + "statistics": {"column-count": 1, "output-rows": 0} + }, { + "operator": "scan", + "operator-id": 5, + "type": "native", + "sqlpos": [[285, 287]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a1", "type": ["Integer"], "iu": ["scan_a1", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }], + "condition": {"expression": "const", "value": {"type": ["Bool"], "value": true}}, + "predicates": [], + "residual": {"expression": "const", "value": {"type": ["Bool"], "value": true}}, + "statistics": {"column-count": 2, "memory-bytes": 2048, "output-rows": 0} + }], + "statistics": {"error": null, "column-count": 0} + }, + "pipelines": [ + {"id": 0, "operators": [1, 2, 5], "dependencies": [1], "statistics": {"cpu-cycles": 293, "query-metrics": {"elapsed":1.605e-06,"memory-mb-seconds":8.02e-07,"instance-seconds":1.605e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.605e-06,"cpu-time":1.625e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 1, "operators": [2, 3, 4], "dependencies": [], "statistics": {"cpu-cycles": 740, "query-metrics": {"elapsed":4.283e-06,"memory-mb-seconds":2.141e-06,"instance-seconds":4.283e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":4.283e-06,"cpu-time":4.258e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}} + ] +} diff --git a/standalone-app/examples/hyper/subquery-correlated-analyze.plan.json b/standalone-app/examples/hyper/subquery-correlated-analyze.plan.json new file mode 100644 index 00000000..9eb1bf68 --- /dev/null +++ b/standalone-app/examples/hyper/subquery-correlated-analyze.plan.json @@ -0,0 +1,54 @@ +{ + "tree": { + "operator": "result-sink", + "operator-id": 1, + "estimated-rows": 2000, + "produces-rows": true, + "output": [{"expression": "iu-ref", "sqlpos": [[189, 191]], "iu": ["scan_a1", ["Integer"]]}, {"expression": "iu-ref", "iu": ["scan_b2", ["Integer", "nullable"]]}], + "output-names": ["a1", "matching_b"], + "inputs": [{ + "operator": "join", + "operator-id": 2, + "type": "left-single", + "estimated-rows": 2000, + "method": "hash", + "inputs": [{ + "operator": "scan", + "operator-id": 3, + "type": "native", + "sqlpos": [[262, 264]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 0, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a1", "type": ["Integer"], "iu": ["scan_a1", ["Integer"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t1"}, + "selectivity": 1, + "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} + }, { + "operator": "scan", + "operator-id": 4, + "type": "native", + "sqlpos": [[219, 221]], + "estimated-rows": 2000, + "volatility": "stable", + "relation-id": 1, + "schema": {"type":"sessionschema"}, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a2", "type": ["Integer"], "iu": ["scan_a2", ["Integer", "nullable"]]},{"col-id": 1, "name": "b2", "type": ["Integer"], "iu": ["scan_b2", ["Integer", "nullable"]]}], + "debug-name": {"classification": "nonsensitive", "value": "t2"}, + "selectivity": 1, + "statistics": {"column-count": 2, "output-rows": 0, "processed-rows": 0} + }], + "condition": {"expression": "comparison", "sqlpos": [[234, 235]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[231, 233]], "iu": "scan_a2"}, "right": {"expression": "iu-ref", "sqlpos": [[239, 241]], "iu": "scan_a1"}}, + "predicates": [{"left": {"expression": "iu-ref", "sqlpos": [[239, 241]], "iu": "scan_a1"}, "right": {"expression": "iu-ref", "sqlpos": [[231, 233]], "iu": "scan_a2"}, "comparison": "="}], + "statistics": {"column-count": 2, "memory-bytes": 2056, "output-rows": 0} + }], + "statistics": {"error": null, "column-count": 0} + }, + "pipelines": [ + {"id": 0, "operators": [1, 2, 4], "dependencies": [1], "statistics": {"cpu-cycles": 344, "query-metrics": {"elapsed":3.587e-06,"memory-mb-seconds":1.793e-06,"instance-seconds":3.587e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":3.587e-06,"cpu-time":3.523e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 1, "operators": [2, 3], "dependencies": [], "statistics": {"cpu-cycles": 738, "query-metrics": {"elapsed":5.349e-06,"memory-mb-seconds":2.674e-06,"instance-seconds":5.349e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":5.349e-06,"cpu-time":5.306e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}} + ] +} diff --git a/standalone-app/examples/hyper/tablesample-analyze.plan.json b/standalone-app/examples/hyper/tablesample-analyze.plan.json new file mode 100644 index 00000000..69ec2427 --- /dev/null +++ b/standalone-app/examples/hyper/tablesample-analyze.plan.json @@ -0,0 +1,29 @@ +{ + "tree": { + "operator": "result-sink", + "operator-id": 1, + "estimated-rows": 0, + "produces-rows": true, + "output": [{"expression": "iu-ref", "sqlpos": [[42, 44]], "iu": ["tablesample_a1", ["Integer"]]}, {"expression": "iu-ref", "sqlpos": [[46, 48]], "iu": ["tablesample_b1", ["Integer"]]}, {"expression": "iu-ref", "sqlpos": [[50, 52]], "iu": ["tablesample_c1", ["Integer"]]}], + "output-names": ["a1", "b1", "c1"], + "inputs": [{ + "operator": "table-sample", + "operator-id": 2, + "sqlpos": [[61, 72]], + "estimated-rows": 0, + "volatility": "stable", + "relation-id": {"id": 0, "path": {"type":"sessionschema"}}, + "sampling-method": "system", + "requested-sample-size": {"unit": "relative", "value": 0.5, "minValue": 0, "maxValue": 18446744073709551615}, + "seed": 1, + "attribute-count": 3, + "attributes": [{"col-id": 0, "name": "a1", "type": ["Integer"], "iu": ["tablesample_a1", ["Integer"]]},{"col-id": 1, "name": "b1", "type": ["Integer"], "iu": ["tablesample_b1", ["Integer"]]},{"col-id": 2, "name": "c1", "type": ["Integer"], "iu": ["tablesample_c1", ["Integer"]]}], + "system-values": {"ctid": ["tablesample_tid", ["BigInt"]], "table-oid": ["tablesample_oid", ["RegClass"]], "tuple-flags": ["tablesample_flags", ["BigInt"]]}, + "statistics": {"column-count": 3, "output-rows": 0} + }], + "statistics": {"error": null, "column-count": 0} + }, + "pipelines": [ + {"id": 0, "operators": [1, 2], "dependencies": [], "statistics": {"cpu-cycles": 2761329, "query-metrics": {"elapsed":0.000922655,"memory-mb-seconds":0.000461327,"instance-seconds":0.000922655,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":0.000922655,"cpu-time":0.000922764,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}} + ] +} diff --git a/standalone-app/examples/hyper/tpch-q11-error-analyze.plan.json b/standalone-app/examples/hyper/tpch-q11-error-analyze.plan.json index 89644b92..a080899a 100644 --- a/standalone-app/examples/hyper/tpch-q11-error-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch-q11-error-analyze.plan.json @@ -101,11 +101,11 @@ }], "grouping-sets": [{"key-indices": [], "core-indices": null, "behavior": "static"}], "empty-groups": true, - "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "iu-ref", "sqlpos": [[663, 676]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "sqlpos": [[679, 690]], "iu": "scan_availqty"}}}], + "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[677, 678]], "left": {"expression": "iu-ref", "sqlpos": [[663, 676]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "sqlpos": [[679, 690]], "iu": "scan_availqty"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum2", ["BigNumeric", 38, 2, "nullable"]]}], "statistics": {"column-count": 1, "memory-bytes": 0, "output-rows": 1} }], - "values": [{"iu": ["map", ["BigNumeric", 38, 6, "nullable"]], "value": {"expression": "mul", "left": {"expression": "iu-ref", "iu": "sum2"}, "right": {"expression": "const", "value": {"type": ["Numeric", 5, 4], "value": 1}}}}], + "values": [{"iu": ["map", ["BigNumeric", 38, 6, "nullable"]], "value": {"expression": "mul", "sqlpos": [[692, 693]], "left": {"expression": "iu-ref", "iu": "sum2"}, "right": {"expression": "const", "value": {"type": ["Numeric", 5, 4], "value": 1}}}}], "statistics": {"column-count": 1, "output-rows": 1} }, { "operator": "group-by", @@ -185,12 +185,12 @@ "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[525, 535]], "iu": "scan_partkey"}}, "iu": ["GroupByKey", ["Integer"]]}], "grouping-sets": [{"key-indices": [0], "core-indices": [0], "behavior": "regular"}], "empty-groups": false, - "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "iu-ref", "sqlpos": [[563, 576]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "sqlpos": [[579, 590]], "iu": "scan_availqty2"}}}], + "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[577, 578]], "left": {"expression": "iu-ref", "sqlpos": [[563, 576]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "sqlpos": [[579, 590]], "iu": "scan_availqty2"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 2]]}], "statistics": {"column-count": 2, "memory-bytes": 0, "output-rows": 0} }], - "condition": {"expression": "comparison", "sqlpos": [[592, 593]], "mode": ">", "left": {"expression": "iu-ref", "iu": "sum"}, "right": {"expression": "div", "left": {"expression": "iu-ref", "iu": "map"}, "right": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 0}}}}, - "predicates": [{"left": {"expression": "div", "left": {"expression": "iu-ref", "iu": "map"}, "right": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 0}}}, "right": {"expression": "iu-ref", "iu": "sum"}, "comparison": "<"}], + "condition": {"expression": "comparison", "sqlpos": [[592, 593]], "mode": ">", "left": {"expression": "iu-ref", "iu": "sum"}, "right": {"expression": "div", "sqlpos": [[1073, 1074]], "left": {"expression": "iu-ref", "iu": "map"}, "right": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 0}}}}, + "predicates": [{"left": {"expression": "div", "sqlpos": [[1073, 1074]], "left": {"expression": "iu-ref", "iu": "map"}, "right": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 0}}}, "right": {"expression": "iu-ref", "iu": "sum"}, "comparison": "<"}], "statistics": {"column-count": 2, "memory-bytes": 0, "output-rows": 0} }], "statistics": {"column-count": 2, "memory-bytes": 0, "output-rows": 0} diff --git a/standalone-app/examples/hyper/tpch/tpch-q1-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q1-analyze.plan.json index 0cb660db..966abee2 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q1-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q1-analyze.plan.json @@ -36,7 +36,7 @@ "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[670, 682]], "iu": "scan_returnfl"}}, "iu": ["GroupByKey", ["Char1"]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[692, 704]], "iu": "scan_linestat"}}, "iu": ["GroupByKey2", ["Char1"]]}], "grouping-sets": [{"key-indices": [0, 1], "core-indices": [0, 1], "behavior": "regular"}], "empty-groups": false, - "agg-expressions": [{"value": {"expression": "iu-ref", "sqlpos": [[201, 211]], "iu": "scan_quantity"}}, {"value": {"expression": "iu-ref", "sqlpos": [[237, 252]], "iu": "scan_extended"}}, {"value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[308, 318]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[285, 300]], "iu": "scan_extended"}}}, {"value": {"expression": "mul", "left": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[375, 385]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[352, 367]], "iu": "scan_extended"}}, "right": {"expression": "add", "left": {"expression": "iu-ref", "sqlpos": [[394, 399]], "iu": "scan_l_tax"}, "right": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}}}}, {"value": {"expression": "iu-ref", "sqlpos": [[508, 518]], "iu": "scan_discount"}}], + "agg-expressions": [{"value": {"expression": "iu-ref", "sqlpos": [[201, 211]], "iu": "scan_quantity"}}, {"value": {"expression": "iu-ref", "sqlpos": [[237, 252]], "iu": "scan_extended"}}, {"value": {"expression": "mul", "sqlpos": [[301, 302]], "left": {"expression": "sub", "sqlpos": [[306, 307]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[308, 318]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[285, 300]], "iu": "scan_extended"}}}, {"value": {"expression": "mul", "sqlpos": [[387, 388]], "left": {"expression": "mul", "sqlpos": [[368, 369]], "left": {"expression": "sub", "sqlpos": [[373, 374]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[375, 385]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[352, 367]], "iu": "scan_extended"}}, "right": {"expression": "add", "sqlpos": [[392, 393]], "left": {"expression": "iu-ref", "sqlpos": [[394, 399]], "iu": "scan_l_tax"}, "right": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}}}}, {"value": {"expression": "iu-ref", "sqlpos": [[508, 518]], "iu": "scan_discount"}}], "aggregates": [{"source": null, "operation": {"aggregate": "count"}, "iu": ["count", ["BigInt"]]}, {"source": 4, "operation": {"aggregate": "avg"}, "iu": ["avg3", ["Numeric", 16, 6]]}, {"source": 0, "operation": {"aggregate": "avg"}, "iu": ["avg", ["Numeric", 16, 6]]}, {"source": 3, "operation": {"aggregate": "sum"}, "iu": ["sum4", ["BigNumeric", 38, 6]]}, {"source": 1, "operation": {"aggregate": "avg"}, "iu": ["avg2", ["Numeric", 16, 6]]}, {"source": 1, "operation": {"aggregate": "sum"}, "iu": ["sum2", ["BigNumeric", 38, 2]]}, {"source": 2, "operation": {"aggregate": "sum"}, "iu": ["sum3", ["BigNumeric", 38, 4]]}, {"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 2]]}], "statistics": {"column-count": 10, "memory-bytes": 18552, "output-rows": 4} }], diff --git a/standalone-app/examples/hyper/tpch/tpch-q10-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q10-analyze.plan.json index 9679454f..31fdac5e 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q10-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q10-analyze.plan.json @@ -119,7 +119,7 @@ "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[649, 658]], "iu": "scan_custkey2"}}, "iu": ["GroupByKey", ["Integer"]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[668, 674]], "iu": "scan_c_name"}}, "iu": ["GroupByKey2", ["Varchar", 25]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[684, 693]], "iu": "scan_acctbal"}}, "iu": ["GroupByKey3", ["Numeric", 12, 2]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[703, 710]], "iu": "scan_c_phone"}}, "iu": ["GroupByKey6", ["Char", 15]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[720, 726]], "iu": "scan_n_name"}}, "iu": ["GroupByKey4", ["Char", 25]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[736, 745]], "iu": "scan_address"}}, "iu": ["GroupByKey5", ["Varchar", 40]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[755, 764]], "iu": "scan_comment"}}, "iu": ["GroupByKey7", ["Varchar", 117]]}], "grouping-sets": [{"key-indices": [0, 1, 2, 3, 4, 5, 6], "core-indices": [0, 1, 2, 3, 4, 5, 6], "behavior": "regular"}], "empty-groups": false, - "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[216, 226]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[193, 208]], "iu": "scan_extended"}}}], + "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[209, 210]], "left": {"expression": "sub", "sqlpos": [[214, 215]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[216, 226]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[193, 208]], "iu": "scan_extended"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 4]]}], "statistics": {"column-count": 8, "memory-bytes": 18552, "output-rows": 8} }], diff --git a/standalone-app/examples/hyper/tpch/tpch-q11-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q11-analyze.plan.json index cd30b8f9..f53c3631 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q11-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q11-analyze.plan.json @@ -101,11 +101,11 @@ }], "grouping-sets": [{"key-indices": [], "core-indices": null, "behavior": "static"}], "empty-groups": true, - "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "iu-ref", "sqlpos": [[535, 548]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "sqlpos": [[551, 562]], "iu": "scan_availqty"}}}], + "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[549, 550]], "left": {"expression": "iu-ref", "sqlpos": [[535, 548]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "sqlpos": [[551, 562]], "iu": "scan_availqty"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum2", ["BigNumeric", 38, 2, "nullable"]]}], "statistics": {"column-count": 1, "memory-bytes": 0, "output-rows": 1} }], - "values": [{"iu": ["map", ["BigNumeric", 38, 6, "nullable"]], "value": {"expression": "mul", "left": {"expression": "iu-ref", "iu": "sum2"}, "right": {"expression": "const", "value": {"type": ["Numeric", 5, 4], "value": 1}}}}], + "values": [{"iu": ["map", ["BigNumeric", 38, 6, "nullable"]], "value": {"expression": "mul", "sqlpos": [[564, 565]], "left": {"expression": "iu-ref", "iu": "sum2"}, "right": {"expression": "const", "value": {"type": ["Numeric", 5, 4], "value": 1}}}}], "statistics": {"column-count": 1, "output-rows": 1} }, { "operator": "group-by", @@ -185,7 +185,7 @@ "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[397, 407]], "iu": "scan_partkey"}}, "iu": ["GroupByKey", ["Integer"]]}], "grouping-sets": [{"key-indices": [0], "core-indices": [0], "behavior": "regular"}], "empty-groups": false, - "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "iu-ref", "sqlpos": [[435, 448]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "sqlpos": [[451, 462]], "iu": "scan_availqty2"}}}], + "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[449, 450]], "left": {"expression": "iu-ref", "sqlpos": [[435, 448]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "sqlpos": [[451, 462]], "iu": "scan_availqty2"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 2]]}], "statistics": {"column-count": 2, "memory-bytes": 18552, "output-rows": 21} }], diff --git a/standalone-app/examples/hyper/tpch/tpch-q13-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q13-analyze.plan.json index ceeb5e10..ef7d6eb6 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q13-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q13-analyze.plan.json @@ -40,7 +40,7 @@ "attribute-count": 9, "attributes": [{"col-id": 0, "name": "o_orderkey", "type": ["Integer"], "iu": ["scan_orderkey", ["Integer", "nullable"]]},{"col-id": 1, "name": "o_custkey", "type": ["Integer"], "iu": ["scan_custkey", ["Integer", "nullable"]]},{"col-id": 8, "name": "o_comment", "type": ["Varchar", 79], "iu": ["scan_comment", ["Varchar", 79, "nullable"]]}], "debug-name": {"classification": "nonsensitive", "value": "orders"}, - "restrictions": [{"attribute": 8, "mode": "lambda", "expression": {"expression": "not", "input": {"expression": "like", "arguments": [{"expression": "iu-ref", "sqlpos": [[485, 494]], "iu": "scan_comment"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%special%requests%"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]}}}], + "restrictions": [{"attribute": 8, "mode": "lambda", "expression": {"expression": "not", "sqlpos": [[495, 503]], "input": {"expression": "like", "arguments": [{"expression": "iu-ref", "sqlpos": [[485, 494]], "iu": "scan_comment"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%special%requests%"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]}}}], "selectivity": 1, "statistics": {"column-count": 2, "output-rows": 128, "processed-rows": 128} }, { diff --git a/standalone-app/examples/hyper/tpch/tpch-q14-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q14-analyze.plan.json index 79364827..ae7ea24a 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q14-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q14-analyze.plan.json @@ -61,18 +61,18 @@ }], "grouping-sets": [{"key-indices": [], "core-indices": null, "behavior": "static"}], "empty-groups": true, - "agg-expressions": [{"value": {"expression": "case", "cases": [{"case": {"expression": "starts_with", "left": {"expression": "iu-ref", "sqlpos": [[193, 199]], "iu": "scan_p_type"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "PROMO"}}}, "value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[266, 276]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[243, 258]], "iu": "scan_extended"}}}], "else": {"expression": "const", "value": {"type": ["BigNumeric", 25, 4], "low": 0, "high": 0}}}}, {"value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[343, 353]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[320, 335]], "iu": "scan_extended"}}}], + "agg-expressions": [{"value": {"expression": "case", "cases": [{"case": {"expression": "starts_with", "left": {"expression": "iu-ref", "sqlpos": [[193, 199]], "iu": "scan_p_type"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "PROMO"}}}, "value": {"expression": "mul", "sqlpos": [[259, 260]], "left": {"expression": "sub", "sqlpos": [[264, 265]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[266, 276]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[243, 258]], "iu": "scan_extended"}}}], "else": {"expression": "const", "value": {"type": ["BigNumeric", 25, 4], "low": 0, "high": 0}}}}, {"value": {"expression": "mul", "sqlpos": [[336, 337]], "left": {"expression": "sub", "sqlpos": [[341, 342]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[343, 353]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[320, 335]], "iu": "scan_extended"}}}], "aggregates": [{"source": 1, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 4, "nullable"]]}, {"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum2", ["BigNumeric", 38, 4, "nullable"]]}], "statistics": {"column-count": 2, "memory-bytes": 0, "output-rows": 1} }], - "values": [{"iu": ["map", ["BigNumeric", 38, 6, "nullable"]], "value": {"expression": "div", "left": {"expression": "mul", "left": {"expression": "iu-ref", "iu": "sum2"}, "right": {"expression": "const", "value": {"type": ["Numeric", 5, 2], "value": 10000}}}, "right": {"expression": "iu-ref", "iu": "sum"}}}], + "values": [{"iu": ["map", ["BigNumeric", 38, 6, "nullable"]], "value": {"expression": "div", "sqlpos": [[314, 315]], "left": {"expression": "mul", "sqlpos": [[161, 162]], "left": {"expression": "iu-ref", "iu": "sum2"}, "right": {"expression": "const", "value": {"type": ["Numeric", 5, 2], "value": 10000}}}, "right": {"expression": "iu-ref", "iu": "sum"}}}], "statistics": {"column-count": 1, "output-rows": 1} }], "statistics": {"error": null, "column-count": 0} }, "pipelines": [ - {"id": 0, "operators": [1, 2, 3], "dependencies": [1], "statistics": {"cpu-cycles": 3149, "query-metrics": {"elapsed":2.298e-06,"memory-mb-seconds":1.149e-06,"instance-seconds":2.298e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":2.298e-06,"cpu-time":2.296e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 1, "operators": [3, 4, 6], "dependencies": [2], "statistics": {"cpu-cycles": 19935, "query-metrics": {"elapsed":8.063e-06,"memory-mb-seconds":4.031e-06,"instance-seconds":8.063e-06,"processed-rows":{"total":533,"native":533},"threads":{"thread-time":8.063e-06,"cpu-time":8.067e-06,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":14}},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 2, "operators": [4, 5], "dependencies": [], "statistics": {"cpu-cycles": 14734, "query-metrics": {"elapsed":1.282e-05,"memory-mb-seconds":6.41e-06,"instance-seconds":1.282e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":1.282e-05,"cpu-time":1.2806e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":11}},"peak-transaction-memory-mb":0.5}, "running": false}} + {"id": 0, "operators": [1, 2, 3], "dependencies": [1], "statistics": {"cpu-cycles": 2627, "query-metrics": {"elapsed":2.224e-06,"memory-mb-seconds":1.112e-06,"instance-seconds":2.224e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":2.224e-06,"cpu-time":2.213e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 1, "operators": [3, 4, 6], "dependencies": [2], "statistics": {"cpu-cycles": 20308, "query-metrics": {"elapsed":8.278e-06,"memory-mb-seconds":4.139e-06,"instance-seconds":8.278e-06,"processed-rows":{"total":533,"native":533},"threads":{"thread-time":8.278e-06,"cpu-time":8.277e-06,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":14}},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 2, "operators": [4, 5], "dependencies": [], "statistics": {"cpu-cycles": 16599, "query-metrics": {"elapsed":1.0169e-05,"memory-mb-seconds":5.084e-06,"instance-seconds":1.0169e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":1.0169e-05,"cpu-time":1.0136e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":11}},"peak-transaction-memory-mb":0.5}, "running": false}} ] } diff --git a/standalone-app/examples/hyper/tpch/tpch-q15-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q15-analyze.plan.json index 9b078a35..d3704e15 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q15-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q15-analyze.plan.json @@ -60,7 +60,7 @@ "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[359, 368]], "iu": "scan_suppkey2"}}, "iu": ["GroupByKey", ["Integer"]]}], "grouping-sets": [{"key-indices": [0], "core-indices": [0], "behavior": "regular"}], "empty-groups": false, - "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[222, 232]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[199, 214]], "iu": "scan_extended"}}}], + "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[215, 216]], "left": {"expression": "sub", "sqlpos": [[220, 221]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[222, 232]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[199, 214]], "iu": "scan_extended"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum2", ["BigNumeric", 38, 4]]}], "statistics": {"column-count": 2, "memory-bytes": 18552, "output-rows": 0} }, diff --git a/standalone-app/examples/hyper/tpch/tpch-q16-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q16-analyze.plan.json index 215650b4..4bc43ae0 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q16-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q16-analyze.plan.json @@ -35,7 +35,7 @@ "attribute-count": 7, "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 6, "name": "s_comment", "type": ["Varchar", 101], "iu": ["scan_comment", ["Varchar", 101]]}], "debug-name": {"classification": "nonsensitive", "value": "supplier"}, - "restrictions": [{"attribute": 6, "mode": "lambda", "selectivity": 0.1, "expression": {"expression": "like", "arguments": [{"expression": "iu-ref", "sqlpos": [[642, 651]], "iu": "scan_comment"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%Customer%Complaints%"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]}}], + "restrictions": [{"attribute": 6, "mode": "lambda", "selectivity": 0.1, "expression": {"expression": "like", "sqlpos": [[652, 656]], "arguments": [{"expression": "iu-ref", "sqlpos": [[642, 651]], "iu": "scan_comment"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%Customer%Complaints%"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]}}], "selectivity": 0.0019305, "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 518} }, { @@ -57,7 +57,7 @@ "attribute-count": 9, "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 3, "name": "p_brand", "type": ["Char", 10], "iu": ["scan_p_brand", ["Char", 10]]},{"col-id": 4, "name": "p_type", "type": ["Varchar", 25], "iu": ["scan_p_type", ["Varchar", 25]]},{"col-id": 5, "name": "p_size", "type": ["Integer"], "iu": ["scan_p_size", ["Integer"]]}], "debug-name": {"classification": "nonsensitive", "value": "part"}, - "restrictions": [{"attribute": 3, "mode": "<>", "value": {"expression": "const", "value": {"type": ["Char", 10], "value": "Brand#45"}}}, {"attribute": 5, "mode": "lambda", "expression": {"expression": "lookup", "input": [{"expression": "iu-ref", "sqlpos": [[412, 418]], "iu": "scan_p_size"}], "values": [{"type": ["Integer"], "value": 3}, {"type": ["Integer"], "value": 9}, {"type": ["Integer"], "value": 14}, {"type": ["Integer"], "value": 19}, {"type": ["Integer"], "value": 23}, {"type": ["Integer"], "value": 36}, {"type": ["Integer"], "value": 45}, {"type": ["Integer"], "value": 49}], "collates": [null], "modes": ["equals"]}}, {"attribute": 4, "mode": "lambda", "expression": {"expression": "not", "input": {"expression": "starts_with", "left": {"expression": "iu-ref", "sqlpos": [[365, 371]], "iu": "scan_p_type"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "MEDIUM POLISHED"}}}}}], + "restrictions": [{"attribute": 3, "mode": "<>", "value": {"expression": "const", "value": {"type": ["Char", 10], "value": "Brand#45"}}}, {"attribute": 5, "mode": "lambda", "expression": {"expression": "lookup", "input": [{"expression": "iu-ref", "sqlpos": [[412, 418]], "iu": "scan_p_size"}], "values": [{"type": ["Integer"], "value": 3}, {"type": ["Integer"], "value": 9}, {"type": ["Integer"], "value": 14}, {"type": ["Integer"], "value": 19}, {"type": ["Integer"], "value": 23}, {"type": ["Integer"], "value": 36}, {"type": ["Integer"], "value": 45}, {"type": ["Integer"], "value": 49}], "collates": [null], "modes": ["equals"]}}, {"attribute": 4, "mode": "lambda", "expression": {"expression": "not", "sqlpos": [[372, 380]], "input": {"expression": "starts_with", "left": {"expression": "iu-ref", "sqlpos": [[365, 371]], "iu": "scan_p_type"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "MEDIUM POLISHED"}}}}}], "selectivity": 0.15197, "statistics": {"column-count": 4, "output-rows": 81, "processed-rows": 533} }, { diff --git a/standalone-app/examples/hyper/tpch/tpch-q17-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q17-analyze.plan.json index a9be01af..b11a1b4a 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q17-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q17-analyze.plan.json @@ -79,7 +79,7 @@ "aggregates": [{"source": 0, "operation": {"aggregate": "avg"}, "iu": ["avg", ["Numeric", 16, 6, "nullable"]]}], "statistics": {"column-count": 2, "memory-bytes": 18552, "output-rows": 4} }], - "values": [{"iu": ["map2", ["Numeric", 18, 7, "nullable"]], "value": {"expression": "mul", "left": {"expression": "iu-ref", "iu": "avg"}, "right": {"expression": "const", "value": {"type": ["Numeric", 2, 1], "value": 2}}}}], + "values": [{"iu": ["map2", ["Numeric", 18, 7, "nullable"]], "value": {"expression": "mul", "sqlpos": [[414, 415]], "left": {"expression": "iu-ref", "iu": "avg"}, "right": {"expression": "const", "value": {"type": ["Numeric", 2, 1], "value": 2}}}}], "statistics": {"column-count": 2, "output-rows": 4} }], "early-probed-by": [9], @@ -103,7 +103,7 @@ "statistics": {"column-count": 3, "output-rows": 572, "processed-rows": 572} }], "early-probed-by": [10], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[255, 256]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[245, 254]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[257, 266]], "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[359, 360]], "mode": "<", "left": {"expression": "iu-ref", "sqlpos": [[348, 358]], "iu": "scan_quantity2"}, "right": {"expression": "iu-ref", "iu": "map2"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[255, 256]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[245, 254]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[257, 266]], "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[359, 360]], "mode": "<", "left": {"expression": "iu-ref", "sqlpos": [[348, 358]], "iu": "scan_quantity2"}, "right": {"expression": "iu-ref", "iu": "map2"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[245, 254]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[257, 266]], "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "map2"}, "right": {"expression": "iu-ref", "sqlpos": [[348, 358]], "iu": "scan_quantity2"}, "comparison": ">"}], "statistics": {"column-count": 1, "memory-bytes": 18552, "output-rows": 2} }], @@ -113,16 +113,16 @@ "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 2, "nullable"]]}], "statistics": {"column-count": 1, "memory-bytes": 0, "output-rows": 1} }], - "values": [{"iu": ["map", ["BigNumeric", 38, 6, "nullable"]], "value": {"expression": "div", "left": {"expression": "iu-ref", "iu": "sum"}, "right": {"expression": "const", "value": {"type": ["Numeric", 2, 1], "value": 70}}}}], + "values": [{"iu": ["map", ["BigNumeric", 38, 6, "nullable"]], "value": {"expression": "div", "sqlpos": [[175, 176]], "left": {"expression": "iu-ref", "iu": "sum"}, "right": {"expression": "const", "value": {"type": ["Numeric", 2, 1], "value": 70}}}}], "statistics": {"column-count": 1, "output-rows": 1} }], "statistics": {"error": null, "column-count": 0} }, "pipelines": [ - {"id": 0, "operators": [1, 2, 3], "dependencies": [1], "statistics": {"cpu-cycles": 2645, "query-metrics": {"elapsed":2.228e-06,"memory-mb-seconds":1.114e-06,"instance-seconds":2.228e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":2.228e-06,"cpu-time":2.238e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 1, "operators": [3, 4, 10], "dependencies": [2], "statistics": {"cpu-cycles": 19371, "query-metrics": {"elapsed":8.138e-06,"memory-mb-seconds":4.069e-06,"instance-seconds":8.138e-06,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":8.138e-06,"cpu-time":8.153e-06,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":572}},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 2, "operators": [4, 5, 7, 8], "dependencies": [3, 4], "statistics": {"cpu-cycles": 6994, "query-metrics": {"elapsed":4.702e-06,"memory-mb-seconds":2.351e-06,"instance-seconds":4.702e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":4.702e-06,"cpu-time":4.719e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 3, "operators": [5, 6], "dependencies": [], "statistics": {"cpu-cycles": 19401, "query-metrics": {"elapsed":1.1268e-05,"memory-mb-seconds":5.634e-06,"instance-seconds":1.1268e-05,"processed-rows":{"total":533,"native":533},"threads":{"thread-time":1.1268e-05,"cpu-time":1.1237e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":3}},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 4, "operators": [8, 9], "dependencies": [3], "statistics": {"cpu-cycles": 18325, "query-metrics": {"elapsed":8.262e-06,"memory-mb-seconds":4.131e-06,"instance-seconds":8.262e-06,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":8.262e-06,"cpu-time":8.264e-06,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":42}},"peak-transaction-memory-mb":0.5}, "running": false}} + {"id": 0, "operators": [1, 2, 3], "dependencies": [1], "statistics": {"cpu-cycles": 2598, "query-metrics": {"elapsed":2.067e-06,"memory-mb-seconds":1.033e-06,"instance-seconds":2.067e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":2.067e-06,"cpu-time":2.135e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 1, "operators": [3, 4, 10], "dependencies": [2], "statistics": {"cpu-cycles": 16825, "query-metrics": {"elapsed":6.93e-06,"memory-mb-seconds":3.465e-06,"instance-seconds":6.93e-06,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":6.93e-06,"cpu-time":6.946e-06,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":572}},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 2, "operators": [4, 5, 7, 8], "dependencies": [3, 4], "statistics": {"cpu-cycles": 6355, "query-metrics": {"elapsed":4.161e-06,"memory-mb-seconds":2.08e-06,"instance-seconds":4.161e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":4.161e-06,"cpu-time":4.158e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 3, "operators": [5, 6], "dependencies": [], "statistics": {"cpu-cycles": 25290, "query-metrics": {"elapsed":1.4554e-05,"memory-mb-seconds":7.277e-06,"instance-seconds":1.4554e-05,"processed-rows":{"total":533,"native":533},"threads":{"thread-time":1.4554e-05,"cpu-time":1.4611e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":3}},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 4, "operators": [8, 9], "dependencies": [3], "statistics": {"cpu-cycles": 15740, "query-metrics": {"elapsed":7.194e-06,"memory-mb-seconds":3.597e-06,"instance-seconds":7.194e-06,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":7.194e-06,"cpu-time":7.145e-06,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":42}},"peak-transaction-memory-mb":0.5}, "running": false}} ] } diff --git a/standalone-app/examples/hyper/tpch/tpch-q19-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q19-analyze.plan.json index da1c5c4f..04693df4 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q19-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q19-analyze.plan.json @@ -57,15 +57,15 @@ }], "grouping-sets": [{"key-indices": [], "core-indices": null, "behavior": "static"}], "empty-groups": true, - "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[180, 190]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[158, 173]], "iu": "scan_extended"}}}], + "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[173, 174]], "left": {"expression": "sub", "sqlpos": [[178, 179]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[180, 190]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[158, 173]], "iu": "scan_extended"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 4, "nullable"]]}], "statistics": {"column-count": 1, "memory-bytes": 0, "output-rows": 1} }], "statistics": {"error": null, "column-count": 0} }, "pipelines": [ - {"id": 0, "operators": [1, 2], "dependencies": [1], "statistics": {"cpu-cycles": 1865, "query-metrics": {"elapsed":1.947e-06,"memory-mb-seconds":9.73e-07,"instance-seconds":1.947e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.947e-06,"cpu-time":1.929e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 1, "operators": [2, 3, 5], "dependencies": [2], "statistics": {"cpu-cycles": 18591, "query-metrics": {"elapsed":7.845e-06,"memory-mb-seconds":3.922e-06,"instance-seconds":7.845e-06,"processed-rows":{"total":533,"native":533},"threads":{"thread-time":7.845e-06,"cpu-time":7.854e-06,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":27}},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 2, "operators": [3, 4], "dependencies": [], "statistics": {"cpu-cycles": 33464, "query-metrics": {"elapsed":1.5894e-05,"memory-mb-seconds":7.947e-06,"instance-seconds":1.5894e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":1.5894e-05,"cpu-time":1.5881e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":23}},"peak-transaction-memory-mb":0.5}, "running": false}} + {"id": 0, "operators": [1, 2], "dependencies": [1], "statistics": {"cpu-cycles": 2990, "query-metrics": {"elapsed":2.329e-06,"memory-mb-seconds":1.164e-06,"instance-seconds":2.329e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":2.329e-06,"cpu-time":2.32e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 1, "operators": [2, 3, 5], "dependencies": [2], "statistics": {"cpu-cycles": 18819, "query-metrics": {"elapsed":7.913e-06,"memory-mb-seconds":3.956e-06,"instance-seconds":7.913e-06,"processed-rows":{"total":533,"native":533},"threads":{"thread-time":7.913e-06,"cpu-time":7.933e-06,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":27}},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 2, "operators": [3, 4], "dependencies": [], "statistics": {"cpu-cycles": 37942, "query-metrics": {"elapsed":1.7831e-05,"memory-mb-seconds":8.915e-06,"instance-seconds":1.7831e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":1.7831e-05,"cpu-time":1.7835e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":23}},"peak-transaction-memory-mb":0.5}, "running": false}} ] } diff --git a/standalone-app/examples/hyper/tpch/tpch-q2-steps.plan.json b/standalone-app/examples/hyper/tpch/tpch-q2-steps.plan.json index df6aef24..f561d5ca 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q2-steps.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q2-steps.plan.json @@ -202,7 +202,7 @@ "predicates": [], "residual": {"expression": "const", "value": {"type": ["Bool"], "value": true}} }], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[917, 918]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[907, 916]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[919, 929]], "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[968, 969]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[958, 967]], "iu": "scan_suppkey4"}, "right": {"expression": "iu-ref", "sqlpos": [[970, 980]], "iu": "scan_suppkey3"}}, {"expression": "comparison", "sqlpos": [[1021, 1022]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[1009, 1020]], "iu": "scan_nationke3"}, "right": {"expression": "iu-ref", "sqlpos": [[1023, 1034]], "iu": "scan_nationke4"}}, {"expression": "comparison", "sqlpos": [[1075, 1076]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[1063, 1074]], "iu": "scan_regionke3"}, "right": {"expression": "iu-ref", "sqlpos": [[1077, 1088]], "iu": "scan_regionke4"}}, {"expression": "comparison", "sqlpos": [[1124, 1125]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[1117, 1123]], "iu": "scan_r_name2"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "EUROPE"}}}]} + "condition": {"expression": "and", "sqlpos": [[1113, 1116]], "arguments": [{"expression": "comparison", "sqlpos": [[917, 918]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[907, 916]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[919, 929]], "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[968, 969]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[958, 967]], "iu": "scan_suppkey4"}, "right": {"expression": "iu-ref", "sqlpos": [[970, 980]], "iu": "scan_suppkey3"}}, {"expression": "comparison", "sqlpos": [[1021, 1022]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[1009, 1020]], "iu": "scan_nationke3"}, "right": {"expression": "iu-ref", "sqlpos": [[1023, 1034]], "iu": "scan_nationke4"}}, {"expression": "comparison", "sqlpos": [[1075, 1076]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[1063, 1074]], "iu": "scan_regionke3"}, "right": {"expression": "iu-ref", "sqlpos": [[1077, 1088]], "iu": "scan_regionke4"}}, {"expression": "comparison", "sqlpos": [[1124, 1125]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[1117, 1123]], "iu": "scan_r_name2"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "EUROPE"}}}]} }], "grouping-sets": [{"key-indices": [], "core-indices": null, "behavior": "static"}], "empty-groups": true, @@ -213,7 +213,7 @@ "predicates": [], "residual": {"expression": "const", "value": {"type": ["Bool"], "value": true}} }], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey2"}}, {"expression": "comparison", "sqlpos": [[437, 438]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[427, 436]], "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "sqlpos": [[439, 449]], "iu": "scan_suppkey2"}}, {"expression": "comparison", "sqlpos": [[469, 470]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[462, 468]], "iu": "scan_p_size"}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 15}}}, {"expression": "like", "arguments": [{"expression": "iu-ref", "sqlpos": [[486, 492]], "iu": "scan_p_type"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%BRASS"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]}, {"expression": "comparison", "sqlpos": [[531, 532]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[519, 530]], "iu": "scan_nationke"}, "right": {"expression": "iu-ref", "sqlpos": [[533, 544]], "iu": "scan_nationke2"}}, {"expression": "comparison", "sqlpos": [[569, 570]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[557, 568]], "iu": "scan_regionke"}, "right": {"expression": "iu-ref", "sqlpos": [[571, 582]], "iu": "scan_regionke2"}}, {"expression": "comparison", "sqlpos": [[602, 603]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[595, 601]], "iu": "scan_r_name"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "EUROPE"}}}, {"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "iu": "min"}}]} + "condition": {"expression": "and", "sqlpos": [[621, 624]], "arguments": [{"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey2"}}, {"expression": "comparison", "sqlpos": [[437, 438]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[427, 436]], "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "sqlpos": [[439, 449]], "iu": "scan_suppkey2"}}, {"expression": "comparison", "sqlpos": [[469, 470]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[462, 468]], "iu": "scan_p_size"}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 15}}}, {"expression": "like", "sqlpos": [[493, 497]], "arguments": [{"expression": "iu-ref", "sqlpos": [[486, 492]], "iu": "scan_p_type"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%BRASS"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]}, {"expression": "comparison", "sqlpos": [[531, 532]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[519, 530]], "iu": "scan_nationke"}, "right": {"expression": "iu-ref", "sqlpos": [[533, 544]], "iu": "scan_nationke2"}}, {"expression": "comparison", "sqlpos": [[569, 570]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[557, 568]], "iu": "scan_regionke"}, "right": {"expression": "iu-ref", "sqlpos": [[571, 582]], "iu": "scan_regionke2"}}, {"expression": "comparison", "sqlpos": [[602, 603]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[595, 601]], "iu": "scan_r_name"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "EUROPE"}}}, {"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "iu": "min"}}]} }] }] } @@ -433,7 +433,7 @@ "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}, "comparison": "is"}], "residual": {"expression": "const", "value": {"type": ["Bool"], "value": true}} }], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey2"}}, {"expression": "comparison", "sqlpos": [[437, 438]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[427, 436]], "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "sqlpos": [[439, 449]], "iu": "scan_suppkey2"}}, {"expression": "comparison", "sqlpos": [[469, 470]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[462, 468]], "iu": "scan_p_size"}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 15}}}, {"expression": "like", "arguments": [{"expression": "iu-ref", "sqlpos": [[486, 492]], "iu": "scan_p_type"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%BRASS"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]}, {"expression": "comparison", "sqlpos": [[531, 532]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[519, 530]], "iu": "scan_nationke"}, "right": {"expression": "iu-ref", "sqlpos": [[533, 544]], "iu": "scan_nationke2"}}, {"expression": "comparison", "sqlpos": [[569, 570]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[557, 568]], "iu": "scan_regionke"}, "right": {"expression": "iu-ref", "sqlpos": [[571, 582]], "iu": "scan_regionke2"}}, {"expression": "comparison", "sqlpos": [[602, 603]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[595, 601]], "iu": "scan_r_name"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "EUROPE"}}}, {"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "iu": "min"}}]} + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey2"}}, {"expression": "comparison", "sqlpos": [[437, 438]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[427, 436]], "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "sqlpos": [[439, 449]], "iu": "scan_suppkey2"}}, {"expression": "comparison", "sqlpos": [[469, 470]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[462, 468]], "iu": "scan_p_size"}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 15}}}, {"expression": "like", "sqlpos": [[493, 497]], "arguments": [{"expression": "iu-ref", "sqlpos": [[486, 492]], "iu": "scan_p_type"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%BRASS"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]}, {"expression": "comparison", "sqlpos": [[531, 532]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[519, 530]], "iu": "scan_nationke"}, "right": {"expression": "iu-ref", "sqlpos": [[533, 544]], "iu": "scan_nationke2"}}, {"expression": "comparison", "sqlpos": [[569, 570]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[557, 568]], "iu": "scan_regionke"}, "right": {"expression": "iu-ref", "sqlpos": [[571, 582]], "iu": "scan_regionke2"}}, {"expression": "comparison", "sqlpos": [[602, 603]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[595, 601]], "iu": "scan_r_name"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "EUROPE"}}}, {"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "iu": "min"}}]} }] }] } @@ -580,7 +580,7 @@ "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, "selectivity": 1 }], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "min"}, "right": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}, "comparison": "="}] }, { "operator": "join", @@ -809,7 +809,7 @@ "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, "selectivity": 1 }], - "condition": {"expression": "and", "arguments": [{"expression": "and", "arguments": [{"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}]}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "and", "arguments": [{"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}]}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "min"}, "right": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}, "comparison": "="}] }, { "operator": "scan", @@ -1046,7 +1046,7 @@ "selectivity": 1 }], "early-probed-by": [18], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "min"}, "right": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}, "comparison": "="}] }, { "operator": "scan", @@ -1288,7 +1288,7 @@ "selectivity": 1 }], "early-probed-by": [18], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "min"}, "right": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}, "comparison": "="}] }, { "operator": "scan", @@ -1530,7 +1530,7 @@ "selectivity": 1 }], "early-probed-by": [18], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "min"}, "right": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}, "comparison": "="}] }, { "operator": "scan", @@ -1774,7 +1774,7 @@ "selectivity": 1 }], "early-probed-by": [18], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "min"}, "right": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}, "comparison": "="}] }, { "operator": "scan", @@ -2018,7 +2018,7 @@ "selectivity": 1 }], "early-probed-by": [18], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "min"}, "right": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}, "comparison": "="}] }, { "operator": "scan", diff --git a/standalone-app/examples/hyper/tpch/tpch-q2.plan.json b/standalone-app/examples/hyper/tpch/tpch-q2.plan.json index 4313d48f..bfe23e9c 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q2.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q2.plan.json @@ -196,7 +196,7 @@ "selectivity": 1 }], "early-probed-by": [18], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[623, 624]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[609, 622]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[386, 387]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[376, 385]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[388, 398]], "iu": "scan_partkey3"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[623, 624]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[609, 622]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[386, 387]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[376, 385]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[388, 398]], "iu": "scan_partkey3"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "min"}, "right": {"expression": "iu-ref", "sqlpos": [[609, 622]], "iu": "scan_supplyco2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[376, 385]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[388, 398]], "iu": "scan_partkey3"}, "comparison": "="}] }, { "operator": "scan", diff --git a/standalone-app/examples/hyper/tpch/tpch-q20-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q20-analyze.plan.json index 07a67f5d..8e443b95 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q20-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q20-analyze.plan.json @@ -120,19 +120,19 @@ "selectivity": 0.262238, "statistics": {"column-count": 3, "output-rows": 2, "processed-rows": 572} }], - "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "iu": "scan_partkey3"}}, "iu": ["GroupByKey", ["Integer"]]}, {"expression": {"value": {"expression": "iu-ref", "iu": "scan_suppkey3"}}, "iu": ["GroupByKey2", ["Integer"]]}], + "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "iu": "scan_suppkey3"}}, "iu": ["GroupByKey", ["Integer"]]}, {"expression": {"value": {"expression": "iu-ref", "iu": "scan_partkey3"}}, "iu": ["GroupByKey2", ["Integer"]]}], "grouping-sets": [{"key-indices": [0, 1], "core-indices": [0, 1], "behavior": "regular"}], "empty-groups": true, "agg-expressions": [{"value": {"expression": "iu-ref", "sqlpos": [[851, 861]], "iu": "scan_quantity"}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 2, "nullable"]]}], "statistics": {"column-count": 3, "memory-bytes": 18552, "output-rows": 2} }], - "values": [{"iu": ["map", ["BigNumeric", 38, 3, "nullable"]], "value": {"expression": "mul", "left": {"expression": "iu-ref", "iu": "sum"}, "right": {"expression": "const", "value": {"type": ["Numeric", 2, 1], "value": 5}}}}], + "values": [{"iu": ["map", ["BigNumeric", 38, 3, "nullable"]], "value": {"expression": "mul", "sqlpos": [[845, 846]], "left": {"expression": "iu-ref", "iu": "sum"}, "right": {"expression": "const", "value": {"type": ["Numeric", 2, 1], "value": 5}}}}], "statistics": {"column-count": 3, "output-rows": 2} }], "early-probed-by": [12], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "mode": "is", "left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "mode": "is", "left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "GroupByKey2"}}, {"expression": "comparison", "sqlpos": [[758, 759]], "mode": ">", "left": {"expression": "iu-ref", "sqlpos": [[746, 757]], "iu": "scan_availqty"}, "right": {"expression": "iu-ref", "iu": "map"}}]}, - "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}, "comparison": "is"}, {"left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "GroupByKey2"}, "comparison": "is"}, {"left": {"expression": "iu-ref", "sqlpos": [[746, 757]], "iu": "scan_availqty"}, "right": {"expression": "iu-ref", "iu": "map"}, "comparison": ">"}], + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "mode": "is", "left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "GroupByKey2"}}, {"expression": "comparison", "mode": "is", "left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[758, 759]], "mode": ">", "left": {"expression": "iu-ref", "sqlpos": [[746, 757]], "iu": "scan_availqty"}, "right": {"expression": "iu-ref", "iu": "map"}}]}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "GroupByKey2"}, "comparison": "is"}, {"left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}, "comparison": "is"}, {"left": {"expression": "iu-ref", "sqlpos": [[746, 757]], "iu": "scan_availqty"}, "right": {"expression": "iu-ref", "iu": "map"}, "comparison": ">"}], "statistics": {"column-count": 1, "memory-bytes": 18552, "output-rows": 1} }, { "operator": "scan", diff --git a/standalone-app/examples/hyper/tpch/tpch-q3-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q3-analyze.plan.json index 505e0c98..5c2a2c39 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q3-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q3-analyze.plan.json @@ -93,7 +93,7 @@ "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[539, 549]], "iu": "scan_orderkey2"}}, "iu": ["GroupByKey", ["Integer"]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[559, 570]], "iu": "scan_orderdat"}}, "iu": ["GroupByKey2", ["Date"]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[580, 594]], "iu": "scan_shipprio"}}, "iu": ["GroupByKey3", ["Integer"]]}], "grouping-sets": [{"key-indices": [0, 1, 2], "core-indices": [0, 1, 2], "behavior": "regular"}], "empty-groups": false, - "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[200, 210]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[177, 192]], "iu": "scan_extended"}}}], + "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[193, 194]], "left": {"expression": "sub", "sqlpos": [[198, 199]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[200, 210]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[177, 192]], "iu": "scan_extended"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 4]]}], "statistics": {"column-count": 4, "memory-bytes": 18552, "output-rows": 3} }], diff --git a/standalone-app/examples/hyper/tpch/tpch-q5-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q5-analyze.plan.json index 7c2a59fd..0d402c1c 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q5-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q5-analyze.plan.json @@ -172,7 +172,7 @@ "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[680, 686]], "iu": "scan_n_name"}}, "iu": ["GroupByKey", ["Char", 25]]}], "grouping-sets": [{"key-indices": [0], "core-indices": [0], "behavior": "regular"}], "empty-groups": false, - "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[196, 206]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[173, 188]], "iu": "scan_extended"}}}], + "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[189, 190]], "left": {"expression": "sub", "sqlpos": [[194, 195]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[196, 206]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[173, 188]], "iu": "scan_extended"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 4]]}], "statistics": {"column-count": 2, "memory-bytes": 18552, "output-rows": 1} }], diff --git a/standalone-app/examples/hyper/tpch/tpch-q6-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q6-analyze.plan.json index b8de992d..ddbafa00 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q6-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q6-analyze.plan.json @@ -29,14 +29,14 @@ }], "grouping-sets": [{"key-indices": [], "core-indices": null, "behavior": "static"}], "empty-groups": true, - "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "iu-ref", "sqlpos": [[157, 172]], "iu": "scan_extended"}, "right": {"expression": "iu-ref", "sqlpos": [[175, 185]], "iu": "scan_discount"}}}], + "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[173, 174]], "left": {"expression": "iu-ref", "sqlpos": [[157, 172]], "iu": "scan_extended"}, "right": {"expression": "iu-ref", "sqlpos": [[175, 185]], "iu": "scan_discount"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 4, "nullable"]]}], "statistics": {"column-count": 1, "memory-bytes": 0, "output-rows": 1} }], "statistics": {"error": null, "column-count": 0} }, "pipelines": [ - {"id": 0, "operators": [1, 2], "dependencies": [1], "statistics": {"cpu-cycles": 2181, "query-metrics": {"elapsed":2.078e-06,"memory-mb-seconds":1.039e-06,"instance-seconds":2.078e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":2.078e-06,"cpu-time":2.076e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 1, "operators": [2, 3], "dependencies": [], "statistics": {"cpu-cycles": 28601, "query-metrics": {"elapsed":1.2125e-05,"memory-mb-seconds":6.062e-06,"instance-seconds":1.2125e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":1.2125e-05,"cpu-time":1.209e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":20}},"peak-transaction-memory-mb":0.5}, "running": false}} + {"id": 0, "operators": [1, 2], "dependencies": [1], "statistics": {"cpu-cycles": 5288, "query-metrics": {"elapsed":6.256e-06,"memory-mb-seconds":3.128e-06,"instance-seconds":6.256e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":6.256e-06,"cpu-time":6.264e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 1, "operators": [2, 3], "dependencies": [], "statistics": {"cpu-cycles": 44075, "query-metrics": {"elapsed":2.158e-05,"memory-mb-seconds":1.079e-05,"instance-seconds":2.158e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":2.158e-05,"cpu-time":2.1534e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":20}},"peak-transaction-memory-mb":0.5}, "running": false}} ] } diff --git a/standalone-app/examples/hyper/tpch/tpch-q7-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q7-analyze.plan.json index 9e9dd88e..05ecb66b 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q7-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q7-analyze.plan.json @@ -171,7 +171,7 @@ "predicates": [{"left": {"expression": "iu-ref", "sqlpos": [[788, 797]], "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "sqlpos": [[776, 785]], "iu": "scan_suppkey2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[945, 956]], "iu": "scan_nationke2"}, "right": {"expression": "iu-ref", "sqlpos": [[928, 939]], "iu": "scan_nationke4"}, "comparison": "="}], "statistics": {"column-count": 5, "memory-bytes": 18552, "output-rows": 1} }], - "values": [{"iu": ["map", ["Integer"]], "value": {"expression": "extract_year", "input": {"expression": "iu-ref", "sqlpos": [[414, 424]], "iu": "scan_shipdate"}}}, {"iu": ["map2", ["BigNumeric", 25, 4]], "value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[484, 494]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[461, 476]], "iu": "scan_extended"}}}], + "values": [{"iu": ["map", ["Integer"]], "value": {"expression": "extract_year", "input": {"expression": "iu-ref", "sqlpos": [[414, 424]], "iu": "scan_shipdate"}}}, {"iu": ["map2", ["BigNumeric", 25, 4]], "value": {"expression": "mul", "sqlpos": [[477, 478]], "left": {"expression": "sub", "sqlpos": [[482, 483]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[484, 494]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[461, 476]], "iu": "scan_extended"}}}], "statistics": {"column-count": 4, "output-rows": 1} }], "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[1361, 1372]], "iu": "scan_n_name2"}}, "iu": ["GroupByKey", ["Char", 25]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[1382, 1393]], "iu": "scan_n_name"}}, "iu": ["GroupByKey2", ["Char", 25]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[1403, 1409]], "iu": "map"}}, "iu": ["GroupByKey3", ["Integer"]]}], diff --git a/standalone-app/examples/hyper/tpch/tpch-q8-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q8-analyze.plan.json index fa4d4569..f514a6f7 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q8-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q8-analyze.plan.json @@ -233,7 +233,7 @@ "predicates": [{"left": {"expression": "iu-ref", "sqlpos": [[1205, 1216]], "iu": "scan_nationke3"}, "right": {"expression": "iu-ref", "sqlpos": [[1222, 1233]], "iu": "scan_nationke4"}, "comparison": "="}], "statistics": {"column-count": 4, "memory-bytes": 18552, "output-rows": 1} }], - "values": [{"iu": ["map2", ["Integer"]], "value": {"expression": "extract_year", "input": {"expression": "iu-ref", "sqlpos": [[372, 383]], "iu": "scan_orderdat"}}}, {"iu": ["map3", ["BigNumeric", 25, 4]], "value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[443, 453]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[420, 435]], "iu": "scan_extended"}}}], + "values": [{"iu": ["map2", ["Integer"]], "value": {"expression": "extract_year", "input": {"expression": "iu-ref", "sqlpos": [[372, 383]], "iu": "scan_orderdat"}}}, {"iu": ["map3", ["BigNumeric", 25, 4]], "value": {"expression": "mul", "sqlpos": [[436, 437]], "left": {"expression": "sub", "sqlpos": [[441, 442]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[443, 453]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[420, 435]], "iu": "scan_extended"}}}], "statistics": {"column-count": 3, "output-rows": 1} }], "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[1426, 1432]], "iu": "map2"}}, "iu": ["GroupByKey", ["Integer"]]}], @@ -243,7 +243,7 @@ "aggregates": [{"source": 1, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 4]]}, {"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum2", ["BigNumeric", 38, 4]]}], "statistics": {"column-count": 3, "memory-bytes": 18552, "output-rows": 1} }], - "values": [{"iu": ["map", ["BigNumeric", 38, 6]], "value": {"expression": "div", "left": {"expression": "iu-ref", "iu": "sum2"}, "right": {"expression": "iu-ref", "iu": "sum"}}}], + "values": [{"iu": ["map", ["BigNumeric", 38, 6]], "value": {"expression": "div", "sqlpos": [[265, 266]], "left": {"expression": "iu-ref", "iu": "sum2"}, "right": {"expression": "iu-ref", "iu": "sum"}}}], "statistics": {"column-count": 2, "output-rows": 1} }], "statistics": {"column-count": 2, "memory-bytes": 262152, "output-rows": 1} diff --git a/standalone-app/examples/hyper/tpch/tpch-q9-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q9-analyze.plan.json index 41dba3ac..5f96d382 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q9-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q9-analyze.plan.json @@ -170,7 +170,7 @@ "predicates": [{"left": {"expression": "iu-ref", "sqlpos": [[932, 942]], "iu": "scan_orderkey"}, "right": {"expression": "iu-ref", "sqlpos": [[919, 929]], "iu": "scan_orderkey2"}, "comparison": "="}], "statistics": {"column-count": 6, "memory-bytes": 18552, "output-rows": 28} }], - "values": [{"iu": ["map", ["Integer"]], "value": {"expression": "extract_year", "input": {"expression": "iu-ref", "sqlpos": [[333, 344]], "iu": "scan_orderdat"}}}, {"iu": ["map2", ["BigNumeric", 26, 4]], "value": {"expression": "sub", "left": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[381, 396]], "iu": "scan_extended"}}, "right": {"expression": "mul", "left": {"expression": "iu-ref", "sqlpos": [[418, 431]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "sqlpos": [[434, 444]], "iu": "scan_quantity"}}}}], + "values": [{"iu": ["map", ["Integer"]], "value": {"expression": "extract_year", "input": {"expression": "iu-ref", "sqlpos": [[333, 344]], "iu": "scan_orderdat"}}}, {"iu": ["map2", ["BigNumeric", 26, 4]], "value": {"expression": "sub", "sqlpos": [[416, 417]], "left": {"expression": "mul", "sqlpos": [[397, 398]], "left": {"expression": "sub", "sqlpos": [[402, 403]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[381, 396]], "iu": "scan_extended"}}, "right": {"expression": "mul", "sqlpos": [[432, 433]], "left": {"expression": "iu-ref", "sqlpos": [[418, 431]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "sqlpos": [[434, 444]], "iu": "scan_quantity"}}}}], "statistics": {"column-count": 3, "output-rows": 28} }], "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[1084, 1090]], "iu": "scan_n_name"}}, "iu": ["GroupByKey", ["Char", 25]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[1100, 1106]], "iu": "map"}}, "iu": ["GroupByKey2", ["Integer"]]}], diff --git a/standalone-app/examples/hyper/unionall-analyze-sql.plan.json b/standalone-app/examples/hyper/unionall-analyze-sql.plan.json deleted file mode 100644 index 1621c316..00000000 --- a/standalone-app/examples/hyper/unionall-analyze-sql.plan.json +++ /dev/null @@ -1,69 +0,0 @@ -{ - "tree": { - "operator": "result-sink", - "operator-id": 1, - "estimated-rows": 6000, - "produces-rows": true, - "output": [{"expression": "iu-ref", "iu": ["union", ["Integer"]]}], - "output-names": ["a1"], - "inputs": [{ - "operator": "union-all", - "operator-id": 2, - "sqlpos": [[242, 251], [270, 279]], - "estimated-rows": 6000, - "inputs": [{ - "operator": "scan", - "operator-id": 3, - "type": "native", - "sqlpos": [[239, 241]], - "estimated-rows": 2000, - "volatility": "stable", - "relation-id": 0, - "schema": {"type":"sessionschema"}, - "attribute-count": 3, - "attributes": [{"col-id": 0, "name": "a1", "type": ["Integer"], "iu": ["scan_a1", ["Integer"]]}], - "debug-name": {"classification": "nonsensitive", "value": "t1"}, - "selectivity": 1, - "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} - }, { - "operator": "scan", - "operator-id": 4, - "type": "native", - "sqlpos": [[267, 269]], - "estimated-rows": 2000, - "volatility": "stable", - "relation-id": 1, - "schema": {"type":"sessionschema"}, - "attribute-count": 3, - "attributes": [{"col-id": 0, "name": "a2", "type": ["Integer"], "iu": ["scan_a2", ["Integer"]]}], - "debug-name": {"classification": "nonsensitive", "value": "t2"}, - "selectivity": 1, - "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} - }, { - "operator": "scan", - "operator-id": 5, - "type": "native", - "sqlpos": [[295, 297]], - "estimated-rows": 2000, - "volatility": "stable", - "relation-id": 0, - "schema": {"type":"sessionschema"}, - "attribute-count": 3, - "attributes": [{"col-id": 2, "name": "c1", "type": ["Integer"], "iu": ["scan_c1", ["Integer"]]}], - "debug-name": {"classification": "nonsensitive", "value": "t1"}, - "selectivity": 1, - "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 0} - }], - "ius": [["union", ["Integer"]]], - "values": [[{"expression": "iu-ref", "iu": "scan_a1"}], [{"expression": "iu-ref", "iu": "scan_a2"}], [{"expression": "iu-ref", "iu": "scan_c1"}]], - "collates": [null], - "statistics": {"column-count": 1, "output-rows": 0} - }], - "statistics": {"error": null, "column-count": 0} - }, - "pipelines": [ - {"id": 1, "operators": [1, 2, 3], "dependencies": [], "statistics": {"cpu-cycles": 1010, "query-metrics": {"elapsed":3.381e-06,"memory-mb-seconds":1.69e-06,"instance-seconds":3.381e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":3.381e-06,"cpu-time":3.308e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 2, "operators": [1, 2, 4], "dependencies": [], "statistics": {"cpu-cycles": 623, "query-metrics": {"elapsed":1.535e-06,"memory-mb-seconds":7.67e-07,"instance-seconds":1.535e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.535e-06,"cpu-time":1.549e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 3, "operators": [1, 2, 5], "dependencies": [], "statistics": {"cpu-cycles": 89, "query-metrics": {"elapsed":1.536e-06,"memory-mb-seconds":7.68e-07,"instance-seconds":1.536e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.536e-06,"cpu-time":1.537e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}} - ] -} diff --git a/standalone-app/examples/index.json b/standalone-app/examples/index.json index 9494113e..f2350454 100644 --- a/standalone-app/examples/index.json +++ b/standalone-app/examples/index.json @@ -15,18 +15,42 @@ "sql": "cedardb/cte-recursive-analyze.sql" } }, + "dml/delete": { + "simple": { + "plan": "cedardb/dml/delete.plan.json", + "sql": "cedardb/dml/delete.sql" + } + }, + "dml/delete-using": { + "simple": { + "plan": "cedardb/dml/delete-using.plan.json", + "sql": "cedardb/dml/delete-using.sql" + } + }, + "dml/insert": { + "simple": { + "plan": "cedardb/dml/insert.plan.json", + "sql": "cedardb/dml/insert.sql" + } + }, + "dml/update": { + "simple": { + "plan": "cedardb/dml/update.plan.json", + "sql": "cedardb/dml/update.sql" + } + }, + "dml/update-from": { + "simple": { + "plan": "cedardb/dml/update-from.plan.json", + "sql": "cedardb/dml/update-from.sql" + } + }, "groupby": { "analyze": { "plan": "cedardb/groupby-analyze.plan.json", "sql": "cedardb/groupby-analyze.sql" } }, - "insert": { - "simple": { - "plan": "cedardb/insert.plan.json", - "sql": "cedardb/insert.sql" - } - }, "magicunnesting": { "analyze": { "plan": "cedardb/magicunnesting-analyze.plan.json", @@ -51,6 +75,18 @@ "sql": "cedardb/setoperation-analyze.sql" } }, + "subquery": { + "analyze": { + "plan": "cedardb/subquery-analyze.plan.json", + "sql": "cedardb/subquery-analyze.sql" + } + }, + "subquery-correlated": { + "analyze": { + "plan": "cedardb/subquery-correlated-analyze.plan.json", + "sql": "cedardb/subquery-correlated-analyze.sql" + } + }, "tableconstruction": { "simple": { "plan": "cedardb/tableconstruction.plan.json", @@ -238,18 +274,42 @@ "sql": "duckdb/cte-recursive-analyze.sql" } }, + "dml/delete": { + "simple": { + "plan": "duckdb/dml/delete.plan.json", + "sql": "duckdb/dml/delete.sql" + } + }, + "dml/delete-using": { + "simple": { + "plan": "duckdb/dml/delete-using.plan.json", + "sql": "duckdb/dml/delete-using.sql" + } + }, + "dml/insert": { + "simple": { + "plan": "duckdb/dml/insert.plan.json", + "sql": "duckdb/dml/insert.sql" + } + }, + "dml/update": { + "simple": { + "plan": "duckdb/dml/update.plan.json", + "sql": "duckdb/dml/update.sql" + } + }, + "dml/update-from": { + "simple": { + "plan": "duckdb/dml/update-from.plan.json", + "sql": "duckdb/dml/update-from.sql" + } + }, "groupby": { "analyze": { "plan": "duckdb/groupby-analyze.plan.json", "sql": "duckdb/groupby-analyze.sql" } }, - "insert": { - "simple": { - "plan": "duckdb/insert.plan.json", - "sql": "duckdb/insert.sql" - } - }, "magicunnesting": { "analyze": { "plan": "duckdb/magicunnesting-analyze.plan.json", @@ -268,6 +328,18 @@ "sql": "duckdb/setoperation-analyze.sql" } }, + "subquery": { + "analyze": { + "plan": "duckdb/subquery-analyze.plan.json", + "sql": "duckdb/subquery-analyze.sql" + } + }, + "subquery-correlated": { + "analyze": { + "plan": "duckdb/subquery-correlated-analyze.plan.json", + "sql": "duckdb/subquery-correlated-analyze.sql" + } + }, "tableconstruction": { "simple": { "plan": "duckdb/tableconstruction.plan.json", @@ -280,6 +352,12 @@ "sql": "duckdb/tablefunction.sql" } }, + "tablesample": { + "analyze": { + "plan": "duckdb/tablesample-analyze.plan.json", + "sql": "duckdb/tablesample-analyze.sql" + } + }, "tablescan": { "analyze": { "plan": "duckdb/tablescan-analyze.plan.json", @@ -461,6 +539,36 @@ "sql": "hyper/cte-recursive-analyze.sql" } }, + "dml/delete": { + "simple": { + "plan": "hyper/dml/delete.plan.json", + "sql": "hyper/dml/delete.sql" + } + }, + "dml/delete-using": { + "simple": { + "plan": "hyper/dml/delete-using.plan.json", + "sql": "hyper/dml/delete-using.sql" + } + }, + "dml/insert": { + "simple": { + "plan": "hyper/dml/insert.plan.json", + "sql": "hyper/dml/insert.sql" + } + }, + "dml/update": { + "simple": { + "plan": "hyper/dml/update.plan.json", + "sql": "hyper/dml/update.sql" + } + }, + "dml/update-from": { + "simple": { + "plan": "hyper/dml/update-from.plan.json", + "sql": "hyper/dml/update-from.sql" + } + }, "forkshare": { "analyze-sql": { "plan": "hyper/forkshare-analyze-sql.plan.json", @@ -473,12 +581,6 @@ "sql": "hyper/groupby-analyze.sql" } }, - "insert": { - "simple": { - "plan": "hyper/insert.plan.json", - "sql": "hyper/insert.sql" - } - }, "magicunnesting": { "analyze": { "plan": "hyper/magicunnesting-analyze.plan.json", @@ -507,12 +609,44 @@ "sql": "hyper/metadata-describe-table.sql" } }, + "pgq": { + "simple": { + "plan": "hyper/pgq.plan.json", + "sql": "hyper/pgq.sql" + }, + "steps": { + "plan": "hyper/pgq-steps.plan.json", + "sql": "hyper/pgq-steps.sql" + } + }, + "pgq-path": { + "simple": { + "plan": "hyper/pgq-path.plan.json", + "sql": "hyper/pgq-path.sql" + }, + "steps": { + "plan": "hyper/pgq-path-steps.plan.json", + "sql": "hyper/pgq-path-steps.sql" + } + }, "setoperation": { "analyze": { "plan": "hyper/setoperation-analyze.plan.json", "sql": "hyper/setoperation-analyze.sql" } }, + "subquery": { + "analyze": { + "plan": "hyper/subquery-analyze.plan.json", + "sql": "hyper/subquery-analyze.sql" + } + }, + "subquery-correlated": { + "analyze": { + "plan": "hyper/subquery-correlated-analyze.plan.json", + "sql": "hyper/subquery-correlated-analyze.sql" + } + }, "tableconstruction": { "simple": { "plan": "hyper/tableconstruction.plan.json", @@ -525,6 +659,12 @@ "sql": "hyper/tablefunction.sql" } }, + "tablesample": { + "analyze": { + "plan": "hyper/tablesample-analyze.plan.json", + "sql": "hyper/tablesample-analyze.sql" + } + }, "tablescan": { "analyze": { "plan": "hyper/tablescan-analyze.plan.json", @@ -687,12 +827,6 @@ "sql": "hyper/unicode.sql" } }, - "unionall": { - "analyze-sql": { - "plan": "hyper/unionall-analyze-sql.plan.json", - "sql": "hyper/unionall-analyze-sql.sql" - } - }, "window": { "analyze": { "plan": "hyper/window-analyze.plan.json", @@ -907,7 +1041,7 @@ } }, "postgres": { - "version": "PostgreSQL 17.11 (Debian 17.11-1.pgdg13+2) on x86_64-pc-linux-gnu, compiled by gcc (Debian 14.2.0-19) 14.2.0, 64-bit", + "version": "PostgreSQL 17.11 (Ubuntu 17.11-1.pgdg22.04+2) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0, 64-bit", "queries": { "cte": { "analyze": { @@ -921,18 +1055,42 @@ "sql": "postgres/cte-recursive-analyze.sql" } }, + "dml/delete": { + "simple": { + "plan": "postgres/dml/delete.plan.json", + "sql": "postgres/dml/delete.sql" + } + }, + "dml/delete-using": { + "simple": { + "plan": "postgres/dml/delete-using.plan.json", + "sql": "postgres/dml/delete-using.sql" + } + }, + "dml/insert": { + "simple": { + "plan": "postgres/dml/insert.plan.json", + "sql": "postgres/dml/insert.sql" + } + }, + "dml/update": { + "simple": { + "plan": "postgres/dml/update.plan.json", + "sql": "postgres/dml/update.sql" + } + }, + "dml/update-from": { + "simple": { + "plan": "postgres/dml/update-from.plan.json", + "sql": "postgres/dml/update-from.sql" + } + }, "groupby": { "analyze": { "plan": "postgres/groupby-analyze.plan.json", "sql": "postgres/groupby-analyze.sql" } }, - "insert": { - "simple": { - "plan": "postgres/insert.plan.json", - "sql": "postgres/insert.sql" - } - }, "magicunnesting": { "analyze": { "plan": "postgres/magicunnesting-analyze.plan.json", @@ -957,6 +1115,18 @@ "sql": "postgres/setoperation-analyze.sql" } }, + "subquery": { + "analyze": { + "plan": "postgres/subquery-analyze.plan.json", + "sql": "postgres/subquery-analyze.sql" + } + }, + "subquery-correlated": { + "analyze": { + "plan": "postgres/subquery-correlated-analyze.plan.json", + "sql": "postgres/subquery-correlated-analyze.sql" + } + }, "tableconstruction": { "simple": { "plan": "postgres/tableconstruction.plan.json", @@ -969,6 +1139,12 @@ "sql": "postgres/tablefunction.sql" } }, + "tablesample": { + "analyze": { + "plan": "postgres/tablesample-analyze.plan.json", + "sql": "postgres/tablesample-analyze.sql" + } + }, "tablescan": { "analyze": { "plan": "postgres/tablescan-analyze.plan.json", @@ -1140,18 +1316,42 @@ "sql": "umbra/cte-recursive-analyze.sql" } }, + "dml/delete": { + "simple": { + "plan": "umbra/dml/delete.plan.json", + "sql": "umbra/dml/delete.sql" + } + }, + "dml/delete-using": { + "simple": { + "plan": "umbra/dml/delete-using.plan.json", + "sql": "umbra/dml/delete-using.sql" + } + }, + "dml/insert": { + "simple": { + "plan": "umbra/dml/insert.plan.json", + "sql": "umbra/dml/insert.sql" + } + }, + "dml/update": { + "simple": { + "plan": "umbra/dml/update.plan.json", + "sql": "umbra/dml/update.sql" + } + }, + "dml/update-from": { + "simple": { + "plan": "umbra/dml/update-from.plan.json", + "sql": "umbra/dml/update-from.sql" + } + }, "groupby": { "analyze": { "plan": "umbra/groupby-analyze.plan.json", "sql": "umbra/groupby-analyze.sql" } }, - "insert": { - "simple": { - "plan": "umbra/insert.plan.json", - "sql": "umbra/insert.sql" - } - }, "magicunnesting": { "analyze": { "plan": "umbra/magicunnesting-analyze.plan.json", @@ -1170,6 +1370,18 @@ "sql": "umbra/setoperation-analyze.sql" } }, + "subquery": { + "analyze": { + "plan": "umbra/subquery-analyze.plan.json", + "sql": "umbra/subquery-analyze.sql" + } + }, + "subquery-correlated": { + "analyze": { + "plan": "umbra/subquery-correlated-analyze.plan.json", + "sql": "umbra/subquery-correlated-analyze.sql" + } + }, "tableconstruction": { "simple": { "plan": "umbra/tableconstruction.plan.json", diff --git a/standalone-app/examples/postgres/cte-analyze.plan.json b/standalone-app/examples/postgres/cte-analyze.plan.json index 6ee14596..1831aebe 100644 --- a/standalone-app/examples/postgres/cte-analyze.plan.json +++ b/standalone-app/examples/postgres/cte-analyze.plan.json @@ -1,33 +1,40 @@ [ { "Plan": { - "Node Type": "Append", + "Node Type": "Hash Join", "Parallel Aware": false, "Async Capable": false, - "Startup Cost": 16.5, - "Total Cost": 26.5, - "Plan Rows": 400, + "Join Type": "Inner", + "Startup Cost": 17.17, + "Total Cost": 19.2, + "Plan Rows": 44, "Plan Width": 68, - "Actual Startup Time": 0.229, - "Actual Total Time": 0.342, - "Actual Rows": 256, + "Actual Startup Time": 1.319, + "Actual Total Time": 1.439, + "Actual Rows": 250, "Actual Loops": 1, - "Subplans Removed": 0, + "Output": [ + "nested.l_orderkey", + "nested.quantity", + "g.price" + ], + "Inner Unique": false, + "Hash Cond": "(g.l_orderkey = nested.l_orderkey)", "Plans": [ { "Node Type": "Aggregate", "Strategy": "Hashed", "Partial Mode": "Simple", "Parent Relationship": "InitPlan", - "Subplan Name": "CTE cte", + "Subplan Name": "CTE grouped", "Parallel Aware": false, "Async Capable": false, - "Startup Cost": 13.5, - "Total Cost": 16.5, - "Plan Rows": 200, + "Startup Cost": 13.0, + "Total Cost": 14.01, + "Plan Rows": 67, "Plan Width": 68, - "Actual Startup Time": 0.228, - "Actual Total Time": 0.281, + "Actual Startup Time": 0.805, + "Actual Total Time": 0.982, "Actual Rows": 128, "Actual Loops": 1, "Output": [ @@ -52,12 +59,12 @@ "Schema": "pg_temp", "Alias": "lineitem", "Startup Cost": 0.0, - "Total Cost": 12.0, - "Plan Rows": 200, + "Total Cost": 12.5, + "Plan Rows": 67, "Plan Width": 36, - "Actual Startup Time": 0.006, - "Actual Total Time": 0.049, - "Actual Rows": 572, + "Actual Startup Time": 0.019, + "Actual Total Time": 0.27, + "Actual Rows": 560, "Actual Loops": 1, "Output": [ "lineitem.l_orderkey", @@ -76,56 +83,142 @@ "lineitem.l_shipinstruct", "lineitem.l_shipmode", "lineitem.l_comment" - ] + ], + "Filter": "(lineitem.l_quantity > '1'::numeric)", + "Rows Removed by Filter": 12 } ] }, { "Node Type": "CTE Scan", - "Parent Relationship": "Member", + "Parent Relationship": "InitPlan", + "Subplan Name": "CTE nested", "Parallel Aware": false, "Async Capable": false, - "CTE Name": "cte", - "Alias": "cte", + "CTE Name": "grouped", + "Alias": "grouped", "Startup Cost": 0.0, - "Total Cost": 4.0, - "Plan Rows": 200, - "Plan Width": 68, - "Actual Startup Time": 0.229, - "Actual Total Time": 0.306, - "Actual Rows": 128, + "Total Cost": 1.51, + "Plan Rows": 22, + "Plan Width": 36, + "Actual Startup Time": 0.003, + "Actual Total Time": 0.289, + "Actual Rows": 125, "Actual Loops": 1, "Output": [ - "cte.l_orderkey", - "cte.sum", - "cte.avg" - ] + "grouped.l_orderkey", + "grouped.quantity" + ], + "Filter": "(grouped.quantity > '10'::numeric)", + "Rows Removed by Filter": 3 }, { "Node Type": "CTE Scan", - "Parent Relationship": "Member", + "Parent Relationship": "Outer", "Parallel Aware": false, "Async Capable": false, - "CTE Name": "cte", - "Alias": "cte_1", + "CTE Name": "grouped", + "Alias": "g", "Startup Cost": 0.0, - "Total Cost": 4.0, - "Plan Rows": 200, - "Plan Width": 68, - "Actual Startup Time": 0.0, - "Actual Total Time": 0.008, + "Total Cost": 1.34, + "Plan Rows": 67, + "Plan Width": 36, + "Actual Startup Time": 0.808, + "Actual Total Time": 0.828, "Actual Rows": 128, "Actual Loops": 1, "Output": [ - "cte_1.l_orderkey", - "cte_1.sum", - "cte_1.avg" + "g.l_orderkey", + "g.quantity", + "g.price" + ] + }, + { + "Node Type": "Hash", + "Parent Relationship": "Inner", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 1.1, + "Total Cost": 1.1, + "Plan Rows": 44, + "Plan Width": 36, + "Actual Startup Time": 0.482, + "Actual Total Time": 0.483, + "Actual Rows": 250, + "Actual Loops": 1, + "Output": [ + "nested.l_orderkey", + "nested.quantity" + ], + "Hash Buckets": 1024, + "Original Hash Buckets": 1024, + "Hash Batches": 1, + "Original Hash Batches": 1, + "Peak Memory Usage": 19, + "Plans": [ + { + "Node Type": "Append", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 0.0, + "Total Cost": 1.1, + "Plan Rows": 44, + "Plan Width": 36, + "Actual Startup Time": 0.005, + "Actual Total Time": 0.411, + "Actual Rows": 250, + "Actual Loops": 1, + "Subplans Removed": 0, + "Plans": [ + { + "Node Type": "CTE Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "CTE Name": "nested", + "Alias": "nested", + "Startup Cost": 0.0, + "Total Cost": 0.44, + "Plan Rows": 22, + "Plan Width": 36, + "Actual Startup Time": 0.004, + "Actual Total Time": 0.355, + "Actual Rows": 125, + "Actual Loops": 1, + "Output": [ + "nested.l_orderkey", + "nested.quantity" + ] + }, + { + "Node Type": "CTE Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "CTE Name": "nested", + "Alias": "nested_1", + "Startup Cost": 0.0, + "Total Cost": 0.44, + "Plan Rows": 22, + "Plan Width": 36, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.021, + "Actual Rows": 125, + "Actual Loops": 1, + "Output": [ + "nested_1.l_orderkey", + "nested_1.quantity" + ] + } + ] + } ] } ] }, - "Planning Time": 0.173, + "Planning Time": 0.58, "Triggers": [], - "Execution Time": 0.476 + "Execution Time": 1.567 } ] \ No newline at end of file diff --git a/standalone-app/examples/postgres/dml/delete-using.plan.json b/standalone-app/examples/postgres/dml/delete-using.plan.json new file mode 100644 index 00000000..cf64a41e --- /dev/null +++ b/standalone-app/examples/postgres/dml/delete-using.plan.json @@ -0,0 +1,114 @@ +[ + { + "Plan": { + "Node Type": "ModifyTable", + "Operation": "Delete", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t2", + "Schema": "pg_temp", + "Alias": "t2", + "Startup Cost": 285.08, + "Total Cost": 607.4, + "Plan Rows": 20808, + "Plan Width": 12, + "Output": [ + "t2.a2", + "t2.b2" + ], + "Plans": [ + { + "Node Type": "Merge Join", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Join Type": "Inner", + "Startup Cost": 285.08, + "Total Cost": 607.4, + "Plan Rows": 20808, + "Plan Width": 12, + "Output": [ + "t2.ctid", + "t1.ctid" + ], + "Inner Unique": false, + "Merge Cond": "(t2.a2 = t1.a1)", + "Plans": [ + { + "Node Type": "Sort", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 142.54, + "Total Cost": 147.64, + "Plan Rows": 2040, + "Plan Width": 10, + "Output": [ + "t2.ctid", + "t2.a2" + ], + "Sort Key": [ + "t2.a2" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t2", + "Schema": "pg_temp", + "Alias": "t2", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 10, + "Output": [ + "t2.ctid", + "t2.a2" + ] + } + ] + }, + { + "Node Type": "Sort", + "Parent Relationship": "Inner", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 142.54, + "Total Cost": 147.64, + "Plan Rows": 2040, + "Plan Width": 10, + "Output": [ + "t1.ctid", + "t1.a1" + ], + "Sort Key": [ + "t1.a1" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 10, + "Output": [ + "t1.ctid", + "t1.a1" + ] + } + ] + } + ] + } + ] + } + } +] \ No newline at end of file diff --git a/standalone-app/examples/postgres/dml/delete.plan.json b/standalone-app/examples/postgres/dml/delete.plan.json new file mode 100644 index 00000000..354b008a --- /dev/null +++ b/standalone-app/examples/postgres/dml/delete.plan.json @@ -0,0 +1,40 @@ +[ + { + "Plan": { + "Node Type": "ModifyTable", + "Operation": "Delete", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t2", + "Schema": "pg_temp", + "Alias": "t2", + "Startup Cost": 0.0, + "Total Cost": 35.5, + "Plan Rows": 680, + "Plan Width": 6, + "Output": [ + "a2", + "b2" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t2", + "Schema": "pg_temp", + "Alias": "t2", + "Startup Cost": 0.0, + "Total Cost": 35.5, + "Plan Rows": 680, + "Plan Width": 6, + "Output": [ + "ctid" + ], + "Filter": "(t2.a2 < 10)" + } + ] + } + } +] \ No newline at end of file diff --git a/standalone-app/examples/postgres/dml/insert.plan.json b/standalone-app/examples/postgres/dml/insert.plan.json new file mode 100644 index 00000000..0824314e --- /dev/null +++ b/standalone-app/examples/postgres/dml/insert.plan.json @@ -0,0 +1,42 @@ +[ + { + "Plan": { + "Node Type": "ModifyTable", + "Operation": "Insert", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t2", + "Schema": "pg_temp", + "Alias": "t2", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 12, + "Output": [ + "t2.a2", + "t2.b2", + "t2.c2" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 12, + "Output": [ + "t1.a1", + "t1.b1", + "t1.c1" + ] + } + ] + } + } +] \ No newline at end of file diff --git a/standalone-app/examples/postgres/dml/update-from.plan.json b/standalone-app/examples/postgres/dml/update-from.plan.json new file mode 100644 index 00000000..689c1dea --- /dev/null +++ b/standalone-app/examples/postgres/dml/update-from.plan.json @@ -0,0 +1,118 @@ +[ + { + "Plan": { + "Node Type": "ModifyTable", + "Operation": "Update", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t2", + "Schema": "pg_temp", + "Alias": "t2", + "Startup Cost": 285.08, + "Total Cost": 659.42, + "Plan Rows": 20808, + "Plan Width": 20, + "Output": [ + "t2.a2", + "t2.b2" + ], + "Plans": [ + { + "Node Type": "Merge Join", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Join Type": "Inner", + "Startup Cost": 285.08, + "Total Cost": 659.42, + "Plan Rows": 20808, + "Plan Width": 20, + "Output": [ + "(t1.a1 + 1)", + "t1.b1", + "t2.ctid", + "t1.ctid" + ], + "Inner Unique": false, + "Merge Cond": "(t2.a2 = t1.a1)", + "Plans": [ + { + "Node Type": "Sort", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 142.54, + "Total Cost": 147.64, + "Plan Rows": 2040, + "Plan Width": 10, + "Output": [ + "t2.ctid", + "t2.a2" + ], + "Sort Key": [ + "t2.a2" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t2", + "Schema": "pg_temp", + "Alias": "t2", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 10, + "Output": [ + "t2.ctid", + "t2.a2" + ] + } + ] + }, + { + "Node Type": "Sort", + "Parent Relationship": "Inner", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 142.54, + "Total Cost": 147.64, + "Plan Rows": 2040, + "Plan Width": 14, + "Output": [ + "t1.a1", + "t1.b1", + "t1.ctid" + ], + "Sort Key": [ + "t1.a1" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 14, + "Output": [ + "t1.a1", + "t1.b1", + "t1.ctid" + ] + } + ] + } + ] + } + ] + } + } +] \ No newline at end of file diff --git a/standalone-app/examples/postgres/dml/update.plan.json b/standalone-app/examples/postgres/dml/update.plan.json new file mode 100644 index 00000000..84c23829 --- /dev/null +++ b/standalone-app/examples/postgres/dml/update.plan.json @@ -0,0 +1,38 @@ +[ + { + "Plan": { + "Node Type": "ModifyTable", + "Operation": "Update", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t2", + "Schema": "pg_temp", + "Alias": "t2", + "Startup Cost": 0.0, + "Total Cost": 38.9, + "Plan Rows": 0, + "Plan Width": 0, + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t2", + "Schema": "pg_temp", + "Alias": "t2", + "Startup Cost": 0.0, + "Total Cost": 38.9, + "Plan Rows": 680, + "Plan Width": 14, + "Output": [ + "(a2 + 1)", + "(b2 + 1)", + "ctid" + ], + "Filter": "(t2.a2 < 10)" + } + ] + } + } +] \ No newline at end of file diff --git a/standalone-app/examples/postgres/insert.plan.json b/standalone-app/examples/postgres/insert.plan.json deleted file mode 100644 index a210a22f..00000000 --- a/standalone-app/examples/postgres/insert.plan.json +++ /dev/null @@ -1,85 +0,0 @@ -[ - { - "Plan": { - "Node Type": "ModifyTable", - "Operation": "Insert", - "Parallel Aware": false, - "Async Capable": false, - "Relation Name": "t2", - "Schema": "pg_temp", - "Alias": "t2", - "Startup Cost": 0.0, - "Total Cost": 112.03, - "Plan Rows": 0, - "Plan Width": 0, - "Plans": [ - { - "Node Type": "Nested Loop", - "Parent Relationship": "Outer", - "Parallel Aware": false, - "Async Capable": false, - "Join Type": "Inner", - "Startup Cost": 0.0, - "Total Cost": 112.03, - "Plan Rows": 4080, - "Plan Width": 12, - "Output": [ - "(t1.a1 * \"*VALUES*\".column1)", - "(t1.b1 * \"*VALUES*\".column1)", - "(t1.c1 * \"*VALUES*\".column1)" - ], - "Inner Unique": false, - "Plans": [ - { - "Node Type": "Seq Scan", - "Parent Relationship": "Outer", - "Parallel Aware": false, - "Async Capable": false, - "Relation Name": "t1", - "Schema": "pg_temp", - "Alias": "t1", - "Startup Cost": 0.0, - "Total Cost": 30.4, - "Plan Rows": 2040, - "Plan Width": 12, - "Output": [ - "t1.a1", - "t1.b1", - "t1.c1" - ] - }, - { - "Node Type": "Materialize", - "Parent Relationship": "Inner", - "Parallel Aware": false, - "Async Capable": false, - "Startup Cost": 0.0, - "Total Cost": 0.04, - "Plan Rows": 2, - "Plan Width": 4, - "Output": [ - "\"*VALUES*\".column1" - ], - "Plans": [ - { - "Node Type": "Values Scan", - "Parent Relationship": "Outer", - "Parallel Aware": false, - "Async Capable": false, - "Alias": "*VALUES*", - "Startup Cost": 0.0, - "Total Cost": 0.03, - "Plan Rows": 2, - "Plan Width": 4, - "Output": [ - "\"*VALUES*\".column1" - ] - } - ] - } - ] - } - ] - } - } -] \ No newline at end of file diff --git a/standalone-app/examples/postgres/setoperation-analyze.plan.json b/standalone-app/examples/postgres/setoperation-analyze.plan.json index 1d9a531a..4a0353cd 100644 --- a/standalone-app/examples/postgres/setoperation-analyze.plan.json +++ b/standalone-app/examples/postgres/setoperation-analyze.plan.json @@ -4,94 +4,313 @@ "Node Type": "Append", "Parallel Aware": false, "Async Capable": false, - "Startup Cost": 0.0, - "Total Cost": 69.86, - "Plan Rows": 467, - "Plan Width": 8, - "Actual Startup Time": 0.004, - "Actual Total Time": 0.476, - "Actual Rows": 1144, + "Startup Cost": 121.8, + "Total Cost": 1248.7, + "Plan Rows": 8560, + "Plan Width": 36, + "Actual Startup Time": 0.045, + "Actual Total Time": 0.049, + "Actual Rows": 0, "Actual Loops": 1, "Subplans Removed": 0, "Plans": [ { - "Node Type": "Seq Scan", + "Node Type": "Subquery Scan", "Parent Relationship": "Member", "Parallel Aware": false, "Async Capable": false, - "Relation Name": "lineitem", - "Schema": "pg_temp", - "Alias": "lineitem", - "Startup Cost": 0.0, - "Total Cost": 12.0, - "Plan Rows": 200, - "Plan Width": 8, - "Actual Startup Time": 0.004, - "Actual Total Time": 0.033, - "Actual Rows": 572, + "Alias": "u", + "Startup Cost": 121.8, + "Total Cost": 162.6, + "Plan Rows": 2040, + "Plan Width": 36, + "Actual Startup Time": 0.014, + "Actual Total Time": 0.015, + "Actual Rows": 0, "Actual Loops": 1, "Output": [ - "lineitem.l_orderkey", - "lineitem.l_partkey" + "'union'::text", + "u.value" + ], + "Plans": [ + { + "Node Type": "Aggregate", + "Strategy": "Hashed", + "Partial Mode": "Simple", + "Parent Relationship": "Subquery", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 121.8, + "Total Cost": 142.2, + "Plan Rows": 2040, + "Plan Width": 4, + "Actual Startup Time": 0.014, + "Actual Total Time": 0.014, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1.a1" + ], + "Group Key": [ + "t1.a1" + ], + "Planned Partitions": 0, + "HashAgg Batches": 1, + "Peak Memory Usage": 121, + "Disk Usage": 0, + "Plans": [ + { + "Node Type": "Append", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 0.0, + "Total Cost": 116.7, + "Plan Rows": 2040, + "Plan Width": 4, + "Actual Startup Time": 0.006, + "Actual Total Time": 0.006, + "Actual Rows": 0, + "Actual Loops": 1, + "Subplans Removed": 0, + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1", + "Startup Cost": 0.0, + "Total Cost": 35.5, + "Plan Rows": 680, + "Plan Width": 4, + "Actual Startup Time": 0.004, + "Actual Total Time": 0.004, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1.a1" + ], + "Filter": "(t1.a1 < 10)", + "Rows Removed by Filter": 0 + }, + { + "Node Type": "Seq Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1_1", + "Startup Cost": 0.0, + "Total Cost": 35.5, + "Plan Rows": 680, + "Plan Width": 4, + "Actual Startup Time": 0.002, + "Actual Total Time": 0.002, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1_1.b1" + ], + "Filter": "(t1_1.b1 < 10)", + "Rows Removed by Filter": 0 + }, + { + "Node Type": "Seq Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1_2", + "Startup Cost": 0.0, + "Total Cost": 35.5, + "Plan Rows": 680, + "Plan Width": 4, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.0, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1_2.c1" + ], + "Filter": "(t1_2.c1 < 10)", + "Rows Removed by Filter": 0 + } + ] + } + ] + } ] }, { - "Node Type": "Seq Scan", + "Node Type": "Subquery Scan", "Parent Relationship": "Member", "Parallel Aware": false, "Async Capable": false, - "Relation Name": "lineitem", - "Schema": "pg_temp", - "Alias": "lineitem_1", + "Alias": "*SELECT* 1_1", "Startup Cost": 0.0, - "Total Cost": 12.0, - "Plan Rows": 200, - "Plan Width": 8, + "Total Cost": 42.3, + "Plan Rows": 680, + "Plan Width": 36, "Actual Startup Time": 0.002, - "Actual Total Time": 0.035, - "Actual Rows": 572, + "Actual Total Time": 0.002, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "'union-all'::text", + "\"*SELECT* 1_1\".value" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Subquery", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1_3", + "Startup Cost": 0.0, + "Total Cost": 35.5, + "Plan Rows": 680, + "Plan Width": 4, + "Actual Startup Time": 0.001, + "Actual Total Time": 0.001, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1_3.a1" + ], + "Filter": "(t1_3.a1 >= 10)", + "Rows Removed by Filter": 0 + } + ] + }, + { + "Node Type": "Subquery Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Alias": "*SELECT* 2", + "Startup Cost": 0.0, + "Total Cost": 42.3, + "Plan Rows": 680, + "Plan Width": 36, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.001, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "'union-all'::text", + "\"*SELECT* 2\".b1" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Subquery", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1_4", + "Startup Cost": 0.0, + "Total Cost": 35.5, + "Plan Rows": 680, + "Plan Width": 4, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.0, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1_4.b1" + ], + "Filter": "(t1_4.b1 >= 10)", + "Rows Removed by Filter": 0 + } + ] + }, + { + "Node Type": "Subquery Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Alias": "*SELECT* 3", + "Startup Cost": 0.0, + "Total Cost": 42.3, + "Plan Rows": 680, + "Plan Width": 36, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.001, + "Actual Rows": 0, "Actual Loops": 1, "Output": [ - "lineitem_1.l_orderkey", - "lineitem_1.l_suppkey" + "'union-all'::text", + "\"*SELECT* 3\".c1" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Subquery", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1_5", + "Startup Cost": 0.0, + "Total Cost": 35.5, + "Plan Rows": 680, + "Plan Width": 4, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.0, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1_5.c1" + ], + "Filter": "(t1_5.c1 >= 10)", + "Rows Removed by Filter": 0 + } ] }, { - "Node Type": "Result", + "Node Type": "Subquery Scan", "Parent Relationship": "Member", "Parallel Aware": false, "Async Capable": false, + "Alias": "i", "Startup Cost": 0.0, - "Total Cost": 43.53, - "Plan Rows": 67, - "Plan Width": 8, - "Actual Startup Time": 0.342, - "Actual Total Time": 0.343, + "Total Cost": 203.8, + "Plan Rows": 200, + "Plan Width": 36, + "Actual Startup Time": 0.005, + "Actual Total Time": 0.005, "Actual Rows": 0, "Actual Loops": 1, "Output": [ - "\"*SELECT* 3\".l_suppkey", - "\"*SELECT* 3\".l_partkey" + "'intersect'::text", + "i.value" ], "Plans": [ { "Node Type": "SetOp", "Strategy": "Hashed", - "Parent Relationship": "Outer", + "Parent Relationship": "Subquery", "Parallel Aware": false, "Async Capable": false, - "Command": "Except All", + "Command": "Intersect", "Startup Cost": 0.0, - "Total Cost": 42.86, - "Plan Rows": 67, - "Plan Width": 12, - "Actual Startup Time": 0.342, - "Actual Total Time": 0.342, + "Total Cost": 201.8, + "Plan Rows": 200, + "Plan Width": 8, + "Actual Startup Time": 0.004, + "Actual Total Time": 0.005, "Actual Rows": 0, "Actual Loops": 1, "Output": [ - "\"*SELECT* 3\".l_suppkey", - "\"*SELECT* 3\".l_partkey", + "\"*SELECT* 1_3\".value", "(0)" ], "Plans": [ @@ -101,12 +320,12 @@ "Parallel Aware": false, "Async Capable": false, "Startup Cost": 0.0, - "Total Cost": 42.19, - "Plan Rows": 134, - "Plan Width": 12, - "Actual Startup Time": 0.235, - "Actual Total Time": 0.328, - "Actual Rows": 302, + "Total Cost": 196.2, + "Plan Rows": 2240, + "Plan Width": 8, + "Actual Startup Time": 0.004, + "Actual Total Time": 0.004, + "Actual Rows": 0, "Actual Loops": 1, "Subplans Removed": 0, "Plans": [ @@ -116,16 +335,15 @@ "Parallel Aware": false, "Async Capable": false, "Startup Cost": 0.0, - "Total Cost": 28.35, - "Plan Rows": 67, - "Plan Width": 12, - "Actual Startup Time": 0.235, - "Actual Total Time": 0.238, - "Actual Rows": 16, + "Total Cost": 134.2, + "Plan Rows": 200, + "Plan Width": 8, + "Actual Startup Time": 0.003, + "Actual Total Time": 0.004, + "Actual Rows": 0, "Actual Loops": 1, "Output": [ - "\"*SELECT* 3\".l_suppkey", - "\"*SELECT* 3\".l_partkey", + "\"*SELECT* 1_3\".value", "0" ], "Plans": [ @@ -135,18 +353,17 @@ "Parent Relationship": "Outer", "Parallel Aware": false, "Async Capable": false, - "Command": "Intersect All", + "Command": "Intersect", "Startup Cost": 0.0, - "Total Cost": 27.68, - "Plan Rows": 67, - "Plan Width": 12, - "Actual Startup Time": 0.234, - "Actual Total Time": 0.236, - "Actual Rows": 16, + "Total Cost": 132.2, + "Plan Rows": 200, + "Plan Width": 8, + "Actual Startup Time": 0.003, + "Actual Total Time": 0.003, + "Actual Rows": 0, "Actual Loops": 1, "Output": [ - "\"*SELECT* 3\".l_suppkey", - "\"*SELECT* 3\".l_partkey", + "\"*SELECT* 1_3\".value", "(0)" ], "Plans": [ @@ -156,12 +373,12 @@ "Parallel Aware": false, "Async Capable": false, "Startup Cost": 0.0, - "Total Cost": 27.01, - "Plan Rows": 134, - "Plan Width": 12, - "Actual Startup Time": 0.003, - "Actual Total Time": 0.176, - "Actual Rows": 572, + "Total Cost": 122.0, + "Plan Rows": 4080, + "Plan Width": 8, + "Actual Startup Time": 0.002, + "Actual Total Time": 0.003, + "Actual Rows": 0, "Actual Loops": 1, "Subplans Removed": 0, "Plans": [ @@ -170,18 +387,17 @@ "Parent Relationship": "Member", "Parallel Aware": false, "Async Capable": false, - "Alias": "*SELECT* 3", + "Alias": "*SELECT* 1_3", "Startup Cost": 0.0, - "Total Cost": 13.17, - "Plan Rows": 67, - "Plan Width": 12, - "Actual Startup Time": 0.003, - "Actual Total Time": 0.073, - "Actual Rows": 286, + "Total Cost": 50.8, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.002, + "Actual Total Time": 0.002, + "Actual Rows": 0, "Actual Loops": 1, "Output": [ - "\"*SELECT* 3\".l_suppkey", - "\"*SELECT* 3\".l_partkey", + "\"*SELECT* 1_3\".value", "0" ], "Plans": [ @@ -190,23 +406,20 @@ "Parent Relationship": "Subquery", "Parallel Aware": false, "Async Capable": false, - "Relation Name": "lineitem", + "Relation Name": "t1", "Schema": "pg_temp", - "Alias": "lineitem_2", + "Alias": "t1_6", "Startup Cost": 0.0, - "Total Cost": 12.5, - "Plan Rows": 67, - "Plan Width": 8, - "Actual Startup Time": 0.003, - "Actual Total Time": 0.053, - "Actual Rows": 286, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 4, + "Actual Startup Time": 0.002, + "Actual Total Time": 0.002, + "Actual Rows": 0, "Actual Loops": 1, "Output": [ - "lineitem_2.l_suppkey", - "lineitem_2.l_partkey" - ], - "Filter": "(lineitem_2.l_quantity < '25'::numeric)", - "Rows Removed by Filter": 286 + "t1_6.a1" + ] } ] }, @@ -215,18 +428,17 @@ "Parent Relationship": "Member", "Parallel Aware": false, "Async Capable": false, - "Alias": "*SELECT* 4", + "Alias": "*SELECT* 2_2", "Startup Cost": 0.0, - "Total Cost": 13.17, - "Plan Rows": 67, - "Plan Width": 12, - "Actual Startup Time": 0.003, - "Actual Total Time": 0.07, - "Actual Rows": 286, + "Total Cost": 50.8, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.001, + "Actual Rows": 0, "Actual Loops": 1, "Output": [ - "\"*SELECT* 4\".l_suppkey", - "\"*SELECT* 4\".l_partkey", + "\"*SELECT* 2_2\".b1", "1" ], "Plans": [ @@ -235,23 +447,20 @@ "Parent Relationship": "Subquery", "Parallel Aware": false, "Async Capable": false, - "Relation Name": "lineitem", + "Relation Name": "t1", "Schema": "pg_temp", - "Alias": "lineitem_3", + "Alias": "t1_7", "Startup Cost": 0.0, - "Total Cost": 12.5, - "Plan Rows": 67, - "Plan Width": 8, - "Actual Startup Time": 0.003, - "Actual Total Time": 0.051, - "Actual Rows": 286, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 4, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.0, + "Actual Rows": 0, "Actual Loops": 1, "Output": [ - "lineitem_3.l_suppkey", - "lineitem_3.l_partkey" - ], - "Filter": "(lineitem_3.l_quantity >= '25'::numeric)", - "Rows Removed by Filter": 286 + "t1_7.b1" + ] } ] } @@ -266,18 +475,118 @@ "Parent Relationship": "Member", "Parallel Aware": false, "Async Capable": false, - "Alias": "*SELECT* 5", + "Alias": "*SELECT* 3_2", "Startup Cost": 0.0, - "Total Cost": 13.17, - "Plan Rows": 67, - "Plan Width": 12, - "Actual Startup Time": 0.002, - "Actual Total Time": 0.072, - "Actual Rows": 286, + "Total Cost": 50.8, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.001, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 3_2\".c1", + "1" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Subquery", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1_8", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 4, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.0, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1_8.c1" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "Node Type": "Subquery Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Alias": "ia", + "Startup Cost": 0.0, + "Total Cost": 254.4, + "Plan Rows": 2040, + "Plan Width": 36, + "Actual Startup Time": 0.005, + "Actual Total Time": 0.006, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "'intersect-all'::text", + "ia.value" + ], + "Plans": [ + { + "Node Type": "SetOp", + "Strategy": "Hashed", + "Parent Relationship": "Subquery", + "Parallel Aware": false, + "Async Capable": false, + "Command": "Intersect All", + "Startup Cost": 0.0, + "Total Cost": 234.0, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.005, + "Actual Total Time": 0.006, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 3_3\".c1", + "(1)" + ], + "Plans": [ + { + "Node Type": "Append", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 0.0, + "Total Cost": 223.8, + "Plan Rows": 4080, + "Plan Width": 8, + "Actual Startup Time": 0.004, + "Actual Total Time": 0.005, + "Actual Rows": 0, + "Actual Loops": 1, + "Subplans Removed": 0, + "Plans": [ + { + "Node Type": "Subquery Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Alias": "*SELECT* 3_3", + "Startup Cost": 0.0, + "Total Cost": 50.8, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.001, + "Actual Total Time": 0.002, + "Actual Rows": 0, "Actual Loops": 1, "Output": [ - "\"*SELECT* 5\".l_suppkey", - "\"*SELECT* 5\".l_partkey", + "\"*SELECT* 3_3\".c1", "1" ], "Plans": [ @@ -286,23 +595,645 @@ "Parent Relationship": "Subquery", "Parallel Aware": false, "Async Capable": false, - "Relation Name": "lineitem", + "Relation Name": "t1", "Schema": "pg_temp", - "Alias": "lineitem_4", + "Alias": "t1_9", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 4, + "Actual Startup Time": 0.001, + "Actual Total Time": 0.001, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1_9.c1" + ] + } + ] + }, + { + "Node Type": "Result", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 0.0, + "Total Cost": 152.6, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.003, + "Actual Total Time": 0.003, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 1_4\".value", + "0" + ], + "Plans": [ + { + "Node Type": "SetOp", + "Strategy": "Hashed", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Command": "Intersect All", "Startup Cost": 0.0, - "Total Cost": 12.5, - "Plan Rows": 67, + "Total Cost": 132.2, + "Plan Rows": 2040, "Plan Width": 8, - "Actual Startup Time": 0.002, - "Actual Total Time": 0.053, - "Actual Rows": 286, + "Actual Startup Time": 0.003, + "Actual Total Time": 0.003, + "Actual Rows": 0, "Actual Loops": 1, "Output": [ - "lineitem_4.l_suppkey", - "lineitem_4.l_partkey" + "\"*SELECT* 1_4\".value", + "(0)" ], - "Filter": "(lineitem_4.l_quantity >= '25'::numeric)", - "Rows Removed by Filter": 286 + "Plans": [ + { + "Node Type": "Append", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 0.0, + "Total Cost": 122.0, + "Plan Rows": 4080, + "Plan Width": 8, + "Actual Startup Time": 0.002, + "Actual Total Time": 0.002, + "Actual Rows": 0, + "Actual Loops": 1, + "Subplans Removed": 0, + "Plans": [ + { + "Node Type": "Subquery Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Alias": "*SELECT* 1_4", + "Startup Cost": 0.0, + "Total Cost": 50.8, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.001, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 1_4\".value", + "0" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Subquery", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1_10", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 4, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.0, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1_10.a1" + ] + } + ] + }, + { + "Node Type": "Subquery Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Alias": "*SELECT* 2_3", + "Startup Cost": 0.0, + "Total Cost": 50.8, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.001, + "Actual Total Time": 0.002, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 2_3\".b1", + "1" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Subquery", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1_11", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 4, + "Actual Startup Time": 0.001, + "Actual Total Time": 0.001, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1_11.b1" + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "Node Type": "Subquery Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Alias": "e", + "Startup Cost": 0.0, + "Total Cost": 203.8, + "Plan Rows": 200, + "Plan Width": 36, + "Actual Startup Time": 0.008, + "Actual Total Time": 0.009, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "'except'::text", + "e.value" + ], + "Plans": [ + { + "Node Type": "SetOp", + "Strategy": "Hashed", + "Parent Relationship": "Subquery", + "Parallel Aware": false, + "Async Capable": false, + "Command": "Except", + "Startup Cost": 0.0, + "Total Cost": 201.8, + "Plan Rows": 200, + "Plan Width": 8, + "Actual Startup Time": 0.008, + "Actual Total Time": 0.008, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 1_5\".value", + "(0)" + ], + "Plans": [ + { + "Node Type": "Append", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 0.0, + "Total Cost": 196.2, + "Plan Rows": 2240, + "Plan Width": 8, + "Actual Startup Time": 0.007, + "Actual Total Time": 0.008, + "Actual Rows": 0, + "Actual Loops": 1, + "Subplans Removed": 0, + "Plans": [ + { + "Node Type": "Result", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 0.0, + "Total Cost": 134.2, + "Plan Rows": 200, + "Plan Width": 8, + "Actual Startup Time": 0.002, + "Actual Total Time": 0.002, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 1_5\".value", + "0" + ], + "Plans": [ + { + "Node Type": "SetOp", + "Strategy": "Hashed", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Command": "Except", + "Startup Cost": 0.0, + "Total Cost": 132.2, + "Plan Rows": 200, + "Plan Width": 8, + "Actual Startup Time": 0.002, + "Actual Total Time": 0.002, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 1_5\".value", + "(0)" + ], + "Plans": [ + { + "Node Type": "Append", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 0.0, + "Total Cost": 122.0, + "Plan Rows": 4080, + "Plan Width": 8, + "Actual Startup Time": 0.001, + "Actual Total Time": 0.001, + "Actual Rows": 0, + "Actual Loops": 1, + "Subplans Removed": 0, + "Plans": [ + { + "Node Type": "Subquery Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Alias": "*SELECT* 1_5", + "Startup Cost": 0.0, + "Total Cost": 50.8, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.001, + "Actual Total Time": 0.001, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 1_5\".value", + "0" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Subquery", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1_12", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 4, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.0, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1_12.a1" + ] + } + ] + }, + { + "Node Type": "Subquery Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Alias": "*SELECT* 2_4", + "Startup Cost": 0.0, + "Total Cost": 50.8, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.001, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 2_4\".b1", + "1" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Subquery", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1_13", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 4, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.0, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1_13.b1" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "Node Type": "Subquery Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Alias": "*SELECT* 3_4", + "Startup Cost": 0.0, + "Total Cost": 50.8, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.005, + "Actual Total Time": 0.005, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 3_4\".c1", + "1" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Subquery", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1_14", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 4, + "Actual Startup Time": 0.005, + "Actual Total Time": 0.005, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1_14.c1" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "Node Type": "Subquery Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Alias": "ea", + "Startup Cost": 0.0, + "Total Cost": 254.4, + "Plan Rows": 2040, + "Plan Width": 36, + "Actual Startup Time": 0.01, + "Actual Total Time": 0.011, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "'except-all'::text", + "ea.value" + ], + "Plans": [ + { + "Node Type": "SetOp", + "Strategy": "Hashed", + "Parent Relationship": "Subquery", + "Parallel Aware": false, + "Async Capable": false, + "Command": "Except All", + "Startup Cost": 0.0, + "Total Cost": 234.0, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.01, + "Actual Total Time": 0.011, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 1_6\".value", + "(0)" + ], + "Plans": [ + { + "Node Type": "Append", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 0.0, + "Total Cost": 223.8, + "Plan Rows": 4080, + "Plan Width": 8, + "Actual Startup Time": 0.004, + "Actual Total Time": 0.004, + "Actual Rows": 0, + "Actual Loops": 1, + "Subplans Removed": 0, + "Plans": [ + { + "Node Type": "Result", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 0.0, + "Total Cost": 152.6, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.003, + "Actual Total Time": 0.003, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 1_6\".value", + "0" + ], + "Plans": [ + { + "Node Type": "SetOp", + "Strategy": "Hashed", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Command": "Except All", + "Startup Cost": 0.0, + "Total Cost": 132.2, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.003, + "Actual Total Time": 0.003, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 1_6\".value", + "(0)" + ], + "Plans": [ + { + "Node Type": "Append", + "Parent Relationship": "Outer", + "Parallel Aware": false, + "Async Capable": false, + "Startup Cost": 0.0, + "Total Cost": 122.0, + "Plan Rows": 4080, + "Plan Width": 8, + "Actual Startup Time": 0.002, + "Actual Total Time": 0.002, + "Actual Rows": 0, + "Actual Loops": 1, + "Subplans Removed": 0, + "Plans": [ + { + "Node Type": "Subquery Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Alias": "*SELECT* 1_6", + "Startup Cost": 0.0, + "Total Cost": 50.8, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.001, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 1_6\".value", + "0" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Subquery", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1_15", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 4, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.0, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1_15.a1" + ] + } + ] + }, + { + "Node Type": "Subquery Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Alias": "*SELECT* 2_5", + "Startup Cost": 0.0, + "Total Cost": 50.8, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.002, + "Actual Total Time": 0.002, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 2_5\".b1", + "1" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Subquery", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1_16", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 4, + "Actual Startup Time": 0.001, + "Actual Total Time": 0.001, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1_16.b1" + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "Node Type": "Subquery Scan", + "Parent Relationship": "Member", + "Parallel Aware": false, + "Async Capable": false, + "Alias": "*SELECT* 3_5", + "Startup Cost": 0.0, + "Total Cost": 50.8, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.001, + "Actual Total Time": 0.001, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "\"*SELECT* 3_5\".c1", + "1" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "Subquery", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1_17", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 4, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.001, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1_17.c1" + ] } ] } diff --git a/standalone-app/examples/postgres/subquery-analyze.plan.json b/standalone-app/examples/postgres/subquery-analyze.plan.json new file mode 100644 index 00000000..48ab20f5 --- /dev/null +++ b/standalone-app/examples/postgres/subquery-analyze.plan.json @@ -0,0 +1,50 @@ +[ + { + "Plan": { + "Node Type": "Seq Scan", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1", + "Startup Cost": 30.4, + "Total Cost": 60.8, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.001, + "Actual Total Time": 0.001, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1.a1", + "(InitPlan 1).col1" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "InitPlan", + "Subplan Name": "InitPlan 1", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t2", + "Schema": "pg_temp", + "Alias": "t2", + "Startup Cost": 0.0, + "Total Cost": 30.4, + "Plan Rows": 2040, + "Plan Width": 4, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.0, + "Actual Rows": 0, + "Actual Loops": 0, + "Output": [ + "t2.b2" + ] + } + ] + }, + "Planning Time": 0.012, + "Triggers": [], + "Execution Time": 0.004 + } +] \ No newline at end of file diff --git a/standalone-app/examples/postgres/subquery-correlated-analyze.plan.json b/standalone-app/examples/postgres/subquery-correlated-analyze.plan.json new file mode 100644 index 00000000..8a8e0d02 --- /dev/null +++ b/standalone-app/examples/postgres/subquery-correlated-analyze.plan.json @@ -0,0 +1,52 @@ +[ + { + "Plan": { + "Node Type": "Seq Scan", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1", + "Startup Cost": 0.0, + "Total Cost": 72450.4, + "Plan Rows": 2040, + "Plan Width": 8, + "Actual Startup Time": 0.001, + "Actual Total Time": 0.002, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "t1.a1", + "(SubPlan 1)" + ], + "Plans": [ + { + "Node Type": "Seq Scan", + "Parent Relationship": "SubPlan", + "Subplan Name": "SubPlan 1", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t2", + "Schema": "pg_temp", + "Alias": "t2", + "Startup Cost": 0.0, + "Total Cost": 35.5, + "Plan Rows": 10, + "Plan Width": 4, + "Actual Startup Time": 0.0, + "Actual Total Time": 0.0, + "Actual Rows": 0, + "Actual Loops": 0, + "Output": [ + "t2.b2" + ], + "Filter": "(t2.a2 = t1.a1)", + "Rows Removed by Filter": 0 + } + ] + }, + "Planning Time": 0.023, + "Triggers": [], + "Execution Time": 0.007 + } +] \ No newline at end of file diff --git a/standalone-app/examples/postgres/tablesample-analyze.plan.json b/standalone-app/examples/postgres/tablesample-analyze.plan.json new file mode 100644 index 00000000..ec7cb0ee --- /dev/null +++ b/standalone-app/examples/postgres/tablesample-analyze.plan.json @@ -0,0 +1,33 @@ +[ + { + "Plan": { + "Node Type": "Sample Scan", + "Parallel Aware": false, + "Async Capable": false, + "Relation Name": "t1", + "Schema": "pg_temp", + "Alias": "t1", + "Startup Cost": 0.0, + "Total Cost": 30.2, + "Plan Rows": 1020, + "Plan Width": 12, + "Actual Startup Time": 0.002, + "Actual Total Time": 0.002, + "Actual Rows": 0, + "Actual Loops": 1, + "Output": [ + "a1", + "b1", + "c1" + ], + "Sampling Method": "system", + "Sampling Parameters": [ + "'50'::real" + ], + "Repeatable Seed": "'1'::double precision" + }, + "Planning Time": 0.013, + "Triggers": [], + "Execution Time": 0.005 + } +] \ No newline at end of file diff --git a/standalone-app/examples/umbra/cte-analyze.plan.json b/standalone-app/examples/umbra/cte-analyze.plan.json index 3497b0f7..77742223 100644 --- a/standalone-app/examples/umbra/cte-analyze.plan.json +++ b/standalone-app/examples/umbra/cte-analyze.plan.json @@ -3,7 +3,7 @@ "operator":"join", "physicalOperator":"bnljoin", "cardinality":243, - "operatorId":1,"analyzePlanId":0,"analyzePlanCardinality":256,"analyzePlanCounters":{}, + "operatorId":1,"analyzePlanId":0,"analyzePlanCardinality":250,"analyzePlanCounters":{}, "left":{ "operator":"inlinetable", "physicalOperator":"inlinetable", @@ -16,51 +16,90 @@ "values":[] }, "right":{ - "operator":"groupby", - "physicalOperator":"groupby", + "operator":"join", + "physicalOperator":"hashjoin", "cardinality":122, - "operatorId":3,"analyzePlanId":2,"analyzePlanCardinality":128,"analyzePlanCounters":{}, - "sourceLocation":{"startLine":4, "startColumn":4, "endLine":4, "endColumn":23}, - "input":{ - "operator":"tablescan", - "physicalOperator":"tablescan", - "cardinality":572, - "operatorId":4,"analyzePlanId":3,"analyzePlanCardinality":572,"analyzePlanCounters":{}, - "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}, - "attributes":[{"name":"l_orderkey", "iu":"l_orderkey", "nullable":false}, {"name":"l_partkey", "iu":"l_partkey", "nullable":false}, {"name":"l_suppkey", "iu":"l_suppkey", "nullable":false}, {"name":"l_linenumber", "iu":"l_linenumber", "nullable":false}, {"name":"l_quantity", "iu":"l_quantity", "nullable":false}, {"name":"l_extendedprice", "iu":"l_extendedprice", "nullable":false}, {"name":"l_discount", "iu":"l_discount", "nullable":false}, {"name":"l_tax", "iu":"l_tax", "nullable":false}, {"name":"l_returnflag", "iu":"l_returnflag", "nullable":false}, {"name":"l_linestatus", "iu":"l_linestatus", "nullable":false}, {"name":"l_shipdate", "iu":"l_shipdate", "nullable":false}, {"name":"l_commitdate", "iu":"l_commitdate", "nullable":false}, {"name":"l_receiptdate", "iu":"l_receiptdate", "nullable":false}, {"name":"l_shipinstruct", "iu":"l_shipinstruct", "nullable":false}, {"name":"l_shipmode", "iu":"l_shipmode", "nullable":false}, {"name":"l_comment", "iu":"l_comment", "nullable":false}], - "restrictions":[], - "residuals":[], - "tid":"tid", - "tableoid":"tableoid", - "rowstate":"rowstate", - "schema":"pg_temp", - "table":{"type":"temporarytable", "id":7}, - "tableSize":572, - "tablename":"lineitem" + "operatorId":3,"analyzePlanId":2,"analyzePlanCardinality":125,"analyzePlanCounters":{"slots":256,"chains":100,"minmaxbounds":"off","hashtable":"compact","filter":"off","chaining":"on"}, + "left":{ + "operator":"select", + "physicalOperator":"select", + "cardinality":122, + "operatorId":4,"analyzePlanId":3,"analyzePlanCardinality":125,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":17, "startColumn":15, "endLine":17, "endColumn":28}, + "input":{ + "operator":"pipelinebreakerscan", + "physicalOperator":"groupbyscan", + "cardinality":122, + "operatorId":5,"analyzePlanId":4,"analyzePlanCardinality":128,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":16, "startColumn":14, "endLine":16, "endColumn":21}, + "pipelineBreaker":{ + "operator":"groupby", + "physicalOperator":"groupby", + "cardinality":122, + "operatorId":6,"analyzePlanId":5,"analyzePlanCardinality":128,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":12, "startColumn":5, "endLine":12, "endColumn":24}, + "input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":572, + "operatorId":7,"analyzePlanId":6,"analyzePlanCardinality":560,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}, + "attributes":[{"name":"l_orderkey", "iu":"l_orderkey", "nullable":false}, {"name":"l_partkey", "iu":"l_partkey", "nullable":false}, {"name":"l_suppkey", "iu":"l_suppkey", "nullable":false}, {"name":"l_linenumber", "iu":"l_linenumber", "nullable":false}, {"name":"l_quantity", "iu":"l_quantity", "nullable":false}, {"name":"l_extendedprice", "iu":"l_extendedprice", "nullable":false}, {"name":"l_discount", "iu":"l_discount", "nullable":false}, {"name":"l_tax", "iu":"l_tax", "nullable":false}, {"name":"l_returnflag", "iu":"l_returnflag", "nullable":false}, {"name":"l_linestatus", "iu":"l_linestatus", "nullable":false}, {"name":"l_shipdate", "iu":"l_shipdate", "nullable":false}, {"name":"l_commitdate", "iu":"l_commitdate", "nullable":false}, {"name":"l_receiptdate", "iu":"l_receiptdate", "nullable":false}, {"name":"l_shipinstruct", "iu":"l_shipinstruct", "nullable":false}, {"name":"l_shipmode", "iu":"l_shipmode", "nullable":false}, {"name":"l_comment", "iu":"l_comment", "nullable":false}], + "restrictions":[{"attribute":4, "mode":">=", "value":{"expression":"const", "id":22, "sourceLocation":{"startLine":8, "startColumn":24, "endLine":8, "endColumn":25}, "value":{"type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "null":false, "value":101}}, "estimatedSelectivity":-1, "direction":0, "collate":""}], + "residuals":[], + "tid":"tid", + "tableoid":"tableoid", + "rowstate":"rowstate", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":7}, + "tableSize":572, + "tablename":"lineitem" + }, + "values":[{"expression":"iuref", "id":51, "sourceLocation":{"startLine":12, "startColumn":14, "endLine":12, "endColumn":24}, "iu":"l_orderkey"}, {"expression":"iuref", "id":53, "sourceLocation":{"startLine":10, "startColumn":28, "endLine":10, "endColumn":38}, "iu":"l_quantity"}, {"expression":"iuref", "id":55, "sourceLocation":{"startLine":10, "startColumn":57, "endLine":10, "endColumn":72}, "iu":"l_extendedprice"}], + "key":[{"arg":0, "iu":"l_orderkey20", "grouping":0, "collate":""}], + "groupingmode":"regular", + "aggregates":[{"op":"sum", "arg":1, "collate":"", "iu":"sum(l_quantity)", "filter":0, "order":0, "distinct":false}, {"op":"avg", "arg":2, "collate":"", "iu":"avg(l_extendedprice)", "filter":0, "order":0, "distinct":false}], + "orders":[], + "groupingsets":[], + "sortlimit":0, + "sortlimitorder":[] + }, + "scannedOperator":6, + "output":[{"originalIU":"l_orderkey20", "iu":"l_orderkey2"}, {"originalIU":"sum(l_quantity)", "iu":"quantity"}] + }, + "condition":{"expression":"compare", "id":68, "sourceLocation":{"startLine":17, "startColumn":15, "endLine":17, "endColumn":28}, "left":{"expression":"iuref", "id":66, "sourceLocation":{"startLine":17, "startColumn":15, "endLine":17, "endColumn":23}, "iu":"quantity"}, "right":{"expression":"const", "id":67, "sourceLocation":{"startLine":17, "startColumn":26, "endLine":17, "endColumn":28}, "value":{"type":{"type":"bignumeric", "precision":38, "scale":2, "nullable":false, "array":false}, "null":false, "value":1001, "value2":0}}, "direction":">=", "collate":""} }, - "values":[{"expression":"iuref", "id":1, "sourceLocation":{"startLine":4, "startColumn":13, "endLine":4, "endColumn":23}, "iu":"l_orderkey"}, {"expression":"iuref", "id":3, "sourceLocation":{"startLine":2, "startColumn":37, "endLine":2, "endColumn":47}, "iu":"l_quantity"}, {"expression":"iuref", "id":5, "sourceLocation":{"startLine":2, "startColumn":54, "endLine":2, "endColumn":69}, "iu":"l_extendedprice"}], - "key":[{"arg":0, "iu":"l_orderkey20", "grouping":0, "collate":""}], - "groupingmode":"regular", - "aggregates":[{"op":"sum", "arg":1, "collate":"", "iu":"sum(l_quantity)", "filter":0, "order":0, "distinct":false}, {"op":"avg", "arg":2, "collate":"", "iu":"avg(l_extendedprice)", "filter":0, "order":0, "distinct":false}], - "orders":[], - "groupingsets":[], - "sortlimit":0, - "sortlimitorder":[] + "right":{ + "operator":"pipelinebreakerscan", + "physicalOperator":"groupbyscan", + "cardinality":122, + "operatorId":8,"analyzePlanId":7,"analyzePlanCardinality":128,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":28, "startColumn":6, "endLine":28, "endColumn":13}, + "scannedOperator":6, + "output":[{"originalIU":"l_orderkey20", "iu":"l_orderkey25"}, {"originalIU":"avg(l_extendedprice)", "iu":"price"}] + }, + "condition":{"expression":"compare", "id":124, "sourceLocation":{"startLine":28, "startColumn":19, "endLine":28, "endColumn":46}, "left":{"expression":"iuref", "id":122, "sourceLocation":{"startLine":28, "startColumn":19, "endLine":28, "endColumn":31}, "iu":"l_orderkey25"}, "right":{"expression":"iuref", "id":123, "sourceLocation":{"startLine":28, "startColumn":34, "endLine":28, "endColumn":46}, "iu":"l_orderkey2"}, "direction":"=", "collate":""}, + "type":"inner", + "filter":false, + "minmaxbounds":false, + "arrayjoinbounds":[], + "forcedestimate":121.71229547849963 }, - "condition":{"expression":"const", "id":44, "value":{"type":{"type":"bool", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":true}}, + "condition":{"expression":"const", "id":134, "value":{"type":{"type":"bool", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":true}}, "type":"inner", "filter":false, "minmaxbounds":false, "arrayjoinbounds":[], "forcedestimate":243.42459095699925 }, - "ius":[{"iu":"l_orderkey", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}}, {"iu":"l_partkey", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}}, {"iu":"l_suppkey", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}}, {"iu":"l_linenumber", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}}, {"iu":"l_quantity", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}}, {"iu":"l_extendedprice", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}}, {"iu":"l_discount", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}}, {"iu":"l_tax", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}}, {"iu":"l_returnflag", "type":{"type":"char1", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}}, {"iu":"l_linestatus", "type":{"type":"char1", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}}, {"iu":"l_shipdate", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}}, {"iu":"l_commitdate", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}}, {"iu":"l_receiptdate", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}}, {"iu":"l_shipinstruct", "type":{"type":"char", "precision":25, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}}, {"iu":"l_shipmode", "type":{"type":"char", "precision":10, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}}, {"iu":"l_comment", "type":{"type":"text", "precision":44, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":3, "startColumn":9, "endLine":3, "endColumn":17}}, {"iu":"tid", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"l_orderkey20", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":21, "endLine":2, "endColumn":31}}, {"iu":"sum(l_quantity)", "type":{"type":"bignumeric", "precision":38, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":33, "endLine":2, "endColumn":48}}, {"iu":"avg(l_extendedprice)", "type":{"type":"bignumeric", "precision":31, "scale":21, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":50, "endLine":2, "endColumn":70}}], - "output":[{"name":"l_orderkey", "iu":{"expression":"iuref", "id":37, "iu":"l_orderkey20"}}, {"name":"sum", "iu":{"expression":"iuref", "id":38, "iu":"sum(l_quantity)"}}, {"name":"avg", "iu":{"expression":"iuref", "id":39, "iu":"avg(l_extendedprice)"}}], + "ius":[{"iu":"l_orderkey", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}}, {"iu":"l_partkey", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}}, {"iu":"l_suppkey", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}}, {"iu":"l_linenumber", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}}, {"iu":"l_quantity", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}}, {"iu":"l_extendedprice", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}}, {"iu":"l_discount", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}}, {"iu":"l_tax", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}}, {"iu":"l_returnflag", "type":{"type":"char1", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}}, {"iu":"l_linestatus", "type":{"type":"char1", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}}, {"iu":"l_shipdate", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}}, {"iu":"l_commitdate", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}}, {"iu":"l_receiptdate", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}}, {"iu":"l_shipinstruct", "type":{"type":"char", "precision":25, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}}, {"iu":"l_shipmode", "type":{"type":"char", "precision":10, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}}, {"iu":"l_comment", "type":{"type":"text", "precision":44, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":18}}, {"iu":"tid", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"l_orderkey20", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":12, "endLine":10, "endColumn":22}}, {"iu":"sum(l_quantity)", "type":{"type":"bignumeric", "precision":38, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":24, "endLine":10, "endColumn":39}}, {"iu":"avg(l_extendedprice)", "type":{"type":"bignumeric", "precision":31, "scale":21, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":53, "endLine":10, "endColumn":73}}, {"iu":"l_orderkey2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":12, "endLine":10, "endColumn":22}}, {"iu":"quantity", "type":{"type":"bignumeric", "precision":38, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":24, "endLine":10, "endColumn":39}}, {"iu":"l_orderkey25", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":12, "endLine":10, "endColumn":22}}, {"iu":"price", "type":{"type":"bignumeric", "precision":31, "scale":21, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":53, "endLine":10, "endColumn":73}}], + "output":[{"name":"l_orderkey", "iu":{"expression":"iuref", "id":128, "iu":"l_orderkey25"}}, {"name":"quantity", "iu":{"expression":"iuref", "id":129, "iu":"quantity"}}, {"name":"price", "iu":{"expression":"iuref", "id":130, "iu":"price"}}], "type":"select", "query":true, "analyzePlanPipelines":[ - {"pipelineId":0,"start":47,"stop":51,"duration":4,"parallelism":"single-threaded","operators":[1],"counters":{}}, - {"pipelineId":1,"start":51,"stop":282,"duration":231,"parallelism":"multi-threaded","operators":[3],"counters":{}}, - {"pipelineId":2,"start":283,"stop":335,"duration":52,"parallelism":"multi-threaded","operators":[0,2],"counters":{}} + {"pipelineId":0,"start":108,"stop":112,"duration":4,"parallelism":"single-threaded","operators":[1],"counters":{}}, + {"pipelineId":1,"start":113,"stop":343,"duration":230,"parallelism":"multi-threaded","operators":[6],"counters":{}}, + {"pipelineId":2,"start":345,"stop":530,"duration":185,"parallelism":"multi-threaded","operators":[3,4],"counters":{}}, + {"pipelineId":3,"start":532,"stop":618,"duration":86,"parallelism":"multi-threaded","operators":[0,2,7],"counters":{}} ] } diff --git a/standalone-app/examples/umbra/dml/delete-using.plan.json b/standalone-app/examples/umbra/dml/delete-using.plan.json new file mode 100644 index 00000000..b489b36c --- /dev/null +++ b/standalone-app/examples/umbra/dml/delete-using.plan.json @@ -0,0 +1,28 @@ +{ + "plan":{ + "operator":"delete", + "physicalOperator":"delete", + "cardinality":0, + "operatorId":1, + "sourceLocation":{"startLine":1, "startColumn":31, "endLine":5, "endColumn":23}, + "input":{ + "operator":"inlinetable", + "physicalOperator":"inlinetable", + "cardinality":0, + "operatorId":2, + "attributes":[{"name":"a2", "iu":"a2", "nullable":false}, {"name":"b2", "iu":"b2", "nullable":true}, {"name":"tid", "iu":"tid", "nullable":false}], + "restrictions":[], + "residuals":[], + "count":0, + "values":[] + }, + "tid":{"expression":"iuref", "id":4, "iu":"tid"}, + "schema":"pg_temp", + "table":"t2", + "tableObjectRef":{"type":"temporarytable", "id":1} + }, + "ius":[{"iu":"a2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":13, "endLine":2, "endColumn":15}}, {"iu":"b2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":2, "startColumn":13, "endLine":2, "endColumn":15}}, {"iu":"tid", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}], + "output":[{"name":"a2", "iu":{"expression":"iuref", "id":7, "iu":"a2"}}, {"name":"b2", "iu":{"expression":"iuref", "id":8, "iu":"b2"}}], + "type":"delete", + "query":true +} \ No newline at end of file diff --git a/standalone-app/examples/umbra/dml/delete.plan.json b/standalone-app/examples/umbra/dml/delete.plan.json new file mode 100644 index 00000000..e1f274c4 --- /dev/null +++ b/standalone-app/examples/umbra/dml/delete.plan.json @@ -0,0 +1,34 @@ +{ + "plan":{ + "operator":"delete", + "physicalOperator":"delete", + "cardinality":1, + "operatorId":1, + "sourceLocation":{"startLine":1, "startColumn":31, "endLine":4, "endColumn":17}, + "input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":2, + "sourceLocation":{"startLine":2, "startColumn":13, "endLine":2, "endColumn":15}, + "attributes":[{"name":"a2", "iu":"a2", "nullable":true}, {"name":"b2", "iu":"b2", "nullable":true}, {"name":"c2", "iu":"c2", "nullable":true}], + "restrictions":[{"attribute":0, "mode":"<=", "value":{"expression":"const", "id":2, "sourceLocation":{"startLine":3, "startColumn":12, "endLine":3, "endColumn":14}, "value":{"type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":9}}, "estimatedSelectivity":-1, "direction":0, "collate":""}], + "residuals":[], + "tid":"tid", + "tableoid":"tableoid", + "rowstate":"rowstate", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":1}, + "tableSize":1, + "tablename":"t2" + }, + "tid":{"expression":"iuref", "id":4, "iu":"tid"}, + "schema":"pg_temp", + "table":"t2", + "tableObjectRef":{"type":"temporarytable", "id":1} + }, + "ius":[{"iu":"a2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":13, "endLine":2, "endColumn":15}}, {"iu":"b2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":2, "startColumn":13, "endLine":2, "endColumn":15}}, {"iu":"c2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":2, "startColumn":13, "endLine":2, "endColumn":15}}, {"iu":"tid", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}], + "output":[{"name":"a2", "iu":{"expression":"iuref", "id":7, "iu":"a2"}}, {"name":"b2", "iu":{"expression":"iuref", "id":8, "iu":"b2"}}], + "type":"delete", + "query":true +} \ No newline at end of file diff --git a/standalone-app/examples/umbra/dml/insert.plan.json b/standalone-app/examples/umbra/dml/insert.plan.json new file mode 100644 index 00000000..ceaa0ba5 --- /dev/null +++ b/standalone-app/examples/umbra/dml/insert.plan.json @@ -0,0 +1,34 @@ +{ + "plan":{ + "operator":"insert", + "physicalOperator":"insert", + "cardinality":1, + "operatorId":1, + "sourceLocation":{"startLine":1, "startColumn":31, "endLine":5, "endColumn":21}, + "input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":2, + "sourceLocation":{"startLine":4, "startColumn":6, "endLine":4, "endColumn":8}, + "attributes":[{"name":"a1", "iu":"a1", "nullable":true}, {"name":"b1", "iu":"b1", "nullable":true}, {"name":"c1", "iu":"c1", "nullable":true}], + "restrictions":[], + "residuals":[], + "tid":"tid", + "tableoid":"tableoid", + "rowstate":"rowstate", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, + "values":[{"value":{"expression":"iuref", "id":4, "iu":"a1"}, "iu":"a2"}, {"value":{"expression":"iuref", "id":5, "iu":"b1"}, "iu":"b2"}, {"value":{"expression":"iuref", "id":6, "iu":"c1"}, "iu":"c2"}], + "schema":"pg_temp", + "table":"t2", + "tableObjectRef":{"type":"temporarytable", "id":1} + }, + "ius":[{"iu":"a2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":5, "startColumn":11, "endLine":5, "endColumn":13}}, {"iu":"b2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":5, "startColumn":15, "endLine":5, "endColumn":17}}, {"iu":"c2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":5, "startColumn":19, "endLine":5, "endColumn":21}}, {"iu":"a1", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":4, "startColumn":6, "endLine":4, "endColumn":8}}, {"iu":"b1", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":4, "startColumn":6, "endLine":4, "endColumn":8}}, {"iu":"c1", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":4, "startColumn":6, "endLine":4, "endColumn":8}}, {"iu":"tid", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}], + "output":[{"name":"a2", "iu":{"expression":"iuref", "id":10, "iu":"a2"}}, {"name":"b2", "iu":{"expression":"iuref", "id":11, "iu":"b2"}}, {"name":"c2", "iu":{"expression":"iuref", "id":12, "iu":"c2"}}], + "type":"insert", + "query":true +} \ No newline at end of file diff --git a/standalone-app/examples/umbra/dml/update-from.plan.json b/standalone-app/examples/umbra/dml/update-from.plan.json new file mode 100644 index 00000000..3e6bf8e0 --- /dev/null +++ b/standalone-app/examples/umbra/dml/update-from.plan.json @@ -0,0 +1,27 @@ +{ + "plan":{ + "operator":"update", + "physicalOperator":"update", + "cardinality":0, + "operatorId":1, + "sourceLocation":{"startLine":1, "startColumn":31, "endLine":7, "endColumn":23}, + "input":{ + "operator":"inlinetable", + "physicalOperator":"inlinetable", + "cardinality":0, + "operatorId":2, + "attributes":[{"name":"a1", "iu":"a1", "nullable":false}, {"name":"b1", "iu":"b1", "nullable":true}, {"name":"a2", "iu":"a2", "nullable":false}, {"name":"b2", "iu":"b2", "nullable":true}, {"name":"tid", "iu":"tid", "nullable":false}], + "restrictions":[], + "residuals":[], + "count":0, + "values":[] + }, + "tupleId":{"expression":"iuref", "id":8, "iu":"tid"}, + "values":[{"column":0, "iu":"v", "value":{"expression":"add", "id":6, "sourceLocation":{"startLine":3, "startColumn":10, "endLine":3, "endColumn":19}, "left":{"expression":"iuref", "id":4, "sourceLocation":{"startLine":3, "startColumn":10, "endLine":3, "endColumn":15}, "iu":"a1"}, "right":{"expression":"const", "id":5, "sourceLocation":{"startLine":3, "startColumn":18, "endLine":3, "endColumn":19}, "value":{"type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":1}}}}, {"column":1, "iu":"v7", "value":{"expression":"iuref", "id":7, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":15}, "iu":"b1"}}], + "tableObjectRef":{"type":"temporarytable", "id":1} + }, + "ius":[{"iu":"v", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}}, {"iu":"v7", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}}, {"iu":"a1", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":5, "startColumn":6, "endLine":5, "endColumn":8}}, {"iu":"b1", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":5, "startColumn":6, "endLine":5, "endColumn":8}}, {"iu":"a2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":8, "endLine":2, "endColumn":10}}, {"iu":"b2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":2, "startColumn":8, "endLine":2, "endColumn":10}}, {"iu":"tid", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}], + "output":[{"name":"a2", "iu":{"expression":"iuref", "id":11, "iu":"a2"}}, {"name":"b2", "iu":{"expression":"iuref", "id":12, "iu":"b2"}}], + "type":"update", + "query":true +} \ No newline at end of file diff --git a/standalone-app/examples/umbra/dml/update.plan.json b/standalone-app/examples/umbra/dml/update.plan.json new file mode 100644 index 00000000..ed62dfdf --- /dev/null +++ b/standalone-app/examples/umbra/dml/update.plan.json @@ -0,0 +1,33 @@ +{ + "plan":{ + "operator":"update", + "physicalOperator":"update", + "cardinality":1, + "operatorId":1, + "sourceLocation":{"startLine":1, "startColumn":31, "endLine":5, "endColumn":14}, + "input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":2, + "sourceLocation":{"startLine":2, "startColumn":8, "endLine":2, "endColumn":10}, + "attributes":[{"name":"a2", "iu":"a2", "nullable":true}, {"name":"b2", "iu":"b2", "nullable":true}, {"name":"c2", "iu":"c2", "nullable":true}], + "restrictions":[{"attribute":0, "mode":"<=", "value":{"expression":"const", "id":2, "sourceLocation":{"startLine":5, "startColumn":12, "endLine":5, "endColumn":14}, "value":{"type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":9}}, "estimatedSelectivity":-1, "direction":0, "collate":""}], + "residuals":[], + "tid":"tid", + "tableoid":"tableoid", + "rowstate":"rowstate", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":1}, + "tableSize":1, + "tablename":"t2" + }, + "tupleId":{"expression":"iuref", "id":10, "iu":"tid"}, + "values":[{"column":0, "iu":"v", "value":{"expression":"add", "id":6, "sourceLocation":{"startLine":3, "startColumn":10, "endLine":3, "endColumn":16}, "left":{"expression":"iuref", "id":4, "sourceLocation":{"startLine":3, "startColumn":10, "endLine":3, "endColumn":12}, "iu":"a2"}, "right":{"expression":"const", "id":5, "sourceLocation":{"startLine":3, "startColumn":15, "endLine":3, "endColumn":16}, "value":{"type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":1}}}}, {"column":1, "iu":"v8", "value":{"expression":"add", "id":9, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":16}, "left":{"expression":"iuref", "id":7, "sourceLocation":{"startLine":4, "startColumn":10, "endLine":4, "endColumn":12}, "iu":"b2"}, "right":{"expression":"const", "id":8, "sourceLocation":{"startLine":4, "startColumn":15, "endLine":4, "endColumn":16}, "value":{"type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":1}}}}], + "tableObjectRef":{"type":"temporarytable", "id":1} + }, + "ius":[{"iu":"a2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":8, "endLine":2, "endColumn":10}}, {"iu":"b2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":2, "startColumn":8, "endLine":2, "endColumn":10}}, {"iu":"c2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":2, "startColumn":8, "endLine":2, "endColumn":10}}, {"iu":"tid", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"v", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}}, {"iu":"v8", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}}], + "output":[], + "type":"update", + "query":false +} \ No newline at end of file diff --git a/standalone-app/examples/umbra/insert.plan.json b/standalone-app/examples/umbra/insert.plan.json deleted file mode 100644 index 78e8e492..00000000 --- a/standalone-app/examples/umbra/insert.plan.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "plan":{ - "operator":"insert", - "physicalOperator":"insert", - "cardinality":0, - "operatorId":1, - "sourceLocation":{"startLine":1, "startColumn":31, "endLine":5, "endColumn":22}, - "input":{ - "operator":"inlinetable", - "physicalOperator":"inlinetable", - "cardinality":0, - "operatorId":2, - "attributes":[{"name":"column1", "iu":"column1", "nullable":false}, {"name":"a1", "iu":"a1", "nullable":true}, {"name":"b1", "iu":"b1", "nullable":true}, {"name":"c1", "iu":"c1", "nullable":true}], - "restrictions":[], - "residuals":[], - "count":0, - "values":[] - }, - "values":[{"value":{"expression":"mul", "id":6, "sourceLocation":{"startLine":3, "startColumn":8, "endLine":3, "endColumn":12}, "left":{"expression":"iuref", "id":4, "sourceLocation":{"startLine":3, "startColumn":8, "endLine":3, "endColumn":10}, "iu":"a1"}, "right":{"expression":"iuref", "id":5, "sourceLocation":{"startLine":3, "startColumn":11, "endLine":3, "endColumn":12}, "iu":"column1"}}, "iu":"a2"}, {"value":{"expression":"mul", "id":9, "sourceLocation":{"startLine":3, "startColumn":14, "endLine":3, "endColumn":18}, "left":{"expression":"iuref", "id":7, "sourceLocation":{"startLine":3, "startColumn":14, "endLine":3, "endColumn":16}, "iu":"b1"}, "right":{"expression":"iuref", "id":8, "sourceLocation":{"startLine":3, "startColumn":17, "endLine":3, "endColumn":18}, "iu":"column1"}}, "iu":"b2"}, {"value":{"expression":"mul", "id":12, "sourceLocation":{"startLine":3, "startColumn":20, "endLine":3, "endColumn":24}, "left":{"expression":"iuref", "id":10, "sourceLocation":{"startLine":3, "startColumn":20, "endLine":3, "endColumn":22}, "iu":"c1"}, "right":{"expression":"iuref", "id":11, "sourceLocation":{"startLine":3, "startColumn":23, "endLine":3, "endColumn":24}, "iu":"column1"}}, "iu":"c2"}], - "schema":"pg_temp", - "table":"t2", - "tableObjectRef":{"type":"temporarytable", "id":1} - }, - "ius":[{"iu":"a2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}}, {"iu":"b2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}}, {"iu":"c2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}}, {"iu":"column1", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":5, "startColumn":2, "endLine":5, "endColumn":11}}, {"iu":"a1", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":4, "startColumn":6, "endLine":4, "endColumn":8}}, {"iu":"b1", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":4, "startColumn":6, "endLine":4, "endColumn":8}}, {"iu":"c1", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":4, "startColumn":6, "endLine":4, "endColumn":8}}], - "output":[], - "type":"insert", - "query":false -} \ No newline at end of file diff --git a/standalone-app/examples/umbra/setoperation-analyze.plan.json b/standalone-app/examples/umbra/setoperation-analyze.plan.json index f14bf266..00a981b4 100644 --- a/standalone-app/examples/umbra/setoperation-analyze.plan.json +++ b/standalone-app/examples/umbra/setoperation-analyze.plan.json @@ -2,122 +2,382 @@ "plan":{ "operator":"setoperation", "physicalOperator":"unionall", - "cardinality":1145, - "operatorId":1,"analyzePlanId":0,"analyzePlanCardinality":1144,"analyzePlanCounters":{}, - "sourceLocation":{"startLine":2, "startColumn":1, "endLine":15, "endColumn":2}, + "cardinality":9, + "operatorId":1,"analyzePlanId":0,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":5, "startColumn":1, "endLine":57, "endColumn":5}, "arguments":[{"input":{ - "operator":"tablescan", - "physicalOperator":"tablescan", - "cardinality":572, - "operatorId":2,"analyzePlanId":1,"analyzePlanCardinality":572,"analyzePlanCounters":{}, - "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}, - "attributes":[{"name":"l_orderkey", "iu":"l_orderkey", "nullable":false}, {"name":"l_partkey", "iu":"l_partkey", "nullable":false}, {"name":"l_suppkey", "iu":"l_suppkey", "nullable":false}, {"name":"l_linenumber", "iu":"l_linenumber", "nullable":false}, {"name":"l_quantity", "iu":"l_quantity", "nullable":false}, {"name":"l_extendedprice", "iu":"l_extendedprice", "nullable":false}, {"name":"l_discount", "iu":"l_discount", "nullable":false}, {"name":"l_tax", "iu":"l_tax", "nullable":false}, {"name":"l_returnflag", "iu":"l_returnflag", "nullable":false}, {"name":"l_linestatus", "iu":"l_linestatus", "nullable":false}, {"name":"l_shipdate", "iu":"l_shipdate", "nullable":false}, {"name":"l_commitdate", "iu":"l_commitdate", "nullable":false}, {"name":"l_receiptdate", "iu":"l_receiptdate", "nullable":false}, {"name":"l_shipinstruct", "iu":"l_shipinstruct", "nullable":false}, {"name":"l_shipmode", "iu":"l_shipmode", "nullable":false}, {"name":"l_comment", "iu":"l_comment", "nullable":false}], - "restrictions":[], - "residuals":[], - "tid":"tid", - "tableoid":"tableoid", - "rowstate":"rowstate", - "schema":"pg_temp", - "table":{"type":"temporarytable", "id":7}, - "tableSize":572, - "tablename":"lineitem" - }, "columns":[{"expression":"iuref", "id":3, "iu":"l_orderkey"}, {"expression":"iuref", "id":4, "iu":"l_partkey"}]}, {"input":{ + "operator":"setoperation", + "physicalOperator":"setoperation", + "cardinality":3, + "operatorId":2,"analyzePlanId":1,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":7, "startColumn":5, "endLine":11, "endColumn":36}, + "arguments":[{"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":3,"analyzePlanId":2,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":7, "startColumn":29, "endLine":7, "endColumn":31}, + "attributes":[{"name":"a1", "iu":"a1", "nullable":true}, {"name":"b1", "iu":"b1", "nullable":true}, {"name":"c1", "iu":"c1", "nullable":true}], + "restrictions":[{"attribute":0, "mode":"<=", "value":{"expression":"const", "id":2, "sourceLocation":{"startLine":7, "startColumn":43, "endLine":7, "endColumn":45}, "value":{"type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":9}}, "estimatedSelectivity":-1, "direction":0, "collate":""}], + "residuals":[], + "tid":"tid", + "tableoid":"tableoid", + "rowstate":"rowstate", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":5, "iu":"a1"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":4,"analyzePlanId":3,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":11, "startColumn":20, "endLine":11, "endColumn":22}, + "attributes":[{"name":"a1", "iu":"a17", "nullable":true}, {"name":"b1", "iu":"b18", "nullable":true}, {"name":"c1", "iu":"c19", "nullable":true}], + "restrictions":[{"attribute":2, "mode":"<=", "value":{"expression":"const", "id":13, "sourceLocation":{"startLine":11, "startColumn":34, "endLine":11, "endColumn":36}, "value":{"type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":9}}, "estimatedSelectivity":-1, "direction":0, "collate":""}], + "residuals":[], + "tid":"tid10", + "tableoid":"tableoid11", + "rowstate":"rowstate12", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":16, "iu":"c19"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":5,"analyzePlanId":4,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":9, "startColumn":20, "endLine":9, "endColumn":22}, + "attributes":[{"name":"a1", "iu":"a113", "nullable":true}, {"name":"b1", "iu":"b114", "nullable":true}, {"name":"c1", "iu":"c115", "nullable":true}], + "restrictions":[{"attribute":1, "mode":"<=", "value":{"expression":"const", "id":7, "sourceLocation":{"startLine":9, "startColumn":34, "endLine":9, "endColumn":36}, "value":{"type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":9}}, "estimatedSelectivity":-1, "direction":0, "collate":""}], + "residuals":[], + "tid":"tid16", + "tableoid":"tableoid17", + "rowstate":"rowstate18", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":10, "iu":"b114"}]}], + "columns":[{"iu":"value", "collate":""}], + "operation":"union" + }, "columns":[{"expression":"const", "id":95, "value":{"type":{"type":"text", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":"union"}}, {"expression":"iuref", "id":20, "iu":"value"}]}, {"input":{ "operator":"setoperation", "physicalOperator":"setoperation", "cardinality":1, - "operatorId":3,"analyzePlanId":2,"analyzePlanCardinality":0,"analyzePlanCounters":{}, - "sourceLocation":{"startLine":7, "startColumn":4, "endLine":14, "endColumn":26}, + "operatorId":6,"analyzePlanId":5,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":52, "startColumn":5, "endLine":56, "endColumn":22}, "arguments":[{"input":{ - "operator":"setoperation", - "physicalOperator":"setoperation", - "cardinality":1, - "operatorId":4,"analyzePlanId":3,"analyzePlanCardinality":16,"analyzePlanCounters":{}, - "sourceLocation":{"startLine":7, "startColumn":4, "endLine":11, "endColumn":26}, - "arguments":[{"input":{ - "operator":"tablescan", - "physicalOperator":"tablescan", - "cardinality":1, - "operatorId":5,"analyzePlanId":4,"analyzePlanCardinality":286,"analyzePlanCounters":{}, - "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}, - "attributes":[{"name":"l_orderkey", "iu":"l_orderkey20", "nullable":false}, {"name":"l_partkey", "iu":"l_partkey21", "nullable":false}, {"name":"l_suppkey", "iu":"l_suppkey22", "nullable":false}, {"name":"l_linenumber", "iu":"l_linenumber23", "nullable":false}, {"name":"l_quantity", "iu":"l_quantity24", "nullable":false}, {"name":"l_extendedprice", "iu":"l_extendedprice25", "nullable":false}, {"name":"l_discount", "iu":"l_discount26", "nullable":false}, {"name":"l_tax", "iu":"l_tax27", "nullable":false}, {"name":"l_returnflag", "iu":"l_returnflag28", "nullable":false}, {"name":"l_linestatus", "iu":"l_linestatus29", "nullable":false}, {"name":"l_shipdate", "iu":"l_shipdate30", "nullable":false}, {"name":"l_commitdate", "iu":"l_commitdate31", "nullable":false}, {"name":"l_receiptdate", "iu":"l_receiptdate32", "nullable":false}, {"name":"l_shipinstruct", "iu":"l_shipinstruct33", "nullable":false}, {"name":"l_shipmode", "iu":"l_shipmode34", "nullable":false}, {"name":"l_comment", "iu":"l_comment35", "nullable":false}], - "restrictions":[{"attribute":4, "mode":"<=", "value":{"expression":"const", "id":12, "sourceLocation":{"startLine":8, "startColumn":23, "endLine":8, "endColumn":25}, "value":{"type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "null":false, "value":2499}}, "estimatedSelectivity":-1, "direction":0, "collate":""}], - "residuals":[], - "tid":"tid36", - "tableoid":"tableoid37", - "rowstate":"rowstate38", - "schema":"pg_temp", - "table":{"type":"temporarytable", "id":7}, - "tableSize":572, - "tablename":"lineitem" - }, "columns":[{"expression":"iuref", "id":16, "iu":"l_suppkey22"}, {"expression":"iuref", "id":17, "iu":"l_partkey21"}]}, {"input":{ - "operator":"tablescan", - "physicalOperator":"tablescan", - "cardinality":572, - "operatorId":6,"analyzePlanId":5,"analyzePlanCardinality":286,"analyzePlanCounters":{}, - "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}, - "attributes":[{"name":"l_orderkey", "iu":"l_orderkey39", "nullable":false}, {"name":"l_partkey", "iu":"l_partkey40", "nullable":false}, {"name":"l_suppkey", "iu":"l_suppkey41", "nullable":false}, {"name":"l_linenumber", "iu":"l_linenumber42", "nullable":false}, {"name":"l_quantity", "iu":"l_quantity43", "nullable":false}, {"name":"l_extendedprice", "iu":"l_extendedprice44", "nullable":false}, {"name":"l_discount", "iu":"l_discount45", "nullable":false}, {"name":"l_tax", "iu":"l_tax46", "nullable":false}, {"name":"l_returnflag", "iu":"l_returnflag47", "nullable":false}, {"name":"l_linestatus", "iu":"l_linestatus48", "nullable":false}, {"name":"l_shipdate", "iu":"l_shipdate49", "nullable":false}, {"name":"l_commitdate", "iu":"l_commitdate50", "nullable":false}, {"name":"l_receiptdate", "iu":"l_receiptdate51", "nullable":false}, {"name":"l_shipinstruct", "iu":"l_shipinstruct52", "nullable":false}, {"name":"l_shipmode", "iu":"l_shipmode53", "nullable":false}, {"name":"l_comment", "iu":"l_comment54", "nullable":false}], - "restrictions":[{"attribute":4, "mode":">=", "value":{"expression":"const", "id":19, "sourceLocation":{"startLine":11, "startColumn":24, "endLine":11, "endColumn":26}, "value":{"type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "null":false, "value":2500}}, "estimatedSelectivity":-1, "direction":0, "collate":""}], - "residuals":[], - "tid":"tid55", - "tableoid":"tableoid56", - "rowstate":"rowstate57", - "schema":"pg_temp", - "table":{"type":"temporarytable", "id":7}, - "tableSize":572, - "tablename":"lineitem" - }, "columns":[{"expression":"iuref", "id":23, "iu":"l_suppkey41"}, {"expression":"iuref", "id":24, "iu":"l_partkey40"}]}], - "columns":[{"iu":"l_suppkey58", "collate":""}, {"iu":"l_partkey59", "collate":""}], - "operation":"intersectall" - }, "columns":[{"expression":"iuref", "id":25, "iu":"l_suppkey58"}, {"expression":"iuref", "id":26, "iu":"l_partkey59"}]}, {"input":{ - "operator":"tablescan", - "physicalOperator":"tablescan", - "cardinality":572, - "operatorId":7,"analyzePlanId":6,"analyzePlanCardinality":286,"analyzePlanCounters":{}, - "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}, - "attributes":[{"name":"l_orderkey", "iu":"l_orderkey60", "nullable":false}, {"name":"l_partkey", "iu":"l_partkey61", "nullable":false}, {"name":"l_suppkey", "iu":"l_suppkey62", "nullable":false}, {"name":"l_linenumber", "iu":"l_linenumber63", "nullable":false}, {"name":"l_quantity", "iu":"l_quantity64", "nullable":false}, {"name":"l_extendedprice", "iu":"l_extendedprice65", "nullable":false}, {"name":"l_discount", "iu":"l_discount66", "nullable":false}, {"name":"l_tax", "iu":"l_tax67", "nullable":false}, {"name":"l_returnflag", "iu":"l_returnflag68", "nullable":false}, {"name":"l_linestatus", "iu":"l_linestatus69", "nullable":false}, {"name":"l_shipdate", "iu":"l_shipdate70", "nullable":false}, {"name":"l_commitdate", "iu":"l_commitdate71", "nullable":false}, {"name":"l_receiptdate", "iu":"l_receiptdate72", "nullable":false}, {"name":"l_shipinstruct", "iu":"l_shipinstruct73", "nullable":false}, {"name":"l_shipmode", "iu":"l_shipmode74", "nullable":false}, {"name":"l_comment", "iu":"l_comment75", "nullable":false}], - "restrictions":[{"attribute":4, "mode":">=", "value":{"expression":"const", "id":28, "sourceLocation":{"startLine":14, "startColumn":24, "endLine":14, "endColumn":26}, "value":{"type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "null":false, "value":2500}}, "estimatedSelectivity":-1, "direction":0, "collate":""}], - "residuals":[], - "tid":"tid76", - "tableoid":"tableoid77", - "rowstate":"rowstate78", - "schema":"pg_temp", - "table":{"type":"temporarytable", "id":7}, - "tableSize":572, - "tablename":"lineitem" - }, "columns":[{"expression":"iuref", "id":32, "iu":"l_suppkey62"}, {"expression":"iuref", "id":33, "iu":"l_partkey61"}]}], - "columns":[{"iu":"l_suppkey79", "collate":""}, {"iu":"l_partkey80", "collate":""}], + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":7,"analyzePlanId":6,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":52, "startColumn":29, "endLine":52, "endColumn":31}, + "attributes":[{"name":"a1", "iu":"a120", "nullable":true}, {"name":"b1", "iu":"b121", "nullable":true}, {"name":"c1", "iu":"c122", "nullable":true}], + "restrictions":[], + "residuals":[], + "tid":"tid23", + "tableoid":"tableoid24", + "rowstate":"rowstate25", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":83, "iu":"a120"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":8,"analyzePlanId":7,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":56, "startColumn":20, "endLine":56, "endColumn":22}, + "attributes":[{"name":"a1", "iu":"a126", "nullable":true}, {"name":"b1", "iu":"b127", "nullable":true}, {"name":"c1", "iu":"c128", "nullable":true}], + "restrictions":[], + "residuals":[], + "tid":"tid29", + "tableoid":"tableoid30", + "rowstate":"rowstate31", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":88, "iu":"c128"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":9,"analyzePlanId":8,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":54, "startColumn":20, "endLine":54, "endColumn":22}, + "attributes":[{"name":"a1", "iu":"a132", "nullable":true}, {"name":"b1", "iu":"b133", "nullable":true}, {"name":"c1", "iu":"c134", "nullable":true}], + "restrictions":[], + "residuals":[], + "tid":"tid35", + "tableoid":"tableoid36", + "rowstate":"rowstate37", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":85, "iu":"b133"}]}], + "columns":[{"iu":"value38", "collate":""}], "operation":"exceptall" - }, "columns":[{"expression":"iuref", "id":34, "iu":"l_suppkey79"}, {"expression":"iuref", "id":35, "iu":"l_partkey80"}]}, {"input":{ - "operator":"tablescan", - "physicalOperator":"tablescan", - "cardinality":572, - "operatorId":8,"analyzePlanId":7,"analyzePlanCardinality":572,"analyzePlanCounters":{}, - "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}, - "attributes":[{"name":"l_orderkey", "iu":"l_orderkey81", "nullable":false}, {"name":"l_partkey", "iu":"l_partkey82", "nullable":false}, {"name":"l_suppkey", "iu":"l_suppkey83", "nullable":false}, {"name":"l_linenumber", "iu":"l_linenumber84", "nullable":false}, {"name":"l_quantity", "iu":"l_quantity85", "nullable":false}, {"name":"l_extendedprice", "iu":"l_extendedprice86", "nullable":false}, {"name":"l_discount", "iu":"l_discount87", "nullable":false}, {"name":"l_tax", "iu":"l_tax88", "nullable":false}, {"name":"l_returnflag", "iu":"l_returnflag89", "nullable":false}, {"name":"l_linestatus", "iu":"l_linestatus90", "nullable":false}, {"name":"l_shipdate", "iu":"l_shipdate91", "nullable":false}, {"name":"l_commitdate", "iu":"l_commitdate92", "nullable":false}, {"name":"l_receiptdate", "iu":"l_receiptdate93", "nullable":false}, {"name":"l_shipinstruct", "iu":"l_shipinstruct94", "nullable":false}, {"name":"l_shipmode", "iu":"l_shipmode95", "nullable":false}, {"name":"l_comment", "iu":"l_comment96", "nullable":false}], - "restrictions":[], - "residuals":[], - "tid":"tid97", - "tableoid":"tableoid98", - "rowstate":"rowstate99", - "schema":"pg_temp", - "table":{"type":"temporarytable", "id":7}, - "tableSize":572, - "tablename":"lineitem" - }, "columns":[{"expression":"iuref", "id":7, "iu":"l_orderkey81"}, {"expression":"iuref", "id":8, "iu":"l_suppkey83"}]}], - "columns":[{"iu":"l_orderkey100", "collate":""}, {"iu":"l_partkey101", "collate":""}], + }, "columns":[{"expression":"const", "id":96, "value":{"type":{"type":"text", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":"except-all"}}, {"expression":"iuref", "id":92, "iu":"value38"}]}, {"input":{ + "operator":"setoperation", + "physicalOperator":"setoperation", + "cardinality":1, + "operatorId":10,"analyzePlanId":9,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":43, "startColumn":5, "endLine":47, "endColumn":22}, + "arguments":[{"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":11,"analyzePlanId":10,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":43, "startColumn":29, "endLine":43, "endColumn":31}, + "attributes":[{"name":"a1", "iu":"a139", "nullable":true}, {"name":"b1", "iu":"b140", "nullable":true}, {"name":"c1", "iu":"c141", "nullable":true}], + "restrictions":[], + "residuals":[], + "tid":"tid42", + "tableoid":"tableoid43", + "rowstate":"rowstate44", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":70, "iu":"a139"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":12,"analyzePlanId":11,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":47, "startColumn":20, "endLine":47, "endColumn":22}, + "attributes":[{"name":"a1", "iu":"a145", "nullable":true}, {"name":"b1", "iu":"b146", "nullable":true}, {"name":"c1", "iu":"c147", "nullable":true}], + "restrictions":[], + "residuals":[], + "tid":"tid48", + "tableoid":"tableoid49", + "rowstate":"rowstate50", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":75, "iu":"c147"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":13,"analyzePlanId":12,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":45, "startColumn":20, "endLine":45, "endColumn":22}, + "attributes":[{"name":"a1", "iu":"a151", "nullable":true}, {"name":"b1", "iu":"b152", "nullable":true}, {"name":"c1", "iu":"c153", "nullable":true}], + "restrictions":[], + "residuals":[], + "tid":"tid54", + "tableoid":"tableoid55", + "rowstate":"rowstate56", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":72, "iu":"b152"}]}], + "columns":[{"iu":"value57", "collate":""}], + "operation":"except" + }, "columns":[{"expression":"const", "id":97, "value":{"type":{"type":"text", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":"except"}}, {"expression":"iuref", "id":79, "iu":"value57"}]}, {"input":{ + "operator":"setoperation", + "physicalOperator":"setoperation", + "cardinality":1, + "operatorId":14,"analyzePlanId":13,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":34, "startColumn":5, "endLine":38, "endColumn":22}, + "arguments":[{"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":15,"analyzePlanId":14,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":34, "startColumn":29, "endLine":34, "endColumn":31}, + "attributes":[{"name":"a1", "iu":"a158", "nullable":true}, {"name":"b1", "iu":"b159", "nullable":true}, {"name":"c1", "iu":"c160", "nullable":true}], + "restrictions":[], + "residuals":[], + "tid":"tid61", + "tableoid":"tableoid62", + "rowstate":"rowstate63", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":57, "iu":"a158"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":16,"analyzePlanId":15,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":38, "startColumn":20, "endLine":38, "endColumn":22}, + "attributes":[{"name":"a1", "iu":"a164", "nullable":true}, {"name":"b1", "iu":"b165", "nullable":true}, {"name":"c1", "iu":"c166", "nullable":true}], + "restrictions":[], + "residuals":[], + "tid":"tid67", + "tableoid":"tableoid68", + "rowstate":"rowstate69", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":62, "iu":"c166"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":17,"analyzePlanId":16,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":36, "startColumn":20, "endLine":36, "endColumn":22}, + "attributes":[{"name":"a1", "iu":"a170", "nullable":true}, {"name":"b1", "iu":"b171", "nullable":true}, {"name":"c1", "iu":"c172", "nullable":true}], + "restrictions":[], + "residuals":[], + "tid":"tid73", + "tableoid":"tableoid74", + "rowstate":"rowstate75", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":59, "iu":"b171"}]}], + "columns":[{"iu":"value76", "collate":""}], + "operation":"intersectall" + }, "columns":[{"expression":"const", "id":98, "value":{"type":{"type":"text", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":"intersect-all"}}, {"expression":"iuref", "id":66, "iu":"value76"}]}, {"input":{ + "operator":"setoperation", + "physicalOperator":"setoperation", + "cardinality":1, + "operatorId":18,"analyzePlanId":17,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":25, "startColumn":5, "endLine":29, "endColumn":22}, + "arguments":[{"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":19,"analyzePlanId":18,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":25, "startColumn":29, "endLine":25, "endColumn":31}, + "attributes":[{"name":"a1", "iu":"a177", "nullable":true}, {"name":"b1", "iu":"b178", "nullable":true}, {"name":"c1", "iu":"c179", "nullable":true}], + "restrictions":[], + "residuals":[], + "tid":"tid80", + "tableoid":"tableoid81", + "rowstate":"rowstate82", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":44, "iu":"a177"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":20,"analyzePlanId":19,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":29, "startColumn":20, "endLine":29, "endColumn":22}, + "attributes":[{"name":"a1", "iu":"a183", "nullable":true}, {"name":"b1", "iu":"b184", "nullable":true}, {"name":"c1", "iu":"c185", "nullable":true}], + "restrictions":[], + "residuals":[], + "tid":"tid86", + "tableoid":"tableoid87", + "rowstate":"rowstate88", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":49, "iu":"c185"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":21,"analyzePlanId":20,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":27, "startColumn":20, "endLine":27, "endColumn":22}, + "attributes":[{"name":"a1", "iu":"a189", "nullable":true}, {"name":"b1", "iu":"b190", "nullable":true}, {"name":"c1", "iu":"c191", "nullable":true}], + "restrictions":[], + "residuals":[], + "tid":"tid92", + "tableoid":"tableoid93", + "rowstate":"rowstate94", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":46, "iu":"b190"}]}], + "columns":[{"iu":"value95", "collate":""}], + "operation":"intersect" + }, "columns":[{"expression":"const", "id":99, "value":{"type":{"type":"text", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":"intersect"}}, {"expression":"iuref", "id":53, "iu":"value95"}]}, {"input":{ + "operator":"setoperation", + "physicalOperator":"unionall", + "cardinality":3, + "operatorId":22,"analyzePlanId":21,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":16, "startColumn":5, "endLine":20, "endColumn":37}, + "arguments":[{"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":23,"analyzePlanId":22,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":16, "startColumn":29, "endLine":16, "endColumn":31}, + "attributes":[{"name":"a1", "iu":"a196", "nullable":true}, {"name":"b1", "iu":"b197", "nullable":true}, {"name":"c1", "iu":"c198", "nullable":true}], + "restrictions":[{"attribute":0, "mode":">=", "value":{"expression":"const", "id":22, "sourceLocation":{"startLine":16, "startColumn":44, "endLine":16, "endColumn":46}, "value":{"type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":10}}, "estimatedSelectivity":-1, "direction":0, "collate":""}], + "residuals":[], + "tid":"tid99", + "tableoid":"tableoid100", + "rowstate":"rowstate101", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":25, "iu":"a196"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":24,"analyzePlanId":23,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":20, "startColumn":20, "endLine":20, "endColumn":22}, + "attributes":[{"name":"a1", "iu":"a1102", "nullable":true}, {"name":"b1", "iu":"b1103", "nullable":true}, {"name":"c1", "iu":"c1104", "nullable":true}], + "restrictions":[{"attribute":2, "mode":">=", "value":{"expression":"const", "id":33, "sourceLocation":{"startLine":20, "startColumn":35, "endLine":20, "endColumn":37}, "value":{"type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":10}}, "estimatedSelectivity":-1, "direction":0, "collate":""}], + "residuals":[], + "tid":"tid105", + "tableoid":"tableoid106", + "rowstate":"rowstate107", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":36, "iu":"c1104"}]}, {"input":{ + "operator":"tablescan", + "physicalOperator":"tablescan", + "cardinality":1, + "operatorId":25,"analyzePlanId":24,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "sourceLocation":{"startLine":18, "startColumn":20, "endLine":18, "endColumn":22}, + "attributes":[{"name":"a1", "iu":"a1108", "nullable":true}, {"name":"b1", "iu":"b1109", "nullable":true}, {"name":"c1", "iu":"c1110", "nullable":true}], + "restrictions":[{"attribute":1, "mode":">=", "value":{"expression":"const", "id":27, "sourceLocation":{"startLine":18, "startColumn":35, "endLine":18, "endColumn":37}, "value":{"type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":10}}, "estimatedSelectivity":-1, "direction":0, "collate":""}], + "residuals":[], + "tid":"tid111", + "tableoid":"tableoid112", + "rowstate":"rowstate113", + "schema":"pg_temp", + "table":{"type":"temporarytable", "id":0}, + "tableSize":1, + "tablename":"t1" + }, "columns":[{"expression":"iuref", "id":30, "iu":"b1109"}]}], + "columns":[{"iu":"value114", "collate":""}], + "operation":"unionall" + }, "columns":[{"expression":"const", "id":100, "value":{"type":{"type":"text", "precision":0, "scale":0, "nullable":false, "array":false}, "null":false, "value":"union-all"}}, {"expression":"iuref", "id":40, "iu":"value114"}]}], + "columns":[{"iu":"operation", "collate":""}, {"iu":"value116", "collate":""}], "operation":"unionall" }, - "ius":[{"iu":"l_orderkey", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}}, {"iu":"l_partkey", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}}, {"iu":"l_suppkey", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}}, {"iu":"l_linenumber", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}}, {"iu":"l_quantity", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}}, {"iu":"l_extendedprice", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}}, {"iu":"l_discount", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}}, {"iu":"l_tax", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}}, {"iu":"l_returnflag", "type":{"type":"char1", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}}, {"iu":"l_linestatus", "type":{"type":"char1", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}}, {"iu":"l_shipdate", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}}, {"iu":"l_commitdate", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}}, {"iu":"l_receiptdate", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}}, {"iu":"l_shipinstruct", "type":{"type":"char", "precision":25, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}}, {"iu":"l_shipmode", "type":{"type":"char", "precision":10, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}}, {"iu":"l_comment", "type":{"type":"text", "precision":44, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":35, "endLine":2, "endColumn":43}}, {"iu":"tid", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"l_orderkey81", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}}, {"iu":"l_partkey82", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}}, {"iu":"l_suppkey83", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}}, {"iu":"l_linenumber84", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}}, {"iu":"l_quantity85", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}}, {"iu":"l_extendedprice86", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}}, {"iu":"l_discount87", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}}, {"iu":"l_tax88", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}}, {"iu":"l_returnflag89", "type":{"type":"char1", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}}, {"iu":"l_linestatus90", "type":{"type":"char1", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}}, {"iu":"l_shipdate91", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}}, {"iu":"l_commitdate92", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}}, {"iu":"l_receiptdate93", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}}, {"iu":"l_shipinstruct94", "type":{"type":"char", "precision":25, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}}, {"iu":"l_shipmode95", "type":{"type":"char", "precision":10, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}}, {"iu":"l_comment96", "type":{"type":"text", "precision":44, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":4, "startColumn":35, "endLine":4, "endColumn":43}}, {"iu":"tid97", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid98", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate99", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"l_orderkey20", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}}, {"iu":"l_partkey21", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}}, {"iu":"l_suppkey22", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}}, {"iu":"l_linenumber23", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}}, {"iu":"l_quantity24", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}}, {"iu":"l_extendedprice25", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}}, {"iu":"l_discount26", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}}, {"iu":"l_tax27", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}}, {"iu":"l_returnflag28", "type":{"type":"char1", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}}, {"iu":"l_linestatus29", "type":{"type":"char1", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}}, {"iu":"l_shipdate30", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}}, {"iu":"l_commitdate31", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}}, {"iu":"l_receiptdate32", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}}, {"iu":"l_shipinstruct33", "type":{"type":"char", "precision":25, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}}, {"iu":"l_shipmode34", "type":{"type":"char", "precision":10, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}}, {"iu":"l_comment35", "type":{"type":"text", "precision":44, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":37, "endLine":7, "endColumn":45}}, {"iu":"tid36", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid37", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate38", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"l_orderkey39", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}}, {"iu":"l_partkey40", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}}, {"iu":"l_suppkey41", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}}, {"iu":"l_linenumber42", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}}, {"iu":"l_quantity43", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}}, {"iu":"l_extendedprice44", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}}, {"iu":"l_discount45", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}}, {"iu":"l_tax46", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}}, {"iu":"l_returnflag47", "type":{"type":"char1", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}}, {"iu":"l_linestatus48", "type":{"type":"char1", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}}, {"iu":"l_shipdate49", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}}, {"iu":"l_commitdate50", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}}, {"iu":"l_receiptdate51", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}}, {"iu":"l_shipinstruct52", "type":{"type":"char", "precision":25, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}}, {"iu":"l_shipmode53", "type":{"type":"char", "precision":10, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}}, {"iu":"l_comment54", "type":{"type":"text", "precision":44, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":10, "startColumn":37, "endLine":10, "endColumn":45}}, {"iu":"tid55", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid56", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate57", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"l_suppkey58", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":4, "endLine":11, "endColumn":26}}, {"iu":"l_partkey59", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":4, "endLine":11, "endColumn":26}}, {"iu":"l_orderkey60", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}}, {"iu":"l_partkey61", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}}, {"iu":"l_suppkey62", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}}, {"iu":"l_linenumber63", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}}, {"iu":"l_quantity64", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}}, {"iu":"l_extendedprice65", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}}, {"iu":"l_discount66", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}}, {"iu":"l_tax67", "type":{"type":"numeric", "precision":12, "scale":2, "nullable":false, "array":false}, "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}}, {"iu":"l_returnflag68", "type":{"type":"char1", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}}, {"iu":"l_linestatus69", "type":{"type":"char1", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}}, {"iu":"l_shipdate70", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}}, {"iu":"l_commitdate71", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}}, {"iu":"l_receiptdate72", "type":{"type":"date", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}}, {"iu":"l_shipinstruct73", "type":{"type":"char", "precision":25, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}}, {"iu":"l_shipmode74", "type":{"type":"char", "precision":10, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}}, {"iu":"l_comment75", "type":{"type":"text", "precision":44, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":13, "startColumn":37, "endLine":13, "endColumn":45}}, {"iu":"tid76", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid77", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate78", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"l_suppkey79", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":4, "endLine":14, "endColumn":26}}, {"iu":"l_partkey80", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":4, "endLine":14, "endColumn":26}}, {"iu":"l_orderkey100", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":1, "endLine":15, "endColumn":2}}, {"iu":"l_partkey101", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":2, "startColumn":1, "endLine":15, "endColumn":2}}], - "output":[{"name":"l_orderkey", "iu":{"expression":"iuref", "id":36, "iu":"l_orderkey100"}}, {"name":"l_partkey", "iu":{"expression":"iuref", "id":37, "iu":"l_partkey101"}}], + "ius":[{"iu":"a1", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":7, "startColumn":29, "endLine":7, "endColumn":31}}, {"iu":"b1", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":7, "startColumn":29, "endLine":7, "endColumn":31}}, {"iu":"c1", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":7, "startColumn":29, "endLine":7, "endColumn":31}}, {"iu":"tid", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"a113", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":9, "startColumn":20, "endLine":9, "endColumn":22}}, {"iu":"b114", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":9, "startColumn":20, "endLine":9, "endColumn":22}}, {"iu":"c115", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":9, "startColumn":20, "endLine":9, "endColumn":22}}, {"iu":"tid16", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid17", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate18", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"a17", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":11, "startColumn":20, "endLine":11, "endColumn":22}}, {"iu":"b18", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":11, "startColumn":20, "endLine":11, "endColumn":22}}, {"iu":"c19", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":11, "startColumn":20, "endLine":11, "endColumn":22}}, {"iu":"tid10", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid11", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate12", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"value", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":7, "startColumn":5, "endLine":11, "endColumn":36}}, {"iu":"a196", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":16, "startColumn":29, "endLine":16, "endColumn":31}}, {"iu":"b197", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":16, "startColumn":29, "endLine":16, "endColumn":31}}, {"iu":"c198", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":16, "startColumn":29, "endLine":16, "endColumn":31}}, {"iu":"tid99", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid100", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate101", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"a1108", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":18, "startColumn":20, "endLine":18, "endColumn":22}}, {"iu":"b1109", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":18, "startColumn":20, "endLine":18, "endColumn":22}}, {"iu":"c1110", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":18, "startColumn":20, "endLine":18, "endColumn":22}}, {"iu":"tid111", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid112", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate113", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"a1102", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":20, "startColumn":20, "endLine":20, "endColumn":22}}, {"iu":"b1103", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":20, "startColumn":20, "endLine":20, "endColumn":22}}, {"iu":"c1104", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":20, "startColumn":20, "endLine":20, "endColumn":22}}, {"iu":"tid105", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid106", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate107", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"value114", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":16, "startColumn":5, "endLine":20, "endColumn":37}}, {"iu":"a177", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":25, "startColumn":29, "endLine":25, "endColumn":31}}, {"iu":"b178", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":25, "startColumn":29, "endLine":25, "endColumn":31}}, {"iu":"c179", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":25, "startColumn":29, "endLine":25, "endColumn":31}}, {"iu":"tid80", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid81", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate82", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"a189", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":27, "startColumn":20, "endLine":27, "endColumn":22}}, {"iu":"b190", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":27, "startColumn":20, "endLine":27, "endColumn":22}}, {"iu":"c191", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":27, "startColumn":20, "endLine":27, "endColumn":22}}, {"iu":"tid92", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid93", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate94", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"a183", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":29, "startColumn":20, "endLine":29, "endColumn":22}}, {"iu":"b184", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":29, "startColumn":20, "endLine":29, "endColumn":22}}, {"iu":"c185", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":29, "startColumn":20, "endLine":29, "endColumn":22}}, {"iu":"tid86", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid87", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate88", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"value95", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":25, "startColumn":5, "endLine":29, "endColumn":22}}, {"iu":"a158", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":34, "startColumn":29, "endLine":34, "endColumn":31}}, {"iu":"b159", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":34, "startColumn":29, "endLine":34, "endColumn":31}}, {"iu":"c160", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":34, "startColumn":29, "endLine":34, "endColumn":31}}, {"iu":"tid61", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid62", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate63", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"a170", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":36, "startColumn":20, "endLine":36, "endColumn":22}}, {"iu":"b171", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":36, "startColumn":20, "endLine":36, "endColumn":22}}, {"iu":"c172", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":36, "startColumn":20, "endLine":36, "endColumn":22}}, {"iu":"tid73", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid74", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate75", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"a164", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":38, "startColumn":20, "endLine":38, "endColumn":22}}, {"iu":"b165", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":38, "startColumn":20, "endLine":38, "endColumn":22}}, {"iu":"c166", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":38, "startColumn":20, "endLine":38, "endColumn":22}}, {"iu":"tid67", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid68", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate69", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"value76", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":34, "startColumn":5, "endLine":38, "endColumn":22}}, {"iu":"a139", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":43, "startColumn":29, "endLine":43, "endColumn":31}}, {"iu":"b140", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":43, "startColumn":29, "endLine":43, "endColumn":31}}, {"iu":"c141", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":43, "startColumn":29, "endLine":43, "endColumn":31}}, {"iu":"tid42", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid43", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate44", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"a151", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":45, "startColumn":20, "endLine":45, "endColumn":22}}, {"iu":"b152", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":45, "startColumn":20, "endLine":45, "endColumn":22}}, {"iu":"c153", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":45, "startColumn":20, "endLine":45, "endColumn":22}}, {"iu":"tid54", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid55", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate56", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"a145", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":47, "startColumn":20, "endLine":47, "endColumn":22}}, {"iu":"b146", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":47, "startColumn":20, "endLine":47, "endColumn":22}}, {"iu":"c147", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":47, "startColumn":20, "endLine":47, "endColumn":22}}, {"iu":"tid48", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid49", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate50", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"value57", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":43, "startColumn":5, "endLine":47, "endColumn":22}}, {"iu":"a120", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":52, "startColumn":29, "endLine":52, "endColumn":31}}, {"iu":"b121", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":52, "startColumn":29, "endLine":52, "endColumn":31}}, {"iu":"c122", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":52, "startColumn":29, "endLine":52, "endColumn":31}}, {"iu":"tid23", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid24", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate25", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"a132", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":54, "startColumn":20, "endLine":54, "endColumn":22}}, {"iu":"b133", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":54, "startColumn":20, "endLine":54, "endColumn":22}}, {"iu":"c134", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":54, "startColumn":20, "endLine":54, "endColumn":22}}, {"iu":"tid35", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid36", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate37", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"a126", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":56, "startColumn":20, "endLine":56, "endColumn":22}}, {"iu":"b127", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":56, "startColumn":20, "endLine":56, "endColumn":22}}, {"iu":"c128", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":56, "startColumn":20, "endLine":56, "endColumn":22}}, {"iu":"tid29", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"tableoid30", "type":{"type":"integer", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"rowstate31", "type":{"type":"bigint", "precision":0, "scale":0, "nullable":false, "array":false}}, {"iu":"value38", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":52, "startColumn":5, "endLine":56, "endColumn":22}}, {"iu":"operation", "type":{"type":"text", "precision":0, "scale":0, "nullable":false, "array":false}, "sourceLocation":{"startLine":5, "startColumn":1, "endLine":57, "endColumn":5}}, {"iu":"value116", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":5, "startColumn":1, "endLine":57, "endColumn":5}}], + "output":[{"name":"operation", "iu":{"expression":"iuref", "id":93, "iu":"operation"}}, {"name":"value", "iu":{"expression":"iuref", "id":94, "iu":"value116"}}], "type":"select", "query":true, "analyzePlanPipelines":[ - {"pipelineId":0,"start":32,"stop":200,"duration":168,"parallelism":"multi-threaded","operators":[4],"counters":{}}, - {"pipelineId":1,"start":201,"stop":405,"duration":204,"parallelism":"multi-threaded","operators":[5],"counters":{}}, - {"pipelineId":2,"start":406,"stop":481,"duration":75,"parallelism":"multi-threaded","operators":[3],"counters":{}}, - {"pipelineId":3,"start":482,"stop":688,"duration":206,"parallelism":"multi-threaded","operators":[6],"counters":{}}, - {"pipelineId":4,"start":689,"stop":707,"duration":18,"parallelism":"multi-threaded","operators":[0,1],"counters":{}}, - {"pipelineId":4,"start":708,"stop":716,"duration":8,"parallelism":"multi-threaded","operators":[0,2],"counters":{}}, - {"pipelineId":4,"start":716,"stop":731,"duration":15,"parallelism":"multi-threaded","operators":[0,7],"counters":{}} + {"pipelineId":0,"start":115,"stop":124,"duration":9,"parallelism":"multi-threaded","operators":[18],"counters":{}}, + {"pipelineId":1,"start":125,"stop":130,"duration":5,"parallelism":"multi-threaded","operators":[19],"counters":{}}, + {"pipelineId":2,"start":130,"stop":135,"duration":5,"parallelism":"multi-threaded","operators":[20],"counters":{}}, + {"pipelineId":3,"start":136,"stop":141,"duration":5,"parallelism":"multi-threaded","operators":[14],"counters":{}}, + {"pipelineId":4,"start":141,"stop":146,"duration":5,"parallelism":"multi-threaded","operators":[15],"counters":{}}, + {"pipelineId":5,"start":147,"stop":152,"duration":5,"parallelism":"multi-threaded","operators":[16],"counters":{}}, + {"pipelineId":6,"start":152,"stop":157,"duration":5,"parallelism":"multi-threaded","operators":[10],"counters":{}}, + {"pipelineId":7,"start":157,"stop":162,"duration":5,"parallelism":"multi-threaded","operators":[11],"counters":{}}, + {"pipelineId":8,"start":163,"stop":168,"duration":5,"parallelism":"multi-threaded","operators":[12],"counters":{}}, + {"pipelineId":9,"start":169,"stop":174,"duration":5,"parallelism":"multi-threaded","operators":[6],"counters":{}}, + {"pipelineId":10,"start":174,"stop":179,"duration":5,"parallelism":"multi-threaded","operators":[7],"counters":{}}, + {"pipelineId":11,"start":180,"stop":184,"duration":4,"parallelism":"multi-threaded","operators":[8],"counters":{}}, + {"pipelineId":12,"start":185,"stop":191,"duration":6,"parallelism":"multi-threaded","operators":[2],"counters":{}}, + {"pipelineId":13,"start":191,"stop":196,"duration":5,"parallelism":"multi-threaded","operators":[3],"counters":{}}, + {"pipelineId":14,"start":196,"stop":201,"duration":5,"parallelism":"multi-threaded","operators":[4],"counters":{}}, + {"pipelineId":15,"start":202,"stop":205,"duration":3,"parallelism":"multi-threaded","operators":[0,1],"counters":{}}, + {"pipelineId":15,"start":205,"stop":208,"duration":3,"parallelism":"multi-threaded","operators":[0,5],"counters":{}}, + {"pipelineId":15,"start":209,"stop":211,"duration":2,"parallelism":"multi-threaded","operators":[0,9],"counters":{}}, + {"pipelineId":15,"start":212,"stop":214,"duration":2,"parallelism":"multi-threaded","operators":[0,13],"counters":{}}, + {"pipelineId":15,"start":214,"stop":217,"duration":3,"parallelism":"multi-threaded","operators":[0,17],"counters":{}}, + {"pipelineId":15,"start":217,"stop":218,"duration":1,"parallelism":"multi-threaded","operators":[0,21,22],"counters":{}}, + {"pipelineId":15,"start":218,"stop":219,"duration":1,"parallelism":"multi-threaded","operators":[0,21,23],"counters":{}}, + {"pipelineId":15,"start":219,"stop":220,"duration":1,"parallelism":"multi-threaded","operators":[0,21,24],"counters":{}} ] } diff --git a/standalone-app/examples/umbra/subquery-analyze.plan.json b/standalone-app/examples/umbra/subquery-analyze.plan.json new file mode 100644 index 00000000..013e3d5d --- /dev/null +++ b/standalone-app/examples/umbra/subquery-analyze.plan.json @@ -0,0 +1,20 @@ +{ + "plan":{ + "operator":"inlinetable", + "physicalOperator":"inlinetable", + "cardinality":0, + "operatorId":1,"analyzePlanId":0,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "attributes":[{"name":"b2", "iu":"b2", "nullable":true}, {"name":"a1", "iu":"a1", "nullable":true}], + "restrictions":[], + "residuals":[], + "count":0, + "values":[] + }, + "ius":[{"iu":"b2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":6, "startColumn":27, "endLine":6, "endColumn":29}}, {"iu":"a1", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":7, "startColumn":6, "endLine":7, "endColumn":8}}], + "output":[{"name":"a1", "iu":{"expression":"iuref", "id":5, "iu":"a1"}}, {"name":"matching_b", "iu":{"expression":"iuref", "id":6, "iu":"b2"}}], + "type":"select", + "query":true, + "analyzePlanPipelines":[ + {"pipelineId":0,"start":0,"stop":1,"duration":1,"parallelism":"single-threaded","operators":[0],"counters":{}} + ] +} diff --git a/standalone-app/examples/umbra/subquery-correlated-analyze.plan.json b/standalone-app/examples/umbra/subquery-correlated-analyze.plan.json new file mode 100644 index 00000000..e5fab380 --- /dev/null +++ b/standalone-app/examples/umbra/subquery-correlated-analyze.plan.json @@ -0,0 +1,20 @@ +{ + "plan":{ + "operator":"inlinetable", + "physicalOperator":"inlinetable", + "cardinality":0, + "operatorId":1,"analyzePlanId":0,"analyzePlanCardinality":0,"analyzePlanCounters":{}, + "attributes":[{"name":"b2", "iu":"b2", "nullable":true}, {"name":"a1", "iu":"a1", "nullable":true}], + "restrictions":[], + "residuals":[], + "count":0, + "values":[] + }, + "ius":[{"iu":"b2", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":5, "startColumn":27, "endLine":5, "endColumn":29}}, {"iu":"a1", "type":{"type":"integer", "precision":0, "scale":0, "nullable":true, "array":false}, "sourceLocation":{"startLine":6, "startColumn":6, "endLine":6, "endColumn":8}}], + "output":[{"name":"a1", "iu":{"expression":"iuref", "id":8, "iu":"a1"}}, {"name":"matching_b", "iu":{"expression":"iuref", "id":9, "iu":"b2"}}], + "type":"select", + "query":true, + "analyzePlanPipelines":[ + {"pipelineId":0,"start":0,"stop":2,"duration":2,"parallelism":"single-threaded","operators":[0],"counters":{}} + ] +} From 91b7574bf21caa6c608ee2c76fbec16a6b849620 Mon Sep 17 00:00:00 2001 From: Adrian Vogelsgesang Date: Sat, 24 Oct 2026 01:57:24 +0000 Subject: [PATCH 2/5] Clarify optional edge coverage in PGQ fixture --- plan-dumper/queries/pgq-path.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plan-dumper/queries/pgq-path.sql b/plan-dumper/queries/pgq-path.sql index 359eb9f0..066c6cbc 100644 --- a/plan-dumper/queries/pgq-path.sql +++ b/plan-dumper/queries/pgq-path.sql @@ -4,7 +4,7 @@ --- relational lowering and does not need runtime measurements. --- MODES: simple, steps --- Exercise a questioned edge and ONE ROW PER STEP on the TPC-H part/supplier +-- Exercise an optional edge and ONE ROW PER STEP on the TPC-H part/supplier -- relationship. The optional edge also gives the sqlpos implementation a -- concrete absent-edge branch to annotate. WITH pg AS PROPERTY GRAPH ( From 2e3da9ce9f65708d17159f0e27d742a04c4c9f84 Mon Sep 17 00:00:00 2001 From: Adrian Vogelsgesang Date: Sat, 24 Oct 2026 01:58:13 +0000 Subject: [PATCH 3/5] Revert noisy Hyper cahnges --- .../hyper/tpch/tpch-q1-analyze.plan.json | 2 +- .../hyper/tpch/tpch-q10-analyze.plan.json | 2 +- .../hyper/tpch/tpch-q11-analyze.plan.json | 6 +++--- .../hyper/tpch/tpch-q13-analyze.plan.json | 2 +- .../hyper/tpch/tpch-q14-analyze.plan.json | 10 +++++----- .../hyper/tpch/tpch-q15-analyze.plan.json | 2 +- .../hyper/tpch/tpch-q16-analyze.plan.json | 4 ++-- .../hyper/tpch/tpch-q17-analyze.plan.json | 16 +++++++-------- .../hyper/tpch/tpch-q19-analyze.plan.json | 8 ++++---- .../hyper/tpch/tpch-q2-steps.plan.json | 20 +++++++++---------- .../examples/hyper/tpch/tpch-q2.plan.json | 2 +- .../hyper/tpch/tpch-q20-analyze.plan.json | 8 ++++---- .../hyper/tpch/tpch-q3-analyze.plan.json | 2 +- .../hyper/tpch/tpch-q5-analyze.plan.json | 2 +- .../hyper/tpch/tpch-q6-analyze.plan.json | 6 +++--- .../hyper/tpch/tpch-q7-analyze.plan.json | 2 +- .../hyper/tpch/tpch-q8-analyze.plan.json | 4 ++-- .../hyper/tpch/tpch-q9-analyze.plan.json | 2 +- 18 files changed, 50 insertions(+), 50 deletions(-) diff --git a/standalone-app/examples/hyper/tpch/tpch-q1-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q1-analyze.plan.json index 966abee2..0cb660db 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q1-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q1-analyze.plan.json @@ -36,7 +36,7 @@ "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[670, 682]], "iu": "scan_returnfl"}}, "iu": ["GroupByKey", ["Char1"]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[692, 704]], "iu": "scan_linestat"}}, "iu": ["GroupByKey2", ["Char1"]]}], "grouping-sets": [{"key-indices": [0, 1], "core-indices": [0, 1], "behavior": "regular"}], "empty-groups": false, - "agg-expressions": [{"value": {"expression": "iu-ref", "sqlpos": [[201, 211]], "iu": "scan_quantity"}}, {"value": {"expression": "iu-ref", "sqlpos": [[237, 252]], "iu": "scan_extended"}}, {"value": {"expression": "mul", "sqlpos": [[301, 302]], "left": {"expression": "sub", "sqlpos": [[306, 307]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[308, 318]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[285, 300]], "iu": "scan_extended"}}}, {"value": {"expression": "mul", "sqlpos": [[387, 388]], "left": {"expression": "mul", "sqlpos": [[368, 369]], "left": {"expression": "sub", "sqlpos": [[373, 374]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[375, 385]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[352, 367]], "iu": "scan_extended"}}, "right": {"expression": "add", "sqlpos": [[392, 393]], "left": {"expression": "iu-ref", "sqlpos": [[394, 399]], "iu": "scan_l_tax"}, "right": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}}}}, {"value": {"expression": "iu-ref", "sqlpos": [[508, 518]], "iu": "scan_discount"}}], + "agg-expressions": [{"value": {"expression": "iu-ref", "sqlpos": [[201, 211]], "iu": "scan_quantity"}}, {"value": {"expression": "iu-ref", "sqlpos": [[237, 252]], "iu": "scan_extended"}}, {"value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[308, 318]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[285, 300]], "iu": "scan_extended"}}}, {"value": {"expression": "mul", "left": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[375, 385]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[352, 367]], "iu": "scan_extended"}}, "right": {"expression": "add", "left": {"expression": "iu-ref", "sqlpos": [[394, 399]], "iu": "scan_l_tax"}, "right": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}}}}, {"value": {"expression": "iu-ref", "sqlpos": [[508, 518]], "iu": "scan_discount"}}], "aggregates": [{"source": null, "operation": {"aggregate": "count"}, "iu": ["count", ["BigInt"]]}, {"source": 4, "operation": {"aggregate": "avg"}, "iu": ["avg3", ["Numeric", 16, 6]]}, {"source": 0, "operation": {"aggregate": "avg"}, "iu": ["avg", ["Numeric", 16, 6]]}, {"source": 3, "operation": {"aggregate": "sum"}, "iu": ["sum4", ["BigNumeric", 38, 6]]}, {"source": 1, "operation": {"aggregate": "avg"}, "iu": ["avg2", ["Numeric", 16, 6]]}, {"source": 1, "operation": {"aggregate": "sum"}, "iu": ["sum2", ["BigNumeric", 38, 2]]}, {"source": 2, "operation": {"aggregate": "sum"}, "iu": ["sum3", ["BigNumeric", 38, 4]]}, {"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 2]]}], "statistics": {"column-count": 10, "memory-bytes": 18552, "output-rows": 4} }], diff --git a/standalone-app/examples/hyper/tpch/tpch-q10-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q10-analyze.plan.json index 31fdac5e..9679454f 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q10-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q10-analyze.plan.json @@ -119,7 +119,7 @@ "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[649, 658]], "iu": "scan_custkey2"}}, "iu": ["GroupByKey", ["Integer"]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[668, 674]], "iu": "scan_c_name"}}, "iu": ["GroupByKey2", ["Varchar", 25]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[684, 693]], "iu": "scan_acctbal"}}, "iu": ["GroupByKey3", ["Numeric", 12, 2]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[703, 710]], "iu": "scan_c_phone"}}, "iu": ["GroupByKey6", ["Char", 15]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[720, 726]], "iu": "scan_n_name"}}, "iu": ["GroupByKey4", ["Char", 25]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[736, 745]], "iu": "scan_address"}}, "iu": ["GroupByKey5", ["Varchar", 40]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[755, 764]], "iu": "scan_comment"}}, "iu": ["GroupByKey7", ["Varchar", 117]]}], "grouping-sets": [{"key-indices": [0, 1, 2, 3, 4, 5, 6], "core-indices": [0, 1, 2, 3, 4, 5, 6], "behavior": "regular"}], "empty-groups": false, - "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[209, 210]], "left": {"expression": "sub", "sqlpos": [[214, 215]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[216, 226]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[193, 208]], "iu": "scan_extended"}}}], + "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[216, 226]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[193, 208]], "iu": "scan_extended"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 4]]}], "statistics": {"column-count": 8, "memory-bytes": 18552, "output-rows": 8} }], diff --git a/standalone-app/examples/hyper/tpch/tpch-q11-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q11-analyze.plan.json index f53c3631..cd30b8f9 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q11-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q11-analyze.plan.json @@ -101,11 +101,11 @@ }], "grouping-sets": [{"key-indices": [], "core-indices": null, "behavior": "static"}], "empty-groups": true, - "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[549, 550]], "left": {"expression": "iu-ref", "sqlpos": [[535, 548]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "sqlpos": [[551, 562]], "iu": "scan_availqty"}}}], + "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "iu-ref", "sqlpos": [[535, 548]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "sqlpos": [[551, 562]], "iu": "scan_availqty"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum2", ["BigNumeric", 38, 2, "nullable"]]}], "statistics": {"column-count": 1, "memory-bytes": 0, "output-rows": 1} }], - "values": [{"iu": ["map", ["BigNumeric", 38, 6, "nullable"]], "value": {"expression": "mul", "sqlpos": [[564, 565]], "left": {"expression": "iu-ref", "iu": "sum2"}, "right": {"expression": "const", "value": {"type": ["Numeric", 5, 4], "value": 1}}}}], + "values": [{"iu": ["map", ["BigNumeric", 38, 6, "nullable"]], "value": {"expression": "mul", "left": {"expression": "iu-ref", "iu": "sum2"}, "right": {"expression": "const", "value": {"type": ["Numeric", 5, 4], "value": 1}}}}], "statistics": {"column-count": 1, "output-rows": 1} }, { "operator": "group-by", @@ -185,7 +185,7 @@ "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[397, 407]], "iu": "scan_partkey"}}, "iu": ["GroupByKey", ["Integer"]]}], "grouping-sets": [{"key-indices": [0], "core-indices": [0], "behavior": "regular"}], "empty-groups": false, - "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[449, 450]], "left": {"expression": "iu-ref", "sqlpos": [[435, 448]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "sqlpos": [[451, 462]], "iu": "scan_availqty2"}}}], + "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "iu-ref", "sqlpos": [[435, 448]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "sqlpos": [[451, 462]], "iu": "scan_availqty2"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 2]]}], "statistics": {"column-count": 2, "memory-bytes": 18552, "output-rows": 21} }], diff --git a/standalone-app/examples/hyper/tpch/tpch-q13-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q13-analyze.plan.json index ef7d6eb6..ceeb5e10 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q13-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q13-analyze.plan.json @@ -40,7 +40,7 @@ "attribute-count": 9, "attributes": [{"col-id": 0, "name": "o_orderkey", "type": ["Integer"], "iu": ["scan_orderkey", ["Integer", "nullable"]]},{"col-id": 1, "name": "o_custkey", "type": ["Integer"], "iu": ["scan_custkey", ["Integer", "nullable"]]},{"col-id": 8, "name": "o_comment", "type": ["Varchar", 79], "iu": ["scan_comment", ["Varchar", 79, "nullable"]]}], "debug-name": {"classification": "nonsensitive", "value": "orders"}, - "restrictions": [{"attribute": 8, "mode": "lambda", "expression": {"expression": "not", "sqlpos": [[495, 503]], "input": {"expression": "like", "arguments": [{"expression": "iu-ref", "sqlpos": [[485, 494]], "iu": "scan_comment"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%special%requests%"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]}}}], + "restrictions": [{"attribute": 8, "mode": "lambda", "expression": {"expression": "not", "input": {"expression": "like", "arguments": [{"expression": "iu-ref", "sqlpos": [[485, 494]], "iu": "scan_comment"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%special%requests%"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]}}}], "selectivity": 1, "statistics": {"column-count": 2, "output-rows": 128, "processed-rows": 128} }, { diff --git a/standalone-app/examples/hyper/tpch/tpch-q14-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q14-analyze.plan.json index ae7ea24a..79364827 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q14-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q14-analyze.plan.json @@ -61,18 +61,18 @@ }], "grouping-sets": [{"key-indices": [], "core-indices": null, "behavior": "static"}], "empty-groups": true, - "agg-expressions": [{"value": {"expression": "case", "cases": [{"case": {"expression": "starts_with", "left": {"expression": "iu-ref", "sqlpos": [[193, 199]], "iu": "scan_p_type"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "PROMO"}}}, "value": {"expression": "mul", "sqlpos": [[259, 260]], "left": {"expression": "sub", "sqlpos": [[264, 265]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[266, 276]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[243, 258]], "iu": "scan_extended"}}}], "else": {"expression": "const", "value": {"type": ["BigNumeric", 25, 4], "low": 0, "high": 0}}}}, {"value": {"expression": "mul", "sqlpos": [[336, 337]], "left": {"expression": "sub", "sqlpos": [[341, 342]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[343, 353]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[320, 335]], "iu": "scan_extended"}}}], + "agg-expressions": [{"value": {"expression": "case", "cases": [{"case": {"expression": "starts_with", "left": {"expression": "iu-ref", "sqlpos": [[193, 199]], "iu": "scan_p_type"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "PROMO"}}}, "value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[266, 276]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[243, 258]], "iu": "scan_extended"}}}], "else": {"expression": "const", "value": {"type": ["BigNumeric", 25, 4], "low": 0, "high": 0}}}}, {"value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[343, 353]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[320, 335]], "iu": "scan_extended"}}}], "aggregates": [{"source": 1, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 4, "nullable"]]}, {"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum2", ["BigNumeric", 38, 4, "nullable"]]}], "statistics": {"column-count": 2, "memory-bytes": 0, "output-rows": 1} }], - "values": [{"iu": ["map", ["BigNumeric", 38, 6, "nullable"]], "value": {"expression": "div", "sqlpos": [[314, 315]], "left": {"expression": "mul", "sqlpos": [[161, 162]], "left": {"expression": "iu-ref", "iu": "sum2"}, "right": {"expression": "const", "value": {"type": ["Numeric", 5, 2], "value": 10000}}}, "right": {"expression": "iu-ref", "iu": "sum"}}}], + "values": [{"iu": ["map", ["BigNumeric", 38, 6, "nullable"]], "value": {"expression": "div", "left": {"expression": "mul", "left": {"expression": "iu-ref", "iu": "sum2"}, "right": {"expression": "const", "value": {"type": ["Numeric", 5, 2], "value": 10000}}}, "right": {"expression": "iu-ref", "iu": "sum"}}}], "statistics": {"column-count": 1, "output-rows": 1} }], "statistics": {"error": null, "column-count": 0} }, "pipelines": [ - {"id": 0, "operators": [1, 2, 3], "dependencies": [1], "statistics": {"cpu-cycles": 2627, "query-metrics": {"elapsed":2.224e-06,"memory-mb-seconds":1.112e-06,"instance-seconds":2.224e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":2.224e-06,"cpu-time":2.213e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 1, "operators": [3, 4, 6], "dependencies": [2], "statistics": {"cpu-cycles": 20308, "query-metrics": {"elapsed":8.278e-06,"memory-mb-seconds":4.139e-06,"instance-seconds":8.278e-06,"processed-rows":{"total":533,"native":533},"threads":{"thread-time":8.278e-06,"cpu-time":8.277e-06,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":14}},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 2, "operators": [4, 5], "dependencies": [], "statistics": {"cpu-cycles": 16599, "query-metrics": {"elapsed":1.0169e-05,"memory-mb-seconds":5.084e-06,"instance-seconds":1.0169e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":1.0169e-05,"cpu-time":1.0136e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":11}},"peak-transaction-memory-mb":0.5}, "running": false}} + {"id": 0, "operators": [1, 2, 3], "dependencies": [1], "statistics": {"cpu-cycles": 3149, "query-metrics": {"elapsed":2.298e-06,"memory-mb-seconds":1.149e-06,"instance-seconds":2.298e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":2.298e-06,"cpu-time":2.296e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 1, "operators": [3, 4, 6], "dependencies": [2], "statistics": {"cpu-cycles": 19935, "query-metrics": {"elapsed":8.063e-06,"memory-mb-seconds":4.031e-06,"instance-seconds":8.063e-06,"processed-rows":{"total":533,"native":533},"threads":{"thread-time":8.063e-06,"cpu-time":8.067e-06,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":14}},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 2, "operators": [4, 5], "dependencies": [], "statistics": {"cpu-cycles": 14734, "query-metrics": {"elapsed":1.282e-05,"memory-mb-seconds":6.41e-06,"instance-seconds":1.282e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":1.282e-05,"cpu-time":1.2806e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":11}},"peak-transaction-memory-mb":0.5}, "running": false}} ] } diff --git a/standalone-app/examples/hyper/tpch/tpch-q15-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q15-analyze.plan.json index d3704e15..9b078a35 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q15-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q15-analyze.plan.json @@ -60,7 +60,7 @@ "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[359, 368]], "iu": "scan_suppkey2"}}, "iu": ["GroupByKey", ["Integer"]]}], "grouping-sets": [{"key-indices": [0], "core-indices": [0], "behavior": "regular"}], "empty-groups": false, - "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[215, 216]], "left": {"expression": "sub", "sqlpos": [[220, 221]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[222, 232]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[199, 214]], "iu": "scan_extended"}}}], + "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[222, 232]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[199, 214]], "iu": "scan_extended"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum2", ["BigNumeric", 38, 4]]}], "statistics": {"column-count": 2, "memory-bytes": 18552, "output-rows": 0} }, diff --git a/standalone-app/examples/hyper/tpch/tpch-q16-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q16-analyze.plan.json index 4bc43ae0..215650b4 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q16-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q16-analyze.plan.json @@ -35,7 +35,7 @@ "attribute-count": 7, "attributes": [{"col-id": 0, "name": "s_suppkey", "type": ["Integer"], "iu": ["scan_suppkey", ["Integer"]]},{"col-id": 6, "name": "s_comment", "type": ["Varchar", 101], "iu": ["scan_comment", ["Varchar", 101]]}], "debug-name": {"classification": "nonsensitive", "value": "supplier"}, - "restrictions": [{"attribute": 6, "mode": "lambda", "selectivity": 0.1, "expression": {"expression": "like", "sqlpos": [[652, 656]], "arguments": [{"expression": "iu-ref", "sqlpos": [[642, 651]], "iu": "scan_comment"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%Customer%Complaints%"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]}}], + "restrictions": [{"attribute": 6, "mode": "lambda", "selectivity": 0.1, "expression": {"expression": "like", "arguments": [{"expression": "iu-ref", "sqlpos": [[642, 651]], "iu": "scan_comment"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%Customer%Complaints%"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]}}], "selectivity": 0.0019305, "statistics": {"column-count": 1, "output-rows": 0, "processed-rows": 518} }, { @@ -57,7 +57,7 @@ "attribute-count": 9, "attributes": [{"col-id": 0, "name": "p_partkey", "type": ["Integer"], "iu": ["scan_partkey", ["Integer"]]},{"col-id": 3, "name": "p_brand", "type": ["Char", 10], "iu": ["scan_p_brand", ["Char", 10]]},{"col-id": 4, "name": "p_type", "type": ["Varchar", 25], "iu": ["scan_p_type", ["Varchar", 25]]},{"col-id": 5, "name": "p_size", "type": ["Integer"], "iu": ["scan_p_size", ["Integer"]]}], "debug-name": {"classification": "nonsensitive", "value": "part"}, - "restrictions": [{"attribute": 3, "mode": "<>", "value": {"expression": "const", "value": {"type": ["Char", 10], "value": "Brand#45"}}}, {"attribute": 5, "mode": "lambda", "expression": {"expression": "lookup", "input": [{"expression": "iu-ref", "sqlpos": [[412, 418]], "iu": "scan_p_size"}], "values": [{"type": ["Integer"], "value": 3}, {"type": ["Integer"], "value": 9}, {"type": ["Integer"], "value": 14}, {"type": ["Integer"], "value": 19}, {"type": ["Integer"], "value": 23}, {"type": ["Integer"], "value": 36}, {"type": ["Integer"], "value": 45}, {"type": ["Integer"], "value": 49}], "collates": [null], "modes": ["equals"]}}, {"attribute": 4, "mode": "lambda", "expression": {"expression": "not", "sqlpos": [[372, 380]], "input": {"expression": "starts_with", "left": {"expression": "iu-ref", "sqlpos": [[365, 371]], "iu": "scan_p_type"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "MEDIUM POLISHED"}}}}}], + "restrictions": [{"attribute": 3, "mode": "<>", "value": {"expression": "const", "value": {"type": ["Char", 10], "value": "Brand#45"}}}, {"attribute": 5, "mode": "lambda", "expression": {"expression": "lookup", "input": [{"expression": "iu-ref", "sqlpos": [[412, 418]], "iu": "scan_p_size"}], "values": [{"type": ["Integer"], "value": 3}, {"type": ["Integer"], "value": 9}, {"type": ["Integer"], "value": 14}, {"type": ["Integer"], "value": 19}, {"type": ["Integer"], "value": 23}, {"type": ["Integer"], "value": 36}, {"type": ["Integer"], "value": 45}, {"type": ["Integer"], "value": 49}], "collates": [null], "modes": ["equals"]}}, {"attribute": 4, "mode": "lambda", "expression": {"expression": "not", "input": {"expression": "starts_with", "left": {"expression": "iu-ref", "sqlpos": [[365, 371]], "iu": "scan_p_type"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "MEDIUM POLISHED"}}}}}], "selectivity": 0.15197, "statistics": {"column-count": 4, "output-rows": 81, "processed-rows": 533} }, { diff --git a/standalone-app/examples/hyper/tpch/tpch-q17-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q17-analyze.plan.json index b11a1b4a..a9be01af 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q17-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q17-analyze.plan.json @@ -79,7 +79,7 @@ "aggregates": [{"source": 0, "operation": {"aggregate": "avg"}, "iu": ["avg", ["Numeric", 16, 6, "nullable"]]}], "statistics": {"column-count": 2, "memory-bytes": 18552, "output-rows": 4} }], - "values": [{"iu": ["map2", ["Numeric", 18, 7, "nullable"]], "value": {"expression": "mul", "sqlpos": [[414, 415]], "left": {"expression": "iu-ref", "iu": "avg"}, "right": {"expression": "const", "value": {"type": ["Numeric", 2, 1], "value": 2}}}}], + "values": [{"iu": ["map2", ["Numeric", 18, 7, "nullable"]], "value": {"expression": "mul", "left": {"expression": "iu-ref", "iu": "avg"}, "right": {"expression": "const", "value": {"type": ["Numeric", 2, 1], "value": 2}}}}], "statistics": {"column-count": 2, "output-rows": 4} }], "early-probed-by": [9], @@ -103,7 +103,7 @@ "statistics": {"column-count": 3, "output-rows": 572, "processed-rows": 572} }], "early-probed-by": [10], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[255, 256]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[245, 254]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[257, 266]], "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[359, 360]], "mode": "<", "left": {"expression": "iu-ref", "sqlpos": [[348, 358]], "iu": "scan_quantity2"}, "right": {"expression": "iu-ref", "iu": "map2"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[255, 256]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[245, 254]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[257, 266]], "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[359, 360]], "mode": "<", "left": {"expression": "iu-ref", "sqlpos": [[348, 358]], "iu": "scan_quantity2"}, "right": {"expression": "iu-ref", "iu": "map2"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[245, 254]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[257, 266]], "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "map2"}, "right": {"expression": "iu-ref", "sqlpos": [[348, 358]], "iu": "scan_quantity2"}, "comparison": ">"}], "statistics": {"column-count": 1, "memory-bytes": 18552, "output-rows": 2} }], @@ -113,16 +113,16 @@ "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 2, "nullable"]]}], "statistics": {"column-count": 1, "memory-bytes": 0, "output-rows": 1} }], - "values": [{"iu": ["map", ["BigNumeric", 38, 6, "nullable"]], "value": {"expression": "div", "sqlpos": [[175, 176]], "left": {"expression": "iu-ref", "iu": "sum"}, "right": {"expression": "const", "value": {"type": ["Numeric", 2, 1], "value": 70}}}}], + "values": [{"iu": ["map", ["BigNumeric", 38, 6, "nullable"]], "value": {"expression": "div", "left": {"expression": "iu-ref", "iu": "sum"}, "right": {"expression": "const", "value": {"type": ["Numeric", 2, 1], "value": 70}}}}], "statistics": {"column-count": 1, "output-rows": 1} }], "statistics": {"error": null, "column-count": 0} }, "pipelines": [ - {"id": 0, "operators": [1, 2, 3], "dependencies": [1], "statistics": {"cpu-cycles": 2598, "query-metrics": {"elapsed":2.067e-06,"memory-mb-seconds":1.033e-06,"instance-seconds":2.067e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":2.067e-06,"cpu-time":2.135e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 1, "operators": [3, 4, 10], "dependencies": [2], "statistics": {"cpu-cycles": 16825, "query-metrics": {"elapsed":6.93e-06,"memory-mb-seconds":3.465e-06,"instance-seconds":6.93e-06,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":6.93e-06,"cpu-time":6.946e-06,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":572}},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 2, "operators": [4, 5, 7, 8], "dependencies": [3, 4], "statistics": {"cpu-cycles": 6355, "query-metrics": {"elapsed":4.161e-06,"memory-mb-seconds":2.08e-06,"instance-seconds":4.161e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":4.161e-06,"cpu-time":4.158e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 3, "operators": [5, 6], "dependencies": [], "statistics": {"cpu-cycles": 25290, "query-metrics": {"elapsed":1.4554e-05,"memory-mb-seconds":7.277e-06,"instance-seconds":1.4554e-05,"processed-rows":{"total":533,"native":533},"threads":{"thread-time":1.4554e-05,"cpu-time":1.4611e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":3}},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 4, "operators": [8, 9], "dependencies": [3], "statistics": {"cpu-cycles": 15740, "query-metrics": {"elapsed":7.194e-06,"memory-mb-seconds":3.597e-06,"instance-seconds":7.194e-06,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":7.194e-06,"cpu-time":7.145e-06,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":42}},"peak-transaction-memory-mb":0.5}, "running": false}} + {"id": 0, "operators": [1, 2, 3], "dependencies": [1], "statistics": {"cpu-cycles": 2645, "query-metrics": {"elapsed":2.228e-06,"memory-mb-seconds":1.114e-06,"instance-seconds":2.228e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":2.228e-06,"cpu-time":2.238e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 1, "operators": [3, 4, 10], "dependencies": [2], "statistics": {"cpu-cycles": 19371, "query-metrics": {"elapsed":8.138e-06,"memory-mb-seconds":4.069e-06,"instance-seconds":8.138e-06,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":8.138e-06,"cpu-time":8.153e-06,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":572}},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 2, "operators": [4, 5, 7, 8], "dependencies": [3, 4], "statistics": {"cpu-cycles": 6994, "query-metrics": {"elapsed":4.702e-06,"memory-mb-seconds":2.351e-06,"instance-seconds":4.702e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":4.702e-06,"cpu-time":4.719e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 3, "operators": [5, 6], "dependencies": [], "statistics": {"cpu-cycles": 19401, "query-metrics": {"elapsed":1.1268e-05,"memory-mb-seconds":5.634e-06,"instance-seconds":1.1268e-05,"processed-rows":{"total":533,"native":533},"threads":{"thread-time":1.1268e-05,"cpu-time":1.1237e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":3}},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 4, "operators": [8, 9], "dependencies": [3], "statistics": {"cpu-cycles": 18325, "query-metrics": {"elapsed":8.262e-06,"memory-mb-seconds":4.131e-06,"instance-seconds":8.262e-06,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":8.262e-06,"cpu-time":8.264e-06,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":42}},"peak-transaction-memory-mb":0.5}, "running": false}} ] } diff --git a/standalone-app/examples/hyper/tpch/tpch-q19-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q19-analyze.plan.json index 04693df4..da1c5c4f 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q19-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q19-analyze.plan.json @@ -57,15 +57,15 @@ }], "grouping-sets": [{"key-indices": [], "core-indices": null, "behavior": "static"}], "empty-groups": true, - "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[173, 174]], "left": {"expression": "sub", "sqlpos": [[178, 179]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[180, 190]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[158, 173]], "iu": "scan_extended"}}}], + "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[180, 190]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[158, 173]], "iu": "scan_extended"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 4, "nullable"]]}], "statistics": {"column-count": 1, "memory-bytes": 0, "output-rows": 1} }], "statistics": {"error": null, "column-count": 0} }, "pipelines": [ - {"id": 0, "operators": [1, 2], "dependencies": [1], "statistics": {"cpu-cycles": 2990, "query-metrics": {"elapsed":2.329e-06,"memory-mb-seconds":1.164e-06,"instance-seconds":2.329e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":2.329e-06,"cpu-time":2.32e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 1, "operators": [2, 3, 5], "dependencies": [2], "statistics": {"cpu-cycles": 18819, "query-metrics": {"elapsed":7.913e-06,"memory-mb-seconds":3.956e-06,"instance-seconds":7.913e-06,"processed-rows":{"total":533,"native":533},"threads":{"thread-time":7.913e-06,"cpu-time":7.933e-06,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":27}},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 2, "operators": [3, 4], "dependencies": [], "statistics": {"cpu-cycles": 37942, "query-metrics": {"elapsed":1.7831e-05,"memory-mb-seconds":8.915e-06,"instance-seconds":1.7831e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":1.7831e-05,"cpu-time":1.7835e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":23}},"peak-transaction-memory-mb":0.5}, "running": false}} + {"id": 0, "operators": [1, 2], "dependencies": [1], "statistics": {"cpu-cycles": 1865, "query-metrics": {"elapsed":1.947e-06,"memory-mb-seconds":9.73e-07,"instance-seconds":1.947e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":1.947e-06,"cpu-time":1.929e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 1, "operators": [2, 3, 5], "dependencies": [2], "statistics": {"cpu-cycles": 18591, "query-metrics": {"elapsed":7.845e-06,"memory-mb-seconds":3.922e-06,"instance-seconds":7.845e-06,"processed-rows":{"total":533,"native":533},"threads":{"thread-time":7.845e-06,"cpu-time":7.854e-06,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":27}},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 2, "operators": [3, 4], "dependencies": [], "statistics": {"cpu-cycles": 33464, "query-metrics": {"elapsed":1.5894e-05,"memory-mb-seconds":7.947e-06,"instance-seconds":1.5894e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":1.5894e-05,"cpu-time":1.5881e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":23}},"peak-transaction-memory-mb":0.5}, "running": false}} ] } diff --git a/standalone-app/examples/hyper/tpch/tpch-q2-steps.plan.json b/standalone-app/examples/hyper/tpch/tpch-q2-steps.plan.json index f561d5ca..df6aef24 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q2-steps.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q2-steps.plan.json @@ -202,7 +202,7 @@ "predicates": [], "residual": {"expression": "const", "value": {"type": ["Bool"], "value": true}} }], - "condition": {"expression": "and", "sqlpos": [[1113, 1116]], "arguments": [{"expression": "comparison", "sqlpos": [[917, 918]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[907, 916]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[919, 929]], "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[968, 969]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[958, 967]], "iu": "scan_suppkey4"}, "right": {"expression": "iu-ref", "sqlpos": [[970, 980]], "iu": "scan_suppkey3"}}, {"expression": "comparison", "sqlpos": [[1021, 1022]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[1009, 1020]], "iu": "scan_nationke3"}, "right": {"expression": "iu-ref", "sqlpos": [[1023, 1034]], "iu": "scan_nationke4"}}, {"expression": "comparison", "sqlpos": [[1075, 1076]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[1063, 1074]], "iu": "scan_regionke3"}, "right": {"expression": "iu-ref", "sqlpos": [[1077, 1088]], "iu": "scan_regionke4"}}, {"expression": "comparison", "sqlpos": [[1124, 1125]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[1117, 1123]], "iu": "scan_r_name2"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "EUROPE"}}}]} + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[917, 918]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[907, 916]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[919, 929]], "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[968, 969]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[958, 967]], "iu": "scan_suppkey4"}, "right": {"expression": "iu-ref", "sqlpos": [[970, 980]], "iu": "scan_suppkey3"}}, {"expression": "comparison", "sqlpos": [[1021, 1022]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[1009, 1020]], "iu": "scan_nationke3"}, "right": {"expression": "iu-ref", "sqlpos": [[1023, 1034]], "iu": "scan_nationke4"}}, {"expression": "comparison", "sqlpos": [[1075, 1076]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[1063, 1074]], "iu": "scan_regionke3"}, "right": {"expression": "iu-ref", "sqlpos": [[1077, 1088]], "iu": "scan_regionke4"}}, {"expression": "comparison", "sqlpos": [[1124, 1125]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[1117, 1123]], "iu": "scan_r_name2"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "EUROPE"}}}]} }], "grouping-sets": [{"key-indices": [], "core-indices": null, "behavior": "static"}], "empty-groups": true, @@ -213,7 +213,7 @@ "predicates": [], "residual": {"expression": "const", "value": {"type": ["Bool"], "value": true}} }], - "condition": {"expression": "and", "sqlpos": [[621, 624]], "arguments": [{"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey2"}}, {"expression": "comparison", "sqlpos": [[437, 438]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[427, 436]], "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "sqlpos": [[439, 449]], "iu": "scan_suppkey2"}}, {"expression": "comparison", "sqlpos": [[469, 470]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[462, 468]], "iu": "scan_p_size"}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 15}}}, {"expression": "like", "sqlpos": [[493, 497]], "arguments": [{"expression": "iu-ref", "sqlpos": [[486, 492]], "iu": "scan_p_type"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%BRASS"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]}, {"expression": "comparison", "sqlpos": [[531, 532]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[519, 530]], "iu": "scan_nationke"}, "right": {"expression": "iu-ref", "sqlpos": [[533, 544]], "iu": "scan_nationke2"}}, {"expression": "comparison", "sqlpos": [[569, 570]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[557, 568]], "iu": "scan_regionke"}, "right": {"expression": "iu-ref", "sqlpos": [[571, 582]], "iu": "scan_regionke2"}}, {"expression": "comparison", "sqlpos": [[602, 603]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[595, 601]], "iu": "scan_r_name"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "EUROPE"}}}, {"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "iu": "min"}}]} + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey2"}}, {"expression": "comparison", "sqlpos": [[437, 438]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[427, 436]], "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "sqlpos": [[439, 449]], "iu": "scan_suppkey2"}}, {"expression": "comparison", "sqlpos": [[469, 470]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[462, 468]], "iu": "scan_p_size"}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 15}}}, {"expression": "like", "arguments": [{"expression": "iu-ref", "sqlpos": [[486, 492]], "iu": "scan_p_type"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%BRASS"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]}, {"expression": "comparison", "sqlpos": [[531, 532]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[519, 530]], "iu": "scan_nationke"}, "right": {"expression": "iu-ref", "sqlpos": [[533, 544]], "iu": "scan_nationke2"}}, {"expression": "comparison", "sqlpos": [[569, 570]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[557, 568]], "iu": "scan_regionke"}, "right": {"expression": "iu-ref", "sqlpos": [[571, 582]], "iu": "scan_regionke2"}}, {"expression": "comparison", "sqlpos": [[602, 603]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[595, 601]], "iu": "scan_r_name"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "EUROPE"}}}, {"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "iu": "min"}}]} }] }] } @@ -433,7 +433,7 @@ "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}, "comparison": "is"}], "residual": {"expression": "const", "value": {"type": ["Bool"], "value": true}} }], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey2"}}, {"expression": "comparison", "sqlpos": [[437, 438]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[427, 436]], "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "sqlpos": [[439, 449]], "iu": "scan_suppkey2"}}, {"expression": "comparison", "sqlpos": [[469, 470]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[462, 468]], "iu": "scan_p_size"}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 15}}}, {"expression": "like", "sqlpos": [[493, 497]], "arguments": [{"expression": "iu-ref", "sqlpos": [[486, 492]], "iu": "scan_p_type"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%BRASS"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]}, {"expression": "comparison", "sqlpos": [[531, 532]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[519, 530]], "iu": "scan_nationke"}, "right": {"expression": "iu-ref", "sqlpos": [[533, 544]], "iu": "scan_nationke2"}}, {"expression": "comparison", "sqlpos": [[569, 570]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[557, 568]], "iu": "scan_regionke"}, "right": {"expression": "iu-ref", "sqlpos": [[571, 582]], "iu": "scan_regionke2"}}, {"expression": "comparison", "sqlpos": [[602, 603]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[595, 601]], "iu": "scan_r_name"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "EUROPE"}}}, {"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "iu": "min"}}]} + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey2"}}, {"expression": "comparison", "sqlpos": [[437, 438]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[427, 436]], "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "sqlpos": [[439, 449]], "iu": "scan_suppkey2"}}, {"expression": "comparison", "sqlpos": [[469, 470]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[462, 468]], "iu": "scan_p_size"}, "right": {"expression": "const", "value": {"type": ["Integer"], "value": 15}}}, {"expression": "like", "arguments": [{"expression": "iu-ref", "sqlpos": [[486, 492]], "iu": "scan_p_type"}, {"expression": "const", "value": {"type": ["Varchar"], "value": "%BRASS"}}, {"expression": "const", "value": {"type": ["Varchar"], "value": "\\"}}]}, {"expression": "comparison", "sqlpos": [[531, 532]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[519, 530]], "iu": "scan_nationke"}, "right": {"expression": "iu-ref", "sqlpos": [[533, 544]], "iu": "scan_nationke2"}}, {"expression": "comparison", "sqlpos": [[569, 570]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[557, 568]], "iu": "scan_regionke"}, "right": {"expression": "iu-ref", "sqlpos": [[571, 582]], "iu": "scan_regionke2"}}, {"expression": "comparison", "sqlpos": [[602, 603]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[595, 601]], "iu": "scan_r_name"}, "right": {"expression": "const", "value": {"type": ["Varchar"], "value": "EUROPE"}}}, {"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "iu": "min"}}]} }] }] } @@ -580,7 +580,7 @@ "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, "selectivity": 1 }], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "min"}, "right": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}, "comparison": "="}] }, { "operator": "join", @@ -809,7 +809,7 @@ "debug-name": {"classification": "nonsensitive", "value": "partsupp"}, "selectivity": 1 }], - "condition": {"expression": "and", "arguments": [{"expression": "and", "arguments": [{"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}]}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "and", "arguments": [{"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}]}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "min"}, "right": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}, "comparison": "="}] }, { "operator": "scan", @@ -1046,7 +1046,7 @@ "selectivity": 1 }], "early-probed-by": [18], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "min"}, "right": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}, "comparison": "="}] }, { "operator": "scan", @@ -1288,7 +1288,7 @@ "selectivity": 1 }], "early-probed-by": [18], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "min"}, "right": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}, "comparison": "="}] }, { "operator": "scan", @@ -1530,7 +1530,7 @@ "selectivity": 1 }], "early-probed-by": [18], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "min"}, "right": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}, "comparison": "="}] }, { "operator": "scan", @@ -1774,7 +1774,7 @@ "selectivity": 1 }], "early-probed-by": [18], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "min"}, "right": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}, "comparison": "="}] }, { "operator": "scan", @@ -2018,7 +2018,7 @@ "selectivity": 1 }], "early-probed-by": [18], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[639, 640]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[402, 403]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "min"}, "right": {"expression": "iu-ref", "sqlpos": [[625, 638]], "iu": "scan_supplyco2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[392, 401]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_partkey3"}, "comparison": "="}] }, { "operator": "scan", diff --git a/standalone-app/examples/hyper/tpch/tpch-q2.plan.json b/standalone-app/examples/hyper/tpch/tpch-q2.plan.json index bfe23e9c..4313d48f 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q2.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q2.plan.json @@ -196,7 +196,7 @@ "selectivity": 1 }], "early-probed-by": [18], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[623, 624]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[609, 622]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "scan_partkey3"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[386, 387]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[376, 385]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[388, 398]], "iu": "scan_partkey3"}}]}, + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "sqlpos": [[623, 624]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[609, 622]], "iu": "scan_supplyco2"}, "right": {"expression": "iu-ref", "iu": "min"}}, {"expression": "comparison", "mode": "=", "left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}}, {"expression": "comparison", "sqlpos": [[386, 387]], "mode": "=", "left": {"expression": "iu-ref", "sqlpos": [[376, 385]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[388, 398]], "iu": "scan_partkey3"}}]}, "predicates": [{"left": {"expression": "iu-ref", "iu": "min"}, "right": {"expression": "iu-ref", "sqlpos": [[609, 622]], "iu": "scan_supplyco2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "iu": "GroupByKey"}, "right": {"expression": "iu-ref", "iu": "scan_partkey3"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[376, 385]], "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "sqlpos": [[388, 398]], "iu": "scan_partkey3"}, "comparison": "="}] }, { "operator": "scan", diff --git a/standalone-app/examples/hyper/tpch/tpch-q20-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q20-analyze.plan.json index 8e443b95..07a67f5d 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q20-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q20-analyze.plan.json @@ -120,19 +120,19 @@ "selectivity": 0.262238, "statistics": {"column-count": 3, "output-rows": 2, "processed-rows": 572} }], - "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "iu": "scan_suppkey3"}}, "iu": ["GroupByKey", ["Integer"]]}, {"expression": {"value": {"expression": "iu-ref", "iu": "scan_partkey3"}}, "iu": ["GroupByKey2", ["Integer"]]}], + "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "iu": "scan_partkey3"}}, "iu": ["GroupByKey", ["Integer"]]}, {"expression": {"value": {"expression": "iu-ref", "iu": "scan_suppkey3"}}, "iu": ["GroupByKey2", ["Integer"]]}], "grouping-sets": [{"key-indices": [0, 1], "core-indices": [0, 1], "behavior": "regular"}], "empty-groups": true, "agg-expressions": [{"value": {"expression": "iu-ref", "sqlpos": [[851, 861]], "iu": "scan_quantity"}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 2, "nullable"]]}], "statistics": {"column-count": 3, "memory-bytes": 18552, "output-rows": 2} }], - "values": [{"iu": ["map", ["BigNumeric", 38, 3, "nullable"]], "value": {"expression": "mul", "sqlpos": [[845, 846]], "left": {"expression": "iu-ref", "iu": "sum"}, "right": {"expression": "const", "value": {"type": ["Numeric", 2, 1], "value": 5}}}}], + "values": [{"iu": ["map", ["BigNumeric", 38, 3, "nullable"]], "value": {"expression": "mul", "left": {"expression": "iu-ref", "iu": "sum"}, "right": {"expression": "const", "value": {"type": ["Numeric", 2, 1], "value": 5}}}}], "statistics": {"column-count": 3, "output-rows": 2} }], "early-probed-by": [12], - "condition": {"expression": "and", "arguments": [{"expression": "comparison", "mode": "is", "left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "GroupByKey2"}}, {"expression": "comparison", "mode": "is", "left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "sqlpos": [[758, 759]], "mode": ">", "left": {"expression": "iu-ref", "sqlpos": [[746, 757]], "iu": "scan_availqty"}, "right": {"expression": "iu-ref", "iu": "map"}}]}, - "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "GroupByKey2"}, "comparison": "is"}, {"left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}, "comparison": "is"}, {"left": {"expression": "iu-ref", "sqlpos": [[746, 757]], "iu": "scan_availqty"}, "right": {"expression": "iu-ref", "iu": "map"}, "comparison": ">"}], + "condition": {"expression": "and", "arguments": [{"expression": "comparison", "mode": "is", "left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}}, {"expression": "comparison", "mode": "is", "left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "GroupByKey2"}}, {"expression": "comparison", "sqlpos": [[758, 759]], "mode": ">", "left": {"expression": "iu-ref", "sqlpos": [[746, 757]], "iu": "scan_availqty"}, "right": {"expression": "iu-ref", "iu": "map"}}]}, + "predicates": [{"left": {"expression": "iu-ref", "iu": "scan_partkey"}, "right": {"expression": "iu-ref", "iu": "GroupByKey"}, "comparison": "is"}, {"left": {"expression": "iu-ref", "iu": "scan_suppkey2"}, "right": {"expression": "iu-ref", "iu": "GroupByKey2"}, "comparison": "is"}, {"left": {"expression": "iu-ref", "sqlpos": [[746, 757]], "iu": "scan_availqty"}, "right": {"expression": "iu-ref", "iu": "map"}, "comparison": ">"}], "statistics": {"column-count": 1, "memory-bytes": 18552, "output-rows": 1} }, { "operator": "scan", diff --git a/standalone-app/examples/hyper/tpch/tpch-q3-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q3-analyze.plan.json index 5c2a2c39..505e0c98 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q3-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q3-analyze.plan.json @@ -93,7 +93,7 @@ "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[539, 549]], "iu": "scan_orderkey2"}}, "iu": ["GroupByKey", ["Integer"]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[559, 570]], "iu": "scan_orderdat"}}, "iu": ["GroupByKey2", ["Date"]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[580, 594]], "iu": "scan_shipprio"}}, "iu": ["GroupByKey3", ["Integer"]]}], "grouping-sets": [{"key-indices": [0, 1, 2], "core-indices": [0, 1, 2], "behavior": "regular"}], "empty-groups": false, - "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[193, 194]], "left": {"expression": "sub", "sqlpos": [[198, 199]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[200, 210]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[177, 192]], "iu": "scan_extended"}}}], + "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[200, 210]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[177, 192]], "iu": "scan_extended"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 4]]}], "statistics": {"column-count": 4, "memory-bytes": 18552, "output-rows": 3} }], diff --git a/standalone-app/examples/hyper/tpch/tpch-q5-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q5-analyze.plan.json index 0d402c1c..7c2a59fd 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q5-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q5-analyze.plan.json @@ -172,7 +172,7 @@ "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[680, 686]], "iu": "scan_n_name"}}, "iu": ["GroupByKey", ["Char", 25]]}], "grouping-sets": [{"key-indices": [0], "core-indices": [0], "behavior": "regular"}], "empty-groups": false, - "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[189, 190]], "left": {"expression": "sub", "sqlpos": [[194, 195]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[196, 206]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[173, 188]], "iu": "scan_extended"}}}], + "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[196, 206]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[173, 188]], "iu": "scan_extended"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 4]]}], "statistics": {"column-count": 2, "memory-bytes": 18552, "output-rows": 1} }], diff --git a/standalone-app/examples/hyper/tpch/tpch-q6-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q6-analyze.plan.json index ddbafa00..b8de992d 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q6-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q6-analyze.plan.json @@ -29,14 +29,14 @@ }], "grouping-sets": [{"key-indices": [], "core-indices": null, "behavior": "static"}], "empty-groups": true, - "agg-expressions": [{"value": {"expression": "mul", "sqlpos": [[173, 174]], "left": {"expression": "iu-ref", "sqlpos": [[157, 172]], "iu": "scan_extended"}, "right": {"expression": "iu-ref", "sqlpos": [[175, 185]], "iu": "scan_discount"}}}], + "agg-expressions": [{"value": {"expression": "mul", "left": {"expression": "iu-ref", "sqlpos": [[157, 172]], "iu": "scan_extended"}, "right": {"expression": "iu-ref", "sqlpos": [[175, 185]], "iu": "scan_discount"}}}], "aggregates": [{"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 4, "nullable"]]}], "statistics": {"column-count": 1, "memory-bytes": 0, "output-rows": 1} }], "statistics": {"error": null, "column-count": 0} }, "pipelines": [ - {"id": 0, "operators": [1, 2], "dependencies": [1], "statistics": {"cpu-cycles": 5288, "query-metrics": {"elapsed":6.256e-06,"memory-mb-seconds":3.128e-06,"instance-seconds":6.256e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":6.256e-06,"cpu-time":6.264e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, - {"id": 1, "operators": [2, 3], "dependencies": [], "statistics": {"cpu-cycles": 44075, "query-metrics": {"elapsed":2.158e-05,"memory-mb-seconds":1.079e-05,"instance-seconds":2.158e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":2.158e-05,"cpu-time":2.1534e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":20}},"peak-transaction-memory-mb":0.5}, "running": false}} + {"id": 0, "operators": [1, 2], "dependencies": [1], "statistics": {"cpu-cycles": 2181, "query-metrics": {"elapsed":2.078e-06,"memory-mb-seconds":1.039e-06,"instance-seconds":2.078e-06,"processed-rows":{"total":0,"native":0},"threads":{"thread-time":2.078e-06,"cpu-time":2.076e-06,"wait-time":0},"storage":{},"peak-transaction-memory-mb":0.5}, "running": false}}, + {"id": 1, "operators": [2, 3], "dependencies": [], "statistics": {"cpu-cycles": 28601, "query-metrics": {"elapsed":1.2125e-05,"memory-mb-seconds":6.062e-06,"instance-seconds":1.2125e-05,"processed-rows":{"total":572,"native":572},"threads":{"thread-time":1.2125e-05,"cpu-time":1.209e-05,"wait-time":0},"storage":{},"additional-entries":{"scan-stats":{"rows-matching-restrictions":20}},"peak-transaction-memory-mb":0.5}, "running": false}} ] } diff --git a/standalone-app/examples/hyper/tpch/tpch-q7-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q7-analyze.plan.json index 05ecb66b..9e9dd88e 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q7-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q7-analyze.plan.json @@ -171,7 +171,7 @@ "predicates": [{"left": {"expression": "iu-ref", "sqlpos": [[788, 797]], "iu": "scan_suppkey"}, "right": {"expression": "iu-ref", "sqlpos": [[776, 785]], "iu": "scan_suppkey2"}, "comparison": "="}, {"left": {"expression": "iu-ref", "sqlpos": [[945, 956]], "iu": "scan_nationke2"}, "right": {"expression": "iu-ref", "sqlpos": [[928, 939]], "iu": "scan_nationke4"}, "comparison": "="}], "statistics": {"column-count": 5, "memory-bytes": 18552, "output-rows": 1} }], - "values": [{"iu": ["map", ["Integer"]], "value": {"expression": "extract_year", "input": {"expression": "iu-ref", "sqlpos": [[414, 424]], "iu": "scan_shipdate"}}}, {"iu": ["map2", ["BigNumeric", 25, 4]], "value": {"expression": "mul", "sqlpos": [[477, 478]], "left": {"expression": "sub", "sqlpos": [[482, 483]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[484, 494]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[461, 476]], "iu": "scan_extended"}}}], + "values": [{"iu": ["map", ["Integer"]], "value": {"expression": "extract_year", "input": {"expression": "iu-ref", "sqlpos": [[414, 424]], "iu": "scan_shipdate"}}}, {"iu": ["map2", ["BigNumeric", 25, 4]], "value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[484, 494]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[461, 476]], "iu": "scan_extended"}}}], "statistics": {"column-count": 4, "output-rows": 1} }], "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[1361, 1372]], "iu": "scan_n_name2"}}, "iu": ["GroupByKey", ["Char", 25]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[1382, 1393]], "iu": "scan_n_name"}}, "iu": ["GroupByKey2", ["Char", 25]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[1403, 1409]], "iu": "map"}}, "iu": ["GroupByKey3", ["Integer"]]}], diff --git a/standalone-app/examples/hyper/tpch/tpch-q8-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q8-analyze.plan.json index f514a6f7..fa4d4569 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q8-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q8-analyze.plan.json @@ -233,7 +233,7 @@ "predicates": [{"left": {"expression": "iu-ref", "sqlpos": [[1205, 1216]], "iu": "scan_nationke3"}, "right": {"expression": "iu-ref", "sqlpos": [[1222, 1233]], "iu": "scan_nationke4"}, "comparison": "="}], "statistics": {"column-count": 4, "memory-bytes": 18552, "output-rows": 1} }], - "values": [{"iu": ["map2", ["Integer"]], "value": {"expression": "extract_year", "input": {"expression": "iu-ref", "sqlpos": [[372, 383]], "iu": "scan_orderdat"}}}, {"iu": ["map3", ["BigNumeric", 25, 4]], "value": {"expression": "mul", "sqlpos": [[436, 437]], "left": {"expression": "sub", "sqlpos": [[441, 442]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[443, 453]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[420, 435]], "iu": "scan_extended"}}}], + "values": [{"iu": ["map2", ["Integer"]], "value": {"expression": "extract_year", "input": {"expression": "iu-ref", "sqlpos": [[372, 383]], "iu": "scan_orderdat"}}}, {"iu": ["map3", ["BigNumeric", 25, 4]], "value": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[443, 453]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[420, 435]], "iu": "scan_extended"}}}], "statistics": {"column-count": 3, "output-rows": 1} }], "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[1426, 1432]], "iu": "map2"}}, "iu": ["GroupByKey", ["Integer"]]}], @@ -243,7 +243,7 @@ "aggregates": [{"source": 1, "operation": {"aggregate": "sum"}, "iu": ["sum", ["BigNumeric", 38, 4]]}, {"source": 0, "operation": {"aggregate": "sum"}, "iu": ["sum2", ["BigNumeric", 38, 4]]}], "statistics": {"column-count": 3, "memory-bytes": 18552, "output-rows": 1} }], - "values": [{"iu": ["map", ["BigNumeric", 38, 6]], "value": {"expression": "div", "sqlpos": [[265, 266]], "left": {"expression": "iu-ref", "iu": "sum2"}, "right": {"expression": "iu-ref", "iu": "sum"}}}], + "values": [{"iu": ["map", ["BigNumeric", 38, 6]], "value": {"expression": "div", "left": {"expression": "iu-ref", "iu": "sum2"}, "right": {"expression": "iu-ref", "iu": "sum"}}}], "statistics": {"column-count": 2, "output-rows": 1} }], "statistics": {"column-count": 2, "memory-bytes": 262152, "output-rows": 1} diff --git a/standalone-app/examples/hyper/tpch/tpch-q9-analyze.plan.json b/standalone-app/examples/hyper/tpch/tpch-q9-analyze.plan.json index 5f96d382..41dba3ac 100644 --- a/standalone-app/examples/hyper/tpch/tpch-q9-analyze.plan.json +++ b/standalone-app/examples/hyper/tpch/tpch-q9-analyze.plan.json @@ -170,7 +170,7 @@ "predicates": [{"left": {"expression": "iu-ref", "sqlpos": [[932, 942]], "iu": "scan_orderkey"}, "right": {"expression": "iu-ref", "sqlpos": [[919, 929]], "iu": "scan_orderkey2"}, "comparison": "="}], "statistics": {"column-count": 6, "memory-bytes": 18552, "output-rows": 28} }], - "values": [{"iu": ["map", ["Integer"]], "value": {"expression": "extract_year", "input": {"expression": "iu-ref", "sqlpos": [[333, 344]], "iu": "scan_orderdat"}}}, {"iu": ["map2", ["BigNumeric", 26, 4]], "value": {"expression": "sub", "sqlpos": [[416, 417]], "left": {"expression": "mul", "sqlpos": [[397, 398]], "left": {"expression": "sub", "sqlpos": [[402, 403]], "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[381, 396]], "iu": "scan_extended"}}, "right": {"expression": "mul", "sqlpos": [[432, 433]], "left": {"expression": "iu-ref", "sqlpos": [[418, 431]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "sqlpos": [[434, 444]], "iu": "scan_quantity"}}}}], + "values": [{"iu": ["map", ["Integer"]], "value": {"expression": "extract_year", "input": {"expression": "iu-ref", "sqlpos": [[333, 344]], "iu": "scan_orderdat"}}}, {"iu": ["map2", ["BigNumeric", 26, 4]], "value": {"expression": "sub", "left": {"expression": "mul", "left": {"expression": "sub", "left": {"expression": "const", "value": {"type": ["Numeric", 1], "value": 1}}, "right": {"expression": "iu-ref", "sqlpos": [[404, 414]], "iu": "scan_discount"}}, "right": {"expression": "iu-ref", "sqlpos": [[381, 396]], "iu": "scan_extended"}}, "right": {"expression": "mul", "left": {"expression": "iu-ref", "sqlpos": [[418, 431]], "iu": "scan_supplyco"}, "right": {"expression": "iu-ref", "sqlpos": [[434, 444]], "iu": "scan_quantity"}}}}], "statistics": {"column-count": 3, "output-rows": 28} }], "key-expressions": [{"expression": {"value": {"expression": "iu-ref", "sqlpos": [[1084, 1090]], "iu": "scan_n_name"}}, "iu": ["GroupByKey", ["Char", 25]]}, {"expression": {"value": {"expression": "iu-ref", "sqlpos": [[1100, 1106]], "iu": "map"}}, "iu": ["GroupByKey2", ["Integer"]]}], From ecc23b51a7d4ac6b15ce2fd55aad8da920fc66db Mon Sep 17 00:00:00 2001 From: Adrian Vogelsgesang Date: Sat, 24 Oct 2026 02:00:06 +0000 Subject: [PATCH 4/5] Align DML mode documentation --- plan-dumper/queries/dml/delete-using.sql | 2 +- plan-dumper/queries/dml/delete.sql | 2 +- plan-dumper/queries/dml/insert.sql | 2 +- plan-dumper/queries/dml/update-from.sql | 2 +- plan-dumper/queries/dml/update.sql | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/plan-dumper/queries/dml/delete-using.sql b/plan-dumper/queries/dml/delete-using.sql index 1944782d..0b4182f0 100644 --- a/plan-dumper/queries/dml/delete-using.sql +++ b/plan-dumper/queries/dml/delete-using.sql @@ -1,9 +1,9 @@ +--- MODES: simple --- DML queries are intentionally limited to simple mode because ANALYZE --- executes the mutation and would change the shared setup state. --- UNSUPPORTED: mariadb --- MariaDB supports DELETE ... USING, but does not allow RETURNING on --- multi-table DELETE statements. ---- MODES: simple DELETE FROM t2 USING t1 WHERE t2.a2 = t1.a1 diff --git a/plan-dumper/queries/dml/delete.sql b/plan-dumper/queries/dml/delete.sql index 282d3492..87fa71b0 100644 --- a/plan-dumper/queries/dml/delete.sql +++ b/plan-dumper/queries/dml/delete.sql @@ -1,6 +1,6 @@ +--- MODES: simple --- DML queries are intentionally limited to simple mode because ANALYZE --- executes the mutation and would change the shared setup state. ---- MODES: simple DELETE FROM t2 WHERE a2 < 10 RETURNING a2, b2 diff --git a/plan-dumper/queries/dml/insert.sql b/plan-dumper/queries/dml/insert.sql index a1a2be85..5fe0dfc7 100644 --- a/plan-dumper/queries/dml/insert.sql +++ b/plan-dumper/queries/dml/insert.sql @@ -1,6 +1,6 @@ +--- MODES: simple --- DML queries are intentionally limited to simple mode because ANALYZE --- executes the mutation and would change the shared setup state. ---- MODES: simple INSERT INTO t2 (a2, b2, c2) SELECT a1, b1, c1 FROM t1 diff --git a/plan-dumper/queries/dml/update-from.sql b/plan-dumper/queries/dml/update-from.sql index 70f737a1..26e656d8 100644 --- a/plan-dumper/queries/dml/update-from.sql +++ b/plan-dumper/queries/dml/update-from.sql @@ -1,8 +1,8 @@ +--- MODES: simple --- DML queries are intentionally limited to simple mode because ANALYZE --- executes the mutation and would change the shared setup state. --- UNSUPPORTED: mariadb --- MariaDB does not support PostgreSQL's UPDATE ... FROM syntax. ---- MODES: simple UPDATE t2 SET a2 = t1.a1 + 1, b2 = t1.b1 diff --git a/plan-dumper/queries/dml/update.sql b/plan-dumper/queries/dml/update.sql index da8e133f..f4c8240a 100644 --- a/plan-dumper/queries/dml/update.sql +++ b/plan-dumper/queries/dml/update.sql @@ -1,6 +1,6 @@ +--- MODES: simple --- DML queries are intentionally limited to simple mode because ANALYZE --- executes the mutation and would change the shared setup state. ---- MODES: simple UPDATE t2 SET a2 = a2 + 1, b2 = b2 + 1 From 743d57dadd62af30d8fe6341ac16951c925e3ccd Mon Sep 17 00:00:00 2001 From: Adrian Vogelsgesang Date: Sat, 24 Oct 2026 02:03:18 +0000 Subject: [PATCH 5/5] Update loader snapshots for reverted Hyper plans --- query-graphs/test/loader-results.json | 180 +++++++++++++------------- 1 file changed, 90 insertions(+), 90 deletions(-) diff --git a/query-graphs/test/loader-results.json b/query-graphs/test/loader-results.json index 4c81c2b7..392c887d 100644 --- a/query-graphs/test/loader-results.json +++ b/query-graphs/test/loader-results.json @@ -113,31 +113,31 @@ "hyper/tablesample-analyze.plan.json": "9d20c175a028506a8497619866f8aaec02654174e23206a2635e92bc52ccc0fc", "hyper/tablescan-analyze.plan.json": "91daf430bc221b256c58fa1e106cf41b4ac69b9872f04d75a88a62df5e196900", "hyper/tpch-q11-error-analyze.plan.json": "2c7bccbd585fe0a486e5e694e9b5df45cc4ff2b0246e3657bc19e28889ac44a6", - "hyper/tpch/tpch-q1-analyze.plan.json": "918d073989c6067b8d921ce76e46b027d3723a504f001afbe2a10fff325ffff6", + "hyper/tpch/tpch-q1-analyze.plan.json": "6230e314743404f0612d8d43c2922b09a13030514a45544b51637e21b350cb5e", "hyper/tpch/tpch-q1-external-analyze.plan.json": "0c8973042c6db8266f981124f60edf2b6a1630da4d2c3b26ff7ffbb26eb34e20", - "hyper/tpch/tpch-q10-analyze.plan.json": "40d272d106eba9a7d51a9ad9caddbd80cf4a0a17cb8ca8de0252e8700bcba017", - "hyper/tpch/tpch-q11-analyze.plan.json": "fd48eef96d97f3bc7203775d159cb070ca9ade16d311158e4291f4e925c36feb", + "hyper/tpch/tpch-q10-analyze.plan.json": "77230bd5a4579200aad289ab45788711f826106569c9b6e1e0fcad377cf4d477", + "hyper/tpch/tpch-q11-analyze.plan.json": "ecfbc445f9732683e3f04c89e3429101cfd411bc640d8ce8ded53f7ff25ccfc8", "hyper/tpch/tpch-q12-analyze.plan.json": "eea884b56e64778c30c672ca84360b4a9120795d4eddb1f63dbeed461ef66662", - "hyper/tpch/tpch-q13-analyze.plan.json": "da84d9f95b58d1ef49641b87ce5afff6f5778475ebf1aad88283750eaba0325d", - "hyper/tpch/tpch-q14-analyze.plan.json": "92b56f66d0393eae1cae8cbe3dfd3162a19fef7ce00e3a7e0894c787713b507b", - "hyper/tpch/tpch-q15-analyze.plan.json": "a03543fa4fdbeecb0c5ce2b2e7224f1f48c6745f4f8622560bd2263a934d44ab", - "hyper/tpch/tpch-q16-analyze.plan.json": "bf922280e754ec9693c00996b9938daa3ac6171991f29eaa286e45445dc7880c", - "hyper/tpch/tpch-q17-analyze.plan.json": "fff1ef9eb6fcd8dce6271a2154017bb99f085707baa7105688f36e61abf34ec1", + "hyper/tpch/tpch-q13-analyze.plan.json": "ea08571d38ae59b0c0b690dc0bba07217a8010a9efdde26d8146645afd7bc4ee", + "hyper/tpch/tpch-q14-analyze.plan.json": "7d0e12a46eb3738297ed6c448c98b2faaaaed05c229b357bb3b301e2a86dd2fc", + "hyper/tpch/tpch-q15-analyze.plan.json": "1087dc326470ccd9e8c2b93caad5cae6e6fd1d536aade663acde4e86ff62c15a", + "hyper/tpch/tpch-q16-analyze.plan.json": "edd1ffd2cdc1a5c7d3ba11b4af9b3fa50c0a614592d57464b7bb9e9f02ff1be9", + "hyper/tpch/tpch-q17-analyze.plan.json": "0b7b03cb4487d6bc84538bc1edf618799df2694eb97d48b6132744d8d59bf566", "hyper/tpch/tpch-q18-analyze.plan.json": "c2ef0969c9ad700e3197ea99494ce1e51486aae9922f810738b04c745195fe85", - "hyper/tpch/tpch-q19-analyze.plan.json": "556c34edab64b87fe71cb598f4a88fba951adf1041389d2665f05befd4236765", + "hyper/tpch/tpch-q19-analyze.plan.json": "eb8377d0c6400004e58c75d6d1df5f39a2fdb6658ab516b4d41a97f4377be533", "hyper/tpch/tpch-q2-analyze.plan.json": "52e9036ec5cfc90df22e90b50f7e3ff117e4168ed7d1a01adb306878c86e263d", - "hyper/tpch/tpch-q2-steps.plan.json": "b96814490c1e194421146a5dbedbcb2c04f3ee5e8d47e3b9ac035c6c7ab2166c", - "hyper/tpch/tpch-q2.plan.json": "d1d507d2c0bbb100281f01c1e30b79445b5f3ec4ac9e6514f246dc6ec6962346", - "hyper/tpch/tpch-q20-analyze.plan.json": "859de34d22109c17e0f32f7394586d83db7cc7757ac2a9cfeb551bf960abe6d8", + "hyper/tpch/tpch-q2-steps.plan.json": "a995ab7ae694ecd07c2660c881897551f907add8626d47b59cafd14c0e708bfb", + "hyper/tpch/tpch-q2.plan.json": "60f77a472d6239ab5ecf58c16f7d48fcc545b0d4f83ba1baa772a25089aa28a9", + "hyper/tpch/tpch-q20-analyze.plan.json": "824407c87ece3307e2ffd270e4ec1ad33dd20993da4d43392414e4be28944d1d", "hyper/tpch/tpch-q21-analyze.plan.json": "e8f309f354ac2fdec2c2c969f006bdf04a09cea3924949c9f3d6e3da97a9e623", "hyper/tpch/tpch-q22-analyze.plan.json": "baf2941b9526eda97cf645b75159a7cb4a28cc60ab8757ce2fb6c880f5dedb2a", - "hyper/tpch/tpch-q3-analyze.plan.json": "d4682cf46917b07f4398a43755b0df0aaf045b3e3c07b8229c3a6c5a52282437", + "hyper/tpch/tpch-q3-analyze.plan.json": "8dca3c4f7388931b03273ebe16b5e065c77e7b663031310e2542f5fec3102e57", "hyper/tpch/tpch-q4-analyze.plan.json": "4d89e8c45a502521b8bf07f59fa85c3329524b379fb347cfb99684bb576c764a", - "hyper/tpch/tpch-q5-analyze.plan.json": "cf91e360bcbb46ed0fcfc46be55e39dff04218b06adb0d4119fe95ec15f2d681", - "hyper/tpch/tpch-q6-analyze.plan.json": "a2ae856f0fc3a386a3b9e52866d44a333f9e4393242f416ba0859aec76904541", - "hyper/tpch/tpch-q7-analyze.plan.json": "c1dd17031c6d44ccab809dbc591fa005501b0dc802351478764e89d05751394f", - "hyper/tpch/tpch-q8-analyze.plan.json": "de7709189874d690293451fc735f9ecc886a8d5112ebcd197fa2be049ff0645e", - "hyper/tpch/tpch-q9-analyze.plan.json": "8ef09cb7574e70edcde871b1e72f6293fc28726902b0710b3ef71d736092ef84", + "hyper/tpch/tpch-q5-analyze.plan.json": "9a969cc41cb1d63a9bd7c2431dd2408801c194aab3019ed23ee664acb0c2c1ac", + "hyper/tpch/tpch-q6-analyze.plan.json": "6dad39223b317e7321bdc1960c24514289770c7ba71e2988accfbff218d958d9", + "hyper/tpch/tpch-q7-analyze.plan.json": "ad4f7b33b2d49f11fb66b392eaee0702be44ba739705c9f9c9555faec9ee825c", + "hyper/tpch/tpch-q8-analyze.plan.json": "d68d5b3d32373831f38d2ee3797fda448faf1e9e0c235c72595dcd0b262dea2f", + "hyper/tpch/tpch-q9-analyze.plan.json": "265a515135f39533e63835c7451e9b0a17d97d8e79d2f681e606dd46a07a9141", "hyper/unicode.plan.json": "95c1e4c52fda46e1f4f27e43dec1c96d8cfcee2e43ae59f31a7978c031a63fb6", "hyper/window-analyze.plan.json": "a1a5b8554a282f361a3379944baec8966979103295dad779b107c62e5438f9de", "mariadb/cte-analyze.plan.json": "bd8e1aa4d4d9816ef23a80d8c16e3d661795b86896fe891cfd2e7f8b4a4e5357", @@ -374,31 +374,31 @@ "hyper/tablesample-analyze.plan.json": "0af69704f35fe5009f98c881ab40a619d00c1861327c274fbb01b30bd8754429", "hyper/tablescan-analyze.plan.json": "a94d96c547177c2f01a5509f22ef75f65f4e5000645d45792fb94ad825a0d81c", "hyper/tpch-q11-error-analyze.plan.json": "b955f5bd3489f6909e277970db3a9ef9716c2b9c27969949e78463c8111b41f5", - "hyper/tpch/tpch-q1-analyze.plan.json": "176c4b55692248372c3a56f8e5eac95777c25e7eb4e0bb3b97004a87075a4075", + "hyper/tpch/tpch-q1-analyze.plan.json": "479f57bb762b97b311fda6d9ed6cf0867212b2aed0e4916511d478aa5dd410db", "hyper/tpch/tpch-q1-external-analyze.plan.json": "afefa85248fea9abd42efeeff30e94095ac080c2365d2e0740062e0fbfb2283f", - "hyper/tpch/tpch-q10-analyze.plan.json": "2ab9d34c59ca041dcd796144a90d5b2c2695af1b328764583c3c4b9b2a3fd975", - "hyper/tpch/tpch-q11-analyze.plan.json": "8442a33dbdb4127aeb5def39651fede2dd7e1c3b1bd0c8206ea330651ca6b6ea", + "hyper/tpch/tpch-q10-analyze.plan.json": "34cbaeb23a331bfcc4e1f90d9a098037ecd91765684ea674695ae85e401c91de", + "hyper/tpch/tpch-q11-analyze.plan.json": "efdc18bd9183712c44330c8e169d4518b02a132044fb38c332172d4a5a288be2", "hyper/tpch/tpch-q12-analyze.plan.json": "25e3de75b7404dabb41cfa638adab474b48cf8ddda72981aaf65053991be2918", - "hyper/tpch/tpch-q13-analyze.plan.json": "4beda4d7305c85eddc650eb940c88d2e288ba82157fbae7e0359cf649bb8999d", - "hyper/tpch/tpch-q14-analyze.plan.json": "e5feb2dc0b4a412232d9bce2fdc47d7c905291734dfa610fca04c1ec81ed8ce4", - "hyper/tpch/tpch-q15-analyze.plan.json": "e022dd5100f48e8f29cec7b4acebb2b5d44665785a8f64dc543cfd9e2397ce22", - "hyper/tpch/tpch-q16-analyze.plan.json": "72e8b1256faf7c83fdd89e36267cdf38934397f3b3dc915445752ef1b5cc5481", - "hyper/tpch/tpch-q17-analyze.plan.json": "acd1c435669ba5a4e588b55e38cd94b97530ebe502e4a35aaddf6a000ca45959", + "hyper/tpch/tpch-q13-analyze.plan.json": "041d23738b5fd1d89808696cb54ff657c347a17fec7b9882fb2b2722e660e665", + "hyper/tpch/tpch-q14-analyze.plan.json": "d88dbe56a4bb42fd4e26d09c04846cb681268742b564e13dffd525d76ad5ac54", + "hyper/tpch/tpch-q15-analyze.plan.json": "fb7d7b3f356596cef865b511fa717c5480a3315f710085ddfbce9e9764f40374", + "hyper/tpch/tpch-q16-analyze.plan.json": "849c7dd5c29f5d87464236577f78624195b9d44c389e69e26aaba98cb250364f", + "hyper/tpch/tpch-q17-analyze.plan.json": "3ef28e23c8102a697e3fa081e3b0aff16cca33d899e83ad6211887b4f46df136", "hyper/tpch/tpch-q18-analyze.plan.json": "c72fc12cc61128d2861b188c55a95c6fed1da9bfdeb06457b787341dd0e10cf3", - "hyper/tpch/tpch-q19-analyze.plan.json": "11129636d8ec177a611ad2e732b7062c5241848c7d9dd0ba99b996d820db3902", + "hyper/tpch/tpch-q19-analyze.plan.json": "440ed95e9f0b83f90b5cb909a6948804d5c6c51f7784d6b64dc547573a3f36a9", "hyper/tpch/tpch-q2-analyze.plan.json": "fc5ad06043b54bf5f52b89ecbd3d697e09554cd6d0ab1a06a0a9a1dce4dc9f0b", - "hyper/tpch/tpch-q2-steps.plan.json": "39639acb2d3c84afece2979c75d6b29693e32577adbfbe828200080aec2a3b47", - "hyper/tpch/tpch-q2.plan.json": "a5c4ef8dd8c9adef3544ef82620075bb44655b8ea9e90dbbaaa87c6eb6d0b763", - "hyper/tpch/tpch-q20-analyze.plan.json": "7ec373c1699a61686c0ef7622dfaa50d022e735e90453bd6213ef392b516c72c", + "hyper/tpch/tpch-q2-steps.plan.json": "5299a43ffbcd07e2195a25ce8b971bd988eab14cd1a72d5d09aed2da2e538119", + "hyper/tpch/tpch-q2.plan.json": "d55667dbdd1c0680d7b2cf50864f6187bcde91a7347bb5984cb0d284a303c4e9", + "hyper/tpch/tpch-q20-analyze.plan.json": "b2e7ed6fa1cead7caa50e7126da45468c3a8e7ddc2634d89dbf0768f03e7c215", "hyper/tpch/tpch-q21-analyze.plan.json": "cdf1c976db184b32322db843acad6c2ac7c92a33964fea1a706917a6a50bd614", "hyper/tpch/tpch-q22-analyze.plan.json": "e0f9c9b110299e0cc59a5f3b74f7713d22bfd0e094c680c5b808f7634f73667c", - "hyper/tpch/tpch-q3-analyze.plan.json": "5ead00dbf6352ff76f487d159524b5600862be680b195807cc4b1894fbc7c987", + "hyper/tpch/tpch-q3-analyze.plan.json": "5329400b149888a7be0418381826a028b954e302c674b2ae337472a5fe63615c", "hyper/tpch/tpch-q4-analyze.plan.json": "070e92150479f00dc2ae0d2683715142416711fc508f1a71d27ffe5ea72adfbe", - "hyper/tpch/tpch-q5-analyze.plan.json": "44da7ef13a464b0b1e475a74e7eedce48eb7aba608a8eaaf07c7d2114ace0cf3", - "hyper/tpch/tpch-q6-analyze.plan.json": "a648660313187690f588d5e85c08c61c5b1d441bd462acde48cc4a9b97f01ff2", - "hyper/tpch/tpch-q7-analyze.plan.json": "b408deb871b31ccb3562c5ab5dd2b84340c28f227e496a7c87634df474731eeb", - "hyper/tpch/tpch-q8-analyze.plan.json": "3caca8f9733043d5ccf232ddc94f0a3c3e3c7201515e1c1ab89a47cf1e9d759e", - "hyper/tpch/tpch-q9-analyze.plan.json": "fce501bf6fb8d9da06ae7b446c5261653ca3d2d6d526934389341c82a2598ce1", + "hyper/tpch/tpch-q5-analyze.plan.json": "4879c3aaab6821d4e757a38e838e02bf7d0b6c5cb6e84a9cf77c9eeba04e5b59", + "hyper/tpch/tpch-q6-analyze.plan.json": "e6d7273087ff15aea394c492c987c16b8fa958ddf619f41d3e30ce92916e15e6", + "hyper/tpch/tpch-q7-analyze.plan.json": "f4a55423cddc7776cf4c618ee6d3d9cffa2acf323865c909c4a875ac240ac33b", + "hyper/tpch/tpch-q8-analyze.plan.json": "d7dc6280da3aff48136111fa6081c1aed9c91a88e94c8eae3181c21ca5e88ccc", + "hyper/tpch/tpch-q9-analyze.plan.json": "5f545aa6f4a189c947a52b8c88942e0e0f107c9e68251dbb9688cabee3217e9f", "hyper/unicode.plan.json": "d7b98a1aad52b1ef5103b72b5e63289b4673e864d6e4d5d5309bdf007bb02a90", "hyper/window-analyze.plan.json": "54b988d6a405b2130bf8f4053c7f0e082c48ca6c9fbb12dd047334dcdb3e2b8f", "mariadb/cte-analyze.plan.json": "3dc3a29641b17672d4499f3c29d559121c0e6f7b85c42f3120ffdc40e6ab7f36", @@ -635,31 +635,31 @@ "hyper/tablesample-analyze.plan.json": "a7c75d8356d27464d37b6ac2ad06573c77158e66ec20a2cf3b666dc3158d49f8", "hyper/tablescan-analyze.plan.json": "4447a57748091bd76eaac4eb682477ad2f058301442231638e28f97db94969a4", "hyper/tpch-q11-error-analyze.plan.json": "9dc22f97a49c51ac384dcd4bdec122b55ec6a2b61612c4b4f47f172b34e493a1", - "hyper/tpch/tpch-q1-analyze.plan.json": "b787a73f9ad6d960dc15de6f55e6e18cd02adfa8d729c308cc799e7e75e7525b", + "hyper/tpch/tpch-q1-analyze.plan.json": "d06048eb8eb0db151f68b18d8ff80865ece61b01e5eae9188ed50a75022565c6", "hyper/tpch/tpch-q1-external-analyze.plan.json": "1f814744bd0d1e8d49a9d9a5521ee510f4488e29f1b98dc1d23ba75596f221d2", - "hyper/tpch/tpch-q10-analyze.plan.json": "22156712f9408aeace0d1cdf58d0d8d59930792523cd8188bdb360e7d00d6a5b", - "hyper/tpch/tpch-q11-analyze.plan.json": "1c6ce21ac823481795c1cf0829591d7b9be28f0bdfd5e5c41cc157d946950ce3", + "hyper/tpch/tpch-q10-analyze.plan.json": "c375843992d1b4ac07d869ced1273b0efcb0f7495988acd9571668501ca22f8a", + "hyper/tpch/tpch-q11-analyze.plan.json": "06121a93e322fc6a9cfe0de878a6de71b52294e129e95c995a09b7205baa189a", "hyper/tpch/tpch-q12-analyze.plan.json": "e125ac19fbda39509d819091ed1ab3814028707b9d4b0d5e3dbb7c01b27ba2eb", - "hyper/tpch/tpch-q13-analyze.plan.json": "e13f7bed9027a24bcb880b43aa7117dac7b16927f6e6e542459684cf624b67cd", - "hyper/tpch/tpch-q14-analyze.plan.json": "fbb4c646a9ab9a9eba84da87c094786abbd1f9f21ffe3d97d80758b71c4b43fd", - "hyper/tpch/tpch-q15-analyze.plan.json": "538db6eaa752a0aaf4fc6b0b97581c16781c3f9edc535c3a695fd94d873c0c56", - "hyper/tpch/tpch-q16-analyze.plan.json": "fdf6b589af49db6608daae695f6c3b340c4ce3ee04535469a90a02c5c4a32c0a", - "hyper/tpch/tpch-q17-analyze.plan.json": "17685e17568c57a73eebc2f04ff904f769508e584348bf55f79502268086df14", + "hyper/tpch/tpch-q13-analyze.plan.json": "b74018ca9cda4b9479663be16356d1a9c428c9c7ef1cc024e1ea6e18827390cb", + "hyper/tpch/tpch-q14-analyze.plan.json": "ce25503ecf4e90b6ac0b9e2be18deec756d12ac65394b705cb5923434306954f", + "hyper/tpch/tpch-q15-analyze.plan.json": "9299ec43b17ed67e5a97172780c0cf64ee1e5c6c8603a11ea0938825b2c6515a", + "hyper/tpch/tpch-q16-analyze.plan.json": "b80396071c605afe1e14c10808f346ffa549eac198e6056075bf64eec2d1019e", + "hyper/tpch/tpch-q17-analyze.plan.json": "8b3af7b773d1eb2cec248de5bacee214fdaf3dfd2fc65a89329b2f9410fb4e2e", "hyper/tpch/tpch-q18-analyze.plan.json": "3eeb33cee9ebebd0a1fa503a2adfdf1ac66b1a764f7853bcc6e391869d914381", - "hyper/tpch/tpch-q19-analyze.plan.json": "0750d2f99f8fad962c01e88163f709395637a64f26ecf238ca5ef4394af8da2a", + "hyper/tpch/tpch-q19-analyze.plan.json": "13fe780f817a8c537519ab9e5b0ddaf7ca8d596b26200306257048a383b5b0a5", "hyper/tpch/tpch-q2-analyze.plan.json": "1599e90534e7f7a4a56ea6810da853f68d0e26e76ea9c40b87a52ad5e490f7b7", - "hyper/tpch/tpch-q2-steps.plan.json": "560284d54555b190ed85721b229136109ac3a4edff371f2685834d0454311497", - "hyper/tpch/tpch-q2.plan.json": "beb0c9a052717fdf0b04b82a86744189a148dd2e06514b6a4f92998ab267eba1", - "hyper/tpch/tpch-q20-analyze.plan.json": "58d9602d8c4c7cf0926afea6ea10f842a6b195721d5e8ef74ec47683ea344b62", + "hyper/tpch/tpch-q2-steps.plan.json": "4112de3f368eadc7ae22d31eb8d77fb146959f3f9403d1e64b36633a31997fe1", + "hyper/tpch/tpch-q2.plan.json": "e2bbd189af0f33b8d3e007ffaf6cc6912adae4d1b72bed89ee1085106ce74d5f", + "hyper/tpch/tpch-q20-analyze.plan.json": "1d18bddf60e543b82c3104b02324e9546381b86547d2f71f5c47514a8cc70404", "hyper/tpch/tpch-q21-analyze.plan.json": "e4dc83a049f6b9b01e1e92783ed6f1fb6e3277294e27576d00f7ba8f9c5600eb", "hyper/tpch/tpch-q22-analyze.plan.json": "4acbb4d43d9920fc6b873743d4908d6b70e41dc80974819295a2ced67c3ad211", - "hyper/tpch/tpch-q3-analyze.plan.json": "96333aa3274eca8af9f165f19b2e371a9eb5f1eefabfa8d374255610334d9093", + "hyper/tpch/tpch-q3-analyze.plan.json": "0d3cb1f3a2207bcfe13352a1ccf44f560767c66ca732d01f7cc2559a8249910d", "hyper/tpch/tpch-q4-analyze.plan.json": "20bbcc04369d993b241d073ac23a7ebc0a994f7b9794d5321d6b891a2b9e934a", - "hyper/tpch/tpch-q5-analyze.plan.json": "1e38f81d98514eaab1c5633e152f28f37de563966719353908dee1fde2bf6307", - "hyper/tpch/tpch-q6-analyze.plan.json": "9e5b59f3cb167bc259fcc6a461ced0c4dcbc5fd08d6f30fd5df3c02347fb5894", - "hyper/tpch/tpch-q7-analyze.plan.json": "e28a35c2470e348420759824da92efc2112643fe86d21db51d8c7e34681f05d3", - "hyper/tpch/tpch-q8-analyze.plan.json": "f01eb9895db1f135f217ba8e19076c20d6f8435a814bc56c384c647a84710467", - "hyper/tpch/tpch-q9-analyze.plan.json": "585217b5417386b89e33aba9b295c779d635bdcd2fdb2b56eb90219dc6b615c2", + "hyper/tpch/tpch-q5-analyze.plan.json": "4b10d281bcffed4a2896ad3f43ed39f1227cd9def13c2ebaacc149c15562e1c8", + "hyper/tpch/tpch-q6-analyze.plan.json": "f6d108fd71d7825a3ac1dffd9bdf29dffe557b400e6e87ef461b4485aec8ee55", + "hyper/tpch/tpch-q7-analyze.plan.json": "b87f3376a195c3cbd560acb4cf7b6061fac5089caf9c57ac5161503c6fa47cd7", + "hyper/tpch/tpch-q8-analyze.plan.json": "9d1f13f00b139b7a49a2016a899f680c91d4d50d0a453fa1281f30e87484449a", + "hyper/tpch/tpch-q9-analyze.plan.json": "0e5486fa6be7f6cd37935d9f2c5bd18f1e84b9cf61e051a98229a2138536293a", "hyper/unicode.plan.json": "03b2b674ddeb9de8f9954989213ad5788c24cb8aad3defe30e9c91dc9bb5b902", "hyper/window-analyze.plan.json": "349f2f4b83f434816f8ff3a91ce49093cc89ff39e9c3bf360168a8a29ed40795", "mariadb/cte-analyze.plan.json": "0760d73989200aa7ba68f1077e5cf8b4340af1a2b142abf63849def11089f71a", @@ -896,31 +896,31 @@ "hyper/tablesample-analyze.plan.json": "d8ef49e2ac2b22c76cf81e98e0c5f37a5eeb21ebcfc13876e6ab05c6f638975a", "hyper/tablescan-analyze.plan.json": "0f716c6d618a94a5c444ed038be609aed26348fce715b39628f17a32f2a7f2f5", "hyper/tpch-q11-error-analyze.plan.json": "8d70e4b038008d7bc3fa2241f10620d2c68b4a31e981cbad86fdbe46e41c1ce7", - "hyper/tpch/tpch-q1-analyze.plan.json": "3318348f8fa83b01499a63e74014655499d41625de07bc83ae0a6503b1c1fad8", + "hyper/tpch/tpch-q1-analyze.plan.json": "2bd5468089beddc74a5860c973ce254fe5fa55d6f00e09222c62987d2e91736e", "hyper/tpch/tpch-q1-external-analyze.plan.json": "9be65ca17df406ecce5359d716144f823d952f518a5703fd8141cc3c4dfec10b", - "hyper/tpch/tpch-q10-analyze.plan.json": "d2039713599f3d6f1f7f28b8ebbc066fea018176d620b8c0c0a3469c4a4fbeb8", - "hyper/tpch/tpch-q11-analyze.plan.json": "b05a36f8c349d7b76ebbcb6661533da75b8e5fb9570b32751390229cb137043b", + "hyper/tpch/tpch-q10-analyze.plan.json": "d660a92b4a2a8a5a28b28584e7fa90f31a705cbb7b90f15f54a633938693805d", + "hyper/tpch/tpch-q11-analyze.plan.json": "908870171c0aad7ca57b26819e9db42c0937c4db85de2a9d7c8e03835d56755e", "hyper/tpch/tpch-q12-analyze.plan.json": "d203f4c2b578c6fa37874e8499af857b81667edcf4bb42606a4177ecc9f585a4", - "hyper/tpch/tpch-q13-analyze.plan.json": "2bfc3d3bb6ef0f45c09331fe59f1f0b582ee275c027537f664aa669893d4ca2c", - "hyper/tpch/tpch-q14-analyze.plan.json": "1b2d4a0c6f763fc4fd77c30acd104e1c2027c3ecf4940827aef22a691b478e74", - "hyper/tpch/tpch-q15-analyze.plan.json": "d50997c55689b49991ef76c79446ccc8293606d81c57beb930ff18428b4b154c", - "hyper/tpch/tpch-q16-analyze.plan.json": "f1f4af4ada0905503897dccd367f323e3a29d948009124f298370a0ef700b09e", - "hyper/tpch/tpch-q17-analyze.plan.json": "f552e3fbc6bf3459e0ea4be9be40722e3d8042ebcd715e24da060c521d9623bd", + "hyper/tpch/tpch-q13-analyze.plan.json": "41188f3a07d3727b2cabefc428d3221188f228a15a6f3077d46c070f8ccb2e9a", + "hyper/tpch/tpch-q14-analyze.plan.json": "87e11049985bbd1b22257874dc9dc3a0105dd1e8d1aea7c3fe036998f9606fe9", + "hyper/tpch/tpch-q15-analyze.plan.json": "158821604a5a341b51ccb203acf582f0d2ec09286685a27dc5afece325c3f5f4", + "hyper/tpch/tpch-q16-analyze.plan.json": "ed199130aedcf4f4f083a0b262c57163345613bf2b7ac25eef36a6d13037bc03", + "hyper/tpch/tpch-q17-analyze.plan.json": "db6a5930670fe3e28067b04886e56e2740cb732a851edade2efe5051ea0916a4", "hyper/tpch/tpch-q18-analyze.plan.json": "66f6494ea257147887d2e32dee6565e4d03bd587fd3efae60701d6156d1ff0d5", - "hyper/tpch/tpch-q19-analyze.plan.json": "594f14f7833a2f112405bf7a11fd20a8dce61036f58a85ebafd637ad0e9d47ee", + "hyper/tpch/tpch-q19-analyze.plan.json": "61eaf65e45bbf38a9006e194da2b8be064a0ebad1d2726affc4dd117a7b3fb73", "hyper/tpch/tpch-q2-analyze.plan.json": "aa4b5eb936281d2b4a82fb6a7d763dfb6f6beb4bbdee4634cebedec0f6ae50d8", - "hyper/tpch/tpch-q2-steps.plan.json": "257282c846061f25962b0914e6bf02d740991674783dfe404f059a126d1fb475", - "hyper/tpch/tpch-q2.plan.json": "6f09f1cb69323f81d691c00a4b6dc12348d1fca9e01a88c123034376ac711568", - "hyper/tpch/tpch-q20-analyze.plan.json": "485b2fa060e9a598c54cc20cae45df8cad8e9dace053f7adb3e87b0808d2a984", + "hyper/tpch/tpch-q2-steps.plan.json": "ad04b423d912feec0cdbf70fda6be648fc804ad13998d35d876cc2a4d45484f8", + "hyper/tpch/tpch-q2.plan.json": "3f01caafdd010e843e9cf1af0c2d0dd83ff426bfff53e49594d16dd5c78596c9", + "hyper/tpch/tpch-q20-analyze.plan.json": "4ff9a7699a102f601c530b53e832000fc6096ed6f4ffaded6dc5afbcce06623a", "hyper/tpch/tpch-q21-analyze.plan.json": "3bf0906ae64361110fb6a4e65b534a5e5b326ffb3f4ab5275f1e1597683fa967", "hyper/tpch/tpch-q22-analyze.plan.json": "e9670d7d98c595c3c7822bc2fafb193cdab6d1adf96eb138fb0391e92cf315b1", - "hyper/tpch/tpch-q3-analyze.plan.json": "45662207c0647ca7992d14898613869694953f10e0c7ec8af5a752598f6b6e3d", + "hyper/tpch/tpch-q3-analyze.plan.json": "99a6df14bba2aa6d97b62be48edc71fdd45eec52d30c1097db566b6f2cdddec6", "hyper/tpch/tpch-q4-analyze.plan.json": "cd602e1e042256202349bc37491e81afa92c678edeab180dbe94a9acbac968ad", - "hyper/tpch/tpch-q5-analyze.plan.json": "abfe0cfa92ccb6adf91e65311868ba1139ee320ab9849cea73c72bb49ec74d78", - "hyper/tpch/tpch-q6-analyze.plan.json": "1eb8b65d527d8808d48def94a1b564103f57357dbc0d403c1c55c97d1ab16bce", - "hyper/tpch/tpch-q7-analyze.plan.json": "2f8381c458f268db3096365c603954e211da87f8ceea3bef8b2c2d2b0910ec45", - "hyper/tpch/tpch-q8-analyze.plan.json": "c2154ceb595769ed4c56b6f56d3c45ee708cafe0576fb1a9be725c8e10a0cb0b", - "hyper/tpch/tpch-q9-analyze.plan.json": "f705bd55cb44061d1e2a4dd57cd960eb405f3717ab2b87ff9b30cb965121e73d", + "hyper/tpch/tpch-q5-analyze.plan.json": "fb33a1d0dd536128e2c5b25f579e042fd26cbaab3a4604f7763ce3faa4d72b0e", + "hyper/tpch/tpch-q6-analyze.plan.json": "fadb6f8aee5fa396bfe72216ee203ac66b01000ef3c5ad238af3ddd89430e195", + "hyper/tpch/tpch-q7-analyze.plan.json": "e066cdfd848db23e74863c9d385db6faec14aa016aef2f440bf676f8b374cdc7", + "hyper/tpch/tpch-q8-analyze.plan.json": "98e2e39e35f127413b66fe25e914e77048c3847b1b1d6f8175682f475e11f823", + "hyper/tpch/tpch-q9-analyze.plan.json": "8409639bbbf8e2f48cddf05dd51fe3e245da253adfc6f93a4df060668c03f14d", "hyper/unicode.plan.json": "b1fb2e177eaa0137ccf8a03d28198cb32c33894a2278aa4f5998d23bd7a6248f", "hyper/window-analyze.plan.json": "2d0c6a9bd67b06b53a94b9bf9add09a3abbd68ae62105b8a86b9c642ea3bcaef", "mariadb/cte-analyze.plan.json": "304eed0440b9508eb4d31f102c54a37d7fbc9ffc273c261079e31e93bae2d841", @@ -1157,31 +1157,31 @@ "hyper/tablesample-analyze.plan.json": "6e809952b2aa1375aa64052be8ae7a2e1ced2127f53e2de9a9429acdd6331171", "hyper/tablescan-analyze.plan.json": "d6393bf7577ac7e266096b4487e2f4a9239db81e121ddc17bbfa8d895dc6d346", "hyper/tpch-q11-error-analyze.plan.json": "67c5db501d5b5faeaca38ef7125b3814d8ba31ac77137ec151184d9ade68b8e0", - "hyper/tpch/tpch-q1-analyze.plan.json": "568e976412439c47e710ab8228d46b88b3cba3f10563bd37f8239543964aa4b1", + "hyper/tpch/tpch-q1-analyze.plan.json": "eb17dcd49709db149b92d0683819395ef5cf389d418ef38a52bec96752d489e2", "hyper/tpch/tpch-q1-external-analyze.plan.json": "523415367bb143940e28265e7f27efd3fab35e3e6663d9bb288cc6c3696a9ce6", - "hyper/tpch/tpch-q10-analyze.plan.json": "0a986d0763510d6d40f975107baf4c091cf50595d742a8e7c234424c8acbf1a0", - "hyper/tpch/tpch-q11-analyze.plan.json": "c525eccd19092147e1b9b786cff5c284110524aada8c0f920ac3845354ad5355", + "hyper/tpch/tpch-q10-analyze.plan.json": "3d7b6cd513fa30b55475c238ab40573eee2b7e5afaacbcc95b6d9df19d1c4957", + "hyper/tpch/tpch-q11-analyze.plan.json": "8e3770da5ac0376a3292cd2e6045a2ad90b38a88197c0d9a2d7931c2408ab9f3", "hyper/tpch/tpch-q12-analyze.plan.json": "02a6a4161cdf603534475df4564fdeab3af75959d39722238accede750d43950", - "hyper/tpch/tpch-q13-analyze.plan.json": "c8f12bcca0e33b3493ad41e14541a919bd24acd54f4440c3d073d0b006988565", - "hyper/tpch/tpch-q14-analyze.plan.json": "b2c778792810f3daa29a4f1f48ff592f528112a621c06a2b638f11269cded6c6", - "hyper/tpch/tpch-q15-analyze.plan.json": "2eb1f5c52594a5a691ee8284991d59d483e37076057dc275e76859ee70539216", - "hyper/tpch/tpch-q16-analyze.plan.json": "c76de5aa8dbf0bdf8a78690a5a47e7ab1477724ae745cf117ba05609d1e5236c", - "hyper/tpch/tpch-q17-analyze.plan.json": "2bedb295b4d62a1e8c51628f4e440b9e8cfb884eed675e45658f7b780832ee1f", + "hyper/tpch/tpch-q13-analyze.plan.json": "1c275cfcc996a05266d603cd60017a7bc7cd9e977435fac81f92f1cd9a3b0c52", + "hyper/tpch/tpch-q14-analyze.plan.json": "f3a73d427452e3f8f67e1ddb680626beada0c57fdba9d1131baa25c7bc2ed26f", + "hyper/tpch/tpch-q15-analyze.plan.json": "e87d089a5518a2e539e5285fef53ecebbf58b71a312f98d715e6dfabc0bc3c58", + "hyper/tpch/tpch-q16-analyze.plan.json": "51ba1d59c5be9a7dc145ef4c038ac78b769b06956eac03f84cdf2cbb06488967", + "hyper/tpch/tpch-q17-analyze.plan.json": "e74cc34b72cb15214f66c693e231a2ca6907422b060b9e84139292872cacde81", "hyper/tpch/tpch-q18-analyze.plan.json": "8b520965f100a38b05481bf47e23864ba33c30926294c41e99f031b2fda68493", - "hyper/tpch/tpch-q19-analyze.plan.json": "be886d01dec61ebf8c34f1cacb78d3c35082a43d90e1ba1496b4610aad3e48e5", + "hyper/tpch/tpch-q19-analyze.plan.json": "432d0852f7584fd74afe215d94ec9edbb0f5f7a0a35f3a3e0e62d31601cae9f3", "hyper/tpch/tpch-q2-analyze.plan.json": "398de0632d1f086691f3fb73c7bbcdc3c46e478c89919e22d6edf7748360fec6", - "hyper/tpch/tpch-q2-steps.plan.json": "6ec25cc8cdd03302c9b691eae51a006210c382f3366dce2cc7b761dd852cbf2b", - "hyper/tpch/tpch-q2.plan.json": "cac4d5977759472cfbd6ac50c6d7c59fada4649c462d30cec6fa021f24c210fb", - "hyper/tpch/tpch-q20-analyze.plan.json": "cf1620ab71f33cb791d713cd4e359181f7f3cd88a253c436c354349407a6136d", + "hyper/tpch/tpch-q2-steps.plan.json": "2d9560f84e1362bdc01d314f8233b21f834ed4f2c2db64ab2b24282179ca9020", + "hyper/tpch/tpch-q2.plan.json": "8ab689f35a5efd7663e1a8b7a813dafdf91d20bcaf9b3ea39e2cd80290ea4392", + "hyper/tpch/tpch-q20-analyze.plan.json": "2eb3d1f85777d5d00682e849e5874fd9bd0e33169c9ae5324eaca6ad46fee296", "hyper/tpch/tpch-q21-analyze.plan.json": "f17652d8b81ddb40ff4d02b4973598c207fd34280d0a4d66ce4455e4252061bc", "hyper/tpch/tpch-q22-analyze.plan.json": "282b4aea27cd35bcb97fbbc2e0a8b403d0f8fd82c72f96fd4d7e059cd33aa232", - "hyper/tpch/tpch-q3-analyze.plan.json": "388efe18f2f65576bcdf0470761914acf277eb39cd1d9d31193a6e1ef42a3118", + "hyper/tpch/tpch-q3-analyze.plan.json": "5b5c1bcb3796971adde7566a1bd5c72f23bfeef86ed9c6c3882b3efc17c5330a", "hyper/tpch/tpch-q4-analyze.plan.json": "dd01298351eaa7d98a60061504f809d1c7c652a747df63a047acba3e17784903", - "hyper/tpch/tpch-q5-analyze.plan.json": "707bc7c93402dbdf73a6964e8f64a61935df9c17bff726a5a08bb8fa5f651179", - "hyper/tpch/tpch-q6-analyze.plan.json": "ef9449b806a209add6eea01ea45d005c7bd445536cfeed27bf0f686b055928c6", - "hyper/tpch/tpch-q7-analyze.plan.json": "d312d4f1db7ab8ab342b04fd2dcdcce749a18b2c84b6d03033404fef44da85e1", - "hyper/tpch/tpch-q8-analyze.plan.json": "54f5c6da1de403ebc735055a0a66fc8d1d809da73cdff43b17b3164ba7d1b1c3", - "hyper/tpch/tpch-q9-analyze.plan.json": "27af6d4d813c6c358ff994a0784d1467586f757f4b6dd334798f5a395ea77ac8", + "hyper/tpch/tpch-q5-analyze.plan.json": "8e37ffc90c4b11a96a097a29c4e7664e7b62938f52253ac475d58de80d50c02c", + "hyper/tpch/tpch-q6-analyze.plan.json": "5c6b5260f7456ac6abd5b8200292588b4aaf62b849d8e2a35577d87f58686e5b", + "hyper/tpch/tpch-q7-analyze.plan.json": "16771abea792d4298d2219f4975790c460cbeb5481a066a0101bf5d8afcd266c", + "hyper/tpch/tpch-q8-analyze.plan.json": "dded639ed59d59aa8a5e9ef580a404dd7909f83516e33f26f1d3fe6f1cecddfe", + "hyper/tpch/tpch-q9-analyze.plan.json": "60216cd096786e653416596656ff6fa23fd78b6cce7cff4d5a6510be2daa5212", "hyper/unicode.plan.json": "4774d1b71931bfddbfde693ca06a3dda3a0b4d60b358a3ee70025f8b2d3c0ff6", "hyper/window-analyze.plan.json": "e5273d3fb043495ce6fb5033a7926353f6057de1ad9ac71e599e0eb8f538f042", "mariadb/cte-analyze.plan.json": "2c62cd6968c553858f8770a7b8e7aebfbfb328f952ba90b3599debd519c44712",