...

Source file src/cloud.google.com/go/bigquery/storage/managedwriter/testdata/schemas.go

Documentation: cloud.google.com/go/bigquery/storage/managedwriter/testdata

     1  // Copyright 2021 Google LLC
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     https://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  package testdata
    16  
    17  import "cloud.google.com/go/bigquery"
    18  
    19  var (
    20  	SimpleMessageSchema bigquery.Schema = bigquery.Schema{
    21  		{Name: "name", Type: bigquery.StringFieldType, Required: true},
    22  		{Name: "value", Type: bigquery.IntegerFieldType},
    23  	}
    24  
    25  	SimpleMessageEvolvedSchema bigquery.Schema = bigquery.Schema{
    26  		{Name: "name", Type: bigquery.StringFieldType, Required: true},
    27  		{Name: "value", Type: bigquery.IntegerFieldType},
    28  		{Name: "other", Type: bigquery.StringFieldType},
    29  	}
    30  
    31  	GithubArchiveSchema bigquery.Schema = bigquery.Schema{
    32  		{Name: "type", Type: bigquery.StringFieldType},
    33  		{Name: "public", Type: bigquery.BooleanFieldType},
    34  		{Name: "payload", Type: bigquery.StringFieldType},
    35  		{
    36  			Name: "repo",
    37  			Type: bigquery.RecordFieldType,
    38  			Schema: bigquery.Schema{
    39  				{Name: "id", Type: bigquery.IntegerFieldType},
    40  				{Name: "name", Type: bigquery.StringFieldType},
    41  				{Name: "url", Type: bigquery.StringFieldType},
    42  			},
    43  		},
    44  		{
    45  			Name: "actor",
    46  			Type: bigquery.RecordFieldType,
    47  			Schema: bigquery.Schema{
    48  				{Name: "id", Type: bigquery.IntegerFieldType},
    49  				{Name: "login", Type: bigquery.StringFieldType},
    50  				{Name: "gravatar_id", Type: bigquery.StringFieldType},
    51  				{Name: "avatar_url", Type: bigquery.StringFieldType},
    52  				{Name: "url", Type: bigquery.StringFieldType},
    53  			},
    54  		},
    55  		{
    56  			Name: "org",
    57  			Type: bigquery.RecordFieldType,
    58  			Schema: bigquery.Schema{
    59  				{Name: "id", Type: bigquery.IntegerFieldType},
    60  				{Name: "login", Type: bigquery.StringFieldType},
    61  				{Name: "gravatar_id", Type: bigquery.StringFieldType},
    62  				{Name: "avatar_url", Type: bigquery.StringFieldType},
    63  				{Name: "url", Type: bigquery.StringFieldType},
    64  			},
    65  		},
    66  		{Name: "created_at", Type: bigquery.TimestampFieldType},
    67  		{Name: "id", Type: bigquery.StringFieldType},
    68  		{Name: "other", Type: bigquery.StringFieldType},
    69  	}
    70  
    71  	ComplexTypeSchema bigquery.Schema = bigquery.Schema{
    72  		{
    73  			Name:     "nested_repeated_type",
    74  			Type:     bigquery.RecordFieldType,
    75  			Repeated: true,
    76  			Schema: bigquery.Schema{
    77  				{
    78  					Name:     "inner_type",
    79  					Type:     bigquery.RecordFieldType,
    80  					Repeated: true,
    81  					Schema: bigquery.Schema{
    82  						{Name: "value", Type: bigquery.StringFieldType, Repeated: true},
    83  					},
    84  				},
    85  			},
    86  		},
    87  		{
    88  			Name: "inner_type",
    89  			Type: bigquery.RecordFieldType,
    90  			Schema: bigquery.Schema{
    91  				{Name: "value", Type: bigquery.StringFieldType, Repeated: true},
    92  			},
    93  		},
    94  		{
    95  			// range is a compound representation, but not quite a struct.
    96  			Name: "range_type",
    97  			Type: bigquery.RangeFieldType,
    98  			RangeElementType: &bigquery.RangeElementType{
    99  				Type: bigquery.TimestampFieldType,
   100  			},
   101  		},
   102  	}
   103  
   104  	// We currently follow proto2 rules here, hence the well known types getting treated as records.
   105  	WithWellKnownTypesSchema bigquery.Schema = bigquery.Schema{
   106  		{Name: "int64_value", Type: bigquery.IntegerFieldType},
   107  		{
   108  			Name: "wrapped_int64",
   109  			Type: bigquery.RecordFieldType,
   110  			Schema: bigquery.Schema{
   111  				{Name: "value", Type: bigquery.IntegerFieldType},
   112  			},
   113  		},
   114  		{Name: "string_value", Type: bigquery.StringFieldType, Repeated: true},
   115  		{
   116  			Name:     "wrapped_string",
   117  			Type:     bigquery.RecordFieldType,
   118  			Repeated: true,
   119  			Schema: bigquery.Schema{
   120  				{Name: "value", Type: bigquery.StringFieldType},
   121  			},
   122  		},
   123  	}
   124  
   125  	ExternalEnumMessageSchema bigquery.Schema = bigquery.Schema{
   126  		{
   127  			Name: "msg_a",
   128  			Type: bigquery.RecordFieldType,
   129  			Schema: bigquery.Schema{
   130  				{Name: "foo", Type: bigquery.StringFieldType},
   131  				{Name: "bar", Type: bigquery.IntegerFieldType},
   132  			},
   133  		},
   134  		{
   135  			Name: "msg_b",
   136  			Type: bigquery.RecordFieldType,
   137  			Schema: bigquery.Schema{
   138  				{Name: "baz", Type: bigquery.IntegerFieldType},
   139  			},
   140  		},
   141  	}
   142  
   143  	ValidationBaseSchema bigquery.Schema = bigquery.Schema{
   144  		{
   145  			Name: "double_field",
   146  			Type: bigquery.FloatFieldType,
   147  		},
   148  		{
   149  			Name: "float_field",
   150  			Type: bigquery.FloatFieldType,
   151  		},
   152  		{
   153  			Name: "int32_field",
   154  			Type: bigquery.IntegerFieldType,
   155  		},
   156  		{
   157  			Name: "int64_field",
   158  			Type: bigquery.IntegerFieldType,
   159  		},
   160  		{
   161  			Name: "uint32_field",
   162  			Type: bigquery.IntegerFieldType,
   163  		},
   164  		{
   165  			Name: "sint32_field",
   166  			Type: bigquery.IntegerFieldType,
   167  		},
   168  		{
   169  			Name: "sint64_field",
   170  			Type: bigquery.IntegerFieldType,
   171  		},
   172  		{
   173  			Name: "fixed32_field",
   174  			Type: bigquery.IntegerFieldType,
   175  		},
   176  		{
   177  			Name: "sfixed32_field",
   178  			Type: bigquery.IntegerFieldType,
   179  		},
   180  		{
   181  			Name: "sfixed64_field",
   182  			Type: bigquery.IntegerFieldType,
   183  		},
   184  		{
   185  			Name: "bool_field",
   186  			Type: bigquery.BooleanFieldType,
   187  		},
   188  		{
   189  			Name: "string_field",
   190  			Type: bigquery.StringFieldType,
   191  		},
   192  		{
   193  			Name: "bytes_field",
   194  			Type: bigquery.BytesFieldType,
   195  		},
   196  		{
   197  			Name: "enum_field",
   198  			Type: bigquery.IntegerFieldType,
   199  		},
   200  	}
   201  
   202  	ValidationRepeatedSchema bigquery.Schema = bigquery.Schema{
   203  		{
   204  			Name: "id",
   205  			Type: bigquery.IntegerFieldType,
   206  		},
   207  		{
   208  			Name:     "double_repeated",
   209  			Type:     bigquery.FloatFieldType,
   210  			Repeated: true,
   211  		},
   212  		{
   213  			Name:     "float_repeated",
   214  			Type:     bigquery.FloatFieldType,
   215  			Repeated: true,
   216  		},
   217  		{
   218  			Name:     "int32_repeated",
   219  			Type:     bigquery.IntegerFieldType,
   220  			Repeated: true,
   221  		},
   222  		{
   223  			Name:     "int64_repeated",
   224  			Type:     bigquery.IntegerFieldType,
   225  			Repeated: true,
   226  		},
   227  		{
   228  			Name:     "uint32_repeated",
   229  			Type:     bigquery.IntegerFieldType,
   230  			Repeated: true,
   231  		},
   232  		{
   233  			Name:     "sint32_repeated",
   234  			Type:     bigquery.IntegerFieldType,
   235  			Repeated: true,
   236  		},
   237  		{
   238  			Name:     "sint64_repeated",
   239  			Type:     bigquery.IntegerFieldType,
   240  			Repeated: true,
   241  		},
   242  		{
   243  			Name:     "fixed32_repeated",
   244  			Type:     bigquery.IntegerFieldType,
   245  			Repeated: true,
   246  		},
   247  		{
   248  			Name:     "sfixed32_repeated",
   249  			Type:     bigquery.IntegerFieldType,
   250  			Repeated: true,
   251  		},
   252  		{
   253  			Name:     "sfixed64_repeated",
   254  			Type:     bigquery.IntegerFieldType,
   255  			Repeated: true,
   256  		},
   257  		{
   258  			Name:     "bool_repeated",
   259  			Type:     bigquery.BooleanFieldType,
   260  			Repeated: true,
   261  		},
   262  		{
   263  			Name:     "enum_repeated",
   264  			Type:     bigquery.IntegerFieldType,
   265  			Repeated: true,
   266  		},
   267  	}
   268  
   269  	ValidationColumnAnnotations bigquery.Schema = bigquery.Schema{
   270  		{
   271  			Name: "first",
   272  			Type: bigquery.StringFieldType,
   273  		},
   274  		{
   275  			Name: "second",
   276  			Type: bigquery.StringFieldType,
   277  		},
   278  		{
   279  			Name: "特別コラム",
   280  			Type: bigquery.StringFieldType,
   281  		},
   282  	}
   283  
   284  	ExampleEmployeeSchema bigquery.Schema = bigquery.Schema{
   285  		{
   286  			Name: "id",
   287  			Type: bigquery.IntegerFieldType,
   288  		},
   289  		{
   290  			Name: "username",
   291  			Type: bigquery.StringFieldType,
   292  		},
   293  		{
   294  			Name: "given_name",
   295  			Type: bigquery.StringFieldType,
   296  		},
   297  		{
   298  			Name:     "departments",
   299  			Type:     bigquery.StringFieldType,
   300  			Repeated: true,
   301  		},
   302  		{
   303  			Name: "salary",
   304  			Type: bigquery.IntegerFieldType,
   305  		},
   306  	}
   307  
   308  	DefaultValueSchema bigquery.Schema = bigquery.Schema{
   309  		{
   310  			Name: "id",
   311  			Type: bigquery.StringFieldType,
   312  		},
   313  		{
   314  			Name: "strcol",
   315  			Type: bigquery.StringFieldType,
   316  		},
   317  		{
   318  			Name:                   "strcol_withdef",
   319  			Type:                   bigquery.StringFieldType,
   320  			DefaultValueExpression: "\"defaultvalue\"",
   321  		},
   322  		{
   323  			Name: "intcol",
   324  			Type: bigquery.IntegerFieldType,
   325  		},
   326  		{
   327  			Name:                   "intcol_withdef",
   328  			Type:                   bigquery.IntegerFieldType,
   329  			DefaultValueExpression: "-99",
   330  		},
   331  		{
   332  			Name: "otherstr",
   333  			Type: bigquery.StringFieldType,
   334  		},
   335  		{
   336  			Name:                   "otherstr_withdef",
   337  			Type:                   bigquery.StringFieldType,
   338  			DefaultValueExpression: "\"otherval\"",
   339  		},
   340  	}
   341  )
   342  

View as plain text