[jira] [Closed] (CALCITE-1477) Calcite

2016-10-30 Thread Dongming Liu (JIRA)

 [ 
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.

2016-10-30 Thread Dongming Liu (JIRA)
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

2016-10-30 Thread Dongming Liu (JIRA)
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

2016-10-30 Thread Julian Hyde (JIRA)

[ 
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

2016-10-30 Thread Julian Hyde (JIRA)

 [ 
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

2016-10-30 Thread Julian Hyde (JIRA)

 [ 
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

2016-10-30 Thread Julian Hyde (JIRA)

[ 
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

2016-10-30 Thread Julian Stenzel (JIRA)
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

2016-10-30 Thread Josh Elser (JIRA)

 [ 
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

2016-10-30 Thread Josh Elser (JIRA)

[ 
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

2016-10-30 Thread Josh Elser (JIRA)

[ 
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 
>