BUG #18294: Manual savepoints do not work with JDBC param cleanupSavepoints=true

From: PG Bug reporting form <noreply(at)postgresql(dot)org>
To: pgsql-bugs(at)lists(dot)postgresql(dot)org
Cc: obouda(at)gk-software(dot)com
Subject: BUG #18294: Manual savepoints do not work with JDBC param cleanupSavepoints=true
Date: 2024-01-15 10:30:45
Message-ID: 18294-65a4754c8e42a477@postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs

The following bug has been logged on the website:

Bug reference: 18294
Logged by: Ondrej Bouda
Email address: obouda(at)gk-software(dot)com
PostgreSQL version: 16.1
Operating system: Linux
Description:

We come across a bug when it is not possible to roll back to a manual
savepoint.
The rollback fails with error: Error during rollback to savepoint.
org.postgresql.util.PSQLException: ERROR: savepoint "SAVE_TEST_01" does not
exist

Steps to reproduce:
1/ Connect via JDBC with JDBC params
autosave=always&cleanupSavepoints=true.
2/ Create a manual savepoint: savepoint SAVE_TEST_01;
3/ Try to roll back => error: rollback to SAVE_TEST_01;

Reproduced with:
* JDBC driver ver. 42.7.1
* PostgreSQL ver. 16.1 + 15.5 + 14.10

The error occurs when using SQL statements as well as when using the JDBC
API for savepoint/rollback (Connection.setSavepoint +
Connection.rollback).

The documentation for the cleanupSavepoints parameter reads: "Determines if
the SAVEPOINT created in autosave mode is released prior to the
statement."
* https://jdbc.postgresql.org/documentation/use/
* I would understand the doc in the way that it should affect just and only
the savepoint created by the driver due to the autosave=true param
(therefore, manual savepoints should not be affected).

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message PG Bug reporting form 2024-01-15 11:37:19 BUG #18295: In PostgreSQL a unique index on targeted columns is sufficient to support a foreign key
Previous Message PG Bug reporting form 2024-01-15 10:19:22 BUG #18293: Rocky 8 postgres install failing as nothing provides libarmadillo.so.10()(64bit)