google-cloud-bigquery 1.29.0 → 1.30.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -773,9 +773,18 @@ module Google
773
773
  end
774
774
 
775
775
  ##
776
- # Adds a numeric number field to the schema. Numeric is a
777
- # fixed-precision numeric type with 38 decimal digits, 9 that follow
778
- # the decimal point.
776
+ # Adds a numeric number field to the schema. `NUMERIC` is a decimal
777
+ # type with fixed precision and scale. Precision is the number of
778
+ # digits that the number contains. Scale is how many of these
779
+ # digits appear after the decimal point. It supports:
780
+ #
781
+ # Precision: 38
782
+ # Scale: 9
783
+ # Min: -9.9999999999999999999999999999999999999E+28
784
+ # Max: 9.9999999999999999999999999999999999999E+28
785
+ #
786
+ # This type can represent decimal fractions exactly, and is suitable
787
+ # for financial calculations.
779
788
  #
780
789
  # See {Schema#numeric}
781
790
  #
@@ -802,6 +811,45 @@ module Google
802
811
  schema.numeric name, description: description, mode: mode
803
812
  end
804
813
 
814
+ ##
815
+ # Adds a bignumeric number field to the schema. `BIGNUMERIC` is a
816
+ # decimal type with fixed precision and scale. Precision is the
817
+ # number of digits that the number contains. Scale is how many of
818
+ # these digits appear after the decimal point. It supports:
819
+ #
820
+ # Precision: 76.76 (the 77th digit is partial)
821
+ # Scale: 38
822
+ # Min: -5.7896044618658097711785492504343953926634992332820282019728792003956564819968E+38
823
+ # Max: 5.7896044618658097711785492504343953926634992332820282019728792003956564819967E+38
824
+ #
825
+ # This type can represent decimal fractions exactly, and is suitable
826
+ # for financial calculations.
827
+ #
828
+ # See {Schema#bignumeric}
829
+ #
830
+ # @param [String] name The field name. The name must contain only
831
+ # letters (a-z, A-Z), numbers (0-9), or underscores (_), and must
832
+ # start with a letter or underscore. The maximum length is 128
833
+ # characters.
834
+ # @param [String] description A description of the field.
835
+ # @param [Symbol] mode The field's mode. The possible values are
836
+ # `:nullable`, `:required`, and `:repeated`. The default value is
837
+ # `:nullable`.
838
+ #
839
+ # @example
840
+ # require "google/cloud/bigquery"
841
+ #
842
+ # bigquery = Google::Cloud::Bigquery.new
843
+ # dataset = bigquery.dataset "my_dataset"
844
+ # job = dataset.load_job "my_table", "gs://abc/file" do |schema|
845
+ # schema.bignumeric "total_cost", mode: :required
846
+ # end
847
+ #
848
+ # @!group Schema
849
+ def bignumeric name, description: nil, mode: :nullable
850
+ schema.bignumeric name, description: description, mode: mode
851
+ end
852
+
805
853
  ##
806
854
  # Adds a boolean field to the schema.
807
855
  #
@@ -293,35 +293,37 @@ module Google
293
293
  #
294
294
  # Ruby types are mapped to BigQuery types as follows:
295
295
  #
296
- # | BigQuery | Ruby | Notes |
297
- # |-------------|--------------------------------------|------------------------------------------------|
298
- # | `BOOL` | `true`/`false` | |
299
- # | `INT64` | `Integer` | |
300
- # | `FLOAT64` | `Float` | |
301
- # | `NUMERIC` | `BigDecimal` | Will be rounded to 9 decimal places |
302
- # | `STRING` | `String` | |
303
- # | `DATETIME` | `DateTime` | `DATETIME` does not support time zone. |
304
- # | `DATE` | `Date` | |
305
- # | `TIMESTAMP` | `Time` | |
306
- # | `TIME` | `Google::Cloud::BigQuery::Time` | |
307
- # | `BYTES` | `File`, `IO`, `StringIO`, or similar | |
308
- # | `ARRAY` | `Array` | Nested arrays, `nil` values are not supported. |
309
- # | `STRUCT` | `Hash` | Hash keys may be strings or symbols. |
296
+ # | BigQuery | Ruby | Notes |
297
+ # |--------------|--------------------------------------|----------------------------------------------------|
298
+ # | `BOOL` | `true`/`false` | |
299
+ # | `INT64` | `Integer` | |
300
+ # | `FLOAT64` | `Float` | |
301
+ # | `NUMERIC` | `BigDecimal` | `BigDecimal` values will be rounded to scale 9. |
302
+ # | `BIGNUMERIC` | | Query param values must be mapped in `types`. |
303
+ # | `STRING` | `String` | |
304
+ # | `DATETIME` | `DateTime` | `DATETIME` does not support time zone. |
305
+ # | `DATE` | `Date` | |
306
+ # | `TIMESTAMP` | `Time` | |
307
+ # | `TIME` | `Google::Cloud::BigQuery::Time` | |
308
+ # | `BYTES` | `File`, `IO`, `StringIO`, or similar | |
309
+ # | `ARRAY` | `Array` | Nested arrays, `nil` values are not supported. |
310
+ # | `STRUCT` | `Hash` | Hash keys may be strings or symbols. |
310
311
  #
311
312
  # See [Data Types](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types) for an overview
312
313
  # of each BigQuery data type, including allowed values.
313
- # @param [Array, Hash] types Standard SQL only. Types of the SQL parameters in `params`. It is not always to
314
- # infer the right SQL type from a value in `params`. In these cases, `types` must be used to specify the SQL
315
- # type for these values.
314
+ # @param [Array, Hash] types Standard SQL only. Types of the SQL parameters in `params`. It is not always
315
+ # possible to infer the right SQL type from a value in `params`. In these cases, `types` must be used to
316
+ # specify the SQL type for these values.
316
317
  #
317
- # Must match the value type passed to `params`. This must be an `Array` when the query uses positional query
318
- # parameters. This must be an `Hash` when the query uses named query parameters. The values should be BigQuery
319
- # type codes from the following list:
318
+ # Arguments must match the value type passed to `params`. This must be an `Array` when the query uses
319
+ # positional query parameters. This must be an `Hash` when the query uses named query parameters. The values
320
+ # should be BigQuery type codes from the following list:
320
321
  #
321
322
  # * `:BOOL`
322
323
  # * `:INT64`
323
324
  # * `:FLOAT64`
324
325
  # * `:NUMERIC`
326
+ # * `:BIGNUMERIC`
325
327
  # * `:STRING`
326
328
  # * `:DATETIME`
327
329
  # * `:DATE`
@@ -638,35 +640,37 @@ module Google
638
640
  #
639
641
  # Ruby types are mapped to BigQuery types as follows:
640
642
  #
641
- # | BigQuery | Ruby | Notes |
642
- # |-------------|--------------------------------------|------------------------------------------------|
643
- # | `BOOL` | `true`/`false` | |
644
- # | `INT64` | `Integer` | |
645
- # | `FLOAT64` | `Float` | |
646
- # | `NUMERIC` | `BigDecimal` | Will be rounded to 9 decimal places |
647
- # | `STRING` | `String` | |
648
- # | `DATETIME` | `DateTime` | `DATETIME` does not support time zone. |
649
- # | `DATE` | `Date` | |
650
- # | `TIMESTAMP` | `Time` | |
651
- # | `TIME` | `Google::Cloud::BigQuery::Time` | |
652
- # | `BYTES` | `File`, `IO`, `StringIO`, or similar | |
653
- # | `ARRAY` | `Array` | Nested arrays, `nil` values are not supported. |
654
- # | `STRUCT` | `Hash` | Hash keys may be strings or symbols. |
643
+ # | BigQuery | Ruby | Notes |
644
+ # |--------------|--------------------------------------|----------------------------------------------------|
645
+ # | `BOOL` | `true`/`false` | |
646
+ # | `INT64` | `Integer` | |
647
+ # | `FLOAT64` | `Float` | |
648
+ # | `NUMERIC` | `BigDecimal` | `BigDecimal` values will be rounded to scale 9. |
649
+ # | `BIGNUMERIC` | | Query param values must be mapped in `types`. |
650
+ # | `STRING` | `String` | |
651
+ # | `DATETIME` | `DateTime` | `DATETIME` does not support time zone. |
652
+ # | `DATE` | `Date` | |
653
+ # | `TIMESTAMP` | `Time` | |
654
+ # | `TIME` | `Google::Cloud::BigQuery::Time` | |
655
+ # | `BYTES` | `File`, `IO`, `StringIO`, or similar | |
656
+ # | `ARRAY` | `Array` | Nested arrays, `nil` values are not supported. |
657
+ # | `STRUCT` | `Hash` | Hash keys may be strings or symbols. |
655
658
  #
656
659
  # See [Data Types](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types) for an overview
657
660
  # of each BigQuery data type, including allowed values.
658
- # @param [Array, Hash] types Standard SQL only. Types of the SQL parameters in `params`. It is not always to
659
- # infer the right SQL type from a value in `params`. In these cases, `types` must be used to specify the SQL
660
- # type for these values.
661
+ # @param [Array, Hash] types Standard SQL only. Types of the SQL parameters in `params`. It is not always
662
+ # possible to infer the right SQL type from a value in `params`. In these cases, `types` must be used to
663
+ # specify the SQL type for these values.
661
664
  #
662
- # Must match the value type passed to `params`. This must be an `Array` when the query uses positional query
663
- # parameters. This must be an `Hash` when the query uses named query parameters. The values should be BigQuery
664
- # type codes from the following list:
665
+ # Arguments must match the value type passed to `params`. This must be an `Array` when the query uses
666
+ # positional query parameters. This must be an `Hash` when the query uses named query parameters. The values
667
+ # should be BigQuery type codes from the following list:
665
668
  #
666
669
  # * `:BOOL`
667
670
  # * `:INT64`
668
671
  # * `:FLOAT64`
669
672
  # * `:NUMERIC`
673
+ # * `:BIGNUMERIC`
670
674
  # * `:STRING`
671
675
  # * `:DATETIME`
672
676
  # * `:DATE`
@@ -853,20 +853,21 @@ module Google
853
853
  #
854
854
  # Ruby types are mapped to BigQuery types as follows:
855
855
  #
856
- # | BigQuery | Ruby | Notes |
857
- # |-------------|--------------------------------------|------------------------------------------------|
858
- # | `BOOL` | `true`/`false` | |
859
- # | `INT64` | `Integer` | |
860
- # | `FLOAT64` | `Float` | |
861
- # | `NUMERIC` | `BigDecimal` | Will be rounded to 9 decimal places |
862
- # | `STRING` | `String` | |
863
- # | `DATETIME` | `DateTime` | `DATETIME` does not support time zone. |
864
- # | `DATE` | `Date` | |
865
- # | `TIMESTAMP` | `Time` | |
866
- # | `TIME` | `Google::Cloud::BigQuery::Time` | |
867
- # | `BYTES` | `File`, `IO`, `StringIO`, or similar | |
868
- # | `ARRAY` | `Array` | Nested arrays, `nil` values are not supported. |
869
- # | `STRUCT` | `Hash` | Hash keys may be strings or symbols. |
856
+ # | BigQuery | Ruby | Notes |
857
+ # |--------------|--------------------------------------|--------------------------------------------------|
858
+ # | `BOOL` | `true`/`false` | |
859
+ # | `INT64` | `Integer` | |
860
+ # | `FLOAT64` | `Float` | |
861
+ # | `NUMERIC` | `BigDecimal` | `BigDecimal` values will be rounded to scale 9. |
862
+ # | `BIGNUMERIC` | | Query param values must be mapped in `types`. |
863
+ # | `STRING` | `String` | |
864
+ # | `DATETIME` | `DateTime` | `DATETIME` does not support time zone. |
865
+ # | `DATE` | `Date` | |
866
+ # | `TIMESTAMP` | `Time` | |
867
+ # | `TIME` | `Google::Cloud::BigQuery::Time` | |
868
+ # | `BYTES` | `File`, `IO`, `StringIO`, or similar | |
869
+ # | `ARRAY` | `Array` | Nested arrays, `nil` values are not supported. |
870
+ # | `STRUCT` | `Hash` | Hash keys may be strings or symbols. |
870
871
  #
871
872
  # See [Data Types](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types) for an overview
872
873
  # of each BigQuery data type, including allowed values.
@@ -887,35 +888,37 @@ module Google
887
888
  #
888
889
  # Ruby types are mapped to BigQuery types as follows:
889
890
  #
890
- # | BigQuery | Ruby | Notes |
891
- # |-------------|--------------------------------------|------------------------------------------------|
892
- # | `BOOL` | `true`/`false` | |
893
- # | `INT64` | `Integer` | |
894
- # | `FLOAT64` | `Float` | |
895
- # | `NUMERIC` | `BigDecimal` | Will be rounded to 9 decimal places |
896
- # | `STRING` | `String` | |
897
- # | `DATETIME` | `DateTime` | `DATETIME` does not support time zone. |
898
- # | `DATE` | `Date` | |
899
- # | `TIMESTAMP` | `Time` | |
900
- # | `TIME` | `Google::Cloud::BigQuery::Time` | |
901
- # | `BYTES` | `File`, `IO`, `StringIO`, or similar | |
902
- # | `ARRAY` | `Array` | Nested arrays, `nil` values are not supported. |
903
- # | `STRUCT` | `Hash` | Hash keys may be strings or symbols. |
891
+ # | BigQuery | Ruby | Notes |
892
+ # |--------------|--------------------------------------|--------------------------------------------------|
893
+ # | `BOOL` | `true`/`false` | |
894
+ # | `INT64` | `Integer` | |
895
+ # | `FLOAT64` | `Float` | |
896
+ # | `NUMERIC` | `BigDecimal` | `BigDecimal` values will be rounded to scale 9. |
897
+ # | `BIGNUMERIC` | | Query param values must be mapped in `types`. |
898
+ # | `STRING` | `String` | |
899
+ # | `DATETIME` | `DateTime` | `DATETIME` does not support time zone. |
900
+ # | `DATE` | `Date` | |
901
+ # | `TIMESTAMP` | `Time` | |
902
+ # | `TIME` | `Google::Cloud::BigQuery::Time` | |
903
+ # | `BYTES` | `File`, `IO`, `StringIO`, or similar | |
904
+ # | `ARRAY` | `Array` | Nested arrays, `nil` values are not supported. |
905
+ # | `STRUCT` | `Hash` | Hash keys may be strings or symbols. |
904
906
  #
905
907
  # See [Data Types](https://cloud.google.com/bigquery/docs/reference/standard-sql/data-types) for an overview
906
908
  # of each BigQuery data type, including allowed values.
907
- # @param [Array, Hash] types Standard SQL only. Types of the SQL parameters in `params`. It is not always to
908
- # infer the right SQL type from a value in `params`. In these cases, `types` must be used to specify the SQL
909
- # type for these values.
909
+ # @param [Array, Hash] types Standard SQL only. Types of the SQL parameters in `params`. It is not always
910
+ # possible to infer the right SQL type from a value in `params`. In these cases, `types` must be used to
911
+ # specify the SQL type for these values.
910
912
  #
911
- # Must match the value type passed to `params`. This must be an `Array` when the query uses positional query
912
- # parameters. This must be an `Hash` when the query uses named query parameters. The values should be
913
- # BigQuery type codes from the following list:
913
+ # Arguments must match the value type passed to `params`. This must be an `Array` when the query uses
914
+ # positional query parameters. This must be an `Hash` when the query uses named query parameters. The values
915
+ # should be BigQuery type codes from the following list:
914
916
  #
915
917
  # * `:BOOL`
916
918
  # * `:INT64`
917
919
  # * `:FLOAT64`
918
920
  # * `:NUMERIC`
921
+ # * `:BIGNUMERIC`
919
922
  # * `:STRING`
920
923
  # * `:DATETIME`
921
924
  # * `:DATE`
@@ -332,9 +332,18 @@ module Google
332
332
  end
333
333
 
334
334
  ##
335
- # Adds a numeric number field to the schema. Numeric is a
336
- # fixed-precision numeric type with 38 decimal digits, 9 that follow the
337
- # decimal point.
335
+ # Adds a numeric number field to the schema. `NUMERIC` is a decimal
336
+ # type with fixed precision and scale. Precision is the number of
337
+ # digits that the number contains. Scale is how many of these
338
+ # digits appear after the decimal point. It supports:
339
+ #
340
+ # Precision: 38
341
+ # Scale: 9
342
+ # Min: -9.9999999999999999999999999999999999999E+28
343
+ # Max: 9.9999999999999999999999999999999999999E+28
344
+ #
345
+ # This type can represent decimal fractions exactly, and is suitable
346
+ # for financial calculations.
338
347
  #
339
348
  # @param [String] name The field name. The name must contain only
340
349
  # letters (a-z, A-Z), numbers (0-9), or underscores (_), and must
@@ -349,6 +358,33 @@ module Google
349
358
  add_field name, :numeric, description: description, mode: mode
350
359
  end
351
360
 
361
+ ##
362
+ # Adds a bignumeric number field to the schema. `BIGNUMERIC` is a
363
+ # decimal type with fixed precision and scale. Precision is the
364
+ # number of digits that the number contains. Scale is how many of
365
+ # these digits appear after the decimal point. It supports:
366
+ #
367
+ # Precision: 76.76 (the 77th digit is partial)
368
+ # Scale: 38
369
+ # Min: -5.7896044618658097711785492504343953926634992332820282019728792003956564819968E+38
370
+ # Max: 5.7896044618658097711785492504343953926634992332820282019728792003956564819967E+38
371
+ #
372
+ # This type can represent decimal fractions exactly, and is suitable
373
+ # for financial calculations.
374
+ #
375
+ # @param [String] name The field name. The name must contain only
376
+ # letters (a-z, A-Z), numbers (0-9), or underscores (_), and must
377
+ # start with a letter or underscore. The maximum length is 128
378
+ # characters.
379
+ # @param [String] description A description of the field.
380
+ # @param [Symbol] mode The field's mode. The possible values are
381
+ # `:nullable`, `:required`, and `:repeated`. The default value is
382
+ # `:nullable`.
383
+ #
384
+ def bignumeric name, description: nil, mode: :nullable
385
+ add_field name, :bignumeric, description: description, mode: mode
386
+ end
387
+
352
388
  ##
353
389
  # Adds a boolean field to the schema.
354
390
  #
@@ -40,8 +40,8 @@ module Google
40
40
  MODES = ["NULLABLE", "REQUIRED", "REPEATED"].freeze
41
41
 
42
42
  # @private
43
- TYPES = ["STRING", "INTEGER", "INT64", "FLOAT", "FLOAT64", "NUMERIC", "BOOLEAN", "BOOL", "BYTES", "TIMESTAMP",
44
- "TIME", "DATETIME", "DATE", "RECORD", "STRUCT"].freeze
43
+ TYPES = ["STRING", "INTEGER", "INT64", "FLOAT", "FLOAT64", "NUMERIC", "BIGNUMERIC", "BOOLEAN", "BOOL",
44
+ "BYTES", "TIMESTAMP", "TIME", "DATETIME", "DATE", "RECORD", "STRUCT"].freeze
45
45
 
46
46
  ##
47
47
  # The name of the field.
@@ -72,10 +72,10 @@ module Google
72
72
  #
73
73
  # @return [String] The field data type. Possible values include
74
74
  # `STRING`, `BYTES`, `INTEGER`, `INT64` (same as `INTEGER`),
75
- # `FLOAT`, `FLOAT64` (same as `FLOAT`), `NUMERIC`, `BOOLEAN`, `BOOL`
76
- # (same as `BOOLEAN`), `TIMESTAMP`, `DATE`, `TIME`, `DATETIME`,
77
- # `RECORD` (where `RECORD` indicates that the field contains a
78
- # nested schema) or `STRUCT` (same as `RECORD`).
75
+ # `FLOAT`, `FLOAT64` (same as `FLOAT`), `NUMERIC`, `BIGNUMERIC`,
76
+ # `BOOLEAN`, `BOOL` (same as `BOOLEAN`), `TIMESTAMP`, `DATE`,
77
+ # `TIME`, `DATETIME`, `RECORD` (where `RECORD` indicates that the
78
+ # field contains a nested schema) or `STRUCT` (same as `RECORD`).
79
79
  #
80
80
  def type
81
81
  @gapi.type
@@ -86,10 +86,10 @@ module Google
86
86
  #
87
87
  # @param [String] new_type The data type. Possible values include
88
88
  # `STRING`, `BYTES`, `INTEGER`, `INT64` (same as `INTEGER`),
89
- # `FLOAT`, `FLOAT64` (same as `FLOAT`), `NUMERIC`, `BOOLEAN`, `BOOL`
90
- # (same as `BOOLEAN`), `TIMESTAMP`, `DATE`, `TIME`, `DATETIME`,
91
- # `RECORD` (where `RECORD` indicates that the field contains a
92
- # nested schema) or `STRUCT` (same as `RECORD`).
89
+ # `FLOAT`, `FLOAT64` (same as `FLOAT`), `NUMERIC`, `BIGNUMERIC`,
90
+ # `BOOLEAN`, `BOOL` (same as `BOOLEAN`), `TIMESTAMP`, `DATE`,
91
+ # `TIME`, `DATETIME`, `RECORD` (where `RECORD` indicates that the
92
+ # field contains a nested schema) or `STRUCT` (same as `RECORD`).
93
93
  #
94
94
  def type= new_type
95
95
  @gapi.update! type: verify_type(new_type)
@@ -199,6 +199,15 @@ module Google
199
199
  type == "NUMERIC"
200
200
  end
201
201
 
202
+ ##
203
+ # Checks if the type of the field is `BIGNUMERIC`.
204
+ #
205
+ # @return [Boolean] `true` when `BIGNUMERIC`, `false` otherwise.
206
+ #
207
+ def bignumeric?
208
+ type == "BIGNUMERIC"
209
+ end
210
+
202
211
  ##
203
212
  # Checks if the type of the field is `BOOLEAN`.
204
213
  #
@@ -299,6 +308,7 @@ module Google
299
308
  # * `:INT64`
300
309
  # * `:FLOAT64`
301
310
  # * `:NUMERIC`
311
+ # * `:BIGNUMERIC`
302
312
  # * `:STRING`
303
313
  # * `:DATETIME`
304
314
  # * `:DATE`
@@ -394,9 +404,18 @@ module Google
394
404
  end
395
405
 
396
406
  ##
397
- # Adds a numeric number field to the schema. Numeric is a
398
- # fixed-precision numeric type with 38 decimal digits, 9 that follow
399
- # the decimal point.
407
+ # Adds a numeric number field to the schema. `NUMERIC` is a decimal
408
+ # type with fixed precision and scale. Precision is the number of
409
+ # digits that the number contains. Scale is how many of these
410
+ # digits appear after the decimal point. It supports:
411
+ #
412
+ # Precision: 38
413
+ # Scale: 9
414
+ # Min: -9.9999999999999999999999999999999999999E+28
415
+ # Max: 9.9999999999999999999999999999999999999E+28
416
+ #
417
+ # This type can represent decimal fractions exactly, and is suitable
418
+ # for financial calculations.
400
419
  #
401
420
  # This can only be called on fields that are of type `RECORD`.
402
421
  #
@@ -415,6 +434,37 @@ module Google
415
434
  add_field name, :numeric, description: description, mode: mode
416
435
  end
417
436
 
437
+ ##
438
+ # Adds a bignumeric number field to the schema. `BIGNUMERIC` is a
439
+ # decimal type with fixed precision and scale. Precision is the
440
+ # number of digits that the number contains. Scale is how many of
441
+ # these digits appear after the decimal point. It supports:
442
+ #
443
+ # Precision: 76.76 (the 77th digit is partial)
444
+ # Scale: 38
445
+ # Min: -5.7896044618658097711785492504343953926634992332820282019728792003956564819968E+38
446
+ # Max: 5.7896044618658097711785492504343953926634992332820282019728792003956564819967E+38
447
+ #
448
+ # This type can represent decimal fractions exactly, and is suitable
449
+ # for financial calculations.
450
+ #
451
+ # This can only be called on fields that are of type `RECORD`.
452
+ #
453
+ # @param [String] name The field name. The name must contain only
454
+ # letters (a-z, A-Z), numbers (0-9), or underscores (_), and must
455
+ # start with a letter or underscore. The maximum length is 128
456
+ # characters.
457
+ # @param [String] description A description of the field.
458
+ # @param [Symbol] mode The field's mode. The possible values are
459
+ # `:nullable`, `:required`, and `:repeated`. The default value is
460
+ # `:nullable`.
461
+ #
462
+ def bignumeric name, description: nil, mode: :nullable
463
+ record_check!
464
+
465
+ add_field name, :bignumeric, description: description, mode: mode
466
+ end
467
+
418
468
  ##
419
469
  # Adds a boolean field to the nested schema of a record field.
420
470
  #