[
https://issues.apache.org/jira/browse/IGNITE-21122?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Pavel Pereslegin updated IGNITE-21122:
--------------------------------------
Ignite Flags: (was: Release Notes Required)
> Sql. Introduce attributes for SqlQueryType and use them instead of direct
> checks.
> ---------------------------------------------------------------------------------
>
> Key: IGNITE-21122
> URL: https://issues.apache.org/jira/browse/IGNITE-21122
> Project: Ignite
> Issue Type: Improvement
> Components: sql
> Reporter: Maksim Zhuravkov
> Assignee: Maksim Zhuravkov
> Priority: Minor
> Labels: ignite-3
> Fix For: 3.1
>
> Time Spent: 20m
> Remaining Estimate: 0h
>
> Instead of using specific SqlQueryTypes in checks such as `queryType ==
> SqlQueryType.QUERY || queryType == SqlQueryType.DML` in
> `ParserServiceImpl::shouldBeCached`, we can introduce "attrbiutes" that
> answer such questions. E.g. `queryType.cacheParseResult()`
>
> Possible canidate for such "attributes":
> - can we cache AST for a statement? (See ParserServiceImpl:: shouldBeCached)
> - does a statement produce a result set? (See SELECT_STATEMENT_QUERIES,
> UPDATE_STATEMENT_QUERIES in JDBC and cursor::hasRowSet, cursor::affectedRows)
> - does a statement support EXPLAIN command? (See
> PrepareService::prepareExplain)
> - can a statement run outside of a script? (see START TRANSACTION, ROLLBACK,
> COMMIT)
> - is this a read-only statement (see IGNITE-20673
> SqlQueryProcessor::readOnlyQuery)?
--
This message was sent by Atlassian Jira
(v8.20.10#820010)