-
Notifications
You must be signed in to change notification settings - Fork 5
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Description
Add support for row-level locking clauses in SELECT statements.
Example SQL
-- Basic FOR UPDATE
SELECT * FROM accounts WHERE id = 1 FOR UPDATE;
-- FOR SHARE (shared lock)
SELECT * FROM products WHERE category = 'electronics' FOR SHARE;
-- With NOWAIT
SELECT * FROM inventory WHERE sku = 'ABC' FOR UPDATE NOWAIT;
-- With SKIP LOCKED
SELECT * FROM jobs WHERE status = 'pending' FOR UPDATE SKIP LOCKED;
-- Specific tables
SELECT * FROM orders o JOIN items i ON o.id = i.order_id FOR UPDATE OF orders;Current Behavior
FOR UPDATE/SHARE clauses are not parsed.
Expected Behavior
Parser should recognize FOR UPDATE/SHARE with optional NOWAIT, SKIP LOCKED, and OF table_name modifiers.
Priority
Medium - important for transaction safety
Implementation Notes
- Add
ForClauseAST node with LockType, Tables, NoWait, SkipLocked fields - Add to SelectStatement AST structure
- Support multiple lock types: UPDATE, SHARE, NO KEY UPDATE, KEY SHARE
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request