[
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)