[ https://issues.apache.org/jira/browse/IGNITE-20443?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Pavel Pereslegin updated IGNITE-20443: -------------------------------------- Fix Version/s: 3.0.0-beta2 > Sql. Implement script processing logic. > --------------------------------------- > > Key: IGNITE-20443 > URL: https://issues.apache.org/jira/browse/IGNITE-20443 > Project: Ignite > Issue Type: Improvement > Components: sql > Reporter: Pavel Pereslegin > Assignee: Pavel Pereslegin > Priority: Major > Labels: ignite-3 > Fix For: 3.0.0-beta2 > > Time Spent: 5.5h > Remaining Estimate: 0h > > The main goal of this task - introduce a {{script processor}} that will be > responsible for managing the execution of multi-statement queries. > In order to integrate it with oublic API (session#executeScriptAsync) we need > add a new internal method to QueryProcessor. > Since we need the ability to switch forward between cursors, the signature > should essentially look something like this: > {code:java} > CompletableFuture<AsyncCursorIterator<List<Object>>> queryScriptAsync(...) > {code} > (the decision on the final form of the signature must be made during the > implementation of this task) > The entire script will be parsed at once. > Statements must be executed one by one in the order they are specified in the > script. > Due to the lazy nature of SQL engine, the moment when the current statement > is "complete" depends on the user who drains the cursor. > To avoid dependency on a user's actions, it proposed to consider statement > being "complete" as soon as first page is ready to be returned to the user. > IGNITE-20454 should introduce a notification for cursor prefetching which the > {{script processor}} should use to control script execution. > Integration with transaction management (using script commands) must be > implemented in another ticket and should not be part of this ticket. -- This message was sent by Atlassian Jira (v8.20.10#820010)