[jira] [Created] (CALCITE-1108) Don't use 'SumEmptyIsZero' (SUM0) window aggregate until CALCITE-777 is fixed.
Jacques Nadeau created CALCITE-1108: --- Summary: Don't use 'SumEmptyIsZero' (SUM0) window aggregate until CALCITE-777 is fixed. Key: CALCITE-1108 URL: https://issues.apache.org/jira/browse/CALCITE-1108 Project: Calcite Issue Type: Bug Reporter: Jacques Nadeau Assignee: Jacques Nadeau -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CALCITE-1106) Change ProjectFilterTransposeRule and ProjectJoinTransposeRule constructors to protected
Jacques Nadeau created CALCITE-1106: --- Summary: Change ProjectFilterTransposeRule and ProjectJoinTransposeRule constructors to protected Key: CALCITE-1106 URL: https://issues.apache.org/jira/browse/CALCITE-1106 Project: Calcite Issue Type: Improvement Reporter: Jacques Nadeau Assignee: Jacques Nadeau -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CALCITE-1104) Materialized view support for Cassandra adapter
[ https://issues.apache.org/jira/browse/CALCITE-1104?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15170301#comment-15170301 ] Michael Mior commented on CALCITE-1104: --- [PR on GitHub|https://github.com/apache/calcite/pull/200] for review. > Materialized view support for Cassandra adapter > --- > > Key: CALCITE-1104 > URL: https://issues.apache.org/jira/browse/CALCITE-1104 > Project: Calcite > Issue Type: Improvement >Reporter: Michael Mior >Assignee: Julian Hyde >Priority: Minor > > I managed to get support for a subset of Cassandra [materialized > views|https://www.datastax.com/dev/blog/new-in-cassandra-3-0-materialized-views]. > ( Thanks owed to some hints from [~maryannxue]!) > The one thing I noticed so far which is not supported is UUID literals in the > WHERE clauses in the Cassandra view definition. However, I don't think that's > a common use case. The adapter will log a warning if it encounters a view > that can't be processed. At the very least, the view will be exposed as a > table to Calcite (it wasn't in the previous version of the adapter). > As per [CALCITE-1101|https://issues.apache.org/jira/browse/CALCITE-1101], > there is probably a better way to hook in and add these views. I thought I > would still put this up for now. I'd still like to add some tests before > considering this viable. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CALCITE-1104) Materialized view support for Cassandra adapter
Michael Mior created CALCITE-1104: - Summary: Materialized view support for Cassandra adapter Key: CALCITE-1104 URL: https://issues.apache.org/jira/browse/CALCITE-1104 Project: Calcite Issue Type: Improvement Reporter: Michael Mior Assignee: Julian Hyde Priority: Minor I managed to get support for a subset of Cassandra [materialized views|https://www.datastax.com/dev/blog/new-in-cassandra-3-0-materialized-views]. ( Thanks owed to some hints from [~maryannxue]!) The one thing I noticed so far which is not supported is UUID literals in the WHERE clauses in the Cassandra view definition. However, I don't think that's a common use case. The adapter will log a warning if it encounters a view that can't be processed. At the very least, the view will be exposed as a table to Calcite (it wasn't in the previous version of the adapter). As per [CALCITE-1101|https://issues.apache.org/jira/browse/CALCITE-1101], there is probably a better way to hook in and add these views. I thought I would still put this up for now. I'd still like to add some tests before considering this viable. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Assigned] (CALCITE-1103) Decimal data serialized as Double in Protocol Buffer API
[ https://issues.apache.org/jira/browse/CALCITE-1103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Hyde reassigned CALCITE-1103: Assignee: Josh Elser (was: Julian Hyde) > Decimal data serialized as Double in Protocol Buffer API > > > Key: CALCITE-1103 > URL: https://issues.apache.org/jira/browse/CALCITE-1103 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: 1.5.0 > Environment: HDP 2.3.4 with Phoenix 4.4 and Calcite 1.5 >Reporter: Kevin Liew >Assignee: Josh Elser >Priority: Minor > Labels: decimal, double, protobuf > > Decimal data is serialized as TypedValue.double_value and loses precision. > Decoded Wireshark capture > {noformat} > [employee@centos7-ws test]$ protoc --decode_raw < test.pb > 1: "org.apache.calcite.avatica.proto.Responses$ExecuteResponse" > 2 { > 1 { > 1: "cf74c4e9-29bc-410a-b557-bf7a4965cbaf" > 2: 479389 > 3: 1 > 4 { > 1 { > 4: 1 > 8: 255 > 9: "KEYCOLUMN" > 10: "KEYCOLUMN" > 12: 255 > 14: "DECIMAL_TABLE_38_6" > 16: 1 > 19: "java.lang.String" > 20 { > 1: 12 > 2: "VARCHAR" > 3: 21 > } > } > 1 { > 1: 1 > 4: 1 > 6: 1 > 7: 1 > 8: 38 > 9: "COLUMN1" > 10: "COLUMN1" > 12: 38 > 13: 6 > 14: "DECIMAL_TABLE_38_6" > 16: 1 > 19: "java.math.BigDecimal" > 20 { > 1: 3 > 2: "DECIMAL" > 3: 23 > } > } > 2: "select * from decimal_table_38_6" > 4 { > 1: 4 > } > } > 5 { > 2: 1 > 3 { > 1 { > 1 { > 1: 21 > 3: "ConversionTestKey" > } > } > 1 { > 1 { > 1: 22 > 6: 0x3ffe > } > } > } > 3 { > 1 { > 1 { > 1: 21 > 3: "FractionalNumeric6" > } > } > 1 { > 1 { > 1: 22 > 6: 0x40ba0a524af0bf1a > } > } > } > 3 { > 1 { > 1 { > 1: 21 > 3: "FractionalNumeric8" > } > } > 1 { > 1 { > 1: 22 > 6: 0xbff1f9acffa7eb6c > } > } > } > 3 { > 1 { > 1 { > 1: 21 > 3: "Null" > } > } > 1 { > 1 { > 1: 24 > } > } > } > 3 { > 1 { > 1 { > 1: 21 > 3: "OnePlusFraction" > } > } > 1 { > 1 { > 1: 22 > 6: 0x3ff10c6f7a0b > } > } > } > } > 6: 18446744073709551615 > 7 { > 1: "centos7-ws:8765" > } > } > 3 { > 1: "centos7-ws:8765" > } > } > {noformat} > The column1 data is tagged with 6 which corresponds to double_value in the > proto file. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CALCITE-972) Decimal data sent by Avatica cannot be interpreted by some clients
[ https://issues.apache.org/jira/browse/CALCITE-972?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Hyde updated CALCITE-972: Labels: avatica decimal double wireprotocol (was: avatica calcite decimal double wireprotocol) > Decimal data sent by Avatica cannot be interpreted by some clients > -- > > Key: CALCITE-972 > URL: https://issues.apache.org/jira/browse/CALCITE-972 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: 1.5.0 >Reporter: Kevin Liew >Assignee: Julian Hyde > Labels: avatica, decimal, double, wireprotocol > > JSON specifies a 'number' data type which does not differentiate between > integer and floating-point values. The encoding for JSON numbers is > implementation-specific. Libraries such as RapidJSON can treat all > non-integer values as 'double' while still being compliant with JSON > specifications. As a result, decimal values sent by Phoenix will lose > precision on the client side. > Decimal data should be sent as a string. If it is sent as a number, we cannot > be expect that all JSON-spec compliant library will handle it properly. > ie. Phoenix sends a decimal as a JSON number, but Rapidjson can only extract > JSON numbers as integer or double because the C++ language does not have > native decimal support. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CALCITE-1103) Decimal data serialized as Double in Protocol Buffer API
[ https://issues.apache.org/jira/browse/CALCITE-1103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Hyde updated CALCITE-1103: - Component/s: avatica > Decimal data serialized as Double in Protocol Buffer API > > > Key: CALCITE-1103 > URL: https://issues.apache.org/jira/browse/CALCITE-1103 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: 1.5.0 > Environment: HDP 2.3.4 with Phoenix 4.4 and Calcite 1.5 >Reporter: Kevin Liew >Assignee: Julian Hyde >Priority: Minor > Labels: decimal, double, protobuf > > Decimal data is serialized as TypedValue.double_value and loses precision. > Decoded Wireshark capture > {noformat} > [employee@centos7-ws test]$ protoc --decode_raw < test.pb > 1: "org.apache.calcite.avatica.proto.Responses$ExecuteResponse" > 2 { > 1 { > 1: "cf74c4e9-29bc-410a-b557-bf7a4965cbaf" > 2: 479389 > 3: 1 > 4 { > 1 { > 4: 1 > 8: 255 > 9: "KEYCOLUMN" > 10: "KEYCOLUMN" > 12: 255 > 14: "DECIMAL_TABLE_38_6" > 16: 1 > 19: "java.lang.String" > 20 { > 1: 12 > 2: "VARCHAR" > 3: 21 > } > } > 1 { > 1: 1 > 4: 1 > 6: 1 > 7: 1 > 8: 38 > 9: "COLUMN1" > 10: "COLUMN1" > 12: 38 > 13: 6 > 14: "DECIMAL_TABLE_38_6" > 16: 1 > 19: "java.math.BigDecimal" > 20 { > 1: 3 > 2: "DECIMAL" > 3: 23 > } > } > 2: "select * from decimal_table_38_6" > 4 { > 1: 4 > } > } > 5 { > 2: 1 > 3 { > 1 { > 1 { > 1: 21 > 3: "ConversionTestKey" > } > } > 1 { > 1 { > 1: 22 > 6: 0x3ffe > } > } > } > 3 { > 1 { > 1 { > 1: 21 > 3: "FractionalNumeric6" > } > } > 1 { > 1 { > 1: 22 > 6: 0x40ba0a524af0bf1a > } > } > } > 3 { > 1 { > 1 { > 1: 21 > 3: "FractionalNumeric8" > } > } > 1 { > 1 { > 1: 22 > 6: 0xbff1f9acffa7eb6c > } > } > } > 3 { > 1 { > 1 { > 1: 21 > 3: "Null" > } > } > 1 { > 1 { > 1: 24 > } > } > } > 3 { > 1 { > 1 { > 1: 21 > 3: "OnePlusFraction" > } > } > 1 { > 1 { > 1: 22 > 6: 0x3ff10c6f7a0b > } > } > } > } > 6: 18446744073709551615 > 7 { > 1: "centos7-ws:8765" > } > } > 3 { > 1: "centos7-ws:8765" > } > } > {noformat} > The column1 data is tagged with 6 which corresponds to double_value in the > proto file. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CALCITE-1103) Decimal data serialized as Double in Protocol Buffer API
[ https://issues.apache.org/jira/browse/CALCITE-1103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Hyde updated CALCITE-1103: - Labels: decimal double protobuf (was: avatica decimal double protobuf) > Decimal data serialized as Double in Protocol Buffer API > > > Key: CALCITE-1103 > URL: https://issues.apache.org/jira/browse/CALCITE-1103 > Project: Calcite > Issue Type: Bug > Components: avatica >Affects Versions: 1.5.0 > Environment: HDP 2.3.4 with Phoenix 4.4 and Calcite 1.5 >Reporter: Kevin Liew >Assignee: Julian Hyde >Priority: Minor > Labels: decimal, double, protobuf > > Decimal data is serialized as TypedValue.double_value and loses precision. > Decoded Wireshark capture > {noformat} > [employee@centos7-ws test]$ protoc --decode_raw < test.pb > 1: "org.apache.calcite.avatica.proto.Responses$ExecuteResponse" > 2 { > 1 { > 1: "cf74c4e9-29bc-410a-b557-bf7a4965cbaf" > 2: 479389 > 3: 1 > 4 { > 1 { > 4: 1 > 8: 255 > 9: "KEYCOLUMN" > 10: "KEYCOLUMN" > 12: 255 > 14: "DECIMAL_TABLE_38_6" > 16: 1 > 19: "java.lang.String" > 20 { > 1: 12 > 2: "VARCHAR" > 3: 21 > } > } > 1 { > 1: 1 > 4: 1 > 6: 1 > 7: 1 > 8: 38 > 9: "COLUMN1" > 10: "COLUMN1" > 12: 38 > 13: 6 > 14: "DECIMAL_TABLE_38_6" > 16: 1 > 19: "java.math.BigDecimal" > 20 { > 1: 3 > 2: "DECIMAL" > 3: 23 > } > } > 2: "select * from decimal_table_38_6" > 4 { > 1: 4 > } > } > 5 { > 2: 1 > 3 { > 1 { > 1 { > 1: 21 > 3: "ConversionTestKey" > } > } > 1 { > 1 { > 1: 22 > 6: 0x3ffe > } > } > } > 3 { > 1 { > 1 { > 1: 21 > 3: "FractionalNumeric6" > } > } > 1 { > 1 { > 1: 22 > 6: 0x40ba0a524af0bf1a > } > } > } > 3 { > 1 { > 1 { > 1: 21 > 3: "FractionalNumeric8" > } > } > 1 { > 1 { > 1: 22 > 6: 0xbff1f9acffa7eb6c > } > } > } > 3 { > 1 { > 1 { > 1: 21 > 3: "Null" > } > } > 1 { > 1 { > 1: 24 > } > } > } > 3 { > 1 { > 1 { > 1: 21 > 3: "OnePlusFraction" > } > } > 1 { > 1 { > 1: 22 > 6: 0x3ff10c6f7a0b > } > } > } > } > 6: 18446744073709551615 > 7 { > 1: "centos7-ws:8765" > } > } > 3 { > 1: "centos7-ws:8765" > } > } > {noformat} > The column1 data is tagged with 6 which corresponds to double_value in the > proto file. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CALCITE-1103) Decimal data serialized as Double in Protocol Buffer API
Kevin Liew created CALCITE-1103: --- Summary: Decimal data serialized as Double in Protocol Buffer API Key: CALCITE-1103 URL: https://issues.apache.org/jira/browse/CALCITE-1103 Project: Calcite Issue Type: Bug Affects Versions: 1.5.0 Environment: HDP 2.3.4 with Phoenix 4.4 and Calcite 1.5 Reporter: Kevin Liew Assignee: Julian Hyde Priority: Minor Decimal data is serialized as TypedValue.double_value and loses precision. Decoded Wireshark capture {noformat} [employee@centos7-ws test]$ protoc --decode_raw < test.pb 1: "org.apache.calcite.avatica.proto.Responses$ExecuteResponse" 2 { 1 { 1: "cf74c4e9-29bc-410a-b557-bf7a4965cbaf" 2: 479389 3: 1 4 { 1 { 4: 1 8: 255 9: "KEYCOLUMN" 10: "KEYCOLUMN" 12: 255 14: "DECIMAL_TABLE_38_6" 16: 1 19: "java.lang.String" 20 { 1: 12 2: "VARCHAR" 3: 21 } } 1 { 1: 1 4: 1 6: 1 7: 1 8: 38 9: "COLUMN1" 10: "COLUMN1" 12: 38 13: 6 14: "DECIMAL_TABLE_38_6" 16: 1 19: "java.math.BigDecimal" 20 { 1: 3 2: "DECIMAL" 3: 23 } } 2: "select * from decimal_table_38_6" 4 { 1: 4 } } 5 { 2: 1 3 { 1 { 1 { 1: 21 3: "ConversionTestKey" } } 1 { 1 { 1: 22 6: 0x3ffe } } } 3 { 1 { 1 { 1: 21 3: "FractionalNumeric6" } } 1 { 1 { 1: 22 6: 0x40ba0a524af0bf1a } } } 3 { 1 { 1 { 1: 21 3: "FractionalNumeric8" } } 1 { 1 { 1: 22 6: 0xbff1f9acffa7eb6c } } } 3 { 1 { 1 { 1: 21 3: "Null" } } 1 { 1 { 1: 24 } } } 3 { 1 { 1 { 1: 21 3: "OnePlusFraction" } } 1 { 1 { 1: 22 6: 0x3ff10c6f7a0b } } } } 6: 18446744073709551615 7 { 1: "centos7-ws:8765" } } 3 { 1: "centos7-ws:8765" } } {noformat} The column1 data is tagged with 6 which corresponds to double_value in the proto file. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Commented] (CALCITE-1075) UDF Error of Calcite 1.6
[ https://issues.apache.org/jira/browse/CALCITE-1075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15169946#comment-15169946 ] Julian Hyde commented on CALCITE-1075: -- It doesn't look as if CALCITE-1054 has the same cause. > UDF Error of Calcite 1.6 > - > > Key: CALCITE-1075 > URL: https://issues.apache.org/jira/browse/CALCITE-1075 > Project: Calcite > Issue Type: Bug >Affects Versions: 1.6.0 >Reporter: Wei Hu >Assignee: Julian Hyde > Attachments: 0001-test-cases-for-CALCITE-1075.patch > > > UDF Error In Calcite 1.6, may be Regression bugs? > schema:Table:hr, A String, B String, C String, D Timestamp > UDF: DATE_TRUNC(Timestamp D, String X) returns a timestamp value > there a several regression bugs. 1.5 is ok, but 1.6 will throw exception: > 1. UDF in Group_by clause, > sql:select min(m0), max(m0) from (select DATE_TRUNC(D, 'month') as d1, > COUNT(A) as m0 from \"hr\" group by DATE_TRUNC(D, 'month')) > Error Stack: > Caused by: java.lang.ClassCastException: java.sql.Timestamp cannot be cast to > java.lang.Long > at Baz$2.apply(Unknown Source) > at Baz$2.apply(Unknown Source) > at > org.apache.calcite.linq4j.EnumerableDefaults.groupBy_(EnumerableDefaults.java:821) > at > org.apache.calcite.linq4j.EnumerableDefaults.groupBy(EnumerableDefaults.java:754) > at > org.apache.calcite.linq4j.DefaultEnumerable.groupBy(DefaultEnumerable.java:302) > at Baz.bind(Unknown Source) > at > org.apache.calcite.jdbc.CalcitePrepare$CalciteSignature.enumerable(CalcitePrepare.java:326) > at > org.apache.calcite.jdbc.CalciteConnectionImpl.enumerable(CalciteConnectionImpl.java:281) > at > org.apache.calcite.jdbc.CalciteMetaImpl._createIterable(CalciteMetaImpl.java:545) > at > org.apache.calcite.jdbc.CalciteMetaImpl.createIterable(CalciteMetaImpl.java:536) > at > org.apache.calcite.avatica.AvaticaResultSet.execute(AvaticaResultSet.java:187) > at > org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:65) > at > org.apache.calcite.jdbc.CalciteResultSet.execute(CalciteResultSet.java:44) > at > org.apache.calcite.avatica.AvaticaConnection$1.execute(AvaticaConnection.java:566) > at > org.apache.calcite.jdbc.CalciteMetaImpl.prepareAndExecute(CalciteMetaImpl.java:578) > at > org.apache.calcite.avatica.AvaticaConnection.prepareAndExecuteInternal(AvaticaConnection.java:571) > at > org.apache.calcite.avatica.AvaticaStatement.executeInternal(AvaticaStatement.java:135) > ... 2 more > > > 2. select UDF > sql: select D, DATE_TRUNC(D, 'month') from \"hr\" group by D > throw exception when call resultSet.getTimestamp(1) > Error stack: > Exception in thread "main" java.lang.ClassCastException: java.sql.Timestamp > cannot be cast to java.lang.Number > at > org.apache.calcite.avatica.util.AbstractCursor$NumberAccessor.getNumber(AbstractCursor.java:696) > at > org.apache.calcite.avatica.util.AbstractCursor$TimestampFromNumberAccessor.getTimestamp(AbstractCursor.java:958) > at > org.apache.calcite.avatica.AvaticaResultSet.getTimestamp(AvaticaResultSet.java:285) > at testPs.TestPs.main(TestPs.java:150) > > 3. UDFs with same name and different arg types > UDF: DATE_TRUNC(Timestamp D, String x) returns a timestamp value > DATE_TRUNC(Date D, String x) returns a date value > > sql: select D, DATE_TRUNC(D, 'month') from \"hr\" group by D > Error stack: > Caused by: org.apache.calcite.runtime.CalciteContextException: From line 1, > column 11 to line 1, column 32: Cannot apply 'DATE_TRUNC' to arguments of > type 'DATE_TRUNC(, )'. Supported form(s): > 'DATE_TRUNC(, )' > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:526) > at > org.apache.calcite.runtime.Resources$ExInstWithCause.ex(Resources.java:405) > at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:715) > at org.apache.calcite.sql.SqlUtil.newContextException(SqlUtil.java:703) > at > org.apache.calcite.sql.validate.SqlValidatorImpl.newValidationError(SqlValidatorImpl.java:3932) > at > org.apache.calcite.sql.SqlCallBinding.newValidationSignatureError(SqlCallBinding.java:275) > at > org.apache.calcite.sql.type.FamilyOperandTypeChecker.checkSingleOperandType(FamilyOperandTypeChecker.java:92) > at > org.apache.calcite.sql.type.FamilyOperandTypeChecker.checkOperandTypes(FamilyOperandTypeChecker.java:109) >
[jira] [Commented] (CALCITE-1102) Add implementations of built-in operators applied to ANY type
[ https://issues.apache.org/jira/browse/CALCITE-1102?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15169919#comment-15169919 ] Julian Hyde commented on CALCITE-1102: -- Disabled ANY functionality as part of the fix for CALCITE-1054. Improved code generation for handling NULL values broke the previous shaky implementation of ANY. > Add implementations of built-in operators applied to ANY type > - > > Key: CALCITE-1102 > URL: https://issues.apache.org/jira/browse/CALCITE-1102 > Project: Calcite > Issue Type: Bug >Reporter: Julian Hyde >Assignee: Julian Hyde > > The support for the ANY type in built-in operators is not reliable. Such > operators validate successfully but in the Enumerable convention are likely > to generate code that is invalid. This is especially true for overloaded > operators, where the implementation of the operator needs to be determined > based on the runtime type of the operands. > We have disabled SqlOperatorTest.testPlusOperatorAny. When fixing this issue > look for other disabled tests tagged with this JIRA case number. -- This message was sent by Atlassian JIRA (v6.3.4#6332)