-- Test simple append /*dddbs='postgres.db',traceparent='00-00000000000000000000000000000001-0000000000000001-01'*/ SELECT count(*) FROM pg_tracing_test WHERE a + 0 < 10 UNION ALL SELECT count(*) FROM pg_tracing_test WHERE a + 0 < 10000; count ------- 9 9999 (2 rows) SELECT span_operation, deparse_info, parameters, lvl from peek_ordered_spans where trace_id='00000000000000000000000000000001'; span_operation | deparse_info | parameters | lvl --------------------------------------------------------+----------------------------+----------------+----- SELECT count(*) FROM pg_tracing_test WHERE a + $1 < $2+| | {0,10,0,10000} | 0 UNION ALL +| | | SELECT count(*) FROM pg_tracing_test WHERE a + $3 < $4 | | | Planner | | | 1 ExecutorRun | | | 1 Append | | | 2 Aggregate | | | 3 SeqScan on pg_tracing_test | Filter : ((a + 0) < 10) | | 4 Aggregate | | | 3 SeqScan on pg_tracing_test pg_tracing_test_1 | Filter : ((a + 0) < 10000) | | 4 (8 rows) -- +------------------------------------------+ -- | A: Append | -- +-+-----------------+-+-----------------+--+ -- | B: Aggregate | | C: Aggregate | -- +-----------------+ +-----------------+ -- | D: IndexScan | | E: IndexScan | -- +-----------------+ +-----------------+ SELECT span_id AS span_a_id, get_epoch(span_start) as span_a_start, get_epoch(span_end) as span_a_end from pg_tracing_peek_spans where trace_id='00000000000000000000000000000001' AND span_operation='Append' \gset SELECT span_id AS span_b_id, get_epoch(span_start) as span_b_start, get_epoch(span_end) as span_b_end from pg_tracing_peek_spans where parent_id =:'span_a_id' and span_operation='Aggregate' LIMIT 1 OFFSET 0 \gset SELECT span_id AS span_c_id, get_epoch(span_start) as span_c_start, get_epoch(span_end) as span_c_end from pg_tracing_peek_spans where parent_id =:'span_a_id' and span_operation='Aggregate' LIMIT 1 OFFSET 1 \gset SELECT span_id AS span_d_id, get_epoch(span_start) as span_d_start, get_epoch(span_end) as span_d_end from pg_tracing_peek_spans where parent_id =:'span_b_id' \gset SELECT span_id AS span_e_id, get_epoch(span_start) as span_e_start, get_epoch(span_end) as span_e_end from pg_tracing_peek_spans where parent_id =:'span_c_id' \gset SELECT :span_a_end >= GREATEST(:span_c_end, :span_e_end) as root_ends_last, :span_c_start >= :span_b_start as second_index_start_after_first; root_ends_last | second_index_start_after_first ----------------+-------------------------------- t | t (1 row) -- Cleanup CALL clean_spans(); CALL reset_settings();