Re: patch: function xmltable

Pavel Stehule <pavel.stehule@gmail.com>

From: Pavel Stehule <pavel.stehule@gmail.com>
To: Alvaro Herrera <alvherre@2ndquadrant.com>
Cc: Craig Ringer <craig@2ndquadrant.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2016-12-22T16:11:47Z
Lists: pgsql-hackers

Attachments

2016-12-18 16:27 GMT+01:00 Pavel Stehule <pavel.stehule@gmail.com>:

>
>
> 2016-12-07 20:37 GMT+01:00 Pavel Stehule <pavel.stehule@gmail.com>:
>
>>
>>
>> 2016-12-07 18:34 GMT+01:00 Alvaro Herrera <alvherre@2ndquadrant.com>:
>>
>>> Pavel Stehule wrote:
>>>
>>> > I fixed two issues.
>>> >
>>> > 2. there was reverse setting in NOT NULL flag
>>>
>>> Ah-hah, that was silly, thanks.
>>>
>>> > 1. there are not columns data when there are not any explicit column -
>>> fixed
>>>
>>> Hmm.  Now that I see how this works, by having the GetValue "guess" what
>>> is going on and have a special case for it, I actually don't like it
>>> very much.  It seems way too magical.  I think we should do away with
>>> the "if column is NULL" case in GetValue, and instead inject a column
>>> during transformTableExpr if columns is NIL.  This has implications on
>>> ExecInitExpr too, which currently checks for an empty column list -- it
>>> would no longer have to do so.
>>>
>>
>> I prefer this way against second described. The implementation should be
>> in table builder routines, not in executor.
>>
>> sending new update
>>
>
> new update - no functional changes, just unbreaking after last changes in
> master.
>

another update - lot of cleaning

Regards

Pavel


>
> Regards
>
> Pavel
>
>
>>
>> Regards
>>
>> Pavel
>>
>>
>>>
>>> Maybe this means we need an additional method, which would request "the
>>> expr that returns the whole row", so that transformExpr can work for
>>> XmlTable (which I think would be something like "./") and the future
>>> JsonTable stuff (I don't know how that one would work, but I assume it's
>>> not necessarily the same thing).
>>>
>>
>>
>>
>>
>>>
>>> --
>>> Álvaro Herrera                https://www.2ndQuadrant.com/
>>> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
>>>
>>
>>
>

Commits

  1. Support XMLTABLE query expression

  2. Create <sect3> in the functions-xml section

  3. Improve handling of "UPDATE ... SET (column_list) = row_constructor".

  4. Add xmlexists function