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-11-24T05:18:31Z
Lists: pgsql-hackers
2016-11-24 5:52 GMT+01:00 Pavel Stehule <pavel.stehule@gmail.com>: > Hi > > 2016-11-24 0:13 GMT+01:00 Alvaro Herrera <alvherre@2ndquadrant.com>: > >> Oh my, I just noticed we have a new xpath preprocessor in this patch >> too. Where did this code come from -- did you write it all from >> scratch? >> > > I wrote it from scratch - libxml2 has not any API for iteration over XPath > expression (different than iteration over XPath expression result), and > what I have info, there will not be any new API in libxml2. > > There are two purposes: > > Safe manipulation with XPath expression prefixes - ANSI SQL design > implicitly expects some prefix, but it can be used manually. The prefix > should not be used twice and in some situations, when it can breaks the > expression. > Implicit prefix for column PATH expressions is "./". An user can use it explicitly. In my initial patches, the manipulations with XPath expression was more complex - now, it can be reduced - but then we lost default namespaces support, what is nice feature, supported other providers. > > Second goal is support default namespaces - when we needed parser for > first task, then the enhancing for this task was not too much lines more. > > This parser can be used for enhancing current XPath function - default > namespaces are pretty nice, when you have to use namespaces. > > >> >> -- >> Álvaro Herrera https://www.2ndQuadrant.com/ >> PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services >> > >
Commits
-
Support XMLTABLE query expression
- fcec6caafa23 10.0 landed
-
Create <sect3> in the functions-xml section
- 4461a9bfd1ac 10.0 landed
-
Improve handling of "UPDATE ... SET (column_list) = row_constructor".
- 906bfcad7ba7 10.0 cited
-
Add xmlexists function
- 641459f26954 9.1.0 cited