1
0
mirror of https://github.com/postgres/postgres.git synced 2025-04-18 13:44:19 +03:00
Robert Haas 8d5ceb113e pg_overexplain: Additional EXPLAIN options for debugging.
There's a fair amount of information in the Plan and PlanState trees
that isn't printed by any existing EXPLAIN option. This means that,
when working on the planner, it's often necessary to rely on facilities
such as debug_print_plan, which produce excessively voluminous
output. Hence, use the new EXPLAIN extension facilities to implement
EXPLAIN (DEBUG) and EXPLAIN (RANGE_TABLE) as extensions to the core
EXPLAIN facility.

A great deal more could be done here, and the specific choices about
what to print and how are definitely arguable, but this is at least
a starting point for discussion and a jumping-off point for possible
future improvements.

Reviewed-by: Sami Imseih <samimseih@gmail.com>
Reviewed-by: Tom Lane <tgl@sss.pgh.pa.us>
Reviweed-by: Andrei Lepikhov <lepihov@gmail.com> (who didn't like it)
Discussion: http://postgr.es/m/CA+TgmoZfvQUBWQ2P8iO30jywhfEAKyNzMZSR+uc2xr9PZBw6eQ@mail.gmail.com
2025-03-26 13:52:21 -04:00

29 lines
658 B
Meson

# Copyright (c) 2022-2025, PostgreSQL Global Development Group
pg_overexplain_sources = files(
'pg_overexplain.c',
)
if host_system == 'windows'
pg_overexplain_sources += rc_lib_gen.process(win32ver_rc, extra_args: [
'--NAME', 'pg_overexplain',
'--FILEDESC', 'pg_overexplain - allow EXPLAIN to dump even more details',])
endif
pg_overexplain = shared_module('pg_overexplain',
pg_overexplain_sources,
kwargs: contrib_mod_args,
)
contrib_targets += pg_overexplain
tests += {
'name': 'pg_overexplain',
'sd': meson.current_source_dir(),
'bd': meson.current_build_dir(),
'regress': {
'sql': [
'pg_overexplain',
],
},
}