spanner: handle unrecognized database default isolation level in PG SHOW statements

Open
#14,967 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

@rayudu3745 is already working on this.

Since Nov 12, 2026.

  • #14981 by @rayudu3745 — open

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
65/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Active
Tech stack
google-cloud, java, postgresql

Research direction

This issue follows up on #14904 and names DatabaseMetadata and DatabaseClient as the change points. Read that pull request and its linked review comment, then trace how PostgreSQL isolation level SHOW statements handle UNRECOGNIZED values. Done when those statements return the raw database default and an older client no longer fails with FAILED_PRECONDITION for an unrecognized level.

Written by the indexing model from the issue text.

Description

Follow-up to #14904, based on this review comment.

If the database's default_transaction_isolation holds a value this client doesn't recognize, the PostgreSQL isolation level SHOW statements fail with FAILED_PRECONDITION. An older client should keep working with a database that uses a newer default isolation level.

Proposal:

  • Store the raw default_transaction_isolation value in DatabaseMetadata and expose it through DatabaseClient.
  • Return that value from the SHOW statements when the level is UNRECOGNIZED, instead of throwing.
Dominant language
Java
Stars
2.1k
Forks
1.2k
Avg merge
2d 14h
Merged PRs (30d)
192

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from googleapis/google-cloud-java

All issues in googleapis/google-cloud-java

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.