| // Licensed to the Apache Software Foundation (ASF) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The ASF licenses this file |
| // to you under the Apache License, Version 2.0 (the |
| // "License"); you may not use this file except in compliance |
| // with the License. You may obtain a copy of the License at |
| // |
| // http://www.apache.org/licenses/LICENSE-2.0 |
| // |
| // Unless required by applicable law or agreed to in writing, |
| // software distributed under the License is distributed on an |
| // "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| // KIND, either express or implied. See the License for the |
| // specific language governing permissions and limitations |
| // under the License. |
| |
| package adbc |
| |
| import "github.com/apache/arrow/go/v12/arrow" |
| |
| var ( |
| GetInfoSchema = arrow.NewSchema([]arrow.Field{ |
| {Name: "info_name", Type: arrow.PrimitiveTypes.Uint32}, |
| {Name: "info_value", Type: arrow.DenseUnionOf( |
| []arrow.Field{ |
| {Name: "string_value", Type: arrow.BinaryTypes.String, Nullable: true}, |
| {Name: "bool_value", Type: arrow.FixedWidthTypes.Boolean, Nullable: true}, |
| {Name: "int64_value", Type: arrow.PrimitiveTypes.Int64, Nullable: true}, |
| {Name: "int32_bitmask", Type: arrow.PrimitiveTypes.Int32, Nullable: true}, |
| {Name: "string_list", Type: arrow.ListOf(arrow.BinaryTypes.String), Nullable: true}, |
| {Name: "int32_to_int32_list_map", |
| Type: arrow.MapOf(arrow.PrimitiveTypes.Int32, |
| arrow.ListOf(arrow.PrimitiveTypes.Int32)), Nullable: true}, |
| }, |
| []arrow.UnionTypeCode{0, 1, 2, 3, 4, 5}, |
| ), Nullable: true}, |
| }, nil) |
| |
| TableTypesSchema = arrow.NewSchema([]arrow.Field{{Name: "table_type", Type: arrow.BinaryTypes.String}}, nil) |
| |
| UsageSchema = arrow.StructOf( |
| arrow.Field{Name: "fk_catalog", Type: arrow.BinaryTypes.String, Nullable: true}, |
| arrow.Field{Name: "fk_db_schema", Type: arrow.BinaryTypes.String, Nullable: true}, |
| arrow.Field{Name: "fk_table", Type: arrow.BinaryTypes.String}, |
| arrow.Field{Name: "fk_column_name", Type: arrow.BinaryTypes.String}, |
| ) |
| |
| ConstraintSchema = arrow.StructOf( |
| arrow.Field{Name: "constraint_name", Type: arrow.BinaryTypes.String, Nullable: true}, |
| arrow.Field{Name: "constraint_type", Type: arrow.BinaryTypes.String}, |
| arrow.Field{Name: "constraint_column_names", Type: arrow.ListOf(arrow.BinaryTypes.String)}, |
| arrow.Field{Name: "constraint_column_usage", Type: arrow.ListOf(UsageSchema), Nullable: true}, |
| ) |
| |
| ColumnSchema = arrow.StructOf( |
| arrow.Field{Name: "column_name", Type: arrow.BinaryTypes.String}, |
| arrow.Field{Name: "ordinal_position", Type: arrow.PrimitiveTypes.Int32, Nullable: true}, |
| arrow.Field{Name: "remarks", Type: arrow.BinaryTypes.String, Nullable: true}, |
| arrow.Field{Name: "xdbc_data_type", Type: arrow.PrimitiveTypes.Int16, Nullable: true}, |
| arrow.Field{Name: "xdbc_type_name", Type: arrow.BinaryTypes.String, Nullable: true}, |
| arrow.Field{Name: "xdbc_column_size", Type: arrow.PrimitiveTypes.Int32, Nullable: true}, |
| arrow.Field{Name: "xdbc_decimal_digits", Type: arrow.PrimitiveTypes.Int16, Nullable: true}, |
| arrow.Field{Name: "xdbc_num_prec_radix", Type: arrow.PrimitiveTypes.Int16, Nullable: true}, |
| arrow.Field{Name: "xdbc_nullable", Type: arrow.PrimitiveTypes.Int16, Nullable: true}, |
| arrow.Field{Name: "xdbc_column_def", Type: arrow.BinaryTypes.String, Nullable: true}, |
| arrow.Field{Name: "xdbc_sql_data_type", Type: arrow.PrimitiveTypes.Int16, Nullable: true}, |
| arrow.Field{Name: "xdbc_datetime_sub", Type: arrow.PrimitiveTypes.Int16, Nullable: true}, |
| arrow.Field{Name: "xdbc_char_octet_length", Type: arrow.PrimitiveTypes.Int32, Nullable: true}, |
| arrow.Field{Name: "xdbc_is_nullable", Type: arrow.BinaryTypes.String, Nullable: true}, |
| arrow.Field{Name: "xdbc_scope_catalog", Type: arrow.BinaryTypes.String, Nullable: true}, |
| arrow.Field{Name: "xdbc_scope_schema", Type: arrow.BinaryTypes.String, Nullable: true}, |
| arrow.Field{Name: "xdbc_scope_table", Type: arrow.BinaryTypes.String, Nullable: true}, |
| arrow.Field{Name: "xdbc_is_autoincrement", Type: arrow.FixedWidthTypes.Boolean, Nullable: true}, |
| arrow.Field{Name: "xdbc_is_generatedcolumn", Type: arrow.FixedWidthTypes.Boolean, Nullable: true}, |
| ) |
| |
| TableSchema = arrow.StructOf( |
| arrow.Field{Name: "table_name", Type: arrow.BinaryTypes.String}, |
| arrow.Field{Name: "table_type", Type: arrow.BinaryTypes.String}, |
| arrow.Field{Name: "table_columns", Type: arrow.ListOf(ColumnSchema), Nullable: true}, |
| arrow.Field{Name: "table_constraints", Type: arrow.ListOf(ConstraintSchema), Nullable: true}, |
| ) |
| |
| DBSchemaSchema = arrow.StructOf( |
| arrow.Field{Name: "db_schema_name", Type: arrow.BinaryTypes.String, Nullable: true}, |
| arrow.Field{Name: "db_schema_tables", Type: arrow.ListOf(TableSchema), Nullable: true}, |
| ) |
| |
| GetObjectsSchema = arrow.NewSchema([]arrow.Field{ |
| {Name: "catalog_name", Type: arrow.BinaryTypes.String, Nullable: true}, |
| {Name: "catalog_db_schemas", Type: arrow.ListOf(DBSchemaSchema), Nullable: true}, |
| }, nil) |
| |
| GetTableSchemaSchema = arrow.NewSchema([]arrow.Field{ |
| {Name: "catalog_name", Type: arrow.BinaryTypes.String, Nullable: true}, |
| {Name: "db_schema_name", Type: arrow.BinaryTypes.String, Nullable: true}, |
| {Name: "table_name", Type: arrow.BinaryTypes.String}, |
| {Name: "table_type", Type: arrow.BinaryTypes.String}, |
| {Name: "table_schema", Type: arrow.BinaryTypes.Binary}, |
| }, nil) |
| ) |