From e225123cb0ca602c8c9e80aece8f3a5662303ef4 Mon Sep 17 00:00:00 2001 From: Cocoa Date: Sun, 23 Jun 2024 19:24:46 +0100 Subject: [PATCH] always return data reference in a list --- c_src/adbc_column.hpp | 3 ++- lib/adbc_connection.ex | 5 +---- 2 files changed, 3 insertions(+), 5 deletions(-) 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