Re: Is there a way to run heap_insert() AFTER ExecInsertIndexTuples() ?
Zoltan Boszormenyi <zboszor@dunaweb.hu>
From: Zoltan Boszormenyi <zboszor@dunaweb.hu>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: "Florian G. Pflug" <fgp@phlo.org>, pgsql-hackers@postgresql.org
Date: 2007-03-01T13:50:30Z
Lists: pgsql-hackers
Zoltan Boszormenyi írta: >> The cost I am thinking now is an extra heap_update() >> after heap_insert() without generating the identity value >> and inserting index tuples to indexes that doesn't >> contain the identity column. > > And as far as I tested the current state, there is no cost > if you don't use GENERATED or IDENTITY. > The extra heap_update() would be performed only > if you have an IDENTITY colum. The modification I imagined is actually working: - skip indexes using the identity columns - do a simple_heap_update() after all other columns are assigned and index tuples are inserted - do ExecInsertIndexTuples() on indexes referencing the IDENTITY column However, I get warning messages like: WARNING: detected write past chunk end in ExecutorState 0xaaff68 How can I prevent them? Best regards, Zoltán Böszörményi