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

Maksim Zhuravkov updated IGNITE-20651:
--------------------------------------
    Affects Version/s:     (was: 3.0.0-beta1)

> Table API. It is not possible to create a single column RecordView
> ------------------------------------------------------------------
>
>                 Key: IGNITE-20651
>                 URL: https://issues.apache.org/jira/browse/IGNITE-20651
>             Project: Ignite
>          Issue Type: Bug
>          Components: sql
>            Reporter: Maksim Zhuravkov
>            Priority: Major
>              Labels: ignite-3
>
> 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