class DLQuery
Attributes
params[R]
return params
Public Class Methods
new(database = nil)
click to toggle source
initialize parameters
# File lib/datalanche/query.rb, line 8 def initialize(database = nil) @params = Hash.new if database != nil @params['database'] = database end end
Public Instance Methods
add_collaborator(username, permission)
click to toggle source
# File lib/datalanche/query.rb, line 120 def add_collaborator(username, permission) if @params.has_key?('add_collaborators') @params['add_collaborators'] = Hase.new end @params['add_collaborators'][username] = permission return self # method chaining end
add_column(column_name, attributes)
click to toggle source
# File lib/datalanche/query.rb, line 184 def add_column(column_name, attributes) if !(@params.has_key?('add_columns')) @params['add_columns'] = Hash.new end @params['add_columns'][column_name] = attributes return self # method chaining end
alias(alias_name)
click to toggle source
# File lib/datalanche/query.rb, line 63 def alias(alias_name) return { '$alias'=>alias_name } end
alter_collaborator(username, permission)
click to toggle source
# File lib/datalanche/query.rb, line 129 def alter_collaborator(username, permission) if @params.has_key?('alter_collaborators') @params['alter_collaborators'] = Hash.new end @params['alter_collaborators'][username] = permission return self # method chaining end
alter_column(column_name, attributes)
click to toggle source
TODO: add_constraint
# File lib/datalanche/query.rb, line 195 def alter_column(column_name, attributes) if !(@params.has_key?('alter_columns')) @params['alter_columns'] = Hash.new end @params['alter_columns'][column_name] = attributes return self # method chaining end
alter_database(database_name)
click to toggle source
ALTER DATABASE
# File lib/datalanche/query.rb, line 115 def alter_database(database_name) @params['alter_database'] = database_name return self # method chaining end
alter_index(index_name)
click to toggle source
ALTER INDEX
# File lib/datalanche/query.rb, line 161 def alter_index(index_name) @params['alter_index'] = index_name return self # method chaining end
alter_schema(schema_name)
click to toggle source
ALTER SCHEMA
# File lib/datalanche/query.rb, line 170 def alter_schema(schema_name) @params['alter_schema'] = schema_name return self # method chaining end
alter_table(table_name)
click to toggle source
ALTER TABLE
# File lib/datalanche/query.rb, line 179 def alter_table(table_name) @params['alter_table'] = table_name return self # method chaining end
avg(*args)
click to toggle source
usage examples
q.count(“*”) q.sum(q.column(“c1”))
# File lib/datalanche/query.rb, line 91 def avg(*args) return { '$avg'=>args } end
cascade(boolean)
click to toggle source
COMMON
# File lib/datalanche/query.rb, line 19 def cascade(boolean) @params['cascade'] = boolean return self # method chaining end
column(column_name)
click to toggle source
# File lib/datalanche/query.rb, line 67 def column(column_name) return { '$column'=>column_name } end
columns(columns)
click to toggle source
# File lib/datalanche/query.rb, line 24 def columns(columns) @params['columns'] = columns return self # method chaining end
count(*args)
click to toggle source
# File lib/datalanche/query.rb, line 95 def count(*args) return { '$count'=>args } end
create_index(index_name)
click to toggle source
CREATE INDEX
# File lib/datalanche/query.rb, line 238 def create_index(index_name) @params['create_index'] = index_name return self # method chaining end
create_schema(schema_name)
click to toggle source
CREATE SCHEMA
# File lib/datalanche/query.rb, line 262 def create_schema(schema_name) @params['create_schema'] = schema_name return self # method chaining end
create_table(table_name)
click to toggle source
CREATE TABLE
# File lib/datalanche/query.rb, line 271 def create_table(table_name) @params['create_table'] = table_name return self # method chaining end
delete_from(table_name)
click to toggle source
DELETE
# File lib/datalanche/query.rb, line 283 def delete_from(table_name) @params['delete_from'] = table_name return self # method chaining end
describe_database(database_name)
click to toggle source
DESCRIBE DATABASE
# File lib/datalanche/query.rb, line 292 def describe_database(database_name) @params['describe_database'] = database_name return self # method chaining end
describe_schema(schema_name)
click to toggle source
DESCRIBE SCHEMA
# File lib/datalanche/query.rb, line 301 def describe_schema(schema_name) @params['describe_schema'] = schema_name return self # method chaining end
describe_table(table_name)
click to toggle source
DESCRIBE TABLE
# File lib/datalanche/query.rb, line 310 def describe_table(table_name) @params['describe_table'] = table_name return self # method chaining end
description(text)
click to toggle source
# File lib/datalanche/query.rb, line 29 def description(text) @params['description'] = text return self # method chaining end
distinct(boolean)
click to toggle source
# File lib/datalanche/query.rb, line 388 def distinct(boolean) @params['distinct'] = boolean return self # method chaining end
drop_collaborator(username)
click to toggle source
# File lib/datalanche/query.rb, line 138 def drop_collaborator(username) if @params.has_key?('drop_collaborators') @params['drop_collaborators'] = Array.new end @params['drop_collaborators'].push(username) return self # method chaining end
drop_column(column_name, cascade = false)
click to toggle source
# File lib/datalanche/query.rb, line 204 def drop_column(column_name, cascade = false) if !(@params.has_key?('drop_columns')) @params['drop_columns'] = Array.new end column_obj = Hash.new column_obj['name'] = column_name column_obj['cascade'] = cascade self.params['drop_columns'].push(column_obj) return self # method chaining end
drop_index(index_name)
click to toggle source
DROP INDEX
# File lib/datalanche/query.rb, line 319 def drop_index(index_name) @params['drop_index'] = index_name return self # method chaining end
drop_schema(schema_name)
click to toggle source
DROP SCHEMA
# File lib/datalanche/query.rb, line 328 def drop_schema(schema_name) @params['drop_schema'] = schema_name return self # method chaining end
drop_table(table_name)
click to toggle source
DROP TABLE
# File lib/datalanche/query.rb, line 337 def drop_table(table_name) @params['drop_table'] = table_name return self # method chaining end
expr(*args)
click to toggle source
usage examples
q.expr(2, “+”, 2) q.expr(“~”, 2) q.expr(2, “!”) q.expr(q.column(“c1”), “$like”, “%abc%”) q.expr(q.column(“c1”), “$not”, “$in”, [1, 2, 3, 4]) q.expr(q.column(“c1”), “=”, 1, “$and”, q.column(“c2”), “=”, 2)
# File lib/datalanche/query.rb, line 58 def expr(*args) # *args is a built-in Ruby variable which is a tuple of function args return { '$expr'=> args } end
from(tables)
click to toggle source
# File lib/datalanche/query.rb, line 393 def from(tables) @params['from'] = tables return self # method chaining end
group_by(columns)
click to toggle source
# File lib/datalanche/query.rb, line 398 def group_by(columns) @params['group_by'] = columns return self # method chaining end
having(expression)
click to toggle source
# File lib/datalanche/query.rb, line 403 def having(expression) @params['having'] = expression return self # method chaining end
insert_into(table_name)
click to toggle source
INSERT
# File lib/datalanche/query.rb, line 346 def insert_into(table_name) @params['insert_into'] = table_name return self # method chaining end
is_private(boolean)
click to toggle source
# File lib/datalanche/query.rb, line 147 def is_private(boolean) @params['is_private'] = boolean return self # method chaining end
limit(integer)
click to toggle source
# File lib/datalanche/query.rb, line 408 def limit(integer) @params['limit'] = integer return self # method chaining end
literal(value)
click to toggle source
# File lib/datalanche/query.rb, line 71 def literal(value) return { '$literal'=>value } end
max(*args)
click to toggle source
# File lib/datalanche/query.rb, line 99 def max(*args) return { '$max'=>args } end
max_size_gb(integer)
click to toggle source
# File lib/datalanche/query.rb, line 152 def max_size_gb(integer) @params['max_size_gb'] = integer return self # method chaining end
min(*args)
click to toggle source
# File lib/datalanche/query.rb, line 103 def min(*args) return { '$min'=>args } end
offset(integer)
click to toggle source
# File lib/datalanche/query.rb, line 413 def offset(integer) @params['offset'] = integer return self # method chaining end
on_table(tableName)
click to toggle source
# File lib/datalanche/query.rb, line 243 def on_table(tableName) @params['on_table'] = tableName return self # method chaining end
order_by(expr_array)
click to toggle source
# File lib/datalanche/query.rb, line 418 def order_by(expr_array) @params['order_by'] = expr_array return self # method chaining end
rename_column(column_name, new_name)
click to toggle source
TODO: drop_constraint
# File lib/datalanche/query.rb, line 218 def rename_column(column_name, new_name) if !(@params.has_key?('rename_columns')) @params['rename_columns'] = Hash.new end @params['rename_columns'][column_name] = new_name return self # method chaining end
rename_to(table_name)
click to toggle source
# File lib/datalanche/query.rb, line 34 def rename_to(table_name) @params['rename_to'] = table_name return self # method chaining end
search_table(query_text)
click to toggle source
SEARCH TABLE
# File lib/datalanche/query.rb, line 360 def search_table(query_text) @params['search_table'] = query_text return self # method chaining end
select(columns)
click to toggle source
SELECT
# File lib/datalanche/query.rb, line 374 def select(columns) if columns == '*' raise Exception('please use select_all() instead of select("*")') end @params['select'] = columns return self # method chaining end
select_all()
click to toggle source
# File lib/datalanche/query.rb, line 383 def select_all() @params['select'] = true return self # method chaining end
set(kv_pairs)
click to toggle source
# File lib/datalanche/query.rb, line 459 def set(kv_pairs) @params['set'] = kv_pairs return self # method chaining end
set_schema(schema_name)
click to toggle source
TODO: rename_constraint
# File lib/datalanche/query.rb, line 229 def set_schema(schema_name) @params['set_schema'] = schema_name return self # method chaining end
show_databases()
click to toggle source
SHOW DATABASES
# File lib/datalanche/query.rb, line 427 def show_databases() @params['show_databases'] = true return self # method chaining end
show_schemas()
click to toggle source
SHOW SCHEMAS
# File lib/datalanche/query.rb, line 436 def show_schemas() @params['show_schemas'] = true return self # method chaining end
show_tables()
click to toggle source
SHOW TABLES
# File lib/datalanche/query.rb, line 445 def show_tables() @params['show_tables'] = true return self # method chaining end
sum(*args)
click to toggle source
# File lib/datalanche/query.rb, line 107 def sum(*args) return { '$sum'=>args } end
table(table_name)
click to toggle source
# File lib/datalanche/query.rb, line 75 def table(table_name) return { '$table'=>table_name } end
unique(boolean)
click to toggle source
# File lib/datalanche/query.rb, line 248 def unique(boolean) @params['unique'] = boolean return self # method chaining end
update(table_name)
click to toggle source
UPDATE
# File lib/datalanche/query.rb, line 454 def update(table_name) @params['update'] = table_name return self # method chaining end
using_method(text)
click to toggle source
# File lib/datalanche/query.rb, line 253 def using_method(text) @params['using_method'] = text return self # method chaining end
values(rows)
click to toggle source
# File lib/datalanche/query.rb, line 351 def values(rows) @params['values'] = rows return self # method chaining end
where(expression)
click to toggle source
# File lib/datalanche/query.rb, line 39 def where(expression) @params['where'] = expression return self # method chaining end
with_query(query_text)
click to toggle source
# File lib/datalanche/query.rb, line 365 def with_query(query_text) @params['with_query'] = query_text return self # method chaining end