Re: SQL Property Graph Queries (SQL/PGQ)

Поиск
Список
Период
Сортировка
От Peter Eisentraut
Тема Re: SQL Property Graph Queries (SQL/PGQ)
Дата
Msg-id 22769c90-e524-4bab-bc1c-23e6b8bd83bb@eisentraut.org
обсуждение исходный текст
Ответ на Re: SQL Property Graph Queries (SQL/PGQ)  (Ashutosh Bapat <ashutosh.bapat.oss@gmail.com>)
Список pgsql-hackers
On 17.12.25 06:32, Ashutosh Bapat wrote:
> On Mon, Dec 15, 2025 at 6:43 PM Ashutosh Bapat
> <ashutosh.bapat.oss@gmail.com> wrote:
>>
>> Rebased patches on the latest HEAD which required me to move
>> graph_table.sql to another parallel group.
> 
> Huh, the movement resulted in losing that test from parallel_schedule.
> Fixed in the attached patches.

A couple of items:

1) I was running some tests that involved properties with mismatching 
typmods, and I got an error message like

ERROR:  property "p1" data type modifier mismatch: 14 vs. 19

but the actual types were varchar(10) and varchar(15).  So to improve 
that, we need to run these through the typmod formatting routines, not 
just print the raw typmod numbers.  I actually just combined that with 
the check for the type itself.  Also, there was no test covering this, 
so I added one.  See attached patches.

I did another investigation about whether this level of checking is 
necessary.  I think according to the letter of the SQL standard, the 
typmods must indeed match.  It seems Oracle does not check (the example 
mentioned above came from an Oracle source).  But I think it's okay to 
keep the check.  In PostgreSQL, it is much less common to write like 
varchar(1000).  And we can always consider relaxing it later.

2) I had it in my notes to consider whether we should support the colon 
syntax for label expressions.  I think we might have talked about that 
before.

I'm now leaning toward not supporting it in the first iteration.  I 
don't know that we have fully explored possible conflicts with host 
variable syntax in ecpg and psql and the like.  Maybe avoid that for now.

There was also a bit of an inconsistency in the presentation: The 
documentation introduced the colon as seemingly the preferred syntax, 
but ruleutils.c dumped out the IS syntax.

(It was also a bit curious that some test code put spaces around the 
colon, which is not idiomatic.)

Looking around at other implementations: Oracle does not support it; 
DuckDB supports it, but it doesn't seem to be very up to date, so I 
don't know what the thinking there is; Google does support it, but it 
seems their syntax is more of a PGQ-GQL hybrid, so it's not a good 
reference.

Attached is a patch that shows how to revert the colon support.  It's 
pretty simple, and it would be easy to add it back in later, I think.

Вложения

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