Class: Gcloud::Bigquery::CopyJob

Inherits:
Job
  • Object
show all
Defined in:
lib/gcloud/bigquery/copy_job.rb

Overview

# CopyJob

A Job subclass representing a copy operation that may be performed on a Table. A CopyJob instance is created when you call Table#copy.

Instance Attribute Summary

Attributes inherited from Job

#connection, #gapi

Instance Method Summary collapse

Methods inherited from Job

#configuration, #created_at, #done?, #ended_at, #error, #errors, #failed?, from_gapi, #initialize, #job_id, #pending?, #project_id, #reload!, #rerun!, #running?, #started_at, #state, #statistics, #status, #wait_until_done!

Constructor Details

This class inherits a constructor from Gcloud::Bigquery::Job

Instance Method Details

#create_if_needed?Boolean

Checks if the create disposition for the job is ‘CREATE_IF_NEEDED`, which provides the following behavior: If the table does not exist, the copy operation creates the table. This is the default.

Returns:

  • (Boolean)


55
56
57
58
# File 'lib/gcloud/bigquery/copy_job.rb', line 55

def create_if_needed?
  disp = config["copy"]["createDisposition"]
  disp == "CREATE_IF_NEEDED"
end

#create_never?Boolean

Checks if the create disposition for the job is ‘CREATE_NEVER`, which provides the following behavior: The table must already exist; if it does not, an error is returned in the job result.

Returns:

  • (Boolean)


64
65
66
67
# File 'lib/gcloud/bigquery/copy_job.rb', line 64

def create_never?
  disp = config["copy"]["createDisposition"]
  disp == "CREATE_NEVER"
end

#destinationObject

The table to which data is copied. Returns a Table instance.



43
44
45
46
47
48
49
# File 'lib/gcloud/bigquery/copy_job.rb', line 43

def destination
  table = config["copy"]["destinationTable"]
  return nil unless table
  retrieve_table table["projectId"],
                 table["datasetId"],
                 table["tableId"]
end

#sourceObject

The table from which data is copied. This is the table on which Table#copy was called. Returns a Table instance.



33
34
35
36
37
38
39
# File 'lib/gcloud/bigquery/copy_job.rb', line 33

def source
  table = config["copy"]["sourceTable"]
  return nil unless table
  retrieve_table table["projectId"],
                 table["datasetId"],
                 table["tableId"]
end

#write_append?Boolean

Checks if the write disposition for the job is ‘WRITE_APPEND`, which provides the following behavior: If the table already exists, the copy operation appends the data to the table.

Returns:

  • (Boolean)


82
83
84
85
# File 'lib/gcloud/bigquery/copy_job.rb', line 82

def write_append?
  disp = config["copy"]["writeDisposition"]
  disp == "WRITE_APPEND"
end

#write_empty?Boolean

Checks if the write disposition for the job is ‘WRITE_EMPTY`, which provides the following behavior: If the table already exists and contains data, the job will have an error. This is the default.

Returns:

  • (Boolean)


91
92
93
94
# File 'lib/gcloud/bigquery/copy_job.rb', line 91

def write_empty?
  disp = config["copy"]["writeDisposition"]
  disp == "WRITE_EMPTY"
end

#write_truncate?Boolean

Checks if the write disposition for the job is ‘WRITE_TRUNCATE`, which provides the following behavior: If the table already exists, the copy operation overwrites the table data.

Returns:

  • (Boolean)


73
74
75
76
# File 'lib/gcloud/bigquery/copy_job.rb', line 73

def write_truncate?
  disp = config["copy"]["writeDisposition"]
  disp == "WRITE_TRUNCATE"
end