Re: Idea: Avoid JOINs by using path expressions to follow FKs

From: Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
To: Julien Rouhaud <rjuju123(at)gmail(dot)com>
Cc: Joel Jacobson <joel(at)compiler(dot)org>, Vik Fearing <vik(at)postgresfriends(dot)org>, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>, Andrew Dunstan <andrew(at)dunslane(dot)net>, Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>, PostgreSQL Hackers <pgsql-hackers(at)lists(dot)postgresql(dot)org>
Subject: Re: Idea: Avoid JOINs by using path expressions to follow FKs
Date: 2021-03-30 07:02:39
Message-ID: CAFj8pRAx+-v3xMZUMJyaFKhWUxXw=Xv8d8GAKeNrpSNaC8m4hQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

út 30. 3. 2021 v 8:52 odesílatel Julien Rouhaud <rjuju123(at)gmail(dot)com> napsal:

> On Tue, Mar 30, 2021 at 08:03:09AM +0200, Pavel Stehule wrote:
> >
> > On second hand, it can be very nice to have some special strict mode in
> > Postgres - maybe slower, not compatible, that disallow some dangerous or
> > unsafe queries. But it is possible to solve in extensions, but nobody did
> > it. Something like plpgsql_check for SQL - who will write sql_check?
>
> The #1 cause of problems is probably unqualified outer references, and
> unfortunately I don't think it's really possible to detect that in an
> extension, as the required information is only available in the raw
> parsetree.
>

the raw parsetree is available I think. I didn't check it. But it can be
easy to attach or attach a copy to Query structure. Maybe there is no
necessary hook. But it can be a good reason for implementing a post parsing
hook.

It should be easy to check if all joins are related to foreign key
constraints.

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Paul Guo 2021-03-30 07:12:19 Re: standby recovery fails (tablespace related) (tentative patch and discussion)
Previous Message Julien Rouhaud 2021-03-30 06:52:47 Re: Idea: Avoid JOINs by using path expressions to follow FKs