| // 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, |
| }, |
| } |
| ) |