Interface LockingSqlRewriter

Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface @SPI({USE,IMPLEMENT,SUPPLY}) public interface LockingSqlRewriter

Applies a Dialect's pessimistic locking syntax to already-rendered SQL.

This strategy is intended for native SQL and other legacy completed-SQL paths. SQL AST translators should apply locking while rendering the semantic tree instead.

Implementations must not parse SQL to invent structural information omitted from LockingSqlRewriteRequest.targets. Return LockingSqlRewriteResult.unsupported(String) when the supplied structure is insufficient for a safe rewrite. Rewriters supplied by a Dialect may be reused and therefore must not retain request-specific state.

Since:
8.0
See Also: