Tim Nieradzik created CALCITE-6026:
--------------------------------------

             Summary: 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


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