Я пытаюсь добавить числовые значения c к параметризованному AnalyticsQuery
, но продолжаю получать ошибки при выполнении запроса. java, создающий запрос, выглядит следующим образом:
private ParameterizedAnalyticsQuery aggregateQuery(String userId, Long from, Long to) {
return AnalyticsQuery.parameterized(
"select d.field1,"
+ " d.field2"
+ " from data d"
+ " where d.userId = $userId"
+ " and d.timestamp between $from and $to",
JsonObject.create()
.put("userId", userId)
.put("from", from)
.put("to", to)
);
}
При выполнении запроса возвращается следующая ошибка:
<< Encountered \"from\" at column 213. ","code":24000}]
Если я изменю запрос на следующий, то он работает и возвращает строки:
return AnalyticsQuery.parameterized(
"select d.field1,"
+ " d.field2"
+ " from data d"
+ " where d.userId = $userId"
+ " and d.timestamp between " + from
+ " and " + to,
JsonObject.create()
.put("userId", userId)
);
Почему возникает проблема, когда параметры не являются строками? Есть ли способ использовать параметризованные запросы со значениями чисел c?