public class GridSqlQueryParser extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
GridSqlQueryParser.Getter<T,R>
Field getter.
|
static class |
GridSqlQueryParser.PreparedWithRemaining |
| Modifier and Type | Field and Description |
|---|---|
static String |
ORG_H2_COMMAND_COMMAND_LIST |
static String |
PARAM_DATA_REGION
Data region name.
|
static String |
PARAM_WRAP_VALUE |
static GridSqlQueryParser.Getter<org.gridgain.internal.h2.table.TableView,org.gridgain.internal.h2.command.dml.Query> |
VIEW_QUERY |
| Constructor and Description |
|---|
GridSqlQueryParser(boolean useOptimizedSubqry,
IgniteLogger log) |
| Modifier and Type | Method and Description |
|---|---|
List<Integer> |
cacheIds() |
static boolean |
checkMultipleStatements(PreparedStatement stmt) |
static void |
checkTypeSupported(int type,
String errMsg) |
static @NotNull GridH2Table |
dmlTable(@NotNull org.gridgain.internal.h2.command.Prepared stmt) |
GridCacheContext |
getFirstPartitionedCache()
Get first (i.e. random, as we need any one) partitioned cache from parsed query
to determine expected query parallelism.
|
static boolean |
isDml(org.gridgain.internal.h2.command.Prepared stmt)
Check whether statement is DML statement.
|
static boolean |
isExplainUpdate(org.gridgain.internal.h2.command.Prepared statement)
Determines if specified prepared statement is an EXPLAIN of update operation: UPDATE, DELETE, etc.
|
static boolean |
isForUpdateQuery(org.gridgain.internal.h2.command.Prepared p) |
boolean |
isLocalQuery()
Check if query may be run locally on all caches mentioned in the query.
|
static boolean |
isStreamableInsertStatement(org.gridgain.internal.h2.command.Prepared prep)
Check if passed statement is insert statement eligible for streaming.
|
Map<Object,Object> |
objectsMap() |
GridSqlStatement |
parse(org.gridgain.internal.h2.command.Prepared stmt) |
static GridSqlQuery |
parseQuery(org.gridgain.internal.h2.command.Prepared prepared,
boolean useOptimizedSubqry,
IgniteLogger log)
Parse query.
|
static org.gridgain.internal.h2.command.Prepared |
prepared(PreparedStatement stmt) |
static GridSqlQueryParser.PreparedWithRemaining |
preparedWithRemaining(PreparedStatement stmt) |
static org.gridgain.internal.h2.command.dml.Query |
query(org.gridgain.internal.h2.command.Prepared qry) |
List<GridH2Table> |
tablesForDml()
Extract all tables participating in DML statement.
|
public static final GridSqlQueryParser.Getter<org.gridgain.internal.h2.table.TableView,org.gridgain.internal.h2.command.dml.Query> VIEW_QUERY
public static final String ORG_H2_COMMAND_COMMAND_LIST
public static final String PARAM_WRAP_VALUE
public static final String PARAM_DATA_REGION
public GridSqlQueryParser(boolean useOptimizedSubqry,
IgniteLogger log)
useOptimizedSubqry - If we have to find correct order for table filters in FROM clause.
Relies on uniqueness of table filter aliases.log - Logger.public static boolean checkMultipleStatements(PreparedStatement stmt)
stmt - Prepared statement to check.true in case of multiple statements.public static org.gridgain.internal.h2.command.Prepared prepared(PreparedStatement stmt)
stmt - Prepared statement.public static GridSqlQueryParser.PreparedWithRemaining preparedWithRemaining(PreparedStatement stmt)
stmt - Prepared statement.public static boolean isForUpdateQuery(org.gridgain.internal.h2.command.Prepared p)
p - Prepared.p is an SELECT FOR UPDATE query.public static org.gridgain.internal.h2.command.dml.Query query(org.gridgain.internal.h2.command.Prepared qry)
qry - Prepared.public static boolean isDml(org.gridgain.internal.h2.command.Prepared stmt)
stmt - Statement.True if this is DML.@NotNull public static @NotNull GridH2Table dmlTable(@NotNull @NotNull org.gridgain.internal.h2.command.Prepared stmt)
stmt - Prepared.public boolean isLocalQuery()
true if query may be run locally on all caches mentioned in the query, i.e. there's no need
to run distributed query.public GridCacheContext getFirstPartitionedCache()
null if it does not involve partitioned caches.public List<GridH2Table> tablesForDml() throws IgniteSQLException
IgniteSQLException - in case query contains virtual tables.public static GridSqlQuery parseQuery(org.gridgain.internal.h2.command.Prepared prepared, boolean useOptimizedSubqry, IgniteLogger log)
prepared - Prepared statement.useOptimizedSubqry - Whether to user optimized subquery.public final GridSqlStatement parse(org.gridgain.internal.h2.command.Prepared stmt)
stmt - Prepared statement.public static boolean isStreamableInsertStatement(org.gridgain.internal.h2.command.Prepared prep)
prep - Prepared statement.True if streamable insert.public static boolean isExplainUpdate(org.gridgain.internal.h2.command.Prepared statement)
statement - statement to probe.True if statement is EXPLAIN UPDATE, EXPLAIN DELETE or etc.; false otherwise.public static void checkTypeSupported(int type,
String errMsg)
Follow @ApacheIgnite
Ignite Database and Caching Platform : ver. 8.9.23-p1 Release Date : November 19 2025