HyperTable — Почему мы не можем использовать * в предложении Select?

Хорошо, у меня есть проблемы с HyperTable. Просматривая документы и другие материалы. Я до сих пор не очень уверен, почему не могу использовать

SELECT * FROM TABLE WHERE....

мне разрешено только делать

SELECT COL_NAME FROM TABLE WHERE COL_NAME = COL_VAL;

Что делать, если я хочу выбрать два столбца с помощью строки? Значит ли это, что меня не пустят? Или я не понял чего-то важного? По мне так последний.

Использование Hypertable для Windows

гипертаблица> выберите Col_Id1, Col_Id2 из теста, где Col_Id2 = "131600";

я получаю следующее

Ошибка: Hypertable::Exception: имя предиката столбца не совпадает с выбранным столбцом — ошибка синтаксического анализа HYPERTABLE HQL в Hypertable::Hql::scan_set_column_predicate_name::operator () (c:\soft dev\devel\hypertable\ht4w\src\cc\ hypertable\lib\HqlParser.h:825) — ошибка синтаксического анализа HYPERTABLE HQ L

Это работает в соответствии с документами.

select Col_Id2 from test where Col_Id2 ="131600";

Любая помощь и руководство приветствуются.

Спасибо.

Ваджи


person Community    schedule 03.04.2012    source источник


Ответы (1)


Ты можешь использовать

SELECT * FROM table WHERE ROW = "rowkey";

введите «help select» в оболочке, чтобы получить полный список параметров и примеров.

person cruppstahl    schedule 03.04.2012
comment
ключ строки является первичным индексом. если вы хотите искать по значениям, вы можете использовать ... WHERE VALUE REGEXP 'blah' или ... WHERE column = 'blah'; последний работает только в 0.9.5.6. Поиск по значению выполняется медленно, если вы не создадите вторичный индекс. См. эту запись в блоге для получения дополнительной информации: hypertable.com/blog/secondary_indices_have_arrived - person cruppstahl; 04.04.2012