[
https://issues.apache.org/jira/browse/IGNITE-20453?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Konstantin Orlov updated IGNITE-20453:
--------------------------------------
Labels: ignite-3 (was: )
> Basic Multi Statement Support
> -----------------------------
>
> Key: IGNITE-20453
> URL: https://issues.apache.org/jira/browse/IGNITE-20453
> Project: Ignite
> Issue Type: Epic
> Components: sql
> Reporter: Konstantin Orlov
> Priority: Major
> Labels: ignite-3
>
> h1. Motivation
> A multi-statement query is a collection of SQL statements that can be
> executed in one request. Supporting multi-statement queries may result in
> several benefits:
> * It helps to decrease number of round trips between the application and the
> database server, which is positively affects performance (this can be
> achieved by using batching though)
> * It may significantly improve UX: during maintaining, user may submit an
> entire migration/initialization script to the database server without need to
> split this script on independent statements by hand
> * In distributed system, some features (like shared mutable state, system and
> user defined variables) are easier to introduce for multi-statement only,
> rather than for general case
> Most popular RDBMS systems, such as Oracle, MySQL, and PostgreSQL, already
> support multi-statement execution.
> Let's support multi statement queries in Apache Ignite 3 to ease the
> migration to Ignite and improve UX by providing familiar and convenient way
> of working with database.
> h1. Requirements
> # It should be possible to start new transaction and commit it from a script
> # If there is no explicit active transaction (either passed as parameter to
> the API call or started from script), then every statement should be wrapped
> in its own transaction
> # It should not be possible to commit transaction passed as parameter to the
> API call
> # It should not be possible to start another transaction if there is an
> active transaction
> # It should not be possible to start transaction by executing a tx management
> statement in single statement mode
> # The execution of a multi statement query should emulates serial execution
> for all statements in the order they are enumerated in the script; as if
> statements had been executed one after another, serially, rather than
> concurrently
> # Multi statement query should do progress even if no one consumes the result
--
This message was sent by Atlassian Jira
(v8.20.10#820010)