Thread: UPDATE ... CURRENT OF cursorname
I looking for an explination of how named cursor updates actually work. For example from the following link: http://java.sun.com/javase/6/docs/technotes/guides/jdbc/getstart/resultset.html the code seems to imply that all rows from a name cursor will be update. ... stmt.setCursorName("x"); ResultSet rs = stmt.executeQuery( "SELECT . . . FROM . . . WHERE . . . FOR UPDATE . . .") String cursorName = rs.getCursorName; int updateCount = stmt2.executeUpdate( "UPDATE . . . WHERE CURRENT OF " + cursorName); ... However from the postgresql manual, the verbase seems to indicate that only the record currently pointed to in the cursor is updated. http://www.postgresql.org/docs/8.3/interactive/sql-update.html ... cursor_name The name of the cursor to use in a WHERE CURRENT OF condition. The ->row<- to be updated is the one most recently fetched from this cursor. ... -- Regards, Richard Broersma Jr. Visit the Los Angeles PostgreSQL Users Group (LAPUG) http://pugs.postgresql.org/lapug
Richard Broersma wrote: > stmt.setCursorName("x"); The postgresql JDBC driver does not support positioned updates (as the metadata will tell you), and setCursorName() is completely ignored. -O
On Mon, Sep 1, 2008 at 3:21 PM, Oliver Jowett <oliver@opencloud.com> wrote: > Richard Broersma wrote: > >> stmt.setCursorName("x"); > > The postgresql JDBC driver does not support positioned updates (as the > metadata will tell you), and setCursorName() is completely ignored. Thanks!, since I am only in the learning/reading stage, I hadn't performed any tests. However, if the feature were to be added some the future, what would the attended affect be? -- Regards, Richard Broersma Jr. Visit the Los Angeles PostgreSQL Users Group (LAPUG) http://pugs.postgresql.org/lapug
Richard Broersma wrote: > On Mon, Sep 1, 2008 at 3:21 PM, Oliver Jowett <oliver@opencloud.com> wrote: >> Richard Broersma wrote: >> >>> stmt.setCursorName("x"); >> The postgresql JDBC driver does not support positioned updates (as the >> metadata will tell you), and setCursorName() is completely ignored. > > Thanks!, since I am only in the learning/reading stage, I hadn't > performed any tests. However, if the feature were to be added some > the future, what would the attended affect be? Well, frankly, I doubt it will be added in the future, because the driver does not map resultset operations directly to cursor operations on the server. -O