pgsql: Refactor ON CONFLICT index inference parse tree representation.

Started by Andres Freundabout 11 years ago3 messagescomitters
Jump to latest
#1Andres Freund
andres@anarazel.de

Refactor ON CONFLICT index inference parse tree representation.

Defer lookup of opfamily and input type of a of a user specified opclass
until the optimizer selects among available unique indexes; and store
the opclass in the parse analyzed tree instead. The primary reason for
doing this is that for rule deparsing it's easier to use the opclass
than the previous representation.

While at it also rename a variable in the inference code to better fit
it's purpose.

This is separate from the actual fixes for deparsing to make review
easier.

Branch
------
master

Details
-------
http://git.postgresql.org/pg/commitdiff/0740cbd7593d871858c352fab29a59cf7fa54b00

Modified Files
--------------
contrib/pg_stat_statements/pg_stat_statements.c | 3 +-
src/backend/nodes/copyfuncs.c | 3 +-
src/backend/nodes/equalfuncs.c | 3 +-
src/backend/nodes/outfuncs.c | 3 +-
src/backend/nodes/readfuncs.c | 3 +-
src/backend/optimizer/util/plancat.c | 34 +++++++++++++++--------
src/backend/parser/parse_clause.c | 14 ++--------
src/include/nodes/primnodes.h | 3 +-
8 files changed, 31 insertions(+), 35 deletions(-)

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#2Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andres Freund (#1)
Re: pgsql: Refactor ON CONFLICT index inference parse tree representation.

Andres Freund <andres@anarazel.de> writes:

Refactor ON CONFLICT index inference parse tree representation.

This evidently changed stored rules, so it should've had a catversion
bump. It's not too important because I did one earlier today, but
just as a reminder ...

regards, tom lane

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers

#3Andres Freund
andres@anarazel.de
In reply to: Tom Lane (#2)
Re: pgsql: Refactor ON CONFLICT index inference parse tree representation.

On 2015-05-19 17:24:49 -0400, Tom Lane wrote:

Andres Freund <andres@anarazel.de> writes:

Refactor ON CONFLICT index inference parse tree representation.

This evidently changed stored rules, so it should've had a catversion
bump. It's not too important because I did one earlier today, but
just as a reminder ...

Ah damnit. Thanks.

--
Sent via pgsql-committers mailing list (pgsql-committers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-committers