MCPcopy Create free account
hub / github.com/apache/arrow / garrow_datum_new_raw

Function garrow_datum_new_raw

c_glib/arrow-glib/datum.cpp:730–780  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

728}
729
730GArrowDatum *
731garrow_datum_new_raw(arrow::Datum *arrow_datum)
732{
733 switch (arrow_datum->kind()) {
734 case arrow::Datum::SCALAR:
735 {
736 auto arrow_scalar = arrow_datum->scalar();
737 auto scalar = garrow_scalar_new_raw(&arrow_scalar);
738 auto scalar_datum = garrow_scalar_datum_new_raw(arrow_datum, scalar);
739 g_object_unref(scalar);
740 return GARROW_DATUM(scalar_datum);
741 }
742 case arrow::Datum::ARRAY:
743 {
744 auto arrow_array = arrow_datum->make_array();
745 auto array = garrow_array_new_raw(&arrow_array);
746 auto array_datum = garrow_array_datum_new_raw(arrow_datum, array);
747 g_object_unref(array);
748 return GARROW_DATUM(array_datum);
749 }
750 case arrow::Datum::CHUNKED_ARRAY:
751 {
752 auto arrow_chunked_array = arrow_datum->chunked_array();
753 auto chunked_array = garrow_chunked_array_new_raw(&arrow_chunked_array);
754 auto chunked_array_datum =
755 garrow_chunked_array_datum_new_raw(arrow_datum, chunked_array);
756 g_object_unref(chunked_array);
757 return GARROW_DATUM(chunked_array_datum);
758 }
759 case arrow::Datum::RECORD_BATCH:
760 {
761 auto arrow_record_batch = arrow_datum->record_batch();
762 auto record_batch = garrow_record_batch_new_raw(&arrow_record_batch);
763 auto record_batch_datum =
764 garrow_record_batch_datum_new_raw(arrow_datum, record_batch);
765 g_object_unref(record_batch);
766 return GARROW_DATUM(record_batch_datum);
767 }
768 case arrow::Datum::TABLE:
769 {
770 auto arrow_table = arrow_datum->table();
771 auto table = garrow_table_new_raw(&arrow_table);
772 auto table_datum = garrow_table_datum_new_raw(arrow_datum, table);
773 g_object_unref(table);
774 return GARROW_DATUM(table_datum);
775 }
776 default:
777 // TODO
778 return NULL;
779 }
780}
781
782GArrowScalarDatum *
783garrow_scalar_datum_new_raw(arrow::Datum *arrow_datum, GArrowScalar *value)

Callers 2

garrow_function_executeFunction · 0.85

Calls 12

garrow_scalar_new_rawFunction · 0.85
garrow_array_new_rawFunction · 0.85
make_arrayMethod · 0.80
chunked_arrayMethod · 0.80
kindMethod · 0.45
scalarMethod · 0.45

Tested by

no test coverage detected