Вот некоторая информация относительно ваших вопросов о HDFql :
Если с помощью " HDFql поддерживается создание таблицы, в которой строки имеют другой тип "Вы имеете в виду, что HDFql поддерживает составной тип данных, ответ пока нет.
Чтобы добавить данные в набор данных (где его размер не может быть определен заранее), вам необходимовыполните несколько шагов (я предполагаю, что вы используете язык программирования C):
2.1.Набор данных должен быть расширяемым.Например, вы можете создать расширяемый набор данных в HDFql следующим образом (это создает набор данных с именем dset
целочисленного типа данных с неограниченным размером):
hdfql_execute("CREATE CHUNKED DATASET dset AS INT(UNLIMITED)");
2.2.Запишите значение в последнем ряду набора данных dset
, используя гиперслаб следующим образом (замените my_value
на целое число, которое вы хотите записать в набор данных):
hdfql_execute("INSERT INTO dset(-1:1:1:1) VALUES(my_value)");
2.3.После записи значения в набор данных dset
и, если нужно записать больше значений, сначала увеличьте (т.е. измените) размерность на одну единицу, как показано ниже, а затем повторите шаг 2.2.:
hdfql_execute("ALTER DIMENSION dset TO (+1)");
Чтобы перебрать строки набора данных
dset
, вы должны сначала прочитать его, а затем использовать функцию
hdfql_cursor_get_int()
следующим образом:
hdfql_execute("SELECT FROM dset");
while(hdfql_cursor_next(NULL) == HDFQL_SUCCESS)
{
printf("Value: %d\n", *hdfql_cursor_get_int(NULL));
}