Class QueryHandler
java.lang.Object
com.loomcache.server.handler.QueryHandler
Handles SQL query operations over the network.
Routes queries to the QueryEngine for execution against distributed maps.
Supported Operations:
- SQL_QUERY_EXECUTE — execute a parameterized query against a map
Message Format:
- mapName — target map name to query
- key — serialized QueryPlan object
- value — (optional) query parameters
Response Format:
The response value contains serialized SqlResult containing:
- Column names
- Column types
- Result rows
- Since:
- 1.0
-
Nested Class Summary
Nested Classes -
Constructor Summary
ConstructorsConstructorDescriptionQueryHandler(DataStructureRegistry dataStructureRegistry, int instanceNumber) Create a query handler. -
Method Summary
Modifier and TypeMethodDescription@Nullable MessageHandle a SQL query operation message.@Nullable Messagehandle(Message msg, QueryHandler.SqlCatalogAuthorization sqlCatalogAuthorization) voidsetCrossGroupQueryExecutor(@Nullable CrossGroupQueryExecutor executor) Install aCrossGroupQueryExecutorso SQL queries fan out across every Raft group when sharding is enabled.voidsetLoomMetrics(@Nullable LoomMetrics metrics) voidsetMutationLock(@Nullable ReentrantLock lock) voidsetNearCacheInvalidationManager(@Nullable NearCacheInvalidationManager manager) voidsetTransactionKeyLockManager(@Nullable TransactionKeyLockManager lockManager) validateMutationAuthorization(Message msg, QueryHandler.SqlCatalogAuthorization sqlCatalogAuthorization)
-
Constructor Details
-
QueryHandler
Create a query handler.- Parameters:
dataStructureRegistry- the registry containing distributed structures (non-null)instanceNumber- the node instance number for logging (non-negative)- Throws:
NullPointerException- if dataStructureRegistry is null
-
-
Method Details
-
setCrossGroupQueryExecutor
Install aCrossGroupQueryExecutorso SQL queries fan out across every Raft group when sharding is enabled. Passingnullreverts to single-registry execution.- Parameters:
executor- the cross-group executor, or null to disable cross-group fan-out
-
setLoomMetrics
-
setNearCacheInvalidationManager
-
setTransactionKeyLockManager
-
setMutationLock
-
handle
Handle a SQL query operation message.- Parameters:
msg- the incoming message (non-null)- Returns:
- a response message with the query result, or null if msg is null
- Throws:
NullPointerException- if msg is null
-
handle
public @Nullable Message handle(Message msg, QueryHandler.SqlCatalogAuthorization sqlCatalogAuthorization) -
validateMutationAuthorization
public Optional<String> validateMutationAuthorization(Message msg, QueryHandler.SqlCatalogAuthorization sqlCatalogAuthorization)
-