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

Reply via email to