Class: Google::Apis::BigqueryV2::TableFieldSchema
- Inherits:
-
Object
- Object
- Google::Apis::BigqueryV2::TableFieldSchema
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/bigquery_v2/classes.rb,
lib/google/apis/bigquery_v2/representations.rb,
lib/google/apis/bigquery_v2/representations.rb
Overview
A field in TableSchema
Defined Under Namespace
Classes: Categories, DataGovernanceTagsInfo, PolicyTags, RangeElementType
Instance Attribute Summary collapse
-
#categories ⇒ Google::Apis::BigqueryV2::TableFieldSchema::Categories
Deprecated.
-
#collation ⇒ String
Optional.
-
#data_governance_tags_info ⇒ Google::Apis::BigqueryV2::TableFieldSchema::DataGovernanceTagsInfo
Optional.
-
#data_policies ⇒ Array<Google::Apis::BigqueryV2::DataPolicyOption>
Optional.
-
#data_policy_list ⇒ Google::Apis::BigqueryV2::DataPolicyList
A list of data policy options.
-
#default_value_expression ⇒ String
Optional.
-
#description ⇒ String
Optional.
-
#fields ⇒ Array<Google::Apis::BigqueryV2::TableFieldSchema>
Optional.
-
#foreign_type_definition ⇒ String
Optional.
-
#generated_column ⇒ Google::Apis::BigqueryV2::GeneratedColumn
Optional.
-
#max_length ⇒ Fixnum
Optional.
-
#mode ⇒ String
Optional.
-
#name ⇒ String
Required.
-
#policy_tags ⇒ Google::Apis::BigqueryV2::TableFieldSchema::PolicyTags
Optional.
-
#precision ⇒ Fixnum
Optional.
-
#range_element_type ⇒ Google::Apis::BigqueryV2::TableFieldSchema::RangeElementType
Represents the type of a field element.
-
#rounding_mode ⇒ String
Optional.
-
#scale ⇒ Fixnum
Optional.
-
#timestamp_precision ⇒ Fixnum
Optional.
-
#type ⇒ String
Required.
Instance Method Summary collapse
-
#initialize(**args) ⇒ TableFieldSchema
constructor
A new instance of TableFieldSchema.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ TableFieldSchema
Returns a new instance of TableFieldSchema.
11651 11652 11653 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11651 def initialize(**args) update!(**args) end |
Instance Attribute Details
#categories ⇒ Google::Apis::BigqueryV2::TableFieldSchema::Categories
Deprecated.
Corresponds to the JSON property categories
11503 11504 11505 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11503 def categories @categories end |
#collation ⇒ String
Optional. Field collation can be set only when the type of field is STRING.
The following values are supported: * 'und:ci': undetermined locale, case
insensitive. * '': empty string. Default to case-sensitive behavior.
Corresponds to the JSON property collation
11510 11511 11512 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11510 def collation @collation end |
#data_governance_tags_info ⇒ Google::Apis::BigqueryV2::TableFieldSchema::DataGovernanceTagsInfo
Optional. Specifies the data governance tags on this field. This field works
with other column-level security fields as follows: * Precedence: If a
data governance tag is attached to a column, it takes precedence over the
policy tag attached to the column. However, if a data policy is attached to a
column, it takes precedence over the data governance tag. * Patching
behavior: Describes how this field behaves during a Table.patch schema
update: * Unset: If the data_governance_tags_info field is omitted from
the update request, the existing tags on the column are preserved. * Empty
Field: To clear data governance tags from a column, send the
data_governance_tags_info field as an empty object. This removes all tags
from the column. * Updating tags: To replace an existing tag, send the
field with the new tag.
Corresponds to the JSON property dataGovernanceTagsInfo
11526 11527 11528 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11526 def @data_governance_tags_info end |
#data_policies ⇒ Array<Google::Apis::BigqueryV2::DataPolicyOption>
Optional. Data policies attached to this field, used for field-level access
control.
Corresponds to the JSON property dataPolicies
11532 11533 11534 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11532 def data_policies @data_policies end |
#data_policy_list ⇒ Google::Apis::BigqueryV2::DataPolicyList
A list of data policy options. For more information, see Mask data by
applying data policies to a column.
Corresponds to the JSON property dataPolicyList
11539 11540 11541 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11539 def data_policy_list @data_policy_list end |
#default_value_expression ⇒ String
Optional. A SQL expression to specify the default value for this field.
Corresponds to the JSON property defaultValueExpression
11545 11546 11547 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11545 def default_value_expression @default_value_expression end |
#description ⇒ String
Optional. The field description. The maximum length is 1,024 characters.
Corresponds to the JSON property description
11550 11551 11552 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11550 def description @description end |
#fields ⇒ Array<Google::Apis::BigqueryV2::TableFieldSchema>
Optional. Describes the nested schema fields if the type property is set to
RECORD.
Corresponds to the JSON property fields
11556 11557 11558 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11556 def fields @fields end |
#foreign_type_definition ⇒ String
Optional. Definition of the foreign data type. Only valid for top-level schema
fields (not nested fields). If the type is FOREIGN, this field is required.
Corresponds to the JSON property foreignTypeDefinition
11562 11563 11564 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11562 def foreign_type_definition @foreign_type_definition end |
#generated_column ⇒ Google::Apis::BigqueryV2::GeneratedColumn
Optional. Definition of how values are generated for the field. Only valid for
top-level schema fields (not nested fields).
Corresponds to the JSON property generatedColumn
11568 11569 11570 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11568 def generated_column @generated_column end |
#max_length ⇒ Fixnum
Optional. Maximum length of values of this field for STRINGS or BYTES. If
max_length is not specified, no maximum length constraint is imposed on this
field. If type = "STRING", then max_length represents the maximum UTF-8 length
of strings in this field. If type = "BYTES", then max_length represents the
maximum number of bytes in this field. It is invalid to set this field if type
≠ "STRING" and ≠ "BYTES".
Corresponds to the JSON property maxLength
11578 11579 11580 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11578 def max_length @max_length end |
#mode ⇒ String
Optional. The field mode. Possible values include NULLABLE, REQUIRED and
REPEATED. The default value is NULLABLE.
Corresponds to the JSON property mode
11584 11585 11586 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11584 def mode @mode end |
#name ⇒ String
Required. The field name. The name must contain only letters (a-z, A-Z),
numbers (0-9), or underscores (_), and must start with a letter or underscore.
The maximum length is 300 characters.
Corresponds to the JSON property name
11591 11592 11593 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11591 def name @name end |
#policy_tags ⇒ Google::Apis::BigqueryV2::TableFieldSchema::PolicyTags
Optional. The policy tags attached to this field, used for field-level access
control. If not set, defaults to empty policy_tags.
Corresponds to the JSON property policyTags
11597 11598 11599 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11597 def @policy_tags end |
#precision ⇒ Fixnum
Optional. Precision (maximum number of total digits in base 10) and scale (
maximum number of digits in the fractional part in base 10) constraints for
values of this field for NUMERIC or BIGNUMERIC. It is invalid to set precision
or scale if type ≠ "NUMERIC" and ≠ "BIGNUMERIC". If precision and scale are
not specified, no value range constraint is imposed on this field insofar as
values are permitted by the type. Values of this NUMERIC or BIGNUMERIC field
must be in this range when: * Precision (P) and scale (S) are specified: [-10P-
S + 10-S, 10P-S - 10-S] * Precision (P) is specified but not scale (and thus
scale is interpreted to be equal to zero): [-10P + 1, 10P - 1]. Acceptable
values for precision and scale if both are specified: * If type = "NUMERIC": 1
≤ precision - scale ≤ 29 and 0 ≤ scale ≤ 9. * If type = "BIGNUMERIC": 1 ≤
precision - scale ≤ 38 and 0 ≤ scale ≤ 38. Acceptable values for precision if
only precision is specified but not scale (and thus scale is interpreted to be
equal to zero): * If type = "NUMERIC": 1 ≤ precision ≤ 29. * If type = "
BIGNUMERIC": 1 ≤ precision ≤ 38. If scale is specified but not precision, then
it is invalid.
Corresponds to the JSON property precision
11617 11618 11619 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11617 def precision @precision end |
#range_element_type ⇒ Google::Apis::BigqueryV2::TableFieldSchema::RangeElementType
Represents the type of a field element.
Corresponds to the JSON property rangeElementType
11622 11623 11624 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11622 def range_element_type @range_element_type end |
#rounding_mode ⇒ String
Optional. Specifies the rounding mode to be used when storing values of
NUMERIC and BIGNUMERIC type.
Corresponds to the JSON property roundingMode
11628 11629 11630 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11628 def rounding_mode @rounding_mode end |
#scale ⇒ Fixnum
Optional. See documentation for precision.
Corresponds to the JSON property scale
11633 11634 11635 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11633 def scale @scale end |
#timestamp_precision ⇒ Fixnum
Optional. Precision (maximum number of total digits in base 10) for seconds of
TIMESTAMP type. Possible values include: * 6 (Default, for TIMESTAMP type with
microsecond precision) * 12 (For TIMESTAMP type with picosecond precision)
Corresponds to the JSON property timestampPrecision
11640 11641 11642 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11640 def @timestamp_precision end |
#type ⇒ String
Required. The field data type. Possible values include: * STRING * BYTES * INTEGER (or INT64) * FLOAT (or FLOAT64) * BOOLEAN (or BOOL) * TIMESTAMP * DATE
- TIME * DATETIME * GEOGRAPHY * NUMERIC * BIGNUMERIC * JSON * RECORD (or
STRUCT) * RANGE Use of RECORD/STRUCT indicates that the field contains a
nested schema.
Corresponds to the JSON property
type
11649 11650 11651 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11649 def type @type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
11656 11657 11658 11659 11660 11661 11662 11663 11664 11665 11666 11667 11668 11669 11670 11671 11672 11673 11674 11675 11676 11677 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 11656 def update!(**args) @categories = args[:categories] if args.key?(:categories) @collation = args[:collation] if args.key?(:collation) @data_governance_tags_info = args[:data_governance_tags_info] if args.key?(:data_governance_tags_info) @data_policies = args[:data_policies] if args.key?(:data_policies) @data_policy_list = args[:data_policy_list] if args.key?(:data_policy_list) @default_value_expression = args[:default_value_expression] if args.key?(:default_value_expression) @description = args[:description] if args.key?(:description) @fields = args[:fields] if args.key?(:fields) @foreign_type_definition = args[:foreign_type_definition] if args.key?(:foreign_type_definition) @generated_column = args[:generated_column] if args.key?(:generated_column) @max_length = args[:max_length] if args.key?(:max_length) @mode = args[:mode] if args.key?(:mode) @name = args[:name] if args.key?(:name) @policy_tags = args[:policy_tags] if args.key?(:policy_tags) @precision = args[:precision] if args.key?(:precision) @range_element_type = args[:range_element_type] if args.key?(:range_element_type) @rounding_mode = args[:rounding_mode] if args.key?(:rounding_mode) @scale = args[:scale] if args.key?(:scale) @timestamp_precision = args[:timestamp_precision] if args.key?(:timestamp_precision) @type = args[:type] if args.key?(:type) end |