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

Joel Jacobson <joel@compiler.org>

From: "Joel Jacobson" <joel@compiler.org>
To: "Vik Fearing" <vik@postgresfriends.org>, "Tom Lane" <tgl@sss.pgh.pa.us>, "Andrew Dunstan" <andrew@dunslane.net>
Cc: "Alvaro Herrera" <alvherre@alvh.no-ip.org>, pgsql-hackers@lists.postgresql.org
Date: 2021-03-29T17:55:49Z
Lists: pgsql-hackers
On Mon, Mar 29, 2021, at 16:17, Vik Fearing wrote:
> CREATE TABLE order_details (
>     "order" REF(orders),
>     product REF(products),
>     quantity integer,
>     PRIMARY KEY ("order", product)
> );
> 
> 
> And the query would be:
> 
> SELECT DISTINCT order_details."order"->customer->company_name
> FROM order_details
> WHERE order_details.product->product_name = 'Chocolade';
> 
> 
> Postgres already supports most of that, but not all of it.

Do you know if REF is meant to be a replacement for foreign keys?

Are they a different thing meant to co-exist with foreign keys,
or are they actually foreign keys "under the hood"
or something else entirely?

/Joel

Commits

  1. Clean up generation of default names for constraints, indexes, and serial