Basic data type classes

Basic data type classes

Functions

#define GARROW_TYPE_DATA_TYPE
gboolean garrow_data_type_equal ()
gchar * garrow_data_type_to_string ()
GArrowType garrow_data_type_get_id ()
#define GARROW_TYPE_FIXED_WIDTH_DATA_TYPE
gint garrow_fixed_width_data_type_get_bit_width ()
GArrowNullDataType * garrow_null_data_type_new ()
#define GARROW_TYPE_BOOLEAN_DATA_TYPE
GArrowBooleanDataType * garrow_boolean_data_type_new ()
#define GARROW_TYPE_NUMERIC_DATA_TYPE
#define GARROW_TYPE_INTEGER_DATA_TYPE
#define GARROW_TYPE_INT8_DATA_TYPE
GArrowInt8DataType * garrow_int8_data_type_new ()
#define GARROW_TYPE_UINT8_DATA_TYPE
GArrowUInt8DataType * garrow_uint8_data_type_new ()
#define GARROW_TYPE_INT16_DATA_TYPE
GArrowInt16DataType * garrow_int16_data_type_new ()
#define GARROW_TYPE_UINT16_DATA_TYPE
GArrowUInt16DataType * garrow_uint16_data_type_new ()
#define GARROW_TYPE_INT32_DATA_TYPE
GArrowInt32DataType * garrow_int32_data_type_new ()
#define GARROW_TYPE_UINT32_DATA_TYPE
GArrowUInt32DataType * garrow_uint32_data_type_new ()
#define GARROW_TYPE_INT64_DATA_TYPE
GArrowInt64DataType * garrow_int64_data_type_new ()
#define GARROW_TYPE_UINT64_DATA_TYPE
GArrowUInt64DataType * garrow_uint64_data_type_new ()
#define GARROW_TYPE_FLOAT_DATA_TYPE
GArrowFloatDataType * garrow_float_data_type_new ()
#define GARROW_TYPE_DOUBLE_DATA_TYPE
GArrowDoubleDataType * garrow_double_data_type_new ()
GArrowBinaryDataType * garrow_binary_data_type_new ()
GArrowStringDataType * garrow_string_data_type_new ()
GArrowDate32DataType * garrow_date32_data_type_new ()
GArrowDate64DataType * garrow_date64_data_type_new ()
GArrowTimestampDataType * garrow_timestamp_data_type_new ()
GArrowTimeUnit garrow_timestamp_data_type_get_unit ()
GArrowTimeUnit garrow_time_data_type_get_unit ()
GArrowTime32DataType * garrow_time32_data_type_new ()
GArrowTime64DataType * garrow_time64_data_type_new ()
#define GARROW_TYPE_DECIMAL_DATA_TYPE
GArrowDecimalDataType * garrow_decimal_data_type_new ()
gint32 garrow_decimal_data_type_get_precision ()
gint32 garrow_decimal_data_type_get_scale ()

Types and Values

Object Hierarchy

    GObject
    ╰── GArrowDataType
        ├── GArrowTimeDataType
           ├── GArrowTime32DataType
           ╰── GArrowTime64DataType
        ├── GArrowBinaryDataType
        ├── GArrowDate32DataType
        ├── GArrowDate64DataType
        ├── GArrowNullDataType
        ├── GArrowStringDataType
        ├── GArrowTimeDataType
           ├── GArrowTime32DataType
           ╰── GArrowTime64DataType
        ╰── GArrowTimestampDataType

Includes

#include <arrow-glib/arrow-glib.h>

Description

GArrowDataType is a base class for all data type classes such as GArrowBooleanDataType.

GArrowNullDataType is a class for null data type.

GArrowBooleanDataType is a class for boolean data type.

GArrowInt8DataType is a class for 8-bit integer data type.

GArrowUInt8DataType is a class for 8-bit unsigned integer data type.

GArrowInt16DataType is a class for 16-bit integer data type.

GArrowUInt16DataType is a class for 16-bit unsigned integer data type.

GArrowInt32DataType is a class for 32-bit integer data type.

GArrowUInt32DataType is a class for 32-bit unsigned integer data type.

GArrowInt64DataType is a class for 64-bit integer data type.

GArrowUInt64DataType is a class for 64-bit unsigned integer data type.

GArrowFloatDataType is a class for 32-bit floating point data type.

GArrowDoubleDataType is a class for 64-bit floating point data type.

GArrowBinaryDataType is a class for binary data type.

GArrowStringDataType is a class for UTF-8 encoded string data type.

GArrowDate32DataType is a class for the number of days since UNIX epoch in 32-bit signed integer data type.

GArrowDate64DataType is a class for the number of milliseconds since UNIX epoch in 64-bit signed integer data type.

GArrowTimestampDataType is a class for the number of seconds/milliseconds/microseconds/nanoseconds since UNIX epoch in 64-bit signed integer data type.

GArrowTime32DataType is a class for the number of seconds or milliseconds since midnight in 32-bit signed integer data type.

GArrowTime64DataType is a class for the number of microseconds or nanoseconds since midnight in 64-bit signed integer data type.

GArrowDecimalDataType is a class for 128-bit decimal data type.

Functions

GARROW_TYPE_DATA_TYPE

#define GARROW_TYPE_DATA_TYPE (garrow_data_type_get_type())


garrow_data_type_equal ()

gboolean
garrow_data_type_equal (GArrowDataType *data_type,
                        GArrowDataType *other_data_type);

Parameters

data_type

A GArrowDataType.

 

other_data_type

A GArrowDataType to be compared.

 

Returns

TRUE if both of them have the same data, FALSE otherwise.


garrow_data_type_to_string ()

gchar *
garrow_data_type_to_string (GArrowDataType *data_type);

Parameters

data_type

A GArrowDataType.

 

Returns

The string representation of the data type. The caller must free it by g_free() when the caller doesn't need it anymore.


garrow_data_type_get_id ()

GArrowType
garrow_data_type_get_id (GArrowDataType *data_type);

Parameters

data_type

A GArrowDataType.

 

Returns

The GArrowType of the data type.


GARROW_TYPE_FIXED_WIDTH_DATA_TYPE

#define GARROW_TYPE_FIXED_WIDTH_DATA_TYPE (garrow_fixed_width_data_type_get_type())


garrow_fixed_width_data_type_get_bit_width ()

gint
garrow_fixed_width_data_type_get_bit_width
                               (GArrowFixedWidthDataType *data_type);

Returns


garrow_null_data_type_new ()

GArrowNullDataType *
garrow_null_data_type_new (void);

Returns

The newly created null data type.


GARROW_TYPE_BOOLEAN_DATA_TYPE

#define GARROW_TYPE_BOOLEAN_DATA_TYPE (garrow_boolean_data_type_get_type())


garrow_boolean_data_type_new ()

GArrowBooleanDataType *
garrow_boolean_data_type_new (void);

Returns

The newly created boolean data type.


GARROW_TYPE_NUMERIC_DATA_TYPE

#define GARROW_TYPE_NUMERIC_DATA_TYPE (garrow_numeric_data_type_get_type())


GARROW_TYPE_INTEGER_DATA_TYPE

#define GARROW_TYPE_INTEGER_DATA_TYPE (garrow_integer_data_type_get_type())


GARROW_TYPE_INT8_DATA_TYPE

#define GARROW_TYPE_INT8_DATA_TYPE (garrow_int8_data_type_get_type())


garrow_int8_data_type_new ()

GArrowInt8DataType *
garrow_int8_data_type_new (void);

Returns

The newly created 8-bit integer data type.


GARROW_TYPE_UINT8_DATA_TYPE

#define GARROW_TYPE_UINT8_DATA_TYPE (garrow_uint8_data_type_get_type())


garrow_uint8_data_type_new ()

GArrowUInt8DataType *
garrow_uint8_data_type_new (void);

Returns

The newly created 8-bit unsigned integer data type.


GARROW_TYPE_INT16_DATA_TYPE

#define GARROW_TYPE_INT16_DATA_TYPE (garrow_int16_data_type_get_type())


garrow_int16_data_type_new ()

GArrowInt16DataType *
garrow_int16_data_type_new (void);

Returns

The newly created 16-bit integer data type.


GARROW_TYPE_UINT16_DATA_TYPE

#define GARROW_TYPE_UINT16_DATA_TYPE (garrow_uint16_data_type_get_type())


garrow_uint16_data_type_new ()

GArrowUInt16DataType *
garrow_uint16_data_type_new (void);

Returns

The newly created 16-bit unsigned integer data type.


GARROW_TYPE_INT32_DATA_TYPE

#define GARROW_TYPE_INT32_DATA_TYPE (garrow_int32_data_type_get_type())


garrow_int32_data_type_new ()

GArrowInt32DataType *
garrow_int32_data_type_new (void);

Returns

The newly created 32-bit integer data type.


GARROW_TYPE_UINT32_DATA_TYPE

#define GARROW_TYPE_UINT32_DATA_TYPE (garrow_uint32_data_type_get_type())


garrow_uint32_data_type_new ()

GArrowUInt32DataType *
garrow_uint32_data_type_new (void);

Returns

The newly created 32-bit unsigned integer data type.


GARROW_TYPE_INT64_DATA_TYPE

#define GARROW_TYPE_INT64_DATA_TYPE (garrow_int64_data_type_get_type())


garrow_int64_data_type_new ()

GArrowInt64DataType *
garrow_int64_data_type_new (void);

Returns

The newly created 64-bit integer data type.


GARROW_TYPE_UINT64_DATA_TYPE

#define GARROW_TYPE_UINT64_DATA_TYPE (garrow_uint64_data_type_get_type())


garrow_uint64_data_type_new ()

GArrowUInt64DataType *
garrow_uint64_data_type_new (void);

Returns

The newly created 64-bit unsigned integer data type.


GARROW_TYPE_FLOAT_DATA_TYPE

#define GARROW_TYPE_FLOAT_DATA_TYPE (garrow_float_data_type_get_type())


garrow_float_data_type_new ()

GArrowFloatDataType *
garrow_float_data_type_new (void);

Returns

The newly created float data type.


GARROW_TYPE_DOUBLE_DATA_TYPE

#define GARROW_TYPE_DOUBLE_DATA_TYPE (garrow_double_data_type_get_type())


garrow_double_data_type_new ()

GArrowDoubleDataType *
garrow_double_data_type_new (void);

Returns

The newly created 64-bit floating point data type.


garrow_binary_data_type_new ()

GArrowBinaryDataType *
garrow_binary_data_type_new (void);

Returns

The newly created binary data type.


garrow_string_data_type_new ()

GArrowStringDataType *
garrow_string_data_type_new (void);

Returns

The newly created UTF-8 encoded string data type.


garrow_date32_data_type_new ()

GArrowDate32DataType *
garrow_date32_data_type_new (void);

Returns

A newly created the number of milliseconds since UNIX epoch in 32-bit signed integer data type.

Since 0.7.0


garrow_date64_data_type_new ()

GArrowDate64DataType *
garrow_date64_data_type_new (void);

Returns

A newly created the number of milliseconds since UNIX epoch in 64-bit signed integer data type.

Since 0.7.0


garrow_timestamp_data_type_new ()

GArrowTimestampDataType *
garrow_timestamp_data_type_new (GArrowTimeUnit unit);

Parameters

unit

The unit of the timestamp data.

 

Returns

A newly created the number of seconds/milliseconds/microseconds/nanoseconds since UNIX epoch in 64-bit signed integer data type.

Since 0.7.0


garrow_timestamp_data_type_get_unit ()

GArrowTimeUnit
garrow_timestamp_data_type_get_unit (GArrowTimestampDataType *timestamp_data_type);

Parameters

timestamp_data_type

The GArrowTimestampDataType.

 

Returns

The unit of the timestamp data type.

Since 0.8.0


garrow_time_data_type_get_unit ()

GArrowTimeUnit
garrow_time_data_type_get_unit (GArrowTimeDataType *time_data_type);

Parameters

time_data_type

The GArrowTimeDataType.

 

Returns

The unit of the time data type.

Since 0.7.0


garrow_time32_data_type_new ()

GArrowTime32DataType *
garrow_time32_data_type_new (GArrowTimeUnit unit,
                             GError **error);

Parameters

unit

GARROW_TIME_UNIT_SECOND or GARROW_TIME_UNIT_MILLI.

 

error

Return location for a GError or NULL.

[nullable]

Returns

A newly created the number of seconds or milliseconds since midnight in 32-bit signed integer data type.

[nullable]

Since 0.7.0


garrow_time64_data_type_new ()

GArrowTime64DataType *
garrow_time64_data_type_new (GArrowTimeUnit unit,
                             GError **error);

Parameters

unit

GARROW_TIME_UNIT_SECOND or GARROW_TIME_UNIT_MILLI.

 

error

Return location for a GError or NULL.

[nullable]

Returns

A newly created the number of seconds or milliseconds since midnight in 64-bit signed integer data type.

[nullable]

Since 0.7.0


GARROW_TYPE_DECIMAL_DATA_TYPE

#define GARROW_TYPE_DECIMAL_DATA_TYPE (garrow_decimal_data_type_get_type())


garrow_decimal_data_type_new ()

GArrowDecimalDataType *
garrow_decimal_data_type_new (gint32 precision,
                              gint32 scale);

Parameters

precision

The precision of decimal data.

 

scale

The scale of decimal data.

 

Returns

The newly created decimal data type.

Since 0.10.0


garrow_decimal_data_type_get_precision ()

gint32
garrow_decimal_data_type_get_precision
                               (GArrowDecimalDataType *decimal_data_type);

Parameters

decimal_data_type

The GArrowDecimalDataType.

 

Returns

The precision of the decimal data type.

Since 0.10.0


garrow_decimal_data_type_get_scale ()

gint32
garrow_decimal_data_type_get_scale (GArrowDecimalDataType *decimal_data_type);

Parameters

decimal_data_type

The GArrowDecimalDataType.

 

Returns

The scale of the decimal data type.

Since 0.10.0

Types and Values

struct GArrowDataTypeClass

struct GArrowDataTypeClass {
  GObjectClass parent_class;
};


struct GArrowFixedWidthDataTypeClass

struct GArrowFixedWidthDataTypeClass {
  GArrowDataTypeClass parent_class;
};


struct GArrowNullDataType

struct GArrowNullDataType;

It wraps arrow::NullType.


struct GArrowBooleanDataTypeClass

struct GArrowBooleanDataTypeClass {
  GArrowFixedWidthDataTypeClass parent_class;
};


struct GArrowNumericDataTypeClass

struct GArrowNumericDataTypeClass {
  GArrowFixedWidthDataTypeClass parent_class;
};


struct GArrowIntegerDataTypeClass

struct GArrowIntegerDataTypeClass {
  GArrowNumericDataTypeClass parent_class;
};


struct GArrowInt8DataTypeClass

struct GArrowInt8DataTypeClass {
  GArrowIntegerDataTypeClass parent_class;
};


struct GArrowUInt8DataTypeClass

struct GArrowUInt8DataTypeClass {
  GArrowIntegerDataTypeClass parent_class;
};


struct GArrowInt16DataTypeClass

struct GArrowInt16DataTypeClass {
  GArrowIntegerDataTypeClass parent_class;
};


struct GArrowUInt16DataTypeClass

struct GArrowUInt16DataTypeClass {
  GArrowIntegerDataTypeClass parent_class;
};


struct GArrowInt32DataTypeClass

struct GArrowInt32DataTypeClass {
  GArrowIntegerDataTypeClass parent_class;
};


struct GArrowUInt32DataTypeClass

struct GArrowUInt32DataTypeClass {
  GArrowIntegerDataTypeClass parent_class;
};


struct GArrowInt64DataTypeClass

struct GArrowInt64DataTypeClass {
  GArrowIntegerDataTypeClass parent_class;
};


struct GArrowUInt64DataTypeClass

struct GArrowUInt64DataTypeClass {
  GArrowIntegerDataTypeClass parent_class;
};


GARROW_TYPE_FLOATING_POINT_DATA_TYPE

#define             GARROW_TYPE_FLOATING_POINT_DATA_TYPE


struct GArrowFloatingPointDataTypeClass

struct GArrowFloatingPointDataTypeClass {
  GArrowNumericDataTypeClass parent_class;
};


struct GArrowFloatDataTypeClass

struct GArrowFloatDataTypeClass {
  GArrowFloatingPointDataTypeClass parent_class;
};


struct GArrowDoubleDataTypeClass

struct GArrowDoubleDataTypeClass {
  GArrowFloatingPointDataTypeClass parent_class;
};


struct GArrowBinaryDataType

struct GArrowBinaryDataType;

It wraps arrow::BinaryType.


struct GArrowStringDataType

struct GArrowStringDataType;

It wraps arrow::StringType.


struct GArrowDate32DataType

struct GArrowDate32DataType;

It wraps arrow::Date32Type.


struct GArrowDate64DataType

struct GArrowDate64DataType;

It wraps arrow::Date64Type.


struct GArrowTimestampDataType

struct GArrowTimestampDataType;

It wraps arrow::TimestampType.


struct GArrowTimeDataType

struct GArrowTimeDataType;

It wraps arrow::TimeType.


struct GArrowTime32DataType

struct GArrowTime32DataType;

It wraps arrow::Time32Type.


struct GArrowTime64DataType

struct GArrowTime64DataType;

It wraps arrow::Time64Type.


struct GArrowDecimalDataTypeClass

struct GArrowDecimalDataTypeClass {
  GArrowDataTypeClass parent_class;
};