From 651ecb3f4464eef3f2f9cf9a88b55a223a26a6e0 Mon Sep 17 00:00:00 2001 From: candiduslynx Date: Sun, 30 Apr 2023 10:26:35 +0300 Subject: [PATCH] add missing table options --- schema/arrow.go | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/schema/arrow.go b/schema/arrow.go index f7b9e732c7..be4437f496 100644 --- a/schema/arrow.go +++ b/schema/arrow.go @@ -83,8 +83,10 @@ type MetadataFieldOptions struct { } type MetadataSchemaOptions struct { - TableName string - TableDescription string + TableName string + TableDescription string + TableIsIncremental bool + TablePKConstraint string } func NewSchemaMetadataFromOptions(opts MetadataSchemaOptions) arrow.Metadata { @@ -95,6 +97,12 @@ func NewSchemaMetadataFromOptions(opts MetadataSchemaOptions) arrow.Metadata { if opts.TableDescription != "" { kv[MetadataTableDescription] = opts.TableDescription } + if opts.TableIsIncremental { + kv[MetadataIncremental] = MetadataTrue + } + if opts.TablePKConstraint != "" { + kv[MetadataConstraintName] = opts.TablePKConstraint + } return arrow.MetadataFrom(kv) } @@ -295,8 +303,10 @@ func CQSchemaToArrow(table *Table) *arrow.Schema { fields = append(fields, CQColumnToArrowField(&col)) } opts := MetadataSchemaOptions{ - TableName: table.Name, - TableDescription: table.Description, + TableName: table.Name, + TableDescription: table.Description, + TableIsIncremental: table.IsIncremental, + TablePKConstraint: table.PkConstraintName, } metadata := NewSchemaMetadataFromOptions(opts) return arrow.NewSchema(fields, &metadata)