Skip to content

Commit

Permalink
add back check_capabilities
Browse files Browse the repository at this point in the history
  • Loading branch information
fantix committed Feb 13, 2025
1 parent f2728e2 commit 228009a
Showing 1 changed file with 17 additions and 0 deletions.
17 changes: 17 additions & 0 deletions edb/server/dbview/dbview.pyx
Original file line number Diff line number Diff line change
Expand Up @@ -1709,6 +1709,23 @@ cdef class DatabaseConnectionView:
msg,
)

if not self.in_tx() and query_capabilities & enums.Capability.WRITE:
isolation = self.config_lookup("default_transaction_isolation")
if isolation and isolation.to_str() != "Serializable":
raise query_capabilities.make_error(
~enums.Capability.WRITE,
errors.TransactionError,
f"default_transaction_isolation is set to "
f"{isolation.to_str()}",
)
access_mode = self.config_lookup("default_transaction_access_mode")
if access_mode and access_mode.to_str() == "ReadOnly":
raise query_capabilities.make_error(
~enums.Capability.WRITE,
errors.TransactionError,
"default_transaction_access_mode is set to ReadOnly",
)

async def reload_state_serializer(self):
# This should only happen once when a different protocol version is
# used after schema change, or non-current version of protocol is used
Expand Down

0 comments on commit 228009a

Please sign in to comment.