[ 
https://issues.apache.org/jira/browse/CALCITE-6026?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Tim Nieradzik updated CALCITE-6026:
-----------------------------------
    Description: 
The following query fails with a JsonParseException:
{code:java}
select state as "STATE", avg(pop) as "AVG(pop)"
from zips
group by "STATE"
order by "AVG(pop)" {code}
 
Stack trace:
 
{code:java}
org.bson.json.JsonParseException: JSON reader was expecting ':' but found '('.
        at org.bson.json.JsonReader.readBsonType(JsonReader.java:150)
        at org.bson.codecs.BsonDocumentCodec.decode(BsonDocumentCodec.java:85)
        at org.bson.codecs.BsonDocumentCodec.decode(BsonDocumentCodec.java:42)
        at 
org.bson.codecs.BsonDocumentCodec.readValue(BsonDocumentCodec.java:104)
        at org.bson.codecs.BsonDocumentCodec.decode(BsonDocumentCodec.java:87)
        at org.bson.BsonDocument.parse(BsonDocument.java:66)
        at 
org.apache.calcite.adapter.mongodb.MongoTable.aggregate(MongoTable.java:138)
        at 
org.apache.calcite.adapter.mongodb.MongoTable.access$200(MongoTable.java:53)
        at 
org.apache.calcite.adapter.mongodb.MongoTable$MongoQueryable.aggregate(MongoTable.java:189)
 {code}
 

This is caused by the column name in the "order by" clause not being escaped.

 

  was:
The following query fails with a JsonParseException:
{code:java}
select state as "STATE", avg(pop) as "AVG(pop)"
from zips
group by "STATE"
order by "AVG(pop)" {code}
 
Stack trace:
 
{code:java}
org.bson.json.JsonParseException: JSON reader was expecting ':' but found '('.
        at org.bson.json.JsonReader.readBsonType(JsonReader.java:150)
        at org.bson.codecs.BsonDocumentCodec.decode(BsonDocumentCodec.java:85)
        at org.bson.codecs.BsonDocumentCodec.decode(BsonDocumentCodec.java:42)
        at 
org.bson.codecs.BsonDocumentCodec.readValue(BsonDocumentCodec.java:104)
        at org.bson.codecs.BsonDocumentCodec.decode(BsonDocumentCodec.java:87)
        at org.bson.BsonDocument.parse(BsonDocument.java:66)
        at 
org.apache.calcite.adapter.mongodb.MongoTable.aggregate(MongoTable.java:138)
        at 
org.apache.calcite.adapter.mongodb.MongoTable.access$200(MongoTable.java:53)
        at 
org.apache.calcite.adapter.mongodb.MongoTable$MongoQueryable.aggregate(MongoTable.java:189)
 {code}
 

This is caused by the column name in the "ORDER BY" clause not being escaped.

 


> MongoDB: Column is not quoted in "order by" clause and throws 
> JsonParseException
> --------------------------------------------------------------------------------
>
>                 Key: CALCITE-6026
>                 URL: https://issues.apache.org/jira/browse/CALCITE-6026
>             Project: Calcite
>          Issue Type: Bug
>          Components: mongodb-adapter
>            Reporter: Tim Nieradzik
>            Assignee: Tim Nieradzik
>            Priority: Major
>
> The following query fails with a JsonParseException:
> {code:java}
> select state as "STATE", avg(pop) as "AVG(pop)"
> from zips
> group by "STATE"
> order by "AVG(pop)" {code}
>  
> Stack trace:
>  
> {code:java}
> org.bson.json.JsonParseException: JSON reader was expecting ':' but found '('.
>       at org.bson.json.JsonReader.readBsonType(JsonReader.java:150)
>       at org.bson.codecs.BsonDocumentCodec.decode(BsonDocumentCodec.java:85)
>       at org.bson.codecs.BsonDocumentCodec.decode(BsonDocumentCodec.java:42)
>       at 
> org.bson.codecs.BsonDocumentCodec.readValue(BsonDocumentCodec.java:104)
>       at org.bson.codecs.BsonDocumentCodec.decode(BsonDocumentCodec.java:87)
>       at org.bson.BsonDocument.parse(BsonDocument.java:66)
>       at 
> org.apache.calcite.adapter.mongodb.MongoTable.aggregate(MongoTable.java:138)
>       at 
> org.apache.calcite.adapter.mongodb.MongoTable.access$200(MongoTable.java:53)
>       at 
> org.apache.calcite.adapter.mongodb.MongoTable$MongoQueryable.aggregate(MongoTable.java:189)
>  {code}
>  
> This is caused by the column name in the "order by" clause not being escaped.
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to