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)