Class ArrowSchema

java.lang.Object
org.apache.arrow.c.ArrowSchema
All Implemented Interfaces:
AutoCloseable, BaseStruct

public class ArrowSchema extends Object implements 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;
 };
 
  • Method Details

    • wrap

      public static ArrowSchema wrap(long memoryAddress)
      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

      public static ArrowSchema allocateNew(BufferAllocator allocator)
      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 interface BaseStruct
      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 interface BaseStruct
    • close

      public void close()
      Description copied from interface: BaseStruct
      Close to release the main buffer.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface BaseStruct
    • snapshot

      public ArrowSchema.Snapshot snapshot()
      Take a snapshot of the ArrowSchema raw values.
      Returns:
      snapshot
    • save

      public void save(ArrowSchema.Snapshot snapshot)
      Write values from Snapshot to the underlying ArrowSchema memory buffer.