You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@calcite.apache.org by "xzh_dz (Jira)" <ji...@apache.org> on 2021/09/26 03:38:00 UTC

[jira] [Created] (CALCITE-4804) Support Snapshot operator serialization and deserizalization

xzh_dz created CALCITE-4804:
-------------------------------

             Summary:  Support Snapshot operator serialization and deserizalization
                 Key: CALCITE-4804
                 URL: https://issues.apache.org/jira/browse/CALCITE-4804
             Project: Calcite
          Issue Type: Improvement
            Reporter: xzh_dz


In my project, the dimension table has versions of the contents of the table. When I serialize the `Snapshot operator`, there are exceptions. Examples of exceptions can be reproduced as follows.
{code:java}
// code placeholder
@Test void testSnapshot() {
  // Equivalent SQL:
  //   SELECT *
  //   FROM products_temporal FOR SYSTEM_TIME AS OF TIMESTAMP '2011-07-20 12:34:56'
  final RelBuilder builder = RelBuilder.create(config().build());
  RelNode root =
      builder.scan("products_temporal")
          .snapshot(
              builder.getRexBuilder().makeTimestampLiteral(
                  new TimestampString("2011-07-20 12:34:56"), 0))
          .build();

  RelJsonWriter jsonWriter = new RelJsonWriter();
  root.explain(jsonWriter);
  String relJson = jsonWriter.asString();
  String s = deserializeAndDumpToTextFormat(getSchema(root), relJson);
}{code}
Exception:
{code:java}
// code placeholder
java.lang.RuntimeException: class does not have required constructor, class org.apache.calcite.rel.logical.LogicalSnapshot(RelInput)java.lang.RuntimeException: class does not have required constructor, class org.apache.calcite.rel.logical.LogicalSnapshot(RelInput)java.lang.RuntimeException: java.lang.RuntimeException: class does not have required constructor, class org.apache.calcite.rel.logical.LogicalSnapshot(RelInput) at org.apache.calcite.tools.Frameworks.withPrepare(Frameworks.java:193) at org.apache.calcite.tools.Frameworks.withPlanner(Frameworks.java:135) at org.apache.calcite.tools.Frameworks.withPlanner(Frameworks.java:153) at org.apache.calcite.test.RelBuilderTest.deserializeAndDump(RelBuilderTest.java:4005) at org.apache.calcite.test.RelBuilderTest.deserializeAndDumpToTextFormat(RelBuilderTest.java:3981)
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)