[
https://issues.apache.org/jira/browse/IGNITE-27612?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18055194#comment-18055194
]
Pavel Pereslegin edited comment on IGNITE-27612 at 1/29/26 2:48 PM:
--------------------------------------------------------------------
Benchmark ([^TupleReadValueBenchmark.java] result
JVM: 21.0.9
units - nanoseconds/operation
||Benchmark||feature branch
(ns/op)||main
(ns/op)||
|TupleReadValueBenchmark.clientTupleInt|5.122 ± 0.052|4.658 ± 0.087|
|TupleReadValueBenchmark.clientSqlRowInt|5.984 ± 0.008|5.450 ± 0.190|
|TupleReadValueBenchmark.sqlRowInt|10.469 ± 0.149|10.471 ± 0.210|
|TupleReadValueBenchmark.tupleImplInt|1.402 ± 0.011|1.404 ± 0.018|
|TupleReadValueBenchmark.embeddedTupleInt|6.410 ± 0.093|5.294 ± 0.116|
|TupleReadValueBenchmark.embeddedTupleIntToByte|6.400 ± 0.111|5.291 ± 0.093|
|TupleReadValueBenchmark.embeddedTupleByteToInt|6.434 ± 0.023|5.450 ± 0.190|
| | |
|TupleReadValueBenchmark.clientSqlRowByteToInt|6.213 ± 0.060|N/A|
|TupleReadValueBenchmark.clientSqlRowIntToByte|5.989 ± 0.091|N/A|
|TupleReadValueBenchmark.sqlRowByteToInt|10.533 ± 0.066|N/A|
|TupleReadValueBenchmark.sqlRowIntToByte|10.543 ± 0.372|N/A|
|TupleReadValueBenchmark.tupleImplByteToInt|1.451 ± 0.050|N/A|
|TupleReadValueBenchmark.tupleImplIntToByte|1.454 ± 0.015|N/A|
|TupleReadValueBenchmark.clientTupleByteToInt|5.159 ± 0.075|N/A|
|TupleReadValueBenchmark.clientTupleIntToByte|5.096 ± 0.011|N/A|
was (Author: xtern):
Benchmark ([^TupleReadValueBenchmark.java] result
JVM: 21.0.9
units - nanoseconds/operation
||Benchmark||branch ignite-27612-tuple-implicit-casts
(ns/op)||main
(ns/op)||
|TupleReadValueBenchmark.clientTupleInt|5.122 ± 0.052|4.658 ± 0.087|
|TupleReadValueBenchmark.clientSqlRowInt|5.984 ± 0.008|5.450 ± 0.190|
|TupleReadValueBenchmark.sqlRowInt|10.469 ± 0.149|10.471 ± 0.210|
|TupleReadValueBenchmark.tupleImplInt|1.402 ± 0.011|1.404 ± 0.018|
|TupleReadValueBenchmark.embeddedTupleInt|6.410 ± 0.093|5.294 ± 0.116|
|TupleReadValueBenchmark.embeddedTupleIntToByte|6.400 ± 0.111|5.291 ± 0.093|
|TupleReadValueBenchmark.embeddedTupleByteToInt|6.434 ± 0.023|5.450 ± 0.190|
| | |
|TupleReadValueBenchmark.clientSqlRowByteToInt|6.213 ± 0.060|N/A|
|TupleReadValueBenchmark.clientSqlRowIntToByte|5.989 ± 0.091|N/A|
|TupleReadValueBenchmark.sqlRowByteToInt|10.533 ± 0.066|N/A|
|TupleReadValueBenchmark.sqlRowIntToByte|10.543 ± 0.372|N/A|
|TupleReadValueBenchmark.tupleImplByteToInt|1.451 ± 0.050|N/A|
|TupleReadValueBenchmark.tupleImplIntToByte|1.454 ± 0.015|N/A|
|TupleReadValueBenchmark.clientTupleByteToInt|5.159 ± 0.075|N/A|
|TupleReadValueBenchmark.clientTupleIntToByte|5.096 ± 0.011|N/A|
> Allow numeric primitive type conversion when reading values from and writing
> values to Tuple.
> ---------------------------------------------------------------------------------------------
>
> Key: IGNITE-27612
> URL: https://issues.apache.org/jira/browse/IGNITE-27612
> Project: Ignite
> Issue Type: Improvement
> Components: sql ai3
> Reporter: Pavel Pereslegin
> Priority: Major
> Labels: ignite-3
> Attachments: TupleReadValueBenchmark.java
>
>
> Allow numeric primitive type conversion when reading values from and writing
> values to Tuple.
> The behavior of the embedded client is inconsistent with the thin client when
> trying to read a narrower integer type from tuple that contains long value.
> We want to make the behavior consistent in all clients:
> # align the behavior with the column upgrade rules
> # relax current validation to support downcast where possible because we
> don't want to break column upgrade scenarios
> See more details in *UPDATE* section of IGNITE-26491
> The implementation was divided into the following stages:
> * IGNITE-26491 - align reading behavior
> * IGNITE-27552 - align writing behavior
> * IGNITE-27577 - unify the message text of ClassCastException
> the implementation is going on in a separate feature-branch
> ([ignite-27612-tuple-implicit-casts|https://github.com/apache/ignite-3/tree/ignite-27612-tuple-implicit-casts]),
> Once all the stages are completed, the feature-branch will need to be merged
> into the main branch and this ticket can be closed.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)