rollback_transaction
Cancel pending database changes in CockroachDB by aborting the current transaction, useful for error recovery or when modifications are no longer needed.
Instructions
Rollback the current transaction.
Returns:
Rollback status.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Implementation Reference
- Core handler logic for rolling back the current database transaction. Ensures connection, checks if in transaction, performs rollback, resets autocommit and transaction state.async def rollback_transaction(self) -> dict[str, Any]: """Rollback the current transaction. Returns: Rollback status. """ conn = await self.ensure_connected() if not self._state.in_transaction: return {"status": "error", "error": "No transaction in progress"} try: await conn.rollback() await conn.set_autocommit(True) self._state.in_transaction = False return {"status": "rolled_back", "message": "Transaction rolled back"} except Exception as e: return {"status": "error", "error": str(e)}
- src/cockroachdb_mcp/server.py:404-414 (registration)MCP tool registration using @mcp.tool() decorator. Thin wrapper that delegates to connection_manager.rollback_transaction() with error handling.@mcp.tool() async def rollback_transaction() -> dict[str, Any]: """Rollback the current transaction. Returns: Rollback status. """ try: return await connection_manager.rollback_transaction() except Exception as e: return {"status": "error", "error": str(e)}
- src/cockroachdb_mcp/server.py:404-414 (handler)The registered MCP tool handler function that invokes the core rollback logic.@mcp.tool() async def rollback_transaction() -> dict[str, Any]: """Rollback the current transaction. Returns: Rollback status. """ try: return await connection_manager.rollback_transaction() except Exception as e: return {"status": "error", "error": str(e)}
- Global instance of ConnectionManager used by the server tools.connection_manager = ConnectionManager()