Tatsuo Ishii <ishii@postgresql.org> writes:
> I saw this comment in _outQuery() in outfuncs.c:
> WRITE_ENUM_FIELD(commandType, CmdType);
> WRITE_ENUM_FIELD(querySource, QuerySource);
> /* we intentionally do not print the queryId field */
> WRITE_BOOL_FIELD(canSetTag);
> What is the resoning behind the comment?
We don't want the queryId copied when a view/rule is reloaded,
since there's no guarantee that the algorithm for computing it
is stable for the life of a PG major version. Instead it's reset
to zero on reload, and any plugins that care can recompute it.
I suppose we could print it anyway and then ignore it on reload
but what's the point of that?
regards, tom lane