Re: Push down time-related SQLValue functions to foreign server - Mailing list pgsql-hackers

From Ranier Vilela
Subject Re: Push down time-related SQLValue functions to foreign server
Date
Msg-id CAEudQAqdvioDMpcJtx7byq6GDZ14bpMc-8J339BMGLbfUCCspQ@mail.gmail.com
Whole thread Raw
In response to Re: Push down time-related SQLValue functions to foreign server  (Alexander Pyhalov <a.pyhalov@postgrespro.ru>)
Responses Re: Push down time-related SQLValue functions to foreign server  (Alexander Pyhalov <a.pyhalov@postgrespro.ru>)
List pgsql-hackers
Em sex., 20 de ago. de 2021 às 04:13, Alexander Pyhalov <a.pyhalov@postgrespro.ru> escreveu:
Hi.

Ranier Vilela писал 2021-08-19 14:01:
> Em qui., 19 de ago. de 2021 às 07:50, Zhihong Yu <zyu@yugabyte.com>
>> Hi,
>> For 0001 patch:
>>
>> +               if ((s->op != SVFOP_CURRENT_TIMESTAMP) &&
>> +                   (s->op != SVFOP_CURRENT_TIMESTAMP_N) &&
>> +                   (s->op != SVFOP_CURRENT_TIME) &&
>> ...
>>
>> The above check appears more than once. If extracted into a helper
>> method, it would help reduce duplicate and make the code more
>> readable.
>
> Perhaps in a MACRO?

Changed this check to a macro, also fixed condition in
is_foreign_param() and added test for it.
Also fixed comment in prepare_query_params().
Thanks.

Another question:
For 0002 patch:

+ if (node->funcid == F_NOW)
+ {
+ SQLValueFunction *svf = makeNode(SQLValueFunction);
+
+ svf->op = SVFOP_CURRENT_TIMESTAMP;
+ svf->type = TIMESTAMPTZOID;
+ svf->typmod = -1;
+ svf->location = -1;
+
+ deparseSQLValueFunction(svf, context);
+
+ return;
+ }
It seems to me that the svf->xpr field ( SQLValueFunction *svf ) is not initialized somewhere even by deparseSQLValueFunction.
If it's not really used, it should be initialized to NULL, ok?

regards,
Ranier Vilela

pgsql-hackers by date:

Previous
From: Fujii Masao
Date:
Subject: Re: Some leftovers of recent message cleanup?
Next
From: Peter Eisentraut
Date:
Subject: Re: psql - add SHOW_ALL_RESULTS option