Re: PostgreSQL vs SQL/XML Standards

Поиск
Список
Период
Сортировка
От Pavel Stehule
Тема Re: PostgreSQL vs SQL/XML Standards
Дата
Msg-id CAFj8pRBDDj0Wh-3qrtC0J5tUB0z==AMh8jQ_DtiDvm7+NMZuOA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: PostgreSQL vs SQL/XML Standards  (Pavel Stehule <pavel.stehule@gmail.com>)
Ответы Re: PostgreSQL vs SQL/XML Standards
Список pgsql-hackers


po 29. 10. 2018 v 11:05 odesílatel Pavel Stehule <pavel.stehule@gmail.com> napsal:

(It would not be exactly overloading, because of the special sugared
syntax known to the parser, but it could look like overloading, and be
intuitive to the user.)

If you have convenient access to Oracle to check compatibility, could you
compare this query?

SELECT * FROM XMLTABLE('.'
PASSING '<sale hatsize="7" customer="alice" taxable="false"/>'
COLUMNS
a boolean PATH 'string("cat" < "dog")',
b boolean PATH 'string("cat" > "dog")',
c boolean PATH 'string(sale/@taxable = false())');

(I suspect in Oracle it would also work without the string() wrappings,
but just to make it easy, I think this way it will work in both Oracle
and PG—that is, not error, though results may differ.)



I have a access to too old 11.2 Oracle.  There I had to modify query because there is not boolean type. I replaced bool by int, but I got a error
ORA-19224:XPTY-004 .. expected node()*, got xs:string - it doesn't work with/without string() wrappings.

The problem is in last line - the expression  "sale/@taxable = false()" is not valid on Oracle. Using string() wrapping is a issue, because it returns "true", "false", but Oracle int doesn't accept it.

Pavel


Regards

Pavel Stehule



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Pavel Stehule
Дата:
Сообщение: Re: PostgreSQL vs SQL/XML Standards
Следующее
От: David Rowley
Дата:
Сообщение: Re: Ordered Partitioned Table Scans