Re: Exception while updating result set

From: Dave Cramer <davecramer(at)postgres(dot)rocks>
To: dbadmin(at)pangburngroup(dot)com
Cc: pgsql-jdbc(at)lists(dot)postgresql(dot)org
Subject: Re: Exception while updating result set
Date: 2021-06-26 10:49:03
Message-ID: CADK3HHLNfnO-W7Pit2uapA-8C_cZ6EEbTc4-Tb0GuWB-N985ig@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-jdbc

I can look at this Monday. Can you create an issue on github
https://github.com/pgjdbc/pgjdbc

Thx

On Fri, Jun 25, 2021, 3:43 PM Prasanth <dbadmin(at)pangburngroup(dot)com> wrote:

> Sorry did not get the below email, just saw it in the website. Below is
> the sql.
>
> "SELECT * FROM accounting_periods where plan_id = 30756 order by
> start_date";
>
> Thanks,
> Prasanth
>
> On Thu, 25 Mar 2021 at 12:00, Prasanth <dbadmin(at)pangburngroup(dot)com>
> wrote:
>
> > Hi,
> >
> > Does anyone have any thoughts on this?
> >
> > Thanks,
> > Prasanth
> >
> > On 3/18/21 5:20 PM, Prasanth wrote:
> >
> > Hi,
> >
> > The following code generates an exception shown below. Commenting out the
> > refreshRow() call would solve the issue. This exception happens only in
> > driver versions 42.2.13 and above. Is this a bug in the driver?
> >
> > ResultSet rs =
> > connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
> > ResultSet.CONCUR_UPDATABLE ).executeQuery(sql);
> > rs.next();
> > rs.updateDate("start_date", Date.valueOf("2020-01-01"));
> > rs.updateDate("end_date", Date.valueOf("2020-12-31"));
> > rs.updateRow();
> > rs.refreshRow();
> > rs.updateDate("end_date", Date.valueOf("2020-12-30"));
> > rs.updateRow(); // Exception occurs at this line.
> >
> >
> > Exception in thread "main" java.lang.IllegalArgumentException: Attempted
> > to write to readonly tuple
> > at org.postgresql.core.Tuple.set(Tuple.java:96)
> > at
> > org.postgresql.jdbc.PgResultSet.setRowBufferColumn(PgResultSet.java:1680)
> > at
> > org.postgresql.jdbc.PgResultSet.updateRowBuffer(PgResultSet.java:1733)
> > at org.postgresql.jdbc.PgResultSet.updateRow(PgResultSet.java:1378)
> >
> > Thanks,
> > Prasanth
> >
> >
> What is the query ?
>
>
> From: Dave Cramer <davecramer(at)postgres(dot)rocks>
> To: dbadmin(at)pangburngroup(dot)com
> Cc: pgsql-jdbc(at)lists(dot)postgresql(dot)org
> Subject: Re: Exception while updating result set
> Date: 2021-03-29 14:19:13
> Message-ID:
> CADK3HHK8WPCxbhoE4dTt=U0jpmtGWMT0okXY5oj5SAE1b7T26Q(at)mail(dot)gmail(dot)com
> <https://www.postgresql.org/message-id/CADK3HHK8WPCxbhoE4dTt%3DU0jpmtGWMT0okXY5oj5SAE1b7T26Q%40mail.gmail.com>
> Views: Raw Message
> <https://www.postgresql.org/message-id/raw/CADK3HHK8WPCxbhoE4dTt%3DU0jpmtGWMT0okXY5oj5SAE1b7T26Q%40mail.gmail.com>
> | Whole Thread
> <https://www.postgresql.org/message-id/flat/CADK3HHK8WPCxbhoE4dTt%3DU0jpmtGWMT0okXY5oj5SAE1b7T26Q%40mail.gmail.com>
> | Download mbox
> <https://www.postgresql.org/message-id/mbox/CADK3HHK8WPCxbhoE4dTt%3DU0jpmtGWMT0okXY5oj5SAE1b7T26Q%40mail.gmail.com>
> | Resend email
> <https://www.postgresql.org/message-id/resend/CADK3HHK8WPCxbhoE4dTt%3DU0jpmtGWMT0okXY5oj5SAE1b7T26Q%40mail.gmail.com>
> Lists: pgsql-jdbc
> <https://www.postgresql.org/list/pgsql-jdbc/since/202103291419>
>
> On 3/25/21 11:00 AM, Prasanth wrote:
>
> Hi,
>
> Does anyone have any thoughts on this?
>
> Thanks,
> Prasanth
>
> On 3/18/21 5:20 PM, Prasanth wrote:
>
> Hi,
>
> The following code generates an exception shown below. Commenting out the
> refreshRow() call would solve the issue. This exception happens only in
> driver versions 42.2.13 and above. Is this a bug in the driver?
>
> ResultSet rs =
> connection.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
> ResultSet.CONCUR_UPDATABLE ).executeQuery(sql);
> rs.next();
> rs.updateDate("start_date", Date.valueOf("2020-01-01"));
> rs.updateDate("end_date", Date.valueOf("2020-12-31"));
> rs.updateRow();
> rs.refreshRow();
> rs.updateDate("end_date", Date.valueOf("2020-12-30"));
> rs.updateRow(); // Exception occurs at this line.
>
>
> Exception in thread "main" java.lang.IllegalArgumentException: Attempted
> to write to readonly tuple
> at org.postgresql.core.Tuple.set(Tuple.java:96)
> at
> org.postgresql.jdbc.PgResultSet.setRowBufferColumn(PgResultSet.java:1680)
> at
> org.postgresql.jdbc.PgResultSet.updateRowBuffer(PgResultSet.java:1733)
> at org.postgresql.jdbc.PgResultSet.updateRow(PgResultSet.java:1378)
>
> Thanks,
> Prasanth
>
>
>
>

In response to

Responses

Browse pgsql-jdbc by date

  From Date Subject
Next Message Jian He 2021-06-27 08:11:59 JDBC update changes to JTable.
Previous Message Prasanth 2021-06-25 20:55:27 Re: Exception while updating result set