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

Alexey Scherbakov updated IGNITE-25598:
---------------------------------------
    Description: 
Currently methods on Record(Binary)View like;
{code:java}
getAll, insertAll, deleteAll, deleteExactAll{code}
provide the following guarantie:
*The order of collection elements is guaranteed to be the same as the order of 
\{@code recs}.*

Here is the full example from the code:
{code:java}
/**
* Inserts into a table records that do not exist, skips those that exist.
*
* @param tx Transaction or {@code null} for implicit transaction.
* @param recs Records to insert into the table. The records cannot be {@code 
null}.
* @return Skipped records. The order of collection elements is guaranteed to be 
the same as the order of {@code recs}. If a record is
* inserted, the element will be excluded from the collection result.
*/
List<R> insertAll(@Nullable Transaction tx, Collection<R> recs);{code}
This guarantee was introduced in IGNITE-20435 for unclear reasons.

I don't see any related public discussions on this topic.

This makes sense only for getAll and should be removed from other methods, 
allowing more efficient execution.

 

  was:
Currently methods on Record(Binary)View like;
{code:java}
getAll, insertAll, deleteAll, deleteExactAll{code}
provide the following guarantie:
*The order of collection elements is guaranteed to be the same as the order of 
\{@code recs}.*

Here is the full example from the code:
{code:java}
/**
* Inserts into a table records that do not exist, skips those that exist.
*
* @param tx Transaction or {@code null} for implicit transaction.
* @param recs Records to insert into the table. The records cannot be {@code 
null}.
* @return Skipped records. The order of collection elements is guaranteed to be 
the same as the order of {@code recs}. If a record is
* inserted, the element will be excluded from the collection result.
*/
List<R> insertAll(@Nullable Transaction tx, Collection<R> recs);{code}

This makes sense only for getAll and should be removed from other methods, 
allowing more efficient execution.

 


> Relax returned collections ordering guaranties on record(Binary)View
> --------------------------------------------------------------------
>
>                 Key: IGNITE-25598
>                 URL: https://issues.apache.org/jira/browse/IGNITE-25598
>             Project: Ignite
>          Issue Type: Improvement
>          Components: tables ai3
>    Affects Versions: 3.0
>            Reporter: Alexey Scherbakov
>            Assignee: Alexey Scherbakov
>            Priority: Major
>              Labels: ignite-3
>             Fix For: 3.1
>
>
> Currently methods on Record(Binary)View like;
> {code:java}
> getAll, insertAll, deleteAll, deleteExactAll{code}
> provide the following guarantie:
> *The order of collection elements is guaranteed to be the same as the order 
> of \{@code recs}.*
> Here is the full example from the code:
> {code:java}
> /**
> * Inserts into a table records that do not exist, skips those that exist.
> *
> * @param tx Transaction or {@code null} for implicit transaction.
> * @param recs Records to insert into the table. The records cannot be {@code 
> null}.
> * @return Skipped records. The order of collection elements is guaranteed to 
> be the same as the order of {@code recs}. If a record is
> * inserted, the element will be excluded from the collection result.
> */
> List<R> insertAll(@Nullable Transaction tx, Collection<R> recs);{code}
> This guarantee was introduced in IGNITE-20435 for unclear reasons.
> I don't see any related public discussions on this topic.
> This makes sense only for getAll and should be removed from other methods, 
> allowing more efficient execution.
>  



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

Reply via email to