blob: dfbb7a980d8a8fff75f840b48ffaf97528157947 [file] [log] [blame]
// Copyright 2021 Google LLC
//
// Licensed 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
//
// https://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 testdata
import "cloud.google.com/go/bigquery"
var (
SimpleMessageSchema bigquery.Schema = bigquery.Schema{
{Name: "name", Type: bigquery.StringFieldType, Required: true},
{Name: "value", Type: bigquery.IntegerFieldType},
}
SimpleMessageEvolvedSchema bigquery.Schema = bigquery.Schema{
{Name: "name", Type: bigquery.StringFieldType, Required: true},
{Name: "value", Type: bigquery.IntegerFieldType},
{Name: "other", Type: bigquery.StringFieldType},
}
GithubArchiveSchema bigquery.Schema = bigquery.Schema{
{Name: "type", Type: bigquery.StringFieldType},
{Name: "public", Type: bigquery.BooleanFieldType},
{Name: "payload", Type: bigquery.StringFieldType},
{
Name: "repo",
Type: bigquery.RecordFieldType,
Schema: bigquery.Schema{
{Name: "id", Type: bigquery.IntegerFieldType},
{Name: "name", Type: bigquery.StringFieldType},
{Name: "url", Type: bigquery.StringFieldType},
},
},
{
Name: "actor",
Type: bigquery.RecordFieldType,
Schema: bigquery.Schema{
{Name: "id", Type: bigquery.IntegerFieldType},
{Name: "login", Type: bigquery.StringFieldType},
{Name: "gravatar_id", Type: bigquery.StringFieldType},
{Name: "avatar_url", Type: bigquery.StringFieldType},
{Name: "url", Type: bigquery.StringFieldType},
},
},
{
Name: "org",
Type: bigquery.RecordFieldType,
Schema: bigquery.Schema{
{Name: "id", Type: bigquery.IntegerFieldType},
{Name: "login", Type: bigquery.StringFieldType},
{Name: "gravatar_id", Type: bigquery.StringFieldType},
{Name: "avatar_url", Type: bigquery.StringFieldType},
{Name: "url", Type: bigquery.StringFieldType},
},
},
{Name: "created_at", Type: bigquery.TimestampFieldType},
{Name: "id", Type: bigquery.StringFieldType},
{Name: "other", Type: bigquery.StringFieldType},
}
ComplexTypeSchema bigquery.Schema = bigquery.Schema{
{
Name: "nested_repeated_type",
Type: bigquery.RecordFieldType,
Repeated: true,
Schema: bigquery.Schema{
{
Name: "inner_type",
Type: bigquery.RecordFieldType,
Repeated: true,
Schema: bigquery.Schema{
{Name: "value", Type: bigquery.StringFieldType, Repeated: true},
},
},
},
},
{
Name: "inner_type",
Type: bigquery.RecordFieldType,
Schema: bigquery.Schema{
{Name: "value", Type: bigquery.StringFieldType, Repeated: true},
},
},
}
// We currently follow proto2 rules here, hence the well known types getting treated as records.
WithWellKnownTypesSchema bigquery.Schema = bigquery.Schema{
{Name: "int64_value", Type: bigquery.IntegerFieldType},
{
Name: "wrapped_int64",
Type: bigquery.RecordFieldType,
Schema: bigquery.Schema{
{Name: "value", Type: bigquery.IntegerFieldType},
},
},
{Name: "string_value", Type: bigquery.StringFieldType, Repeated: true},
{
Name: "wrapped_string",
Type: bigquery.RecordFieldType,
Repeated: true,
Schema: bigquery.Schema{
{Name: "value", Type: bigquery.StringFieldType},
},
},
}
ExternalEnumMessageSchema bigquery.Schema = bigquery.Schema{
{
Name: "msg_a",
Type: bigquery.RecordFieldType,
Schema: bigquery.Schema{
{Name: "foo", Type: bigquery.StringFieldType},
{Name: "bar", Type: bigquery.IntegerFieldType},
},
},
{
Name: "msg_b",
Type: bigquery.RecordFieldType,
Schema: bigquery.Schema{
{Name: "baz", Type: bigquery.IntegerFieldType},
},
},
}
ValidationBaseSchema bigquery.Schema = bigquery.Schema{
{
Name: "double_field",
Type: bigquery.FloatFieldType,
},
{
Name: "float_field",
Type: bigquery.FloatFieldType,
},
{
Name: "int32_field",
Type: bigquery.IntegerFieldType,
},
{
Name: "int64_field",
Type: bigquery.IntegerFieldType,
},
{
Name: "uint32_field",
Type: bigquery.IntegerFieldType,
},
{
Name: "sint32_field",
Type: bigquery.IntegerFieldType,
},
{
Name: "sint64_field",
Type: bigquery.IntegerFieldType,
},
{
Name: "fixed32_field",
Type: bigquery.IntegerFieldType,
},
{
Name: "sfixed32_field",
Type: bigquery.IntegerFieldType,
},
{
Name: "sfixed64_field",
Type: bigquery.IntegerFieldType,
},
{
Name: "bool_field",
Type: bigquery.BooleanFieldType,
},
{
Name: "string_field",
Type: bigquery.StringFieldType,
},
{
Name: "bytes_field",
Type: bigquery.BytesFieldType,
},
{
Name: "enum_field",
Type: bigquery.IntegerFieldType,
},
}
ValidationRepeatedSchema bigquery.Schema = bigquery.Schema{
{
Name: "id",
Type: bigquery.IntegerFieldType,
},
{
Name: "double_repeated",
Type: bigquery.FloatFieldType,
Repeated: true,
},
{
Name: "float_repeated",
Type: bigquery.FloatFieldType,
Repeated: true,
},
{
Name: "int32_repeated",
Type: bigquery.IntegerFieldType,
Repeated: true,
},
{
Name: "int64_repeated",
Type: bigquery.IntegerFieldType,
Repeated: true,
},
{
Name: "uint32_repeated",
Type: bigquery.IntegerFieldType,
Repeated: true,
},
{
Name: "sint32_repeated",
Type: bigquery.IntegerFieldType,
Repeated: true,
},
{
Name: "sint64_repeated",
Type: bigquery.IntegerFieldType,
Repeated: true,
},
{
Name: "fixed32_repeated",
Type: bigquery.IntegerFieldType,
Repeated: true,
},
{
Name: "sfixed32_repeated",
Type: bigquery.IntegerFieldType,
Repeated: true,
},
{
Name: "sfixed64_repeated",
Type: bigquery.IntegerFieldType,
Repeated: true,
},
{
Name: "bool_repeated",
Type: bigquery.BooleanFieldType,
Repeated: true,
},
{
Name: "enum_repeated",
Type: bigquery.IntegerFieldType,
Repeated: true,
},
}
)