AWS SimpleDB, где операторы 'и' работают неожиданно - PullRequest
0 голосов
/ 30 июля 2011

Следующий запрос simpledb возвращает 51 результат:

select * from logger where time > '2011-07-29 17:45:10.540284+00:00'

Этот запрос возвращает 20534 результатов:

select * from logger where time < '2011-07-29 17:50:08.615626'

Оба эти запроса возвращают 0 результатов !!?:

select * from logger where time between '2011-07-29 17:45:10.540284+00:00' and '2011-07-29 17:50:08.615626'

select * from logger where time > '2011-07-29 17:45:10.540284+00:00' and time < '2011-07-29 17:50:08.615626'

Что мне здесь не хватает?

1 Ответ

2 голосов
/ 30 июля 2011

Но есть ли какие-либо из ваших 51 результатов, полученных в результате первого запроса, за тот промежуток времени, который вы ищете?Если они все позже 17: 50: 08.615626, тогда ваши запросы выполняются, как и ожидалось.

Я также подозреваю, что вы не согласны с тем, как вы представляете время.Вы действительно должны использовать временные метки ISO 8601, если хотите согласованное лексикографическое сопоставление времен с SDB.

Другой вариант заключается в том, что запросы выполняются дольше, чем время ожидания запроса, проверяете ли вы на ошибки?

Наконец - возможно, у SDB плохой день, и запрос просто немного медленный - в этих обстоятельствах вы можете обнаружить, что вы получаете 0 результатов, но ДЕЙСТВИТЕЛЬНО получаете следующий токен - и фактические результаты следуют в следующем пакете.

Помогает ли что-нибудь из этого?

...