// THIS FILE IS AUTOGENERATED. DO NOT MODIFY.

package main

import pb "infra/libs/bqschema/tabledef"
import civil "cloud.google.com/go/civil"

// TestSchemaTable is the TableDef for the
// "dataset_id" dataset's "table_id" table.
var TestSchemaTable = &pb.TableDef{
	DatasetId: "dataset_id",
	TableId:   "table_id",
}

// TestSchema_Rec is a record for the "Rec" field.
type TestSchema_Rec struct {
	// This is an optional field.
	OptionalField string `bigquery:"optional_field"`

	RequiredField string `bigquery:"required_field"`
}

// TestSchema is the schema for "TestSchemaTable".
type TestSchema struct {
	// The letter 'A'.
	A string `bigquery:"A"`

	// The letter 'B'.
	B int64 `bigquery:"B"`

	// The letter 'C'.
	C float64 `bigquery:"C"`

	// This is a description string. It has a newline, ᴜɴɪᴄᴏᴅᴇ, and multiple consecutive spaces.
	Desc string `bigquery:"Desc"`

	Req string `bigquery:"Req"`

	LegacyDateTime civil.DateTime `bigquery:"legacy_date_time"`

	Rec []*TestSchema_Rec `bigquery:"Rec"`
}
