google-cloud-bigquery 1.29.0 → 1.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
  #