Re: MERGE lacks ruleutils.c decompiling support!? - Mailing list pgsql-hackers

From Alvaro Herrera
Subject Re: MERGE lacks ruleutils.c decompiling support!?
Date
Msg-id 20230510094036.ugfnle53msarfc4n@alvherre.pgsql
Whole thread Raw
In response to MERGE lacks ruleutils.c decompiling support!?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
BTW, I spent some time adding a cross-check to see if the code was at
least approximately correct for all the queries in the MERGE regression
tests, and couldn't find any failures.  I then extended the test to the
other optimizable commands, and couldn't find any problems there either.

My approach was perhaps a bit simple-minded: I just patched
pg_analyze_and_rewrite_fixedparams() to call pg_get_querydef() after
parse_analyze_fixedparams(), then ran the main regression tests.  No
crashes.  Also had it output as a WARNING together with the
query_string, so that I could eyeball for any discrepancies; I couldn't
find any queries that produce wrong contents, though this was just
manual examination of the resulting noise logs.

I suppose a better approach might be to run the query produced by
pg_get_querydef() again through parse analysis and see if it produces
the same; or better yet, discard the original parsed query and parse the
pg_get_querydef().  I didn't try to do this.

-- 
Álvaro Herrera         PostgreSQL Developer  —  https://www.EnterpriseDB.com/
"No deja de ser humillante para una persona de ingenio saber
que no hay tonto que no le pueda enseñar algo." (Jean B. Say)



pgsql-hackers by date:

Previous
From: Bharath Rupireddy
Date:
Subject: Re: Allow pg_archivecleanup to remove backup history files
Next
From: Jelte Fennema
Date:
Subject: Re: Feature: Add reloption support for table access method