renovate-bot opened a new pull request, #4985:
URL: https://github.com/apache/polaris/pull/4985

   This PR contains the following updates:
   
   | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | 
[Confidence](https://docs.renovatebot.com/merge-confidence/) |
   |---|---|---|---|
   | [org.postgresql:postgresql](https://jdbc.postgresql.org) 
([source](https://redirect.github.com/pgjdbc/pgjdbc)) | `42.7.12` โ†’ `42.7.13` | 
![age](https://developer.mend.io/api/mc/badges/age/maven/org.postgresql:postgresql/42.7.13?slim=true)
 | 
![confidence](https://developer.mend.io/api/mc/badges/confidence/maven/org.postgresql:postgresql/42.7.12/42.7.13?slim=true)
 |
   
   ---
   
   > [!WARNING]
   > Some dependencies could not be looked up. Check the [Dependency 
Dashboard](../issues/642) for more information.
   
   ---
   
   ### Release Notes
   
   <details>
   <summary>pgjdbc/pgjdbc (org.postgresql:postgresql)</summary>
   
   ### 
[`v42.7.13`](https://redirect.github.com/pgjdbc/pgjdbc/blob/HEAD/CHANGELOG.md#42713-2026-07-06)
   
   ##### Added
   
   - feat: invalidate the prepared-statement cache when the server reports a 
`search_path` change via GUC\_REPORT (PostgreSQL 18+), so cached plans are no 
longer used against the wrong schema [PR 
#&#8203;4259](https://redirect.github.com/pgjdbc/pgjdbc/pull/4259)
   - feat: `reWriteBatchedInserts` now merges up to 32768 rows into one 
multi-values `INSERT` (bounded by the 65535 bind-parameter limit on the 
extended protocol) instead of capping at 128, which speeds up batches of 
few-column rows. The new `reWriteBatchedInsertsSize` connection property lowers 
that cap when set; the default of `0` uses that maximum. [PR 
#&#8203;4207](https://redirect.github.com/pgjdbc/pgjdbc/pull/4207)
   - feat: invalidate the prepared-statement cache after CREATE/DROP/ALTER so 
callers no longer trip on "cached plan must not change result type" without 
opting into `autosave=ALWAYS`. Controlled by the new `flushCacheOnDdl` 
connection property (default `true`); set to `false` for the prior behaviour. 
[PR #&#8203;4067](https://redirect.github.com/pgjdbc/pgjdbc/pull/4067)
   - feat: add `connectExecutor` connection property to customize the 
`Executor` used to run the worker task that performs the connection attempt 
when `loginTimeout` is in effect. The value is the fully qualified name of a 
class implementing `java.util.concurrent.Executor`. With a null value, the 
default, the driver retains the prior behavior of running the connection 
attempt on a daemon thread named `"PostgreSQL JDBC driver connection thread"`. 
The executor must run the task on a thread other than the caller's. Running the 
attempt on a named thread lets applications that monitor driver-created threads 
identify it. [PR 
#&#8203;4165](https://redirect.github.com/pgjdbc/pgjdbc/pull/4165)
   - feat: add `classLoaderStrategy` connection property to control which 
classloaders the driver searches when loading a class named by a connection 
property, for example `socketFactory`. The default `driver-first` now falls 
back to the thread context classloader when the driver's classloader cannot 
resolve the class, which fixes class loading in non-flat class paths such as 
Quarkus and OSGi. Set `driver` to keep the previous driver-classloader-only 
behaviour, or `context-first` to prefer the thread context classloader [Issue 
#&#8203;2112](https://redirect.github.com/pgjdbc/pgjdbc/issues/2112) [PR 
#&#8203;4167](https://redirect.github.com/pgjdbc/pgjdbc/pull/4167)
   - feat: add OID constants for geometric arrays, `RECORD`, and `refcursor` 
[PR #&#8203;4220](https://redirect.github.com/pgjdbc/pgjdbc/pull/4220)
   - feat: `LargeObject` `BlobInputStream` now skips by seeking instead of 
reading, and the driver exposes the server version so it can select the 64-bit 
large-object API where available [PR 
#&#8203;4204](https://redirect.github.com/pgjdbc/pgjdbc/pull/4204)
   
   ##### Changed
   
   - refactor: the worker that runs the connection attempt under `loginTimeout` 
is now a `FutureTask` (`ConnectTask`) instead of the hand-rolled 
`ConnectThread`. When the caller hits the timeout, the task is now cancelled 
with `cancel(true)`, which interrupts the worker thread rather than letting it 
run to completion. This makes the connection attempt interruptible, so 
`loginTimeout` can stop a slow connection attempt instead of leaking a thread. 
As before, a connection that the worker still manages to establish after the 
caller gives up is closed by the worker so that it does not leak. There are no 
public API changes and this should only lead to faster background resource 
cleanup for connections that time out. [PR 
#&#8203;4120](https://redirect.github.com/pgjdbc/pgjdbc/pull/4120)
   - chore: `PGXAConnection.ConnectionHandler` now rejects 
`setAutoCommit(false)` and `setSavepoint(...)` during an active XA branch, in 
addition to the long-rejected `setAutoCommit(true)` / `commit()` / 
`rollback()`. The `setSavepoint` rejection was already meant to be in place but 
the guard misspelled the method name as `setSavePoint`, so savepoints silently 
went through. Both changes bring the proxy in line with JTA 1.2 ยง3.4. [PR 
#&#8203;4114](https://redirect.github.com/pgjdbc/pgjdbc/pull/4114)
   - chore: `commitPrepared` / `rollback`-of-prepared now return `XAER_RMFAIL` 
instead of `XAER_RMERR` when the underlying connection is left in a non-idle 
`TransactionState`. Transaction managers (Geronimo, Narayana, Atomikos) treat 
`XAER_RMFAIL` as retryable on a fresh `XAResource`; the prepared transaction is 
no longer abandoned. [PR 
#&#8203;4114](https://redirect.github.com/pgjdbc/pgjdbc/pull/4114)
   - refactor: derive `getPrimaryKeys` from `pg_constraint.conkey` [PR 
#&#8203;4202](https://redirect.github.com/pgjdbc/pgjdbc/pull/4202)
   
   ##### Fixed
   
   - fix: the published GitHub release now ships the released 
`postgresql-<version>.jar` and its detached PGP signature, taken from the same 
signed build that is uploaded to Maven Central, instead of a leftover SNAPSHOT 
jar [Issue #&#8203;3812](https://redirect.github.com/pgjdbc/pgjdbc/issues/3812) 
[PR #&#8203;3814](https://redirect.github.com/pgjdbc/pgjdbc/pull/3814)
   - fix: simplify the `Statement#cancel` state machine by dropping the 
redundant `CANCELLED` state. `killTimerTask` now waits for the state to return 
to `IDLE` directly, which removes a spin-forever case when more than one thread 
observes the cancel completing [PR 
#&#8203;1827](https://redirect.github.com/pgjdbc/pgjdbc/pull/1827).
   - perf: defer simple-query flushes until the driver reads the response, 
allowing `BEGIN` and the following query to share a network flush [Issue 
#&#8203;3894](https://redirect.github.com/pgjdbc/pgjdbc/issues/3894) [PR 
#&#8203;4196](https://redirect.github.com/pgjdbc/pgjdbc/pull/4196)
   - fix: `reWriteBatchedInserts` no longer throws `IllegalArgumentException` 
when batching a parameterless `INSERT` (for example `INSERT INTO t VALUES (1, 
2)`) of 256 rows or more [PR 
#&#8203;4207](https://redirect.github.com/pgjdbc/pgjdbc/pull/4207)
   - fix: a comment before `CALL` in a `CallableStatement` no longer hides the 
native call, so OUT parameter registration works for `/* comment */ call 
proc(?, ?)` and similar. `Parser.modifyJdbcCall` now skips leading whitespace 
and SQL comments (both `--` and `/* */`) before the call, tolerates a trailing 
comment after a `{ ... }` escape, and no longer adds a spurious comma when 
moving an OUT parameter into a call whose arguments are only a comment [Issue 
#&#8203;2538](https://redirect.github.com/pgjdbc/pgjdbc/issues/2538) [PR 
#&#8203;4209](https://redirect.github.com/pgjdbc/pgjdbc/pull/4209)
   - fix: `PreparedStatement.toString()` no longer throws for a `bytea` value 
supplied as text via `PGobject`. Hex-format values (`\x...`) are validated and 
rendered as a `bytea` literal, and escape-format values are quoted and cast 
like any other literal [Issue 
#&#8203;3757](https://redirect.github.com/pgjdbc/pgjdbc/issues/3757) [PR 
#&#8203;4201](https://redirect.github.com/pgjdbc/pgjdbc/pull/4201)
   - fix: the driver no longer nulls the `contextClassLoader` of shared 
`ForkJoinPool.commonPool()` worker threads, which previously left unrelated 
tasks on those threads running with a `null` classloader [Issue 
#&#8203;4155](https://redirect.github.com/pgjdbc/pgjdbc/issues/4155) [PR 
#&#8203;4156](https://redirect.github.com/pgjdbc/pgjdbc/pull/4156)
   - fix: `PgResultSet#getCharacterStream` wraps `String` in a `StringReader` 
[PR #&#8203;4063](https://redirect.github.com/pgjdbc/pgjdbc/pull/4063)
   - fix: `PGXAConnection` no longer saves and restores the underlying 
connection's JDBC `autoCommit` flag. All XA-protocol SQL (`BEGIN`, `PREPARE 
TRANSACTION`, `COMMIT`, `ROLLBACK`, `COMMIT PREPARED`, `ROLLBACK PREPARED`, the 
`recover()` SELECT) is sent through `QUERY_SUPPRESS_BEGIN`, so the caller's 
`autoCommit` value is invariant across every `XAResource` call. Fixes the "2nd 
phase commit must be issued using an idle connection" failure during recovery 
on managed datasources that pool connections with `autoCommit=false` (TomEE, 
WildFly, WebSphere Liberty) [PR 
#&#8203;4114](https://redirect.github.com/pgjdbc/pgjdbc/pull/4114)
   - fix: `PGXAConnection.prepare()` now mutates XA state only after `PREPARE 
TRANSACTION` succeeds. A failed `PREPARE` previously left the driver thinking 
the branch was already prepared, so the follow-up `rollback(xid)` tried 
`ROLLBACK PREPARED` against a non-existent gid and returned `XAER_RMERR`. 
Transaction managers (Narayana) escalated this to `HeuristicMixedException`. 
With the fix, `rollback(xid)` takes the active-branch path and issues a plain 
`ROLLBACK`, which the server accepts cleanly. Fixes [Issue 
#&#8203;3153](https://redirect.github.com/pgjdbc/pgjdbc/issues/3153), [Issue 
#&#8203;3123](https://redirect.github.com/pgjdbc/pgjdbc/issues/3123). [PR 
#&#8203;4114](https://redirect.github.com/pgjdbc/pgjdbc/pull/4114)
   - fix: an updatable result set over an unqualified table name is now 
classified using only the table visible through `search_path`. When two schemas 
held a table with the same name and the same primary or unique index name but a 
different set of key columns, the driver took the union of both schemas' 
columns, so the result set could be wrongly rejected as not updatable [PR 
#&#8203;4214](https://redirect.github.com/pgjdbc/pgjdbc/pull/4214). Supersedes 
[PR #&#8203;3400](https://redirect.github.com/pgjdbc/pgjdbc/pull/3400).
   - fix: `LargeObject.close()` now flushes a buffered output stream before 
marking the object closed, so closing a large object without an explicit 
`flush()` no longer drops buffered writes. The flush runs while the object is 
still open (it calls back into `LargeObject.write()`), and `lo_close` always 
runs afterward; a failure from `lo_close` no longer masks an earlier flush 
error, and the transaction is not committed when the flush failed [Issue 
#&#8203;4247](https://redirect.github.com/pgjdbc/pgjdbc/issues/4247) [PR 
#&#8203;4248](https://redirect.github.com/pgjdbc/pgjdbc/pull/4248).
   - fix: reject empty `timestamp`, `timestamptz`, and `date` text with a clear 
`SQLException` (SQLState `22007`) instead of an 
`ArrayIndexOutOfBoundsException` [PR 
#&#8203;4278](https://redirect.github.com/pgjdbc/pgjdbc/pull/4278)
   - fix: return null `CHAR_OCTET_LENGTH` for non-character columns [PR 
#&#8203;4231](https://redirect.github.com/pgjdbc/pgjdbc/pull/4231)
   - fix: honor scale in `ResultSet.getBigDecimal(int, int)` [PR 
#&#8203;4211](https://redirect.github.com/pgjdbc/pgjdbc/pull/4211)
   - fix: support `java.time` values in an updatable `ResultSet` `updateRow()` 
/ `insertRow()` [PR 
#&#8203;3848](https://redirect.github.com/pgjdbc/pgjdbc/pull/3848)
   - fix: improve batching when the `RETURNING` clause contains `varchar` or 
`numeric` types [PR 
#&#8203;4014](https://redirect.github.com/pgjdbc/pgjdbc/pull/4014)
   - fix: correct `estimatedReceiveBufferBytes` accounting after a forced 
`Sync` [PR #&#8203;4014](https://redirect.github.com/pgjdbc/pgjdbc/pull/4014)
   - fix: avoid creating a transient `ResultSet` for describe-statement 
purposes, and restore the pre-describe path for generated-key batches [PR 
#&#8203;4014](https://redirect.github.com/pgjdbc/pgjdbc/pull/4014)
   - fix: add an explicit failure message when a multi-statement command 
executes in a batch [PR 
#&#8203;4014](https://redirect.github.com/pgjdbc/pgjdbc/pull/4014)
   - fix: detect `search_path` changes case-insensitively [PR 
#&#8203;4216](https://redirect.github.com/pgjdbc/pgjdbc/pull/4216)
   - fix: auto-detect the SSL key format instead of relying on the `.key` 
extension [PR #&#8203;3946](https://redirect.github.com/pgjdbc/pgjdbc/pull/3946)
   - fix: build PKIX trust anchors without a `KeyStore` so FIPS JVMs work [PR 
#&#8203;4193](https://redirect.github.com/pgjdbc/pgjdbc/pull/4193)
   - fix: use `gssResponseTimeout` rather than `sslResponseTimeout` for GSS 
connections [PR 
#&#8203;4076](https://redirect.github.com/pgjdbc/pgjdbc/pull/4076)
   - fix: skip the autosave savepoint for `SET LOCAL` / `SET SESSION 
TRANSACTION` [PR 
#&#8203;4203](https://redirect.github.com/pgjdbc/pgjdbc/pull/4203)
   - fix: do not throw `AssertionError` from `BatchResultHandler` on a closed 
connection [PR 
#&#8203;4187](https://redirect.github.com/pgjdbc/pgjdbc/pull/4187)
   - fix: reject `SQL_TSI_FRAC_SECOND` with an explicit, explained error [PR 
#&#8203;4229](https://redirect.github.com/pgjdbc/pgjdbc/pull/4229)
   - fix: reject a null URL in `Driver.acceptsURL` with a clear 
`NullPointerException` [PR 
#&#8203;4205](https://redirect.github.com/pgjdbc/pgjdbc/pull/4205)
   - fix: reject overlong inputs in `NumberParser.getFastLong` instead of 
silently wrapping [PR 
#&#8203;4163](https://redirect.github.com/pgjdbc/pgjdbc/pull/4163)
   - fix: reject out-of-range and NaN values in `PGInterval.setSeconds` [PR 
#&#8203;4194](https://redirect.github.com/pgjdbc/pgjdbc/pull/4194)
   - fix: close the socket when `PgConnection` setup fails after connect [PR 
#&#8203;4161](https://redirect.github.com/pgjdbc/pgjdbc/pull/4161)
   - fix: keep the `LazyCleanerImpl` cleanup task alive across a transient 
empty queue [PR 
#&#8203;4038](https://redirect.github.com/pgjdbc/pgjdbc/pull/4038)
   - fix: append the default non-proxy hosts when `socksNonProxyHosts` is set 
[PR #&#8203;4045](https://redirect.github.com/pgjdbc/pgjdbc/pull/4045)
   - fix: clear the `ResourceBundle` cache on deregister so the driver can 
unload [PR #&#8203;4237](https://redirect.github.com/pgjdbc/pgjdbc/pull/4237)
   - fix: delete the temp file when spooling a stream to disk fails with an 
`IOException` [PR 
#&#8203;4190](https://redirect.github.com/pgjdbc/pgjdbc/pull/4190)
   - fix: avoid a direct `java.lang.management` dependency in the 
`maxResultBuffer` parser [PR 
#&#8203;4069](https://redirect.github.com/pgjdbc/pgjdbc/pull/4069)
   
   </details>
   
   ---
   
   ### Configuration
   
   ๐Ÿ“… **Schedule**: (UTC)
   
   - Branch creation
     - At any time (no schedule defined)
   - Automerge
     - At any time (no schedule defined)
   
   ๐Ÿšฆ **Automerge**: Disabled by config. Please merge this manually once you are 
satisfied.
   
   โ™ป **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry 
checkbox.
   
   ๐Ÿ”• **Ignore**: Close this PR and you won't be reminded about this update 
again.
   
   ---
   
    - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this 
box
   
   ---
   
   This PR was generated by [Mend Renovate](https://mend.io/renovate/). View 
the [repository job log](https://developer.mend.io/github/apache/polaris).
   
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yNDIuMiIsInVwZGF0ZWRJblZlciI6IjQzLjI0Mi4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZS1wb2xhcmlzIl19-->
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to