]> granicus.if.org Git - postgresql/commit
Rearrange explain.c's API so callers need not embed sizeof(ExplainState).
authorTom Lane <tgl@sss.pgh.pa.us>
Thu, 15 Jan 2015 18:39:33 +0000 (13:39 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Thu, 15 Jan 2015 18:39:33 +0000 (13:39 -0500)
commit8e166e164c7c4531d7eb150d836aa2357989237a
tree1cf5abe76f86c4a4bee68e714b03aeebbe0dafa8
parenta5cd70dcbc268381e13cb0b2973b5732856d186f
Rearrange explain.c's API so callers need not embed sizeof(ExplainState).

The folly of the previous arrangement was just demonstrated: there's no
convenient way to add fields to ExplainState without breaking ABI, even
if callers have no need to touch those fields.  Since we might well need
to do that again someday in back branches, let's change things so that
only explain.c has to have sizeof(ExplainState) compiled into it.  This
costs one extra palloc() per EXPLAIN operation, which is surely pretty
negligible.
contrib/auto_explain/auto_explain.c
src/backend/commands/explain.c
src/include/commands/explain.h