Как заказать данные обратно из Amazon simpleDB в определенном порядке столбцов

Я использую Java-клиент Amazon SimpleDB для чтения данных из SimpleDB. У меня проблема, хотя я указал столбцы в некотором порядке в SelectRequest следующим образом:

SelectRequest req = new SelectRequest("SELECT TIMESTAMP, TYPE, APP, http_status, USER_ID from mydata");
SElectResult res = _sdb.select(req);
..

Он вернул данные в следующем порядке столбцов:

 APP, TIMSTAMP, TYPE, USER_ID, http_status,

Кажется, он автоматически переупорядочил столбцы в порядке возрастания. Есть ли способ заставить порядок, как я указал в предложении select?


person ohana    schedule 10.05.2011    source источник


Ответы (1)


Возвращаемые столбцы представляют собой не упорядоченный список, а неупорядоченный набор атрибутов. Вы не можете контролировать порядок, в котором они возвращаются. SELECT предназначен для работы даже в тех случаях, когда некоторые атрибуты в вашем запросе не существуют для всех (или любых) возвращаемых элементов. В этих случаях вы все равно не сможете полагаться на порядок. Я понимаю, что это слабое утешение, если вы структурировали свой набор данных так, чтобы атрибуты всегда присутствовали.

Однако, поскольку вы знаете желаемый порядок заранее, должно быть довольно легко извлечь данные из результата в правильном порядке. В конце концов, это всего лишь XML, или, в случае клиента Java, только что проанализированный XML.

Операция Select возвращает набор атрибутов для ItemNames, соответствующих выражению выбора.

Документация SimpleDB для SELECT

person Mocky    schedule 10.05.2011