Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions c_glib/arrow-glib/array-builder.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <arrow-glib/array-builder.hpp>
#include <arrow-glib/data-type.hpp>
#include <arrow-glib/error.hpp>
#include <arrow-glib/type.hpp>

template <typename BUILDER, typename VALUE>
gboolean
Expand Down Expand Up @@ -327,6 +328,39 @@ garrow_array_builder_release_ownership(GArrowArrayBuilder *builder)
priv->have_ownership = FALSE;
}

/**
* garrow_array_builder_get_value_data_type:
* @builder: A #GArrowArrayBuilder.
*
* Returns: (transfer full): The #GArrowDataType of the value of
* the array builder.
*
* Since: 0.9.0
*/
GArrowDataType *
garrow_array_builder_get_value_data_type(GArrowArrayBuilder *builder)
{
auto arrow_builder = garrow_array_builder_get_raw(builder);
auto arrow_type = arrow_builder->type();
return garrow_data_type_new_raw(&arrow_type);
}

/**
* garrow_array_builder_get_value_type:
* @builder: A #GArrowArrayBuilder.
*
* Returns: The #GArrowType of the value of the array builder.
*
* Since: 0.9.0
*/
GArrowType
garrow_array_builder_get_value_type(GArrowArrayBuilder *builder)
{
auto arrow_builder = garrow_array_builder_get_raw(builder);
auto arrow_type = arrow_builder->type();
return garrow_type_from_raw(arrow_type->id());
}

/**
* garrow_array_builder_finish:
* @builder: A #GArrowArrayBuilder.
Expand Down
4 changes: 4 additions & 0 deletions c_glib/arrow-glib/array-builder.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,10 @@ struct _GArrowArrayBuilderClass

void garrow_array_builder_release_ownership(GArrowArrayBuilder *builder);

GArrowDataType *
garrow_array_builder_get_value_data_type(GArrowArrayBuilder *builder);
GArrowType garrow_array_builder_get_value_type(GArrowArrayBuilder *builder);

GArrowArray *garrow_array_builder_finish (GArrowArrayBuilder *builder,
GError **error);

Expand Down
Loading