Re: Re: postgres TODO
От | darcy@druid.net (D'Arcy J.M. Cain) |
---|---|
Тема | Re: Re: postgres TODO |
Дата | |
Msg-id | m13Bdyw-000AXuC@druid.net обсуждение исходный текст |
Ответ на | Re: Re: postgres TODO (Alessio Bragadini <alessio@albourne.com>) |
Список | pgsql-hackers |
Thus spake Alessio Bragadini > > > * Add function to return primary key value on INSERT > > > > I don't get the point of this. Don't you know what you inserted? For > > sequences there's curval() > > Mmmhhh... it means that we can assume no update to the sequence value > between the insert and the curval selection? We can within one connection so this is safe but there are other problems which I am not sure would be solved by this anyway. With rules, triggers and defaults there are often changes to the row between the insert and the values that hit the backing store. This is a general problem of which the primary key is only one example. In fact, the OID of the new row is returned so what stops one from just using it to get any information required. This is exactly what PyGreSQL does in its insert method. After returning, the dictionary used to store the fields for the row have been updated with the actual contents of the row in the database. It simply does a "SELECT *" using the new OID to get the row back. -- D'Arcy J.M. Cain <darcy@{druid|vex}.net> | Democracy is three wolves http://www.druid.net/darcy/ | and a sheep voting on +1 416 425 1212 (DoD#0082) (eNTP) | what's for dinner.
В списке pgsql-hackers по дате отправления: