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, PolicyTags, RangeElementType
Instance Attribute Summary collapse
-
#categories ⇒ Google::Apis::BigqueryV2::TableFieldSchema::Categories
Deprecated.
-
#collation ⇒ String
Optional.
-
#data_policies ⇒ Array<Google::Apis::BigqueryV2::DataPolicyOption>
Optional.
-
#default_value_expression ⇒ String
Optional.
-
#description ⇒ String
Optional.
-
#fields ⇒ Array<Google::Apis::BigqueryV2::TableFieldSchema>
Optional.
-
#foreign_type_definition ⇒ String
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.
10859 10860 10861 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10859 def initialize(**args) update!(**args) end |
Instance Attribute Details
#categories ⇒ Google::Apis::BigqueryV2::TableFieldSchema::Categories
Deprecated.
Corresponds to the JSON property categories
10740 10741 10742 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10740 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
10747 10748 10749 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10747 def collation @collation 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
10753 10754 10755 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10753 def data_policies @data_policies end |
#default_value_expression ⇒ String
Optional. A SQL expression to specify the default value for this field.
Corresponds to the JSON property defaultValueExpression
10759 10760 10761 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10759 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
10764 10765 10766 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10764 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
10770 10771 10772 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10770 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
10776 10777 10778 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10776 def foreign_type_definition @foreign_type_definition 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
10786 10787 10788 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10786 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
10792 10793 10794 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10792 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
10799 10800 10801 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10799 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
10805 10806 10807 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10805 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
10825 10826 10827 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10825 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
10830 10831 10832 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10830 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
10836 10837 10838 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10836 def rounding_mode @rounding_mode end |
#scale ⇒ Fixnum
Optional. See documentation for precision.
Corresponds to the JSON property scale
10841 10842 10843 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10841 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
10848 10849 10850 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10848 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
10857 10858 10859 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10857 def type @type end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
10864 10865 10866 10867 10868 10869 10870 10871 10872 10873 10874 10875 10876 10877 10878 10879 10880 10881 10882 |
# File 'lib/google/apis/bigquery_v2/classes.rb', line 10864 def update!(**args) @categories = args[:categories] if args.key?(:categories) @collation = args[:collation] if args.key?(:collation) @data_policies = args[:data_policies] if args.key?(:data_policies) @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) @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 |