diff --git a/c_src/adbc_column.hpp b/c_src/adbc_column.hpp index cc306f9..bd4a565 100644 --- a/c_src/adbc_column.hpp +++ b/c_src/adbc_column.hpp @@ -119,7 +119,8 @@ ERL_NIF_TERM make_adbc_column(ErlNifEnv *env, struct ArrowSchema * schema, ERL_N if (data_ref) { keys.emplace_back(kAtomDataKey); - values.emplace_back(data_ref.value()); + ERL_NIF_TERM data_ref_list = enif_make_list1(env, data_ref.value()); + values.emplace_back(data_ref_list); } ERL_NIF_TERM adbc_column; diff --git a/lib/adbc_connection.ex b/lib/adbc_connection.ex index 9e7032c..2cdf86c 100644 --- a/lib/adbc_connection.ex +++ b/lib/adbc_connection.ex @@ -410,10 +410,7 @@ defmodule Adbc.Connection do defp merge_columns(chucked_results) do Enum.zip_with(chucked_results, fn columns -> Enum.reduce(columns, fn column, merged_column -> - merged_data = - List.wrap(merged_column.data) ++ List.wrap(column.data) - - %{merged_column | data: merged_data} + %{merged_column | data: merged_column.data ++ column.data} end) end) end