[ 
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)

Reply via email to