Class: Google::Cloud::Bigquery::Table::Updater
- Inherits:
 - 
      Google::Cloud::Bigquery::Table
      
        
- Object
 - Google::Cloud::Bigquery::Table
 - Google::Cloud::Bigquery::Table::Updater
 
 
- Defined in:
 - lib/google/cloud/bigquery/table.rb
 
Overview
Yielded to a block to accumulate changes for a patch request.
Lifecycle collapse
- 
  
    
      #updates  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
A list of attributes that were updated.
 
Lifecycle collapse
- 
  
    
      #initialize(gapi)  ⇒ Updater 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
Create an Updater object.
 
Schema collapse
- 
  
    
      #boolean(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Adds a boolean field to the schema.
 - 
  
    
      #bytes(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Adds a bytes field to the schema.
 - 
  
    
      #check_for_mutated_schema!  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Make sure any access changes are saved.
 - 
  
    
      #date(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Adds a date field to the schema.
 - 
  
    
      #datetime(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Adds a datetime field to the schema.
 - 
  
    
      #float(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Adds a floating-point number field to the schema.
 - 
  
    
      #integer(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Adds an integer field to the schema.
 - 
  
    
      #record(name, description: nil, mode: nil) {|nested_schema| ... } ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Adds a record field to the schema.
 - 
  
    
      #schema(replace: false) {|schema| ... } ⇒ Google::Cloud::Bigquery::Schema 
    
    
  
  
  
  
  
  
  
  
  
    
Returns the table's schema.
 - 
  
    
      #string(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Adds a string field to the schema.
 - 
  
    
      #time(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Adds a time field to the schema.
 - 
  
    
      #timestamp(name, description: nil, mode: :nullable)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Adds a timestamp field to the schema.
 - #to_gapi ⇒ Object
 
Methods inherited from Google::Cloud::Bigquery::Table
#api_url, #buffer_bytes, #buffer_oldest_at, #buffer_rows, #bytes_count, #copy, #copy_job, #created_at, #data, #dataset_id, #delete, #description, #description=, #encryption, #encryption=, #etag, #exists?, #expires_at, #external, #external=, #external?, #extract, #extract_job, #fields, #headers, #id, #insert, #insert_async, #labels, #labels=, #load, #load_job, #location, #modified_at, #name, #name=, #project_id, #query, #query=, #query_id, #query_legacy_sql?, #query_standard_sql?, #query_udfs, #reference?, #reload!, #resource?, #resource_full?, #resource_partial?, #rows_count, #set_query, #table?, #table_id, #time_partitioning?, #time_partitioning_expiration, #time_partitioning_expiration=, #time_partitioning_field, #time_partitioning_field=, #time_partitioning_type, #time_partitioning_type=, #view?
Constructor Details
#initialize(gapi) ⇒ Updater
Create an Updater object.
      2408 2409 2410 2411 2412  | 
    
      # File 'lib/google/cloud/bigquery/table.rb', line 2408 def initialize gapi @updates = [] @gapi = gapi @schema = nil end  | 
  
Instance Attribute Details
#updates ⇒ Object (readonly)
A list of attributes that were updated.
      2404 2405 2406  | 
    
      # File 'lib/google/cloud/bigquery/table.rb', line 2404 def updates @updates end  | 
  
Instance Method Details
#boolean(name, description: nil, mode: :nullable) ⇒ Object
Adds a boolean field to the schema.
See Schema#boolean.
      2569 2570 2571  | 
    
      # File 'lib/google/cloud/bigquery/table.rb', line 2569 def boolean name, description: nil, mode: :nullable schema.boolean name, description: description, mode: mode end  | 
  
#bytes(name, description: nil, mode: :nullable) ⇒ Object
Adds a bytes field to the schema.
See Schema#bytes.
      2597 2598 2599  | 
    
      # File 'lib/google/cloud/bigquery/table.rb', line 2597 def bytes name, description: nil, mode: :nullable schema.bytes name, description: description, mode: mode end  | 
  
#check_for_mutated_schema! ⇒ Object
Make sure any access changes are saved
      2753 2754 2755 2756 2757 2758  | 
    
      # File 'lib/google/cloud/bigquery/table.rb', line 2753 def check_for_mutated_schema! return if @schema.nil? return unless @schema.changed? @gapi.schema = @schema.to_gapi patch_gapi! :schema end  | 
  
#date(name, description: nil, mode: :nullable) ⇒ Object
Adds a date field to the schema.
See Schema#date.
      2709 2710 2711  | 
    
      # File 'lib/google/cloud/bigquery/table.rb', line 2709 def date name, description: nil, mode: :nullable schema.date name, description: description, mode: mode end  | 
  
#datetime(name, description: nil, mode: :nullable) ⇒ Object
Adds a datetime field to the schema.
See Schema#datetime.
      2681 2682 2683  | 
    
      # File 'lib/google/cloud/bigquery/table.rb', line 2681 def datetime name, description: nil, mode: :nullable schema.datetime name, description: description, mode: mode end  | 
  
#float(name, description: nil, mode: :nullable) ⇒ Object
Adds a floating-point number field to the schema.
See Schema#float.
      2541 2542 2543  | 
    
      # File 'lib/google/cloud/bigquery/table.rb', line 2541 def float name, description: nil, mode: :nullable schema.float name, description: description, mode: mode end  | 
  
#integer(name, description: nil, mode: :nullable) ⇒ Object
Adds an integer field to the schema.
See Schema#integer.
      2513 2514 2515  | 
    
      # File 'lib/google/cloud/bigquery/table.rb', line 2513 def integer name, description: nil, mode: :nullable schema.integer name, description: description, mode: mode end  | 
  
#record(name, description: nil, mode: nil) {|nested_schema| ... } ⇒ Object
Adds a record field to the schema. A block must be passed describing the nested fields of the record. For more information about nested and repeated records, see Preparing Data for BigQuery .
See Schema#record.
      2747 2748 2749  | 
    
      # File 'lib/google/cloud/bigquery/table.rb', line 2747 def record name, description: nil, mode: nil, &block schema.record name, description: description, mode: mode, &block end  | 
  
#schema(replace: false) {|schema| ... } ⇒ Google::Cloud::Bigquery::Schema
Returns the table's schema. This method can also be used to set, replace, or add to the schema by passing a block. See Schema for available methods.
      2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459  | 
    
      # File 'lib/google/cloud/bigquery/table.rb', line 2448 def schema replace: false # Same as Table#schema, but not frozen # TODO: make sure to call ensure_full_data! on Dataset#update @schema ||= Schema.from_gapi @gapi.schema if block_given? @schema = Schema.from_gapi if replace yield @schema check_for_mutated_schema! end # Do not freeze on updater, allow modifications @schema end  | 
  
#string(name, description: nil, mode: :nullable) ⇒ Object
Adds a string field to the schema.
See Schema#string.
      2485 2486 2487  | 
    
      # File 'lib/google/cloud/bigquery/table.rb', line 2485 def string name, description: nil, mode: :nullable schema.string name, description: description, mode: mode end  | 
  
#time(name, description: nil, mode: :nullable) ⇒ Object
Adds a time field to the schema.
See Schema#time.
      2653 2654 2655  | 
    
      # File 'lib/google/cloud/bigquery/table.rb', line 2653 def time name, description: nil, mode: :nullable schema.time name, description: description, mode: mode end  | 
  
#timestamp(name, description: nil, mode: :nullable) ⇒ Object
Adds a timestamp field to the schema.
See Schema#timestamp.
      2625 2626 2627  | 
    
      # File 'lib/google/cloud/bigquery/table.rb', line 2625 def name, description: nil, mode: :nullable schema. name, description: description, mode: mode end  | 
  
#to_gapi ⇒ Object
      2760 2761 2762 2763  | 
    
      # File 'lib/google/cloud/bigquery/table.rb', line 2760 def to_gapi check_for_mutated_schema! @gapi end  |