Skip to content

Array Data Loading Error #962

@Zesky665

Description

@Zesky665

Loading array-type data results in a crash.

The code in questions is the sqrl file from this PR.

The following is the error message thrown.
Deployment id is: 7ae11122-401e-477d-8418-3e3facbcf1e3 Could not execute statement: CREATE TEMPORARY TABLE arrays_1(idBIGINT NOT NULL,timestampVARCHAR(2147483647) CHARACTER SETUTF-16LENOT NULL,items ROW(idINTEGER NOT NULL,numberINTEGER NOT NULL,decimalDOUBLE NOT NULL,fraction DOUBLE) NOT NULL ARRAY NOT NULL, PRIMARY KEY (id) NOT ENFORCED, WATERMARK FOR timestampAStimestamp- INTERVAL '0.001' SECOND ) WITH ( 'format' = 'flexible-json', 'path' = '/build/build/deploy/flink/data/arrays.jsonl', 'connector' = 'filesystem' ); Exception in thread "main" org.apache.calcite.runtime.CalciteContextException: From line 6, column 32 to line 6, column 68: Cannot apply '-' to arguments of type '<VARCHAR(2147483647)> - <INTERVAL SECOND>'. Supported form(s): '<NUMERIC> - <NUMERIC>' '<DATETIME_INTERVAL> - <DATETIME_INTERVAL>' '<DATETIME> - <DATETIME_INTERVAL>' at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:505) at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:932) at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:917) at org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:5276) at org.apache.calcite.sql.SqlCallBinding.newValidationSignatureError(SqlCallBinding.java:383) at org.apache.calcite.sql.type.FamilyOperandTypeChecker.checkSingleOperandType(FamilyOperandTypeChecker.java:108) at org.apache.calcite.sql.type.FamilyOperandTypeChecker.checkOperandTypes(FamilyOperandTypeChecker.java:142) at org.apache.calcite.sql.type.CompositeOperandTypeChecker.checkOperandTypes(CompositeOperandTypeChecker.java:262) at org.apache.calcite.sql.SqlOperator.checkOperandTypes(SqlOperator.java:753) at org.apache.calcite.sql.SqlOperator.validateOperands(SqlOperator.java:499) at org.apache.calcite.sql.SqlOperator.deriveType(SqlOperator.java:605) at org.apache.calcite.sql.SqlBinaryOperator.deriveType(SqlBinaryOperator.java:178) at org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:6331) at org.apache.calcite.sql.validate.SqlValidatorImpl$DeriveTypeVisitor.visit(SqlValidatorImpl.java:6316) at org.apache.calcite.sql.SqlCall.accept(SqlCall.java:161) at org.apache.calcite.sql.validate.SqlValidatorImpl.deriveTypeImpl(SqlValidatorImpl.java:1878) at org.apache.calcite.sql.validate.SqlValidatorImpl.deriveType(SqlValidatorImpl.java:1869) at org.apache.calcite.sql.validate.SqlValidatorImpl.validateScopedExpression(SqlValidatorImpl.java:1013) at org.apache.calcite.sql.validate.SqlValidatorImpl.validateParameterizedExpression(SqlValidatorImpl.java:998) at org.apache.flink.table.planner.operations.MergeTableLikeUtil$SchemaBuilder.appendDerivedWatermarks(MergeTableLikeUtil.java:350) at org.apache.flink.table.planner.operations.MergeTableLikeUtil$SchemaBuilder.access$100(MergeTableLikeUtil.java:217) at org.apache.flink.table.planner.operations.MergeTableLikeUtil.mergeTables(MergeTableLikeUtil.java:159) at org.apache.flink.table.planner.operations.SqlCreateTableConverter.createCatalogTable(SqlCreateTableConverter.java:157) at org.apache.flink.table.planner.operations.SqlCreateTableConverter.convertCreateTable(SqlCreateTableConverter.java:74) at org.apache.flink.table.planner.operations.SqlNodeToOperationConversion.convertValidatedSqlNode(SqlNodeToOperationConversion.java:313) at org.apache.flink.table.planner.operations.SqlNodeToOperationConversion.convert(SqlNodeToOperationConversion.java:260) at org.apache.flink.table.planner.delegation.ParserImpl.parse(ParserImpl.java:106) at org.apache.flink.table.api.internal.TableEnvironmentImpl.executeSql(TableEnvironmentImpl.java:728) at com.datasqrl.DatasqrlRun.compileFlink(DatasqrlRun.java:224) at com.datasqrl.DatasqrlRun.startFlink(DatasqrlRun.java:126) at com.datasqrl.DatasqrlRun.run(DatasqrlRun.java:99) at com.datasqrl.DatasqrlTest.run(DatasqrlTest.java:61) at com.datasqrl.DatasqrlTest.main(DatasqrlTest.java:39) Caused by: org.apache.calcite.sql.validate.SqlValidatorException: Cannot apply '-' to arguments of type '<VARCHAR(2147483647)> - <INTERVAL SECOND>'. Supported form(s): '<NUMERIC> - <NUMERIC>' '<DATETIME_INTERVAL> - <DATETIME_INTERVAL>' '<DATETIME> - <DATETIME_INTERVAL>' at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490) at org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:505) at org.apache.calcite.runtime.Resources$ExInst.ex(Resources.java:599) ... 32 more

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Done

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions