2013-12-01 4 views
0

У меня есть тип _Client в хранилище данных, которое имеет свойство lastSeen.Appengine Datastore возвращает неверные результаты

Выполнение запроса;

SELECT __key__ FROM _Client WHERE (status = ONLINE AND lastSeen < 1385920960176) ORDER BY lastSeen DESC 

И он возвращает этот результат;

Result:[key:_Client("CE:f3ccfa69-2c19-42e1-b9ae-bc87fffd5cc9"), 
    lastSeen = 1385921035721 .......] 

Проблема в том, возвращаемая запись не соответствует критериям «lastSeen < 1385920960176». У меня есть этот индекс для типа _Client;

<datastore-index kind="_Client" ancestor="false" source="manual"> 
    <property name="status" direction="asc"/> 
    <property name="lastSeen" direction="desc"/> 
</datastore-index> 

Я также пробовал индекс lastSeen с направлением по направлению, но результат был таким же. Это приложение Java.

+0

Я предполагаю, что это приложение Java? Вы должны действительно указать язык программирования, когда задаетесь вопросом о gae. –

+0

Я отредактировал вопрос, и да, это приложение java. – Iarwa1N

+0

Это в dev_appserver или развернуто? –

ответ

0

Я нашел причину, это реализация FilterDto из пакета Mobile Backend Starter. Он создавал операнды для String с String.valueOf (v) при создании фильтра запросов. Поэтому я предполагаю, что мой фильтр даты был интерпретирован как сравнение строк.

Смежные вопросы