Thread: ONLY in queries by RI triggers

ONLY in queries by RI triggers

From
Vladimir Borodin
Date:
Hi all.<div class=""><br class="" /></div><div class="">A long time ago in 04b31609b63ce77fb9273193f07cf21b2a7176af
ONLYkeyword was added to all queries in src/backend/utils/adt/ri_triggers.c. Since that time foreign keys do not work
withinheritance trees and it is mentioned in the documentation for all versions since at least 7.3. </div><div
class=""><brclass="" /></div><div class="">I wonder what are the pitfalls of removing ONLY keyword from those queries?
Ihave made such change, it passes all tests and foreign keys for partitioned tables do work, but I suppose that there
arelots of places where it could break something.</div><div class=""><br class="" /></div><div class="">Thanks in
advance.<brclass="" /><div apple-content-edited="true" class=""><div class="" style="color: rgb(0, 0, 0); font-family:
Helvetica;font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal;
line-height:normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal;
widows:auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><br class="Apple-interchange-newline" />--</div><div
class=""style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal;
font-weight:normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px;
text-transform:none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;">May the
forcebe with you…</div><div class="" style="color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style:
normal;font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto;
text-align:start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px;
-webkit-text-stroke-width:0px;"><a class="" href="https://simply.name">https://simply.name</a></div></div><br class=""
/></div>

Re: ONLY in queries by RI triggers

From
Andres Freund
Date:
On 2015-04-17 17:35:16 +0300, Vladimir Borodin wrote:
> A long time ago in 04b31609b63ce77fb9273193f07cf21b2a7176af ONLY
> keyword was added to all queries in
> src/backend/utils/adt/ri_triggers.c. Since that time foreign keys do
> not work with inheritance trees and it is mentioned in the
> documentation for all versions since at least 7.3.
> 
> I wonder what are the pitfalls of removing ONLY keyword from those
> queries? I have made such change, it passes all tests and foreign keys
> for partitioned tables do work, but I suppose that there are lots of
> places where it could break something.

Unique keys don't work across partitions and they fk triggers rely on
one side being unique...

Greetings,

Andres Freund