Skip to main content

Generic Record Support for Dynamic Type Handling

This module provides Type and GenericRecord types for handling records without compile-time type information.

Overview

GenericRecord is for cases where you need to work with records dynamically at runtime, without defining a specific struct:

  • Type - Immutable collection of metadata about a Kinetica type (schema, columns)
  • GenericRecord - A record instance that stores values by column index

When to Use GenericRecord

Use GenericRecord when:

  • Table schema is not known at compile time
  • You’re building generic data pipelines
  • You need to copy data between tables with different schemas
  • You’re reading data from CSV/JSON and inserting dynamically

Use statically-typed records (implementing KineticaRecord) when:

  • Schema is known at compile time
  • You want maximum type safety and performance
  • You’re building application-specific data models

Example

Structs

Statistics from a bulk insert operation.
Immutable metadata about a column in a Kinetica type.
A generic record that can hold values for any Kinetica type.
Immutable collection of metadata about a Kinetica type.
Builder for constructing a Type with a fluent API.

Enums

The elements of an array or vector column, as GenericRecord::get_array gives them: an array of the element type, each element None where it is null, or a vector’s floats.
Base column types (maps to Avro primitive types)
Column types including subtypes determined by properties
A typed value that can be stored in a GenericRecord.