From: | David G Johnston <david(dot)g(dot)johnston(at)gmail(dot)com> |
---|---|
To: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: "RETURNING PRIMARY KEY" syntax extension |
Date: | 2014-06-09 06:04:14 |
Message-ID: | 1402293854142-5806464.post@n5.nabble.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
David G Johnston wrote
>
> Ian Barwick wrote
>> Hi,
>>
>> The JDBC API provides the getGeneratedKeys() method as a way of
>> retrieving
>> primary key values without the need to explicitly specify the primary key
>> column(s). This is a widely-used feature, however the implementation has
>> significant
>> performance drawbacks.
>>
>> Currently this feature is implemented in the JDBC driver by appending
>> "RETURNING *" to the supplied statement. However this means all columns
>> of
>> affected rows will be returned to the client, which causes significant
>> performance problems, particularly on wide tables. To mitigate this, it
>> would
>> be desirable to enable the JDBC driver to request only the primary key
>> value(s).
> Seems like a good idea.
>> ERROR: Relation does not have any primary key(s)
> "Relation does not have a primary key."
> or
> "Relation has no primary key." (preferred)
>
> By definition it cannot have more than one so it must have none.
>
> It could have multiple unique constraints but I do not believe they are
> considered if not tagged as primary.
Also,
I did see where you account for auto-updatable views but what about complex
views with instead of triggers?
These can still be the target of DML queries but are not guaranteed (though
can possibly) to return a well-defined primary key. At worse an explicit
error about the view itself, not the apparent lack of primary key, should be
emitted.
David J.
--
View this message in context: http://postgresql.1045698.n5.nabble.com/RETURNING-PRIMARY-KEY-syntax-extension-tp5806462p5806464.html
Sent from the PostgreSQL - hackers mailing list archive at Nabble.com.
From | Date | Subject | |
---|---|---|---|
Next Message | Ian Barwick | 2014-06-09 06:17:12 | Re: "RETURNING PRIMARY KEY" syntax extension |
Previous Message | David G Johnston | 2014-06-09 05:47:02 | Re: "RETURNING PRIMARY KEY" syntax extension |