Skip to content

Conversation

@morgando
Copy link
Contributor

@morgando morgando commented Nov 28, 2025

There is a bug when running expert mode under snapshot isolation. Because these queries open cursors without first going through get_prepared_stmt or handle_sql_begin, the snapshot state never gets initialized — which means expert-mode queries end up running with an undefined snapshot.

This PR makes a few changes:

  • Downgrades expert-mode snapshot queries to blocksql. This shouldn’t result in unexpected client-facing behavior, since expert-mode queries don’t return result sets and the client can’t actually execute writes in expert mode.
  • Adds a test that runs expert mode under snapshot isolation.
  • Adds assertions to ensure that any snapshot-transaction opening cursors has its snapshot state initialized — which would have caught the undefined-snapshot issue surfaced by the new test.

Copy link

@roborivers roborivers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Coding style check: Success ✓.
Smoke testing: Success ✓.
Cbuild submission: Success ✓.
Regression testing: Success ✓.

The first 10 failing tests are:
analyze
consumer_non_atomic_default_consumer_generated
insert_lots_ssl_generated
insert_lots
incoh_remsql_rte_connect_generated
incoh_remsql

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants