Skip to content

Commit

Permalink
ARROW-7891: [C++][GLib][Python][R] Make uniform use of check_metadata…
Browse files Browse the repository at this point in the history
…=false default. Add Py/R/GLib bindings for RecordBatch::Equals with check_metadata

It seems empirically that having `check_metadata = true` as the default can be a nuisance, and checking the metadata will take place in fewer cases than checking the field names, types, and nullability for equality.

I carried through these changes in Python and R, and added bindings for RecordBatch::Equals with the check_metadata argument.

This is an API change, but IMHO a good one.

Closes #6830 from wesm/ARROW-7891

Lead-authored-by: Wes McKinney <wesm+git@apache.org>
Co-authored-by: Sutou Kouhei <kou@clear-code.com>
Co-authored-by: Wes McKinney <wesm@users.noreply.github.com>
Signed-off-by: Neal Richardson <neal.p.richardson@gmail.com>
  • Loading branch information
3 people authored and nealrichardson committed Apr 6, 2020
1 parent 15c542c commit 2b51172
Show file tree
Hide file tree
Showing 64 changed files with 550 additions and 392 deletions.
140 changes: 70 additions & 70 deletions c_glib/arrow-glib/array-builder.cpp

Large diffs are not rendered by default.

56 changes: 28 additions & 28 deletions c_glib/arrow-glib/array-builder.h
Original file line number Diff line number Diff line change
Expand Up @@ -567,11 +567,11 @@ gboolean garrow_binary_array_builder_append_value(GArrowBinaryArrayBuilder *buil
const guint8 *value,
gint32 length,
GError **error);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
gboolean garrow_binary_array_builder_append_value_bytes(GArrowBinaryArrayBuilder *builder,
GBytes *value,
GError **error);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
gboolean garrow_binary_array_builder_append_values(GArrowBinaryArrayBuilder *builder,
GBytes **values,
gint64 values_length,
Expand All @@ -580,7 +580,7 @@ gboolean garrow_binary_array_builder_append_values(GArrowBinaryArrayBuilder *bui
GError **error);
gboolean garrow_binary_array_builder_append_null(GArrowBinaryArrayBuilder *builder,
GError **error);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
gboolean garrow_binary_array_builder_append_nulls(GArrowBinaryArrayBuilder *builder,
gint64 n,
GError **error);
Expand All @@ -598,28 +598,28 @@ struct _GArrowLargeBinaryArrayBuilderClass
GArrowArrayBuilderClass parent_class;
};

GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
GArrowLargeBinaryArrayBuilder *garrow_large_binary_array_builder_new(void);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
gboolean garrow_large_binary_array_builder_append_value(GArrowLargeBinaryArrayBuilder *builder,
const guint8 *value,
gint64 length,
GError **error);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
gboolean garrow_large_binary_array_builder_append_value_bytes(GArrowLargeBinaryArrayBuilder *builder,
GBytes *value,
GError **error);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
gboolean garrow_large_binary_array_builder_append_values(GArrowLargeBinaryArrayBuilder *builder,
GBytes **values,
gint64 values_length,
const gboolean *is_valids,
gint64 is_valids_length,
GError **error);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
gboolean garrow_large_binary_array_builder_append_null(GArrowLargeBinaryArrayBuilder *builder,
GError **error);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
gboolean garrow_large_binary_array_builder_append_nulls(GArrowLargeBinaryArrayBuilder *builder,
gint64 n,
GError **error);
Expand All @@ -646,26 +646,26 @@ gboolean garrow_string_array_builder_append(GArrowStringArrayBuilder *builder,
GError **error);
#endif
#ifndef GARROW_DISABLE_DEPRECATED
GARROW_DEPRECATED_IN_1_0_FOR(garrow_string_array_builder_append_string)
GARROW_DEPRECATED_IN_0_16_FOR(garrow_string_array_builder_append_string)
GARROW_AVAILABLE_IN_0_12
gboolean garrow_string_array_builder_append_value(GArrowStringArrayBuilder *builder,
const gchar *value,
GError **error);
#endif
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
gboolean garrow_string_array_builder_append_string(GArrowStringArrayBuilder *builder,
const gchar *value,
GError **error);
#ifndef GARROW_DISABLE_DEPRECATED
GARROW_DEPRECATED_IN_1_0_FOR(garrow_string_array_builder_append_strings)
GARROW_DEPRECATED_IN_0_16_FOR(garrow_string_array_builder_append_strings)
gboolean garrow_string_array_builder_append_values(GArrowStringArrayBuilder *builder,
const gchar **values,
gint64 values_length,
const gboolean *is_valids,
gint64 is_valids_length,
GError **error);
#endif
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
gboolean garrow_string_array_builder_append_strings(GArrowStringArrayBuilder *builder,
const gchar **values,
gint64 values_length,
Expand All @@ -686,13 +686,13 @@ struct _GArrowLargeStringArrayBuilderClass
GArrowLargeBinaryArrayBuilderClass parent_class;
};

GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
GArrowLargeStringArrayBuilder *garrow_large_string_array_builder_new(void);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
gboolean garrow_large_string_array_builder_append_string(GArrowLargeStringArrayBuilder *builder,
const gchar *value,
GError **error);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
gboolean garrow_large_string_array_builder_append_strings(GArrowLargeStringArrayBuilder *builder,
const gchar **values,
gint64 values_length,
Expand Down Expand Up @@ -926,16 +926,16 @@ struct _GArrowLargeListArrayBuilderClass
GArrowArrayBuilderClass parent_class;
};

GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
GArrowLargeListArrayBuilder *garrow_large_list_array_builder_new(GArrowLargeListDataType *data_type,
GError **error);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
gboolean garrow_large_list_array_builder_append_value(GArrowLargeListArrayBuilder *builder,
GError **error);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
gboolean garrow_large_list_array_builder_append_null(GArrowLargeListArrayBuilder *builder,
GError **error);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
GArrowArrayBuilder *garrow_large_list_array_builder_get_value_builder(GArrowLargeListArrayBuilder *builder);


Expand Down Expand Up @@ -982,37 +982,37 @@ struct _GArrowMapArrayBuilderClass
GArrowArrayBuilderClass parent_class;
};

GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_17
GArrowMapArrayBuilder *garrow_map_array_builder_new(GArrowMapDataType *data_type,
GError **error);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_17
gboolean
garrow_map_array_builder_append_value(GArrowMapArrayBuilder *builder,
GError **error);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_17
gboolean
garrow_map_array_builder_append_values(GArrowMapArrayBuilder *builder,
const gint32 *offsets,
gint64 offsets_length,
const gboolean *is_valids,
gint64 is_valids_length,
GError **error);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_17
gboolean
garrow_map_array_builder_append_null(GArrowMapArrayBuilder *builder,
GError **error);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_17
gboolean
garrow_map_array_builder_append_nulls(GArrowMapArrayBuilder *builder,
gint64 n,
GError **error);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_17
GArrowArrayBuilder *
garrow_map_array_builder_get_key_builder(GArrowMapArrayBuilder *builder);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_17
GArrowArrayBuilder *
garrow_map_array_builder_get_item_builder(GArrowMapArrayBuilder *builder);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_17
GArrowArrayBuilder *
garrow_map_array_builder_get_value_builder(GArrowMapArrayBuilder *builder);

Expand Down
12 changes: 6 additions & 6 deletions c_glib/arrow-glib/basic-array.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1610,7 +1610,7 @@ garrow_large_binary_array_class_init(GArrowLargeBinaryArrayClass *klass)
*
* Returns: A newly created #GArrowLargeBinaryArray.
*
* Since: 1.0.0
* Since: 0.16.0
*/
GArrowLargeBinaryArray *
garrow_large_binary_array_new(gint64 length,
Expand Down Expand Up @@ -1640,7 +1640,7 @@ garrow_large_binary_array_new(gint64 length,
*
* Returns: (transfer full): The @i-th value.
*
* Since: 1.0.0
* Since: 0.16.0
*/
GBytes *
garrow_large_binary_array_get_value(GArrowLargeBinaryArray *array,
Expand All @@ -1661,7 +1661,7 @@ garrow_large_binary_array_get_value(GArrowLargeBinaryArray *array,
*
* Returns: (transfer full): The data of the array as #GArrowBuffer.
*
* Since: 1.0.0
* Since: 0.16.0
*/
GArrowBuffer *
garrow_large_binary_array_get_buffer(GArrowLargeBinaryArray *array)
Expand All @@ -1679,7 +1679,7 @@ garrow_large_binary_array_get_buffer(GArrowLargeBinaryArray *array)
*
* Returns: (transfer full): The offsets of the array as #GArrowBuffer.
*
* Since: 1.0.0
* Since: 0.16.0
*/
GArrowBuffer *
garrow_large_binary_array_get_offsets_buffer(GArrowLargeBinaryArray *array)
Expand Down Expand Up @@ -1792,7 +1792,7 @@ garrow_large_string_array_class_init(GArrowLargeStringArrayClass *klass)
*
* Returns: A newly created #GArrowLargeStringArray.
*
* Since: 1.0.0
* Since: 0.16.0
*/
GArrowLargeStringArray *
garrow_large_string_array_new(gint64 length,
Expand Down Expand Up @@ -1822,7 +1822,7 @@ garrow_large_string_array_new(gint64 length,
*
* Returns: The @i-th UTF-8 encoded string.
*
* Since: 1.0.0
* Since: 0.16.0
*/
gchar *
garrow_large_string_array_get_string(GArrowLargeStringArray *array,
Expand Down
12 changes: 6 additions & 6 deletions c_glib/arrow-glib/basic-array.h
Original file line number Diff line number Diff line change
Expand Up @@ -384,19 +384,19 @@ struct _GArrowLargeBinaryArrayClass
GArrowArrayClass parent_class;
};

GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
GArrowLargeBinaryArray *garrow_large_binary_array_new(gint64 length,
GArrowBuffer *value_offsets,
GArrowBuffer *data,
GArrowBuffer *null_bitmap,
gint64 n_nulls);

GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
GBytes *garrow_large_binary_array_get_value(GArrowLargeBinaryArray *array,
gint64 i);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
GArrowBuffer *garrow_large_binary_array_get_buffer(GArrowLargeBinaryArray *array);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
GArrowBuffer *garrow_large_binary_array_get_offsets_buffer(GArrowLargeBinaryArray *array);


Expand Down Expand Up @@ -432,14 +432,14 @@ struct _GArrowLargeStringArrayClass
GArrowLargeBinaryArrayClass parent_class;
};

GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
GArrowLargeStringArray *garrow_large_string_array_new(gint64 length,
GArrowBuffer *value_offsets,
GArrowBuffer *data,
GArrowBuffer *null_bitmap,
gint64 n_nulls);

GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
gchar *garrow_large_string_array_get_string(GArrowLargeStringArray *array,
gint64 i);

Expand Down
6 changes: 3 additions & 3 deletions c_glib/arrow-glib/basic-data-type.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -359,7 +359,7 @@ garrow_integer_data_type_class_init(GArrowIntegerDataTypeClass *klass)
*
* Returns: %TRUE if the data type is signed, %FALSE otherwise.
*
* Since: 1.0.0
* Since: 0.16.0
*/
gboolean
garrow_integer_data_type_is_signed(GArrowIntegerDataType *data_type)
Expand Down Expand Up @@ -810,7 +810,7 @@ garrow_large_binary_data_type_class_init(GArrowLargeBinaryDataTypeClass *klass)
*
* Returns: The newly created #GArrowLargeBinaryDataType.
*
* Since: 1.0.0
* Since: 0.17.0
*/
GArrowLargeBinaryDataType *
garrow_large_binary_data_type_new(void)
Expand Down Expand Up @@ -876,7 +876,7 @@ garrow_large_string_data_type_class_init(GArrowLargeStringDataTypeClass *klass)
*
* Returns: The newly created #GArrowLargeStringDataType.
*
* Since: 1.0.0
* Since: 0.17.0
*/
GArrowLargeStringDataType *
garrow_large_string_data_type_new(void)
Expand Down
6 changes: 3 additions & 3 deletions c_glib/arrow-glib/basic-data-type.h
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ struct _GArrowIntegerDataTypeClass
GArrowNumericDataTypeClass parent_class;
};

GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_16
gboolean garrow_integer_data_type_is_signed(GArrowIntegerDataType *data_type);

#define GARROW_TYPE_INT8_DATA_TYPE (garrow_int8_data_type_get_type())
Expand Down Expand Up @@ -311,7 +311,7 @@ struct _GArrowLargeBinaryDataTypeClass
GArrowDataTypeClass parent_class;
};

GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_17
GArrowLargeBinaryDataType *garrow_large_binary_data_type_new(void);


Expand Down Expand Up @@ -340,7 +340,7 @@ struct _GArrowLargeStringDataTypeClass
GArrowLargeBinaryDataTypeClass parent_class;
};

GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_17
GArrowLargeStringDataType *garrow_large_string_data_type_new(void);


Expand Down
4 changes: 2 additions & 2 deletions c_glib/arrow-glib/chunked-array.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,7 @@ garrow_chunked_array_get_value_type(GArrowChunkedArray *chunked_array)
*
* Returns: The total number of rows in the chunked array.
*
* Deprecated: 1.0.0: Use garrow_chunked_array_get_n_rows() instead.
* Deprecated: 0.15.0: Use garrow_chunked_array_get_n_rows() instead.
*/
guint64
garrow_chunked_array_get_length(GArrowChunkedArray *chunked_array)
Expand All @@ -219,7 +219,7 @@ garrow_chunked_array_get_length(GArrowChunkedArray *chunked_array)
*
* Returns: The total number of rows in the chunked array.
*
* Since: 1.0.0
* Since: 0.15.0
*/
guint64
garrow_chunked_array_get_n_rows(GArrowChunkedArray *chunked_array)
Expand Down
4 changes: 2 additions & 2 deletions c_glib/arrow-glib/chunked-array.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,9 @@ garrow_chunked_array_get_value_data_type(GArrowChunkedArray *chunked_array);
GArrowType
garrow_chunked_array_get_value_type(GArrowChunkedArray *chunked_array);

GARROW_DEPRECATED_IN_1_0_FOR(garrow_chunked_array_get_n_rows)
GARROW_DEPRECATED_IN_0_15_FOR(garrow_chunked_array_get_n_rows)
guint64 garrow_chunked_array_get_length (GArrowChunkedArray *chunked_array);
GARROW_AVAILABLE_IN_1_0
GARROW_AVAILABLE_IN_0_15
guint64 garrow_chunked_array_get_n_rows (GArrowChunkedArray *chunked_array);
guint64 garrow_chunked_array_get_n_nulls(GArrowChunkedArray *chunked_array);
guint garrow_chunked_array_get_n_chunks (GArrowChunkedArray *chunked_array);
Expand Down
Loading

0 comments on commit 2b51172

Please sign in to comment.