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-07T13:47:50Z
Lists: pgsql-hackers

Attachments

2016-12-07 8:14 GMT+01:00 Alvaro Herrera <alvherre@2ndquadrant.com>:

> Here's v21.
>
> * I changed the grammar by moving the NOT NULL to the column options,
> and removing the IsNotNull production.  It wasn't nice that "NOT NULL
> DEFAULT 0" was not accepted, which it is with the new representation.
>
> * The tuple that's returned is natively a TupleTableSlot inside the
> table builder, not directly a HeapTuple.  That stuff was ugly and wasn't
> using the proper abstraction anyway.
>
> * I changed the signatures of the methods so that they receive
> TableExprState, and restructured the "opaque" data to be inside
> TableExprState.  Now we don't need to have things such as the tupdesc or
> the input functions be repeated in the opaque struct.  Instead they
> belong to the TableExprState and the methods can read them from there.
>
> I managed to break the case with no COLUMNS.  Probably related to the
> tupdesc changes.  It now crashes the regression test.  Too tired to
> debug now; care to take a look?  The other stuff seems to run fine,
> though of course the regression test crashes in the middle, so perhaps
> there are other problems.
>

I fixed two issues.

1. there are not columns data when there are not any explicit column - fixed

2. there was reverse setting in NOT NULL flag

all tests passed now

Regards

Pavel


> --
> Á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