Maksim Zhuravkov created IGNITE-20651:
-----------------------------------------

             Summary: Table API. It is not possible to create a single column 
RecordView, AssertionError.
                 Key: IGNITE-20651
                 URL: https://issues.apache.org/jira/browse/IGNITE-20651
             Project: Ignite
          Issue Type: Bug
          Components: sql
    Affects Versions: 3.0.0-beta1
            Reporter: Maksim Zhuravkov


It is not possible to create a single column RecordView:

{code:java}
    @Test
    public void singleColumnMapper() {
        Ignite ignite = CLUSTER_NODES.get(0);
        IgniteTables tables = ignite.tables();

        sql("CREATE TABLE vals (id INTEGER PRIMARY KEY, val VARCHAR)");
        sql("INSERT INTO vals VALUES(1, '1')");

        RecordView<Integer> idView = 
tables.table("vals").recordView(Mapper.of(Integer.class, "id"));
        assertNotNull(idView.get(null, 1));
    }
{code}

Error:

{code:java}
org.apache.ignite.lang.IgniteException: IGN-CMN-65535 
TraceId:ae23631e-28ab-4ef5-ae5d-d61a2417ae97
        at 
org.apache.ignite.internal.lang.IgniteExceptionMapperUtil.mapToPublicException(IgniteExceptionMapperUtil.java:88)
        at 
org.apache.ignite.internal.lang.IgniteExceptionMapperUtil.lambda$convertToPublicFuture$2(IgniteExceptionMapperUtil.java:125)
        at 
java.base/java.util.concurrent.CompletableFuture.uniHandle(CompletableFuture.java:930)
        at 
java.base/java.util.concurrent.CompletableFuture.uniHandleStage(CompletableFuture.java:946)
        at 
java.base/java.util.concurrent.CompletableFuture.handle(CompletableFuture.java:2266)
        at 
org.apache.ignite.internal.lang.IgniteExceptionMapperUtil.convertToPublicFuture(IgniteExceptionMapperUtil.java:123)
        at 
org.apache.ignite.internal.table.AbstractTableView.withSchemaSync(AbstractTableView.java:106)
        at 
org.apache.ignite.internal.table.RecordViewImpl.getAsync(RecordViewImpl.java:80)
        at 
org.apache.ignite.internal.table.RecordViewImpl.get(RecordViewImpl.java:72)
....

aused by: java.lang.AssertionError
        at 
org.apache.ignite.internal.schema.marshaller.reflection.RecordMarshallerImpl.<init>(RecordMarshallerImpl.java:63)
        at 
org.apache.ignite.internal.table.RecordViewImpl.lambda$new$0(RecordViewImpl.java:66)
        at 
org.apache.ignite.internal.table.RecordViewImpl.marshaller(RecordViewImpl.java:354)
        at 
org.apache.ignite.internal.table.RecordViewImpl.marshalKey(RecordViewImpl.java:411)
        at 
org.apache.ignite.internal.table.RecordViewImpl.lambda$getAsync$2(RecordViewImpl.java:81)
        at 
java.base/java.util.concurrent.CompletableFuture.uniComposeStage(CompletableFuture.java:1106)
        at 
java.base/java.util.concurrent.CompletableFuture.thenCompose(CompletableFuture.java:2235)
        at 
org.apache.ignite.internal.table.AbstractTableView.withSchemaSync(AbstractTableView.java:104)
{code}





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

Reply via email to