pg_stat_statements: Add tests for nested queries with level tracking
commit45e0ba30fc40581f320fac17ad8b4e0676e1b3b5
authorMichael Paquier <michael@paquier.xyz>
Tue, 22 Oct 2024 04:05:51 +0000 (22 13:05 +0900)
committerMichael Paquier <michael@paquier.xyz>
Tue, 22 Oct 2024 04:05:51 +0000 (22 13:05 +0900)
treec4b38a02af2cfeefd335b7ec709057e86a1b3933
parent68ad9816c189958a0731d8d5ead7545878fdf15d
pg_stat_statements: Add tests for nested queries with level tracking

There have never been any regression tests in PGSS for various query
patterns for nested queries combined with level tracking, like:
- Multi-statements.
- CREATE TABLE AS
- CREATE/REFRESH MATERIALIZED VIEW
- DECLARE CURSOR
- EXPLAIN, with a subset of the above supported.
- COPY.

All the tests added here track historical, sometimes confusing, existing
behaviors.  For example, EXPLAIN stores two PGSS entries with the same
top-level query string but two different query IDs as one is calculated
for the top-level EXPLAIN (this part is right) and a second one for the
inner query in the EXPLAIN (this part is not right).

A couple of patches are under discussion to improve the situation, and
all the tests added here will prove useful to evaluate the changes
discussed.

Author: Anthonin Bonnefoy
Reviewed-by: Michael Paquier, Jian He
Discussion: https://postgr.es/m/CAO6_XqqM6S9bQ2qd=75W+yKATwoazxSNhv5sjW06fjGAtHbTUA@mail.gmail.com
contrib/pg_stat_statements/expected/level_tracking.out
contrib/pg_stat_statements/sql/level_tracking.sql