[jira] [Closed] (CALCITE-1477) Calcite
[ https://issues.apache.org/jira/browse/CALCITE-1477?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Dongming Liu closed CALCITE-1477. - Resolution: Invalid > Calcite > --- > > Key: CALCITE-1477 > URL: https://issues.apache.org/jira/browse/CALCITE-1477 > Project: Calcite > Issue Type: Bug >Reporter: Dongming Liu >Assignee: Julian Hyde > -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CALCITE-1478) SqlDatetimeSubtractionOperator unparse error.
Dongming Liu created CALCITE-1478: - Summary: SqlDatetimeSubtractionOperator unparse error. Key: CALCITE-1478 URL: https://issues.apache.org/jira/browse/CALCITE-1478 Project: Calcite Issue Type: Bug Components: core Affects Versions: 1.11.0 Reporter: Dongming Liu Assignee: Julian Hyde The expression _date '1998-12-01' - interval '108' day(3)_ parse to SqlNode its operator is *SqlMonotonicBinaryOperator*, when convert it to RelNode, its operator is *SqlDatetimeSubtractionOperator*. When I use *RelToSqlConverter* to convert the RelNode to SqlNode, its operator is also *SqlDatetimeSubtractionOperator*. Now, *sqlNode.toSqlString(sqlDialect).getSql()* has a *IndexOutOfBoundsException*. The source code as follows: {code} final SqlWriter.Frame frame = writer.startList("(", ")"); call.operand(0).unparse(writer, leftPrec, rightPrec); writer.sep("-"); call.operand(1).unparse(writer, leftPrec, rightPrec); writer.endList(frame); call.operand(2).unparse(writer, leftPrec, rightPrec); {code} *SqlDatetimeSubtractionOperator* must have three operands, now it only has two operands. The following code convert SqlMonotonicBinaryOperator to SqlDatetimeSubtractionOperator, {code} registerOp(SqlStdOperatorTable.MINUS, new SqlRexConvertlet() { public RexNode convertCall(SqlRexContext cx, SqlCall call) { final RexCall e = (RexCall) StandardConvertletTable.this.convertCall(cx, call, call.getOperator()); switch (e.getOperands().get(0).getType().getSqlTypeName()) { case DATE: case TIME: case TIMESTAMP: return convertDatetimeMinus(cx, SqlStdOperatorTable.MINUS_DATE, call); default: return e; } } }); {code} For _date '1998-12-01' - interval '108' day(3)_, this converter is OK? It only has two operands. -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Created] (CALCITE-1477) Calcite
Dongming Liu created CALCITE-1477: - Summary: Calcite Key: CALCITE-1477 URL: https://issues.apache.org/jira/browse/CALCITE-1477 Project: Calcite Issue Type: Bug Reporter: Dongming Liu Assignee: Julian Hyde -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Comment Edited] (CALCITE-1475) Jackson shading causes JsonIgnore to be ignored when serializing response as JSON
[ https://issues.apache.org/jira/browse/CALCITE-1475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15621219#comment-15621219 ] Julian Hyde edited comment on CALCITE-1475 at 10/31/16 4:35 AM: [~elserj], Removing the "avatica" component of this issue; you have convinced me that this is a Calcite issue, not Avatica. I tested the patch, and it works. Thanks! I will use it as part of the fix for CALCITE-1270. was (Author: julianhyde): @elser, I tested the patch, and it works. Thanks! I will use it as part of the fix for CALCITE-1270. > Jackson shading causes JsonIgnore to be ignored when serializing response as > JSON > - > > Key: CALCITE-1475 > URL: https://issues.apache.org/jira/browse/CALCITE-1475 > Project: Calcite > Issue Type: Bug >Reporter: Julian Hyde >Assignee: Julian Hyde > Fix For: 1.11.0 > > Attachments: CALCITE-1475.001.patch > > > I am getting an error while running > {{CalciteRemoteDriverTest.testRemotePrepareExecute}} because Avatica is > trying to serialize the field {{CalcitePrepare.CalciteSignature.rowType}} to > JSON. The field has the annotation {{@JsonIgnore}} but I surmise that that > annotation is being ignored because Jackson is being shaded inside Avatica. > Here is the error stack: > {noformat} > java.lang.AssertionError > at > org.apache.calcite.rel.type.RelDataTypeImpl.getFieldList(RelDataTypeImpl.java:146) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:654) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serializeDynamic(MapEntrySerializer.java:252) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:197) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:19) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeWithType(BeanSerializerBase.java:566) > at >
[jira] [Updated] (CALCITE-1475) Jackson shading causes JsonIgnore to be ignored when serializing response as JSON
[ https://issues.apache.org/jira/browse/CALCITE-1475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Hyde updated CALCITE-1475: - Component/s: (was: avatica) > Jackson shading causes JsonIgnore to be ignored when serializing response as > JSON > - > > Key: CALCITE-1475 > URL: https://issues.apache.org/jira/browse/CALCITE-1475 > Project: Calcite > Issue Type: Bug >Reporter: Julian Hyde > Fix For: 1.11.0 > > Attachments: CALCITE-1475.001.patch > > > I am getting an error while running > {{CalciteRemoteDriverTest.testRemotePrepareExecute}} because Avatica is > trying to serialize the field {{CalcitePrepare.CalciteSignature.rowType}} to > JSON. The field has the annotation {{@JsonIgnore}} but I surmise that that > annotation is being ignored because Jackson is being shaded inside Avatica. > Here is the error stack: > {noformat} > java.lang.AssertionError > at > org.apache.calcite.rel.type.RelDataTypeImpl.getFieldList(RelDataTypeImpl.java:146) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:654) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serializeDynamic(MapEntrySerializer.java:252) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:197) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:19) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeWithType(BeanSerializerBase.java:566) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:130) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:3559) > at >
[jira] [Updated] (CALCITE-1475) Jackson shading causes JsonIgnore to be ignored when serializing response as JSON
[ https://issues.apache.org/jira/browse/CALCITE-1475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julian Hyde updated CALCITE-1475: - Fix Version/s: 1.11.0 > Jackson shading causes JsonIgnore to be ignored when serializing response as > JSON > - > > Key: CALCITE-1475 > URL: https://issues.apache.org/jira/browse/CALCITE-1475 > Project: Calcite > Issue Type: Bug >Reporter: Julian Hyde > Fix For: 1.11.0 > > Attachments: CALCITE-1475.001.patch > > > I am getting an error while running > {{CalciteRemoteDriverTest.testRemotePrepareExecute}} because Avatica is > trying to serialize the field {{CalcitePrepare.CalciteSignature.rowType}} to > JSON. The field has the annotation {{@JsonIgnore}} but I surmise that that > annotation is being ignored because Jackson is being shaded inside Avatica. > Here is the error stack: > {noformat} > java.lang.AssertionError > at > org.apache.calcite.rel.type.RelDataTypeImpl.getFieldList(RelDataTypeImpl.java:146) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:654) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serializeDynamic(MapEntrySerializer.java:252) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:197) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:19) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeWithType(BeanSerializerBase.java:566) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:130) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ObjectMapper._configAndWriteValue(ObjectMapper.java:3559) > at >
[jira] [Commented] (CALCITE-1475) Jackson shading causes JsonIgnore to be ignored when serializing response as JSON
[ https://issues.apache.org/jira/browse/CALCITE-1475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15621219#comment-15621219 ] Julian Hyde commented on CALCITE-1475: -- @elser, I tested the patch, and it works. Thanks! I will use it as part of the fix for CALCITE-1270. > Jackson shading causes JsonIgnore to be ignored when serializing response as > JSON > - > > Key: CALCITE-1475 > URL: https://issues.apache.org/jira/browse/CALCITE-1475 > Project: Calcite > Issue Type: Bug > Components: avatica >Reporter: Julian Hyde > Attachments: CALCITE-1475.001.patch > > > I am getting an error while running > {{CalciteRemoteDriverTest.testRemotePrepareExecute}} because Avatica is > trying to serialize the field {{CalcitePrepare.CalciteSignature.rowType}} to > JSON. The field has the annotation {{@JsonIgnore}} but I surmise that that > annotation is being ignored because Jackson is being shaded inside Avatica. > Here is the error stack: > {noformat} > java.lang.AssertionError > at > org.apache.calcite.rel.type.RelDataTypeImpl.getFieldList(RelDataTypeImpl.java:146) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:654) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serializeDynamic(MapEntrySerializer.java:252) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:197) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:19) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeWithType(BeanSerializerBase.java:566) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:130) > at >
[jira] [Created] (CALCITE-1476) MongoDB Adapter example leads to Exception
Julian Stenzel created CALCITE-1476: --- Summary: MongoDB Adapter example leads to Exception Key: CALCITE-1476 URL: https://issues.apache.org/jira/browse/CALCITE-1476 Project: Calcite Issue Type: Bug Components: mongodb Affects Versions: 1.10.0 Reporter: Julian Stenzel Assignee: Julian Hyde Priority: Minor Iam trying to run the MongoDB adapter example. sqlline> !connect jdbc:calcite:model=mongodb/target/test-classes/mongo-zips-model.json admin admin leads me to the following exception: sqlline> !connect jdbc:calcite:model=C:\Users\Julian\Desktop\calcite\mongodb\target\test-classes\mongo-zips-model.json admin admin SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Connecting to jdbc:calcite:model=C:\Users\Julian\Desktop\calcite\mongodb\target\test-classes\mongo-zips-model.json java.lang.RuntimeException: Error instantiating JsonCustomSchema(name=mongo_raw) at org.apache.calcite.model.ModelHandler.visit(ModelHandler.java:220) at org.apache.calcite.model.JsonCustomSchema.accept(JsonCustomSchema.java:45) at org.apache.calcite.model.ModelHandler.visit(ModelHandler.java:143) at org.apache.calcite.model.ModelHandler.(ModelHandler.java:85) at org.apache.calcite.jdbc.Driver$1.onConnectionInit(Driver.java:104) at org.apache.calcite.avatica.UnregisteredDriver.connect(UnregisteredDriver.java:145) at sqlline.DatabaseConnection.connect(DatabaseConnection.java:157) at sqlline.DatabaseConnection.getConnection(DatabaseConnection.java:203) at sqlline.Commands.connect(Commands.java:1064) at sqlline.Commands.connect(Commands.java:996) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at sqlline.ReflectiveCommandHandler.execute(ReflectiveCommandHandler.java:36) at sqlline.SqlLine.dispatch(SqlLine.java:803) at sqlline.SqlLine.begin(SqlLine.java:681) at sqlline.SqlLine.start(SqlLine.java:398) at sqlline.SqlLine.main(SqlLine.java:292) Caused by: java.lang.RuntimeException: Property 'org.apache.calcite.adapter.mongodb.MongoSchemaFactory' not valid for plugin type org.apache.calcite.schema.SchemaFactory at org.apache.calcite.avatica.AvaticaUtils.instantiatePlugin(AvaticaUtils.java:207) at org.apache.calcite.model.ModelHandler.visit(ModelHandler.java:211) ... 18 more Caused by: java.lang.ClassNotFoundException: org.apache.calcite.adapter.mongodb.MongoSchemaFactory at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Unknown Source) at org.apache.calcite.avatica.AvaticaUtils.instantiatePlugin(AvaticaUtils.java:195) Its a clean install at the newest version. CSV example works fine. greeting Julian -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (CALCITE-1475) Jackson shading causes JsonIgnore to be ignored when serializing response as JSON
[ https://issues.apache.org/jira/browse/CALCITE-1475?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Josh Elser updated CALCITE-1475: Attachment: CALCITE-1475.001.patch [~julianhyde], assuming you already have Calcite primed for the 1.9.0 upgrade, here's the patch on top of that which should fix the Jackson issue. > Jackson shading causes JsonIgnore to be ignored when serializing response as > JSON > - > > Key: CALCITE-1475 > URL: https://issues.apache.org/jira/browse/CALCITE-1475 > Project: Calcite > Issue Type: Bug > Components: avatica >Reporter: Julian Hyde > Attachments: CALCITE-1475.001.patch > > > I am getting an error while running > {{CalciteRemoteDriverTest.testRemotePrepareExecute}} because Avatica is > trying to serialize the field {{CalcitePrepare.CalciteSignature.rowType}} to > JSON. The field has the annotation {{@JsonIgnore}} but I surmise that that > annotation is being ignored because Jackson is being shaded inside Avatica. > Here is the error stack: > {noformat} > java.lang.AssertionError > at > org.apache.calcite.rel.type.RelDataTypeImpl.getFieldList(RelDataTypeImpl.java:146) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:654) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serializeDynamic(MapEntrySerializer.java:252) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:197) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:19) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeWithType(BeanSerializerBase.java:566) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.DefaultSerializerProvider.serializeValue(DefaultSerializerProvider.java:130) > at >
[jira] [Commented] (CALCITE-1475) Jackson shading causes JsonIgnore to be ignored when serializing response as JSON
[ https://issues.apache.org/jira/browse/CALCITE-1475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15620636#comment-15620636 ] Josh Elser commented on CALCITE-1475: - Ok, I don't think this should be viewed as a regression in Avatica. Let me try to explain. This happens now because Calcite uses the "normal" com.fasterxml... package for jackson classes. The avatica "shaded" jar relocated the jackson classes to org.apache.calcite.avatica.shaded.com.fasterxml... This discrepancy is the cause for the breakage. Avatica is looking for the annotation in the relocated class name, while Calcite is expecting the non-relocated class to be picked up. IMO, the proper fix is to use the avatica-core dependency in Calcite. Avatica should not have been distributing a shaded jar to clients with bundled, non-relocated dependency classes in it; this is flat out bad/wrong. Because Calcite is using jackson itself, it needs to use the actual dependency, not the shaded Avatica client (because that dependency should *not* be visible to Calcite). If Calcite wants to create a single artifact (based on the calcite-core Maven module), then it should use the avatica-core module and use the shade plugin to relocate the dependencies. This would not be an issue as both Avatica and Calcite would be using Jackson relocated at the same place. > Jackson shading causes JsonIgnore to be ignored when serializing response as > JSON > - > > Key: CALCITE-1475 > URL: https://issues.apache.org/jira/browse/CALCITE-1475 > Project: Calcite > Issue Type: Bug > Components: avatica >Reporter: Julian Hyde > > I am getting an error while running > {{CalciteRemoteDriverTest.testRemotePrepareExecute}} because Avatica is > trying to serialize the field {{CalcitePrepare.CalciteSignature.rowType}} to > JSON. The field has the annotation {{@JsonIgnore}} but I surmise that that > annotation is being ignored because Jackson is being shaded inside Avatica. > Here is the error stack: > {noformat} > java.lang.AssertionError > at > org.apache.calcite.rel.type.RelDataTypeImpl.getFieldList(RelDataTypeImpl.java:146) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:654) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serializeDynamic(MapEntrySerializer.java:252) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:197) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:19) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at >
[jira] [Commented] (CALCITE-1475) Jackson shading causes JsonIgnore to be ignored when serializing response as JSON
[ https://issues.apache.org/jira/browse/CALCITE-1475?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15619974#comment-15619974 ] Josh Elser commented on CALCITE-1475: - [~julianhyde] one change that happened was that Jackson was relocated inside the shaded jar to prevent classpath issues. Maybe that inadvertently broke this annotation as well? Shame if it did since the testing didn't uncover this. I haven't run into this before. I'd have to do some digging to see if I can figure out what happened. > Jackson shading causes JsonIgnore to be ignored when serializing response as > JSON > - > > Key: CALCITE-1475 > URL: https://issues.apache.org/jira/browse/CALCITE-1475 > Project: Calcite > Issue Type: Bug > Components: avatica >Reporter: Julian Hyde > > I am getting an error while running > {{CalciteRemoteDriverTest.testRemotePrepareExecute}} because Avatica is > trying to serialize the field {{CalcitePrepare.CalciteSignature.rowType}} to > JSON. The field has the annotation {{@JsonIgnore}} but I surmise that that > annotation is being ignored because Jackson is being shaded inside Avatica. > Here is the error stack: > {noformat} > java.lang.AssertionError > at > org.apache.calcite.rel.type.RelDataTypeImpl.getFieldList(RelDataTypeImpl.java:146) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:498) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:654) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serializeDynamic(MapEntrySerializer.java:252) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:197) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.MapEntrySerializer.serialize(MapEntrySerializer.java:19) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serializeContents(IndexedListSerializer.java:119) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:79) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.IndexedListSerializer.serialize(IndexedListSerializer.java:18) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanSerializer.serialize(BeanSerializer.java:157) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:693) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:675) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeWithType(BeanSerializerBase.java:566) > at > org.apache.calcite.avatica.com.fasterxml.jackson.databind.ser.impl.TypeWrappedSerializer.serialize(TypeWrappedSerializer.java:32) > at >