module Dag::Client::Database

Public Instance Methods

create_database(db_name) click to toggle source
# File lib/dag/client/database.rb, line 12
def create_database(db_name)
  validate_cluster

  @api.create_database(@cluster_name, db_name)
  Dag::Database.new(@api, @cluster_name, db_name)
end
create_table(db_name, tbl_name, format: nil, schema: nil, comment: nil) click to toggle source

parameters ==

  • table - table name

  • format - 'csv' or 'tsv' or 'json' or 'json_agent'

  • <tt>schema/tt> - schema

  • comment - comment

# File lib/dag/client/database.rb, line 50
def create_table(db_name, tbl_name, format: nil, schema: nil, comment: nil)
  validate_cluster

  params = {
    table: tbl_name,
    schema: schema,
    create_api: true
  }
  params.merge!({ format: format }) if format
  params.merge!({ comment: comment }) if comment

  @api.create_table(@cluster_name, db_name, params: params)
  table_info = @api.table(@cluster_name, db_name, tbl_name)
  Dag::Table.new(@api, @cluster_name, db_name, params: table_info)
end
database(db_name) click to toggle source
# File lib/dag/client/database.rb, line 19
def database(db_name)
  validate_cluster

  raise Dag::Client::ParameterInvalid.new("db_name is blank")if db_name.blank?

  unless db = databases.detect { |d| d.db_name == db_name }
    raise Dag::Client::DatabaseNotFound.new('Database not found')
  end

  db
end
databases() click to toggle source
# File lib/dag/client/database.rb, line 6
def databases
  validate_cluster

  Dag::DatabaseCollection.new(@api, @cluster_name, cluster_status: @cluster_status)
end
split_table(db_name, tbl_name, params) click to toggle source
# File lib/dag/client/database.rb, line 66
def split_table(db_name, tbl_name, params)
  unless cluster_norm?
    raise Dag::Client::StatusInvalid.new("cluster status is invalid: #{cluster_status}")
  end

  split_info = @api.split_table(@cluster_name, db_name, tbl_name, params)
  job_id = split_info['queryId']

  query_info = @api.query_info(job_id)
  Dag::Job.new(@api, query_info)
end
table(db_name, tbl_name) click to toggle source
# File lib/dag/client/database.rb, line 31
def table(db_name, tbl_name)
  validate_cluster

  raise Dag::Client::ParameterInvalid.new("db_name is blank")if db_name.blank?
  raise Dag::Client::ParameterInvalid.new("tbl_name is blank")if tbl_name.blank?

  unless table_info = @api.table(@cluster_name, db_name, tbl_name)
    raise Dag::Client::TableNotFound.new('Table not found')
  end

  Dag::Table.new(@api, @cluster_name, db_name, params: table_info)
end