@@ -1606,6 +1606,17 @@ class CsvOptions
16061606 # @return [String]
16071607 attr_accessor :null_marker
16081608
1609+ # Optional. A list of strings represented as SQL NULL value in a CSV file.
1610+ # null_marker and null_markers can't be set at the same time. If null_marker is
1611+ # set, null_markers has to be not set. If null_markers is set, null_marker has
1612+ # to be not set. If both null_marker and null_markers are set at the same time,
1613+ # a user error would be thrown. Any strings listed in null_markers, including
1614+ # empty string would be interpreted as SQL NULL. This applies to all column
1615+ # types.
1616+ # Corresponds to the JSON property `nullMarkers`
1617+ # @return [Array<String>]
1618+ attr_accessor :null_markers
1619+
16091620 # Optional. Indicates if the embedded ASCII control characters (the first 32
16101621 # characters in the ASCII-table, from '\x00' to '\x1F') are preserved.
16111622 # Corresponds to the JSON property `preserveAsciiControlCharacters`
@@ -1641,6 +1652,18 @@ class CsvOptions
16411652 # @return [Fixnum]
16421653 attr_accessor :skip_leading_rows
16431654
1655+ # Optional. Controls the strategy used to match loaded columns to the schema. If
1656+ # not set, a sensible default is chosen based on how the schema is provided. If
1657+ # autodetect is used, then columns are matched by name. Otherwise, columns are
1658+ # matched by position. This is done to keep the behavior backward-compatible.
1659+ # Acceptable values are: POSITION - matches by position. This assumes that the
1660+ # columns are ordered the same way as the schema. NAME - matches by name. This
1661+ # reads the header row as column names and reorders columns to match the field
1662+ # names in the schema.
1663+ # Corresponds to the JSON property `sourceColumnMatch`
1664+ # @return [String]
1665+ attr_accessor :source_column_match
1666+
16441667 def initialize(**args)
16451668 update!(**args)
16461669 end
@@ -1652,9 +1675,11 @@ def update!(**args)
16521675 @encoding = args[:encoding] if args.key?(:encoding)
16531676 @field_delimiter = args[:field_delimiter] if args.key?(:field_delimiter)
16541677 @null_marker = args[:null_marker] if args.key?(:null_marker)
1678+ @null_markers = args[:null_markers] if args.key?(:null_markers)
16551679 @preserve_ascii_control_characters = args[:preserve_ascii_control_characters] if args.key?(:preserve_ascii_control_characters)
16561680 @quote = args[:quote] if args.key?(:quote)
16571681 @skip_leading_rows = args[:skip_leading_rows] if args.key?(:skip_leading_rows)
1682+ @source_column_match = args[:source_column_match] if args.key?(:source_column_match)
16581683 end
16591684 end
16601685
@@ -4791,6 +4816,17 @@ class JobConfigurationLoad
47914816 # @return [String]
47924817 attr_accessor :null_marker
47934818
4819+ # Optional. A list of strings represented as SQL NULL value in a CSV file.
4820+ # null_marker and null_markers can't be set at the same time. If null_marker is
4821+ # set, null_markers has to be not set. If null_markers is set, null_marker has
4822+ # to be not set. If both null_marker and null_markers are set at the same time,
4823+ # a user error would be thrown. Any strings listed in null_markers, including
4824+ # empty string would be interpreted as SQL NULL. This applies to all column
4825+ # types.
4826+ # Corresponds to the JSON property `nullMarkers`
4827+ # @return [Array<String>]
4828+ attr_accessor :null_markers
4829+
47944830 # Parquet Options for load and make external tables.
47954831 # Corresponds to the JSON property `parquetOptions`
47964832 # @return [Google::Apis::BigqueryV2::ParquetOptions]
@@ -4883,6 +4919,14 @@ class JobConfigurationLoad
48834919 # @return [Fixnum]
48844920 attr_accessor :skip_leading_rows
48854921
4922+ # Optional. Controls the strategy used to match loaded columns to the schema. If
4923+ # not set, a sensible default is chosen based on how the schema is provided. If
4924+ # autodetect is used, then columns are matched by name. Otherwise, columns are
4925+ # matched by position. This is done to keep the behavior backward-compatible.
4926+ # Corresponds to the JSON property `sourceColumnMatch`
4927+ # @return [String]
4928+ attr_accessor :source_column_match
4929+
48864930 # Optional. The format of the data files. For CSV files, specify "CSV". For
48874931 # datastore backups, specify "DATASTORE_BACKUP". For newline-delimited JSON,
48884932 # specify "NEWLINE_DELIMITED_JSON". For Avro, specify "AVRO". For parquet,
@@ -4974,6 +5018,7 @@ def update!(**args)
49745018 @json_extension = args[:json_extension] if args.key?(:json_extension)
49755019 @max_bad_records = args[:max_bad_records] if args.key?(:max_bad_records)
49765020 @null_marker = args[:null_marker] if args.key?(:null_marker)
5021+ @null_markers = args[:null_markers] if args.key?(:null_markers)
49775022 @parquet_options = args[:parquet_options] if args.key?(:parquet_options)
49785023 @preserve_ascii_control_characters = args[:preserve_ascii_control_characters] if args.key?(:preserve_ascii_control_characters)
49795024 @projection_fields = args[:projection_fields] if args.key?(:projection_fields)
@@ -4985,6 +5030,7 @@ def update!(**args)
49855030 @schema_inline_format = args[:schema_inline_format] if args.key?(:schema_inline_format)
49865031 @schema_update_options = args[:schema_update_options] if args.key?(:schema_update_options)
49875032 @skip_leading_rows = args[:skip_leading_rows] if args.key?(:skip_leading_rows)
5033+ @source_column_match = args[:source_column_match] if args.key?(:source_column_match)
49885034 @source_format = args[:source_format] if args.key?(:source_format)
49895035 @source_uris = args[:source_uris] if args.key?(:source_uris)
49905036 @time_format = args[:time_format] if args.key?(:time_format)
0 commit comments