Re: Add primary keys to system catalogs - Mailing list pgsql-hackers
From | Mark Rofail |
---|---|
Subject | Re: Add primary keys to system catalogs |
Date | |
Msg-id | CAJvoCus-ptDh-3R3mFno1e1bsKHy6T9R1ipsgZxD3HhxUWvjuQ@mail.gmail.com Whole thread Raw |
In response to | Re: Add primary keys to system catalogs ("Joel Jacobson" <joel@compiler.org>) |
Responses |
Re: Add primary keys to system catalogs
|
List | pgsql-hackers |
Dear Joel,
I would love to start working on this again, I tried to revive the patch again in 2019, however, I faced the same problems as last time (detailed in the thread) and I didn't get the support I needed to continue with this patch.
Are you willing to help rebase and finally publish this patch?
Best Regards,
Mark Rofail
On Tue, 19 Jan 2021 at 2:22 PM Joel Jacobson <joel@compiler.org> wrote:
On Mon, Jan 18, 2021, at 18:23, Tom Lane wrote:> I realized that there's a stronger roadblock for> treating catalog interrelationships as SQL foreign keys. Namely,> that we always represent no-reference situations with a zero OID,> whereas it'd have to be NULL to look like a valid foreign-key case.Another roadblock is perhaps the lack of foreign keys on arrays,which would be needed by the following references:SELECT * FROM oidjoins WHERE column_type ~ '(vector|\[\])$' ORDER BY 1,2,3;table_name | column_name | column_type | ref_table_name | ref_column_name----------------------+----------------+-------------+----------------+-----------------pg_constraint | conexclop | oid[] | pg_operator | oidpg_constraint | conffeqop | oid[] | pg_operator | oidpg_constraint | confkey | int2[] | pg_attribute | attnumpg_constraint | conkey | int2[] | pg_attribute | attnumpg_constraint | conpfeqop | oid[] | pg_operator | oidpg_constraint | conppeqop | oid[] | pg_operator | oidpg_extension | extconfig | oid[] | pg_class | oidpg_index | indclass | oidvector | pg_opclass | oidpg_index | indcollation | oidvector | pg_collation | oidpg_index | indkey | int2vector | pg_attribute | attnumpg_partitioned_table | partattrs | int2vector | pg_attribute | attnumpg_partitioned_table | partclass | oidvector | pg_opclass | oidpg_partitioned_table | partcollation | oidvector | pg_collation | oidpg_policy | polroles | oid[] | pg_authid | oidpg_proc | proallargtypes | oid[] | pg_type | oidpg_proc | proargtypes | oidvector | pg_type | oidpg_statistic_ext | stxkeys | int2vector | pg_attribute | attnumpg_trigger | tgattr | int2vector | pg_attribute | attnum(18 rows)I see there is an old thread with work in this area, "Re: GSoC 2017: Foreign Key Arrays":The last message in the thread is from 2018-10-02:>On Tue, 2 Oct, 2018 at 05:13:26AM +0200, Michael Paquier wrote:>>On Sat, Aug 11, 2018 at 05:20:57AM +0200, Mark Rofail wrote:>> I am still having problems rebasing this patch. I can not figure it out on>> my own.>Okay, it's been a couple of months since this last email, and nothing>has happened, so I am marking it as returned with feedback.>-->MichaelPersonally, I would absolutely *love* FKs on array columns.I always feel shameful when adding array columns to tables,when the elements are PKs in some other table.It's convenient and often the best design,but it feels dirty knowing there are no FKs to help detect application bugs.Let's hope the current FKs-on-catalog-discussion can ignite the old Foreign Key Arrays thread./Joel
pgsql-hackers by date: