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

Iurii Gerzhedovich updated IGNITE-24367:
----------------------------------------
    Description: 
Reading a value of an interval type via JDBC results in an error, meanwhile, 
SQL APIs (both thin client and embedded) read them correctly.
{noformat}
@Test
public void test() throws SQLException {
    ResultSet r = stmt.executeQuery("SELECT INTERVAL 1 YEARS");
    while (r.next()) {
        System.err.println(r.getObject(1));
    }
}
{noformat}
Error:
{noformat}
org.apache.ignite.internal.binarytuple.BinaryTupleFormatException: 
IGN-CMN-65535 TraceId:20d3f4fe-9bfb-4baf-b191-8ea8481c084d Invalid length for a 
tuple element: 1

        at 
org.apache.ignite.internal.binarytuple.BinaryTupleParser.periodValue(BinaryTupleParser.java:495)
        at 
org.apache.ignite.internal.binarytuple.BinaryTupleReader.periodValue(BinaryTupleReader.java:361)
        at 
org.apache.ignite.internal.jdbc.JdbcConverterUtils.deriveValueFromBinaryTuple(JdbcConverterUtils.java:103)
        at 
org.apache.ignite.internal.jdbc.JdbcResultSet.lambda$createTransformer$0(JdbcResultSet.java:2293)
        at 
org.apache.ignite.internal.util.TransformingIterator.next(TransformingIterator.java:42)
        at 
org.apache.ignite.internal.jdbc.JdbcResultSet.next(JdbcResultSet.java:303)
        at 
org.apache.ignite.jdbc.ItJdbcSchemaTest.test(ItJdbcSchemaTest.java:62)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1541){noformat}
 

  was:
Reading a value of an interval type via JDBC results in an error, meanwhile, 
SQL APIs (both thin client and embedded) read them correctly.

{noformat}
@Test
public void test() throws SQLException {
    ResultSet r = stmt.executeQuery("SELECT INTERVAL 1 YEARS");
    while (r.next()) {
        System.err.println(r.getObject(1));
    }
}
{noformat}

Error:
{noformat}

org.apache.ignite.internal.binarytuple.BinaryTupleFormatException: 
IGN-CMN-65535 TraceId:20d3f4fe-9bfb-4baf-b191-8ea8481c084d Invalid length for a 
tuple element: 1

        at 
org.apache.ignite.internal.binarytuple.BinaryTupleParser.periodValue(BinaryTupleParser.java:495)
        at 
org.apache.ignite.internal.binarytuple.BinaryTupleReader.periodValue(BinaryTupleReader.java:361)
        at 
org.apache.ignite.internal.jdbc.JdbcConverterUtils.deriveValueFromBinaryTuple(JdbcConverterUtils.java:103)
        at 
org.apache.ignite.internal.jdbc.JdbcResultSet.lambda$createTransformer$0(JdbcResultSet.java:2293)
        at 
org.apache.ignite.internal.util.TransformingIterator.next(TransformingIterator.java:42)
        at 
org.apache.ignite.internal.jdbc.JdbcResultSet.next(JdbcResultSet.java:303)
        at 
org.apache.ignite.jdbc.ItJdbcSchemaTest.test(ItJdbcSchemaTest.java:62)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
        at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
{noformat}





> Jdbc. Unable to read interval value 
> ------------------------------------
>
>                 Key: IGNITE-24367
>                 URL: https://issues.apache.org/jira/browse/IGNITE-24367
>             Project: Ignite
>          Issue Type: Improvement
>          Components: sql
>            Reporter: Maksim Zhuravkov
>            Priority: Major
>              Labels: ignite-3
>
> Reading a value of an interval type via JDBC results in an error, meanwhile, 
> SQL APIs (both thin client and embedded) read them correctly.
> {noformat}
> @Test
> public void test() throws SQLException {
>     ResultSet r = stmt.executeQuery("SELECT INTERVAL 1 YEARS");
>     while (r.next()) {
>         System.err.println(r.getObject(1));
>     }
> }
> {noformat}
> Error:
> {noformat}
> org.apache.ignite.internal.binarytuple.BinaryTupleFormatException: 
> IGN-CMN-65535 TraceId:20d3f4fe-9bfb-4baf-b191-8ea8481c084d Invalid length for 
> a tuple element: 1
>       at 
> org.apache.ignite.internal.binarytuple.BinaryTupleParser.periodValue(BinaryTupleParser.java:495)
>       at 
> org.apache.ignite.internal.binarytuple.BinaryTupleReader.periodValue(BinaryTupleReader.java:361)
>       at 
> org.apache.ignite.internal.jdbc.JdbcConverterUtils.deriveValueFromBinaryTuple(JdbcConverterUtils.java:103)
>       at 
> org.apache.ignite.internal.jdbc.JdbcResultSet.lambda$createTransformer$0(JdbcResultSet.java:2293)
>       at 
> org.apache.ignite.internal.util.TransformingIterator.next(TransformingIterator.java:42)
>       at 
> org.apache.ignite.internal.jdbc.JdbcResultSet.next(JdbcResultSet.java:303)
>       at 
> org.apache.ignite.jdbc.ItJdbcSchemaTest.test(ItJdbcSchemaTest.java:62)
>       at java.base/java.lang.reflect.Method.invoke(Method.java:566)
>       at java.base/java.util.ArrayList.forEach(ArrayList.java:1541)
>       at java.base/java.util.ArrayList.forEach(ArrayList.java:1541){noformat}
>  



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

Reply via email to