java.lang.Object
org.apache.arrow.c.ArrowSchema
- All Implemented Interfaces:
AutoCloseable
,BaseStruct
C Data Interface ArrowSchema.
Represents a wrapper for the following C structure:
struct ArrowSchema { // Array type description const char* format; const char* name; const char* metadata; int64_t flags; int64_t n_children; struct ArrowSchema** children; struct ArrowSchema* dictionary; // Release callback void (*release)(struct ArrowSchema*); // Opaque producer-specific data void* private_data; };
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Snapshot of the ArrowSchema raw data. -
Method Summary
Modifier and TypeMethodDescriptionstatic ArrowSchema
allocateNew
(BufferAllocator allocator) Create ArrowSchema by allocating memory.void
close()
Close to release the main buffer.void
Mark the schema as released.long
Get memory address.void
release()
Call the release callback of an ArrowArray.void
save
(ArrowSchema.Snapshot snapshot) Write values from Snapshot to the underlying ArrowSchema memory buffer.snapshot()
Take a snapshot of the ArrowSchema raw values.static ArrowSchema
wrap
(long memoryAddress) Create ArrowSchema from an existing memory address.
-
Method Details
-
wrap
Create ArrowSchema from an existing memory address.The resulting ArrowSchema does not own the memory.
- Parameters:
memoryAddress
- Memory address to wrap- Returns:
- A new ArrowSchema instance
-
allocateNew
Create ArrowSchema by allocating memory.The resulting ArrowSchema owns the memory.
- Parameters:
allocator
- Allocator for memory allocations- Returns:
- A new ArrowSchema instance
-
markReleased
public void markReleased()Mark the schema as released. -
memoryAddress
public long memoryAddress()Description copied from interface:BaseStruct
Get memory address.- Specified by:
memoryAddress
in interfaceBaseStruct
- Returns:
- Memory address
-
release
public void release()Description copied from interface:BaseStruct
Call the release callback of an ArrowArray.This function must not be called for child arrays.
- Specified by:
release
in interfaceBaseStruct
-
close
public void close()Description copied from interface:BaseStruct
Close to release the main buffer.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceBaseStruct
-
snapshot
Take a snapshot of the ArrowSchema raw values.- Returns:
- snapshot
-
save
Write values from Snapshot to the underlying ArrowSchema memory buffer.
-