Propagate repository lock context through SQL writes

This commit is contained in:
2026-07-22 03:31:10 +03:00
parent 1af36292f7
commit 10224c6344
2 changed files with 31 additions and 0 deletions
+25
View File
@@ -11914,6 +11914,7 @@ def metadata_write_rollback(payload: dict[str, Any]) -> dict[str, Any]:
}
rollback_result = storage_saved_state_rollback(
{
**repository_write_context(payload),
"base_id": base_id,
"backup_id": backup_id,
"allow_sql_saved_state_rollback": True,
@@ -16783,11 +16784,23 @@ def storage_saved_state_apply_proposal(payload: dict[str, Any]) -> dict[str, Any
)
def repository_write_context(payload: dict[str, Any]) -> dict[str, Any]:
"""Carry repository coordination through nested write operations."""
return {
key: payload[key]
for key in ("lock_session_id", "repository_object")
if payload.get(key) is not None
}
def storage_saved_state_rollback(payload: dict[str, Any]) -> dict[str, Any]:
method = "storage.saved_state.rollback"
base_id_or_error = require_base_id(payload, method)
if isinstance(base_id_or_error, dict):
return base_id_or_error
repository_error = repository_apply_gate(payload, method, "apply_and_rollback")
if repository_error:
return repository_error
allow_rollback, allow_error = strict_bool_argument(payload, "allow_sql_saved_state_rollback", method=method, default=False)
if allow_error:
return allow_error
@@ -16827,6 +16840,7 @@ def storage_saved_state_rollback(payload: dict[str, Any]) -> dict[str, Any]:
rollback_payload["base_id"] = base_id_or_error
rollback_payload["allow_sql_saved_state_apply"] = True
rollback_payload["timeout_seconds"] = int(timeout_seconds or 30)
rollback_payload.update(repository_write_context(payload))
apply_result = storage_saved_state_apply_proposal(rollback_payload)
return {
"schema": "onec_storage_saved_state_rollback.v1",
@@ -37883,6 +37897,7 @@ def metadata_form_element_write_apply(payload: dict[str, Any]) -> dict[str, Any]
return timeout_error
apply_result = storage_saved_state_apply_proposal(
{
**repository_write_context(payload),
"base_id": payload.get("base_id"),
"allow_sql_saved_state_apply": True,
"proposal": proposal,
@@ -37923,6 +37938,7 @@ def metadata_form_element_write_apply(payload: dict[str, Any]) -> dict[str, Any]
return result
rollback_result = storage_saved_state_rollback(
{
**repository_write_context(payload),
"base_id": payload.get("base_id"),
"allow_sql_saved_state_rollback": True,
"backup_id": backup_id,
@@ -38118,6 +38134,7 @@ def metadata_form_target_move(payload: dict[str, Any]) -> dict[str, Any]:
return invalid_argument(method, "allow_sql_saved_state_apply", "Apply mode is opt-in; pass allow_sql_saved_state_apply=true.")
apply_result = storage_saved_state_apply_proposal(
{
**repository_write_context(payload),
"base_id": base_id,
"allow_sql_saved_state_apply": True,
"proposal": proposal,
@@ -38141,6 +38158,7 @@ def metadata_form_target_move(payload: dict[str, Any]) -> dict[str, Any]:
return result
rollback_result = storage_saved_state_rollback(
{
**repository_write_context(payload),
"base_id": base_id,
"allow_sql_saved_state_rollback": True,
"backup_id": backup_id,
@@ -38747,6 +38765,7 @@ def form_embedded_module_handler_write_apply(
return invalid_argument(method, "allow_sql_saved_state_apply", "Apply mode is opt-in; pass allow_sql_saved_state_apply=true.")
apply_result = storage_saved_state_apply_proposal(
{
**repository_write_context(payload),
"base_id": base_id,
"allow_sql_saved_state_apply": True,
"proposal": proposal,
@@ -38775,6 +38794,7 @@ def form_embedded_module_handler_write_apply(
return result
rollback_result = storage_saved_state_rollback(
{
**repository_write_context(payload),
"base_id": base_id,
"allow_sql_saved_state_rollback": True,
"backup_id": backup_id,
@@ -39157,6 +39177,7 @@ def metadata_form_command_button_write(payload: dict[str, Any]) -> dict[str, Any
return invalid_argument(method, "allow_sql_saved_state_apply", "Apply mode is opt-in; pass allow_sql_saved_state_apply=true.")
apply_result = storage_saved_state_apply_proposal(
{
**repository_write_context(payload),
"base_id": base_id,
"allow_sql_saved_state_apply": True,
"proposal": proposal,
@@ -39176,6 +39197,7 @@ def metadata_form_command_button_write(payload: dict[str, Any]) -> dict[str, Any
if backup_id and payload.get("allow_sql_saved_state_rollback") is True:
rollback_result = storage_saved_state_rollback(
{
**repository_write_context(payload),
"base_id": base_id,
"allow_sql_saved_state_rollback": True,
"backup_id": backup_id,
@@ -39227,6 +39249,7 @@ def metadata_form_command_button_write(payload: dict[str, Any]) -> dict[str, Any
return finalize_command_button_write_result(result)
rollback_result = storage_saved_state_rollback(
{
**repository_write_context(payload),
"base_id": base_id,
"allow_sql_saved_state_rollback": True,
"backup_id": backup_id,
@@ -39544,6 +39567,7 @@ def metadata_module_write_apply(payload: dict[str, Any]) -> dict[str, Any]:
return invalid_argument(method, "allow_sql_saved_state_apply", "Apply mode is opt-in; pass allow_sql_saved_state_apply=true.")
apply_result = storage_saved_state_apply_proposal(
{
**repository_write_context(payload),
"base_id": base_id,
"allow_sql_saved_state_apply": True,
"proposal": proposal,
@@ -39572,6 +39596,7 @@ def metadata_module_write_apply(payload: dict[str, Any]) -> dict[str, Any]:
return result
rollback_result = storage_saved_state_rollback(
{
**repository_write_context(payload),
"base_id": base_id,
"allow_sql_saved_state_rollback": True,
"backup_id": backup_id,