You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ignite.apache.org by "Vladislav Pyatkov (Jira)" <ji...@apache.org> on 2023/10/30 09:37:00 UTC

[jira] [Updated] (IGNITE-20687) Exclude IgniteTransactions from SQL session creation API

     [ https://issues.apache.org/jira/browse/IGNITE-20687?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Vladislav Pyatkov updated IGNITE-20687:
---------------------------------------
    Description: 
h3. Motivation

To start SQL implicit transactions, we apply a specific IgniteTransaction instance for each invocation. But the parameter should not be available through the public API because it is useless for end-users.

h3. Implementation notes
The easiest way is to add methods (_SessionBuilderImpl#igniteTransactions_) to the implementation of the session builder only (exclude them from the session interface). It allows you to cast directly and pass the Ignite transaction instance as needed.
Also, this approach avoids adding confusing methods to the public API.
Look it in detail in the PR attached.

h3. Definition of done
The public session interface is freed from IgniteTransactions (_SessionBuilder#igniteTransactions).

  was:
h3. Motivation

To start SQL implicit transactions, we apply a specific IgniteTransaction instance for each invocation. But the parameter should not be available through the public API because it is useless for end-users.

h3. Definition on done
The public session interface is freed from IgniteTransactions (_SessionBuilder#igniteTransactions_).


> Exclude IgniteTransactions from SQL session creation API
> --------------------------------------------------------
>
>                 Key: IGNITE-20687
>                 URL: https://issues.apache.org/jira/browse/IGNITE-20687
>             Project: Ignite
>          Issue Type: Bug
>            Reporter: Vladislav Pyatkov
>            Priority: Major
>              Labels: ignite-3
>
> h3. Motivation
> To start SQL implicit transactions, we apply a specific IgniteTransaction instance for each invocation. But the parameter should not be available through the public API because it is useless for end-users.
> h3. Implementation notes
> The easiest way is to add methods (_SessionBuilderImpl#igniteTransactions_) to the implementation of the session builder only (exclude them from the session interface). It allows you to cast directly and pass the Ignite transaction instance as needed.
> Also, this approach avoids adding confusing methods to the public API.
> Look it in detail in the PR attached.
> h3. Definition of done
> The public session interface is freed from IgniteTransactions (_SessionBuilder#igniteTransactions).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)