> The thing to do here is modify pg_operator.dat and give both of these
> operators an "oid_symbol". Perhaps Int4NegOperator is ok.
Thanks for suggestions, I replaced hacking oids with Int4NegOperator and 
NumericNegOperator.
And I also updated some comments and commit message.

Please feel free to review latest version patch 
v3-0001-Printing-const-folder-expression-in-ruleutils.c.patch

Best regards,
Haotian


From: David Rowley <dgrowle...@gmail.com>
Date: Monday, December 4, 2023 at 06:08
To: Haotian Chen <charliett2...@outlook.com>
Cc: Tom Lane <t...@sss.pgh.pa.us>, pgsql-hack...@postgresql.org 
<pgsql-hack...@postgresql.org>
Subject: Re: Dumped SQL failed to execute with ERROR "GROUP BY position -1 is 
not in select list"
On Mon, 4 Dec 2023 at 02:38, Haotian Chen <charliett2...@outlook.com> wrote:
> Yes, I updated my patch and just used oid numbers 558 and 1751 stand for
> int4um and numeric_uminus. Maybe we could define a macro for them,
> but seems unnecessary.

The thing to do here is modify pg_operator.dat and give both of these
operators an "oid_symbol". Perhaps Int4NegOperator is ok.  (I think
Int4UnaryMinusOperator might be on the verbose side.).  The code that
parses pg_operator.dat will then define that constant in
pg_operator_d.h.  You can then use that and the other ones you defined
for the numeric operator instead of hard coding the Oids in the patch.

David

Attachment: v3-0001-Printing-const-folder-expression-in-ruleutils.c.patch
Description: v3-0001-Printing-const-folder-expression-in-ruleutils.c.patch

Reply via email to