Table of Contents

Struct CArrowSchema

Namespace
Apache.Arrow.C
Assembly
Apache.Arrow.dll

An Arrow C Data Interface Schema, which represents a type, field, or schema.

public struct CArrowSchema
Inherited Members

Remarks

This is used to export ArrowType, Field, or Schema to other languages. It matches the layout of the ArrowSchema struct described in https://github.com/apache/arrow/blob/main/cpp/src/arrow/c/abi.h.

Fields

ArrowFlagDictionaryOrdered

For dictionary-encoded types, whether the ordering of dictionary indices is semantically meaningful.

public const long ArrowFlagDictionaryOrdered = 1

Field Value

long

ArrowFlagMapKeysSorted

For map types, whether the keys within each map value are sorted.

public const long ArrowFlagMapKeysSorted = 4

Field Value

long

ArrowFlagNullable

Whether this field is semantically nullable (regardless of whether it actually has null values)

public const long ArrowFlagNullable = 2

Field Value

long

children

public CArrowSchema** children

Field Value

CArrowSchema**

dictionary

public CArrowSchema* dictionary

Field Value

CArrowSchema*

flags

public long flags

Field Value

long

format

public byte* format

Field Value

byte*

metadata

public byte* metadata

Field Value

byte*

n_children

public long n_children

Field Value

long

name

public byte* name

Field Value

byte*

private_data

public void* private_data

Field Value

void*

Methods

Create()

Allocate and zero-initialize an unmanaged pointer of this type.

public static CArrowSchema* Create()

Returns

CArrowSchema*

Remarks

This pointer must later be freed by Free(CArrowSchema*).

Free(CArrowSchema*)

Free a pointer that was allocated in Create().

public static void Free(CArrowSchema* schema)

Parameters

schema CArrowSchema*

Remarks

Do not call this on a pointer that was allocated elsewhere.

GetFlag(long)

Get the value of a particular flag.

public readonly bool GetFlag(long flag)

Parameters

flag long

Returns

bool

Remarks