query_builder 0.0.1
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.
- checksums.yaml +7 -0
- data/.coveralls.yml +2 -0
- data/.gitignore +9 -0
- data/.metrics +9 -0
- data/.rspec +2 -0
- data/.rubocop.yml +2 -0
- data/.travis.yml +25 -0
- data/.yardopts +3 -0
- data/CHANGELOG.md +5 -0
- data/Gemfile +7 -0
- data/Guardfile +14 -0
- data/LICENSE +21 -0
- data/README.md +95 -0
- data/Rakefile +34 -0
- data/config/metrics/STYLEGUIDE +230 -0
- data/config/metrics/cane.yml +5 -0
- data/config/metrics/churn.yml +6 -0
- data/config/metrics/flay.yml +2 -0
- data/config/metrics/metric_fu.yml +14 -0
- data/config/metrics/reek.yml +1 -0
- data/config/metrics/roodi.yml +24 -0
- data/config/metrics/rubocop.yml +80 -0
- data/config/metrics/saikuro.yml +3 -0
- data/config/metrics/simplecov.yml +6 -0
- data/config/metrics/yardstick.yml +37 -0
- data/lib/query_builder.rb +9 -0
- data/lib/query_builder/core.rb +19 -0
- data/lib/query_builder/core/attribute.rb +54 -0
- data/lib/query_builder/core/attribute_error.rb +25 -0
- data/lib/query_builder/core/base.rb +102 -0
- data/lib/query_builder/core/clause.rb +46 -0
- data/lib/query_builder/core/statement.rb +55 -0
- data/lib/query_builder/cql.rb +80 -0
- data/lib/query_builder/cql/contexts.rb +21 -0
- data/lib/query_builder/cql/contexts/aggregate.rb +42 -0
- data/lib/query_builder/cql/contexts/column.rb +59 -0
- data/lib/query_builder/cql/contexts/field.rb +48 -0
- data/lib/query_builder/cql/contexts/function.rb +46 -0
- data/lib/query_builder/cql/contexts/index.rb +44 -0
- data/lib/query_builder/cql/contexts/keyspace.rb +107 -0
- data/lib/query_builder/cql/contexts/permission.rb +59 -0
- data/lib/query_builder/cql/contexts/role.rb +51 -0
- data/lib/query_builder/cql/contexts/table.rb +140 -0
- data/lib/query_builder/cql/contexts/trigger.rb +42 -0
- data/lib/query_builder/cql/contexts/type.rb +52 -0
- data/lib/query_builder/cql/contexts/user.rb +53 -0
- data/lib/query_builder/cql/modifiers.rb +61 -0
- data/lib/query_builder/cql/modifiers/add_column.rb +50 -0
- data/lib/query_builder/cql/modifiers/add_field.rb +49 -0
- data/lib/query_builder/cql/modifiers/allow_filtering.rb +45 -0
- data/lib/query_builder/cql/modifiers/alter.rb +44 -0
- data/lib/query_builder/cql/modifiers/called_on_null.rb +47 -0
- data/lib/query_builder/cql/modifiers/clustering_order.rb +51 -0
- data/lib/query_builder/cql/modifiers/column.rb +59 -0
- data/lib/query_builder/cql/modifiers/compact_storage.rb +46 -0
- data/lib/query_builder/cql/modifiers/count.rb +47 -0
- data/lib/query_builder/cql/modifiers/counter.rb +45 -0
- data/lib/query_builder/cql/modifiers/delete.rb +48 -0
- data/lib/query_builder/cql/modifiers/distinct.rb +45 -0
- data/lib/query_builder/cql/modifiers/finalfunc.rb +47 -0
- data/lib/query_builder/cql/modifiers/if.rb +44 -0
- data/lib/query_builder/cql/modifiers/if_exists.rb +46 -0
- data/lib/query_builder/cql/modifiers/if_not_exists.rb +46 -0
- data/lib/query_builder/cql/modifiers/initcond.rb +49 -0
- data/lib/query_builder/cql/modifiers/insert.rb +68 -0
- data/lib/query_builder/cql/modifiers/limit.rb +49 -0
- data/lib/query_builder/cql/modifiers/norecursive.rb +45 -0
- data/lib/query_builder/cql/modifiers/or_replace.rb +44 -0
- data/lib/query_builder/cql/modifiers/order.rb +50 -0
- data/lib/query_builder/cql/modifiers/password.rb +49 -0
- data/lib/query_builder/cql/modifiers/primary_key.rb +51 -0
- data/lib/query_builder/cql/modifiers/returns.rb +49 -0
- data/lib/query_builder/cql/modifiers/selected.rb +54 -0
- data/lib/query_builder/cql/modifiers/sfunc.rb +47 -0
- data/lib/query_builder/cql/modifiers/statement.rb +47 -0
- data/lib/query_builder/cql/modifiers/stype.rb +47 -0
- data/lib/query_builder/cql/modifiers/superuser.rb +54 -0
- data/lib/query_builder/cql/modifiers/timestamp.rb +50 -0
- data/lib/query_builder/cql/modifiers/unlogged.rb +45 -0
- data/lib/query_builder/cql/modifiers/update.rb +44 -0
- data/lib/query_builder/cql/modifiers/using.rb +48 -0
- data/lib/query_builder/cql/modifiers/using_options.rb +51 -0
- data/lib/query_builder/cql/modifiers/where.rb +44 -0
- data/lib/query_builder/cql/modifiers/where_clustered.rb +51 -0
- data/lib/query_builder/cql/modifiers/with.rb +44 -0
- data/lib/query_builder/cql/modifiers/with_options.rb +42 -0
- data/lib/query_builder/cql/operators.rb +29 -0
- data/lib/query_builder/cql/operators/cql.rb +23 -0
- data/lib/query_builder/cql/operators/cql_composite.rb +20 -0
- data/lib/query_builder/cql/operators/cql_dec.rb +21 -0
- data/lib/query_builder/cql/operators/cql_element.rb +23 -0
- data/lib/query_builder/cql/operators/cql_entries.rb +20 -0
- data/lib/query_builder/cql/operators/cql_frozen.rb +20 -0
- data/lib/query_builder/cql/operators/cql_full.rb +20 -0
- data/lib/query_builder/cql/operators/cql_gt.rb +23 -0
- data/lib/query_builder/cql/operators/cql_gte.rb +23 -0
- data/lib/query_builder/cql/operators/cql_in.rb +23 -0
- data/lib/query_builder/cql/operators/cql_inc.rb +21 -0
- data/lib/query_builder/cql/operators/cql_keys.rb +20 -0
- data/lib/query_builder/cql/operators/cql_list.rb +21 -0
- data/lib/query_builder/cql/operators/cql_literal.rb +84 -0
- data/lib/query_builder/cql/operators/cql_lt.rb +23 -0
- data/lib/query_builder/cql/operators/cql_lte.rb +23 -0
- data/lib/query_builder/cql/operators/cql_map.rb +25 -0
- data/lib/query_builder/cql/operators/cql_set.rb +21 -0
- data/lib/query_builder/cql/operators/cql_token.rb +21 -0
- data/lib/query_builder/cql/operators/cql_token_value.rb +23 -0
- data/lib/query_builder/cql/operators/cql_ttl.rb +20 -0
- data/lib/query_builder/cql/operators/cql_tuple.rb +21 -0
- data/lib/query_builder/cql/operators/cql_tuple_value.rb +23 -0
- data/lib/query_builder/cql/operators/cql_writetime.rb +20 -0
- data/lib/query_builder/cql/statements.rb +25 -0
- data/lib/query_builder/cql/statements/alter_column.rb +27 -0
- data/lib/query_builder/cql/statements/alter_field.rb +27 -0
- data/lib/query_builder/cql/statements/alter_keyspace.rb +25 -0
- data/lib/query_builder/cql/statements/alter_role.rb +26 -0
- data/lib/query_builder/cql/statements/alter_table.rb +25 -0
- data/lib/query_builder/cql/statements/alter_user.rb +26 -0
- data/lib/query_builder/cql/statements/batch.rb +31 -0
- data/lib/query_builder/cql/statements/create_aggregate.rb +36 -0
- data/lib/query_builder/cql/statements/create_column.rb +35 -0
- data/lib/query_builder/cql/statements/create_field.rb +25 -0
- data/lib/query_builder/cql/statements/create_function.rb +38 -0
- data/lib/query_builder/cql/statements/create_index.rb +41 -0
- data/lib/query_builder/cql/statements/create_keyspace.rb +26 -0
- data/lib/query_builder/cql/statements/create_role.rb +26 -0
- data/lib/query_builder/cql/statements/create_table.rb +30 -0
- data/lib/query_builder/cql/statements/create_trigger.rb +29 -0
- data/lib/query_builder/cql/statements/create_type.rb +26 -0
- data/lib/query_builder/cql/statements/create_user.rb +27 -0
- data/lib/query_builder/cql/statements/delete.rb +32 -0
- data/lib/query_builder/cql/statements/drop_aggregate.rb +25 -0
- data/lib/query_builder/cql/statements/drop_column.rb +23 -0
- data/lib/query_builder/cql/statements/drop_function.rb +25 -0
- data/lib/query_builder/cql/statements/drop_index.rb +25 -0
- data/lib/query_builder/cql/statements/drop_keyspace.rb +25 -0
- data/lib/query_builder/cql/statements/drop_role.rb +25 -0
- data/lib/query_builder/cql/statements/drop_table.rb +25 -0
- data/lib/query_builder/cql/statements/drop_trigger.rb +25 -0
- data/lib/query_builder/cql/statements/drop_type.rb +25 -0
- data/lib/query_builder/cql/statements/drop_user.rb +25 -0
- data/lib/query_builder/cql/statements/grant.rb +31 -0
- data/lib/query_builder/cql/statements/insert.rb +27 -0
- data/lib/query_builder/cql/statements/list_permissions.rb +35 -0
- data/lib/query_builder/cql/statements/list_roles.rb +23 -0
- data/lib/query_builder/cql/statements/list_users.rb +23 -0
- data/lib/query_builder/cql/statements/rename_column.rb +27 -0
- data/lib/query_builder/cql/statements/rename_field.rb +25 -0
- data/lib/query_builder/cql/statements/revoke.rb +31 -0
- data/lib/query_builder/cql/statements/select.rb +35 -0
- data/lib/query_builder/cql/statements/truncate.rb +23 -0
- data/lib/query_builder/cql/statements/update.rb +31 -0
- data/lib/query_builder/cql/statements/use.rb +23 -0
- data/lib/query_builder/rspec.rb +25 -0
- data/lib/query_builder/version.rb +9 -0
- data/query_builder.gemspec +31 -0
- data/spec/integration/alter_keyspace_spec.rb +17 -0
- data/spec/integration/alter_role_spec.rb +28 -0
- data/spec/integration/alter_table_add_spec.rb +21 -0
- data/spec/integration/alter_table_alter_spec.rb +15 -0
- data/spec/integration/alter_table_drop_spec.rb +15 -0
- data/spec/integration/alter_table_rename_spec.rb +15 -0
- data/spec/integration/alter_table_with_spec.rb +17 -0
- data/spec/integration/alter_type_add_spec.rb +15 -0
- data/spec/integration/alter_type_alter_spec.rb +15 -0
- data/spec/integration/alter_type_rename_spec.rb +15 -0
- data/spec/integration/alter_user_spec.rb +28 -0
- data/spec/integration/batch_spec.rb +32 -0
- data/spec/integration/create_aggregate_spec.rb +31 -0
- data/spec/integration/create_function_spec.rb +29 -0
- data/spec/integration/create_index_spec.rb +35 -0
- data/spec/integration/create_keyspace_spec.rb +24 -0
- data/spec/integration/create_role_spec.rb +26 -0
- data/spec/integration/create_table_spec.rb +34 -0
- data/spec/integration/create_trigger_spec.rb +21 -0
- data/spec/integration/create_type_spec.rb +20 -0
- data/spec/integration/create_user_spec.rb +23 -0
- data/spec/integration/delete_spec.rb +28 -0
- data/spec/integration/drop_aggregate_spec.rb +21 -0
- data/spec/integration/drop_function_spec.rb +21 -0
- data/spec/integration/drop_index_spec.rb +21 -0
- data/spec/integration/drop_keyspace_spec.rb +18 -0
- data/spec/integration/drop_role_spec.rb +18 -0
- data/spec/integration/drop_table_spec.rb +18 -0
- data/spec/integration/drop_trigger_spec.rb +21 -0
- data/spec/integration/drop_type_spec.rb +18 -0
- data/spec/integration/drop_user_spec.rb +18 -0
- data/spec/integration/grant_spec.rb +29 -0
- data/spec/integration/insert_spec.rb +22 -0
- data/spec/integration/list_permissions_spec.rb +34 -0
- data/spec/integration/list_roles_spec.rb +12 -0
- data/spec/integration/list_users_spec.rb +12 -0
- data/spec/integration/revoke_spec.rb +29 -0
- data/spec/integration/select_spec.rb +46 -0
- data/spec/integration/truncate_spec.rb +12 -0
- data/spec/integration/update_spec.rb +23 -0
- data/spec/integration/use_spec.rb +12 -0
- data/spec/spec_helper.rb +16 -0
- data/spec/unit/core/attribute_error_spec.rb +38 -0
- data/spec/unit/core/attribute_spec.rb +70 -0
- data/spec/unit/core/base_spec.rb +110 -0
- data/spec/unit/core/clause_spec.rb +101 -0
- data/spec/unit/core/statement_spec.rb +88 -0
- data/spec/unit/cql/operators/cql_composite_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_dec_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_element_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_entries_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_frozen_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_full_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_gt_spec.rb +19 -0
- data/spec/unit/cql/operators/cql_gte_spec.rb +19 -0
- data/spec/unit/cql/operators/cql_in_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_inc_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_keys_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_list_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_literal_spec.rb +83 -0
- data/spec/unit/cql/operators/cql_lt_spec.rb +19 -0
- data/spec/unit/cql/operators/cql_lte_spec.rb +19 -0
- data/spec/unit/cql/operators/cql_map_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_set_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_token_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_token_value_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_ttl_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_tuple_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_tuple_value_spec.rb +12 -0
- data/spec/unit/cql/operators/cql_writetime_spec.rb +12 -0
- data/spec/unit/cql/operators_spec.rb +66 -0
- metadata +405 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require_relative "cql_literal"
|
|
4
|
+
|
|
5
|
+
module QueryBuilder::CQL::Operators
|
|
6
|
+
|
|
7
|
+
# Describes 'less than' operator
|
|
8
|
+
#
|
|
9
|
+
# @example
|
|
10
|
+
# fn = Operators[:cql_lt, 3]
|
|
11
|
+
# fn[:foo]
|
|
12
|
+
# # => "foo < 3"
|
|
13
|
+
#
|
|
14
|
+
# @param [#to_s] column
|
|
15
|
+
# @param [Numeric] value
|
|
16
|
+
#
|
|
17
|
+
# @return [String]
|
|
18
|
+
#
|
|
19
|
+
def self.cql_lt(column, value)
|
|
20
|
+
"#{column} < #{cql_literal(value)}"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end # module QueryBuilder::CQL::Operators
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require_relative "cql_literal"
|
|
4
|
+
|
|
5
|
+
module QueryBuilder::CQL::Operators
|
|
6
|
+
|
|
7
|
+
# Describes 'less than or equal' operator
|
|
8
|
+
#
|
|
9
|
+
# @example
|
|
10
|
+
# fn = Operators[:cql_lte, 3]
|
|
11
|
+
# fn[:foo]
|
|
12
|
+
# # => "foo <= 3"
|
|
13
|
+
#
|
|
14
|
+
# @param [#to_s] column
|
|
15
|
+
# @param [Numeric] value
|
|
16
|
+
#
|
|
17
|
+
# @return [String]
|
|
18
|
+
#
|
|
19
|
+
def self.cql_lte(column, value)
|
|
20
|
+
"#{column} <= #{cql_literal(value)}"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end # module QueryBuilder::CQL::Operators
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module QueryBuilder::CQL::Operators
|
|
4
|
+
|
|
5
|
+
# Returns the CQL MAP definition
|
|
6
|
+
#
|
|
7
|
+
# @example
|
|
8
|
+
# fn = Operators[:cql_map]
|
|
9
|
+
#
|
|
10
|
+
# fn[:foo, :bar]
|
|
11
|
+
# # => "MAP<foo, bar>"
|
|
12
|
+
#
|
|
13
|
+
# fn[:foo, cql_frozen(:bar)]
|
|
14
|
+
# # => "MAP<foo, FROZEN <bar>>"
|
|
15
|
+
#
|
|
16
|
+
# @param [Array<#to_s>] values
|
|
17
|
+
#
|
|
18
|
+
# @return [String]
|
|
19
|
+
#
|
|
20
|
+
def self.cql_map(*values)
|
|
21
|
+
key, value = values.flatten
|
|
22
|
+
"MAP<#{key}, #{value}>"
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
end # module QueryBuilder::CQL::Operators
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module QueryBuilder::CQL::Operators
|
|
4
|
+
|
|
5
|
+
# Returns the CQL SET definition
|
|
6
|
+
#
|
|
7
|
+
# @example
|
|
8
|
+
# fn = Operators[:cql_set]
|
|
9
|
+
#
|
|
10
|
+
# fn[:foo]
|
|
11
|
+
# # => "SET<foo>"
|
|
12
|
+
#
|
|
13
|
+
# @param [#to_s] value
|
|
14
|
+
#
|
|
15
|
+
# @return [String]
|
|
16
|
+
#
|
|
17
|
+
def self.cql_set(value)
|
|
18
|
+
"SET<#{value}>"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end # module QueryBuilder::CQL::Operators
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module QueryBuilder::CQL::Operators
|
|
4
|
+
|
|
5
|
+
# Returns the CQL TOKEN() definition
|
|
6
|
+
#
|
|
7
|
+
# @example
|
|
8
|
+
# fn = Operators[:cql_token]
|
|
9
|
+
#
|
|
10
|
+
# fn[:int]
|
|
11
|
+
# # => "TOKEN(int)"
|
|
12
|
+
#
|
|
13
|
+
# @param [#to_s] type
|
|
14
|
+
#
|
|
15
|
+
# @return [String]
|
|
16
|
+
#
|
|
17
|
+
def self.cql_token(type)
|
|
18
|
+
"TOKEN(#{type})"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end # module QueryBuilder::CQL::Operators
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require_relative "cql_literal"
|
|
4
|
+
|
|
5
|
+
module QueryBuilder::CQL::Operators
|
|
6
|
+
|
|
7
|
+
# Returns value of CQL TOKEN
|
|
8
|
+
#
|
|
9
|
+
# @example
|
|
10
|
+
# fn = Operators[:cql_token_value]
|
|
11
|
+
#
|
|
12
|
+
# fn[:tiger]
|
|
13
|
+
# # => "TOKEN('tiger')"
|
|
14
|
+
#
|
|
15
|
+
# @param [#to_s] value
|
|
16
|
+
#
|
|
17
|
+
# @return [String]
|
|
18
|
+
#
|
|
19
|
+
def self.cql_token_value(value)
|
|
20
|
+
"TOKEN(#{cql_literal(value)})"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end # module QueryBuilder::CQL::Operators
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module QueryBuilder::CQL::Operators
|
|
4
|
+
|
|
5
|
+
# Describes TTL() function
|
|
6
|
+
#
|
|
7
|
+
# @example
|
|
8
|
+
# fn = Operators[:cql_ttl]
|
|
9
|
+
# fn[:name]
|
|
10
|
+
# # => "TTL(name)"
|
|
11
|
+
#
|
|
12
|
+
# @param [#to_s] column
|
|
13
|
+
#
|
|
14
|
+
# @return [String]
|
|
15
|
+
#
|
|
16
|
+
def self.cql_ttl(column)
|
|
17
|
+
"TTL(#{column})"
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
end # module QueryBuilder::CQL::Operators
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module QueryBuilder::CQL::Operators
|
|
4
|
+
|
|
5
|
+
# Returns the CQL TUPLE definition
|
|
6
|
+
#
|
|
7
|
+
# @example
|
|
8
|
+
# fn = Operators[:cql_tuple]
|
|
9
|
+
#
|
|
10
|
+
# fn[:int, :text]
|
|
11
|
+
# # => "TUPLE<int, text>"
|
|
12
|
+
#
|
|
13
|
+
# @param [Array<#to_s>] types
|
|
14
|
+
#
|
|
15
|
+
# @return [String]
|
|
16
|
+
#
|
|
17
|
+
def self.cql_tuple(*types)
|
|
18
|
+
"TUPLE<#{types.join(", ")}>"
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end # module QueryBuilder::CQL::Operators
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
require_relative "cql_literal"
|
|
4
|
+
|
|
5
|
+
module QueryBuilder::CQL::Operators
|
|
6
|
+
|
|
7
|
+
# Returns value of CQL tuple
|
|
8
|
+
#
|
|
9
|
+
# @example
|
|
10
|
+
# fn = Operators[:cql_tuple_value]
|
|
11
|
+
#
|
|
12
|
+
# fn[:tiger, 1]
|
|
13
|
+
# # => "('tiger', 1)"
|
|
14
|
+
#
|
|
15
|
+
# @param [Array<#to_s>] values
|
|
16
|
+
#
|
|
17
|
+
# @return [String]
|
|
18
|
+
#
|
|
19
|
+
def self.cql_tuple_value(*values)
|
|
20
|
+
"(#{values.flatten.map { |value| cql_literal(value) }.join(", ")})"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end # module QueryBuilder::CQL::Operators
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module QueryBuilder::CQL::Operators
|
|
4
|
+
|
|
5
|
+
# Describes WRITETIME() function
|
|
6
|
+
#
|
|
7
|
+
# @example
|
|
8
|
+
# fn = Operators[:cql_writetime]
|
|
9
|
+
# fn[:name]
|
|
10
|
+
# # => "WRITETIME(name)"
|
|
11
|
+
#
|
|
12
|
+
# @param [#to_s] column
|
|
13
|
+
#
|
|
14
|
+
# @return [String]
|
|
15
|
+
#
|
|
16
|
+
def self.cql_writetime(column)
|
|
17
|
+
"WRITETIME(#{column})"
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
end # module QueryBuilder::CQL::Operators
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module QueryBuilder
|
|
4
|
+
|
|
5
|
+
module CQL
|
|
6
|
+
|
|
7
|
+
# The collection of CQL-specific statements
|
|
8
|
+
#
|
|
9
|
+
module Statements
|
|
10
|
+
|
|
11
|
+
# The base class for CQL-specific statements
|
|
12
|
+
#
|
|
13
|
+
class Base < Core::Statement
|
|
14
|
+
|
|
15
|
+
include Operators # CQL-specific
|
|
16
|
+
|
|
17
|
+
end # class Base
|
|
18
|
+
|
|
19
|
+
Dir[File.expand_path("../statements/*.rb", __FILE__)].each(&method(:load))
|
|
20
|
+
|
|
21
|
+
end # module Statements
|
|
22
|
+
|
|
23
|
+
end # module CQL
|
|
24
|
+
|
|
25
|
+
end # module QueryBuilder
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module QueryBuilder::CQL
|
|
4
|
+
|
|
5
|
+
module Statements
|
|
6
|
+
|
|
7
|
+
# Describes the 'ALTER TABLE ... ALTER' CQL3 statement
|
|
8
|
+
#
|
|
9
|
+
class AlterColumn < Base
|
|
10
|
+
|
|
11
|
+
attribute :type, required: :true
|
|
12
|
+
|
|
13
|
+
# Builds the statement
|
|
14
|
+
#
|
|
15
|
+
# @return [String]
|
|
16
|
+
#
|
|
17
|
+
def to_s
|
|
18
|
+
cql[
|
|
19
|
+
"ALTER TABLE", context.table.to_s, "ALTER", context.name, "TYPE", type
|
|
20
|
+
]
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end # class AlterColumn
|
|
24
|
+
|
|
25
|
+
end # module Statements
|
|
26
|
+
|
|
27
|
+
end # module QueryBuilder::CQL
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module QueryBuilder::CQL
|
|
4
|
+
|
|
5
|
+
module Statements
|
|
6
|
+
|
|
7
|
+
# Describes the 'ALTER TYPE ... ALTER' CQL3 statement
|
|
8
|
+
#
|
|
9
|
+
class AlterField < Base
|
|
10
|
+
|
|
11
|
+
attribute :type, required: :true
|
|
12
|
+
|
|
13
|
+
# Builds the statement
|
|
14
|
+
#
|
|
15
|
+
# @return [String]
|
|
16
|
+
#
|
|
17
|
+
def to_s
|
|
18
|
+
cql[
|
|
19
|
+
"ALTER TYPE", context.type.to_s, "ALTER", context.name, "TYPE", type
|
|
20
|
+
]
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
end # class AlterField
|
|
24
|
+
|
|
25
|
+
end # module Statements
|
|
26
|
+
|
|
27
|
+
end # module QueryBuilder::CQL
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module QueryBuilder::CQL
|
|
4
|
+
|
|
5
|
+
module Statements
|
|
6
|
+
|
|
7
|
+
# Describes the 'ALTER KEYSPACE' CQL3 statement
|
|
8
|
+
#
|
|
9
|
+
class AlterKeyspace < Base
|
|
10
|
+
|
|
11
|
+
include Modifiers::With
|
|
12
|
+
|
|
13
|
+
# Builds the statement
|
|
14
|
+
#
|
|
15
|
+
# @return [String]
|
|
16
|
+
#
|
|
17
|
+
def to_s
|
|
18
|
+
cql["ALTER KEYSPACE", context.to_s, maybe_with]
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end # class AlterKeyspace
|
|
22
|
+
|
|
23
|
+
end # module Statements
|
|
24
|
+
|
|
25
|
+
end # module QueryBuilder::CQL
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module QueryBuilder::CQL
|
|
4
|
+
|
|
5
|
+
module Statements
|
|
6
|
+
|
|
7
|
+
# Describes the 'ALTER ROLE' CQL3 statement
|
|
8
|
+
#
|
|
9
|
+
class AlterRole < Base
|
|
10
|
+
|
|
11
|
+
include Modifiers::Superuser
|
|
12
|
+
include Modifiers::Password
|
|
13
|
+
|
|
14
|
+
# Builds the statement
|
|
15
|
+
#
|
|
16
|
+
# @return [String]
|
|
17
|
+
#
|
|
18
|
+
def to_s
|
|
19
|
+
cql["ALTER ROLE", context.name, maybe_with, maybe_superuser]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # class AlterRole
|
|
23
|
+
|
|
24
|
+
end # module Statements
|
|
25
|
+
|
|
26
|
+
end # module QueryBuilder::CQL
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module QueryBuilder::CQL
|
|
4
|
+
|
|
5
|
+
module Statements
|
|
6
|
+
|
|
7
|
+
# Describes the 'CREATE TABLE' CQL3 statement
|
|
8
|
+
#
|
|
9
|
+
class AlterTable < Base
|
|
10
|
+
|
|
11
|
+
include Modifiers::Alter
|
|
12
|
+
|
|
13
|
+
# Builds the statement
|
|
14
|
+
#
|
|
15
|
+
# @return [String]
|
|
16
|
+
#
|
|
17
|
+
def to_s
|
|
18
|
+
cql["ALTER TABLE", context.to_s, maybe_with]
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end # class AlterTable
|
|
22
|
+
|
|
23
|
+
end # module Statements
|
|
24
|
+
|
|
25
|
+
end # module QueryBuilder::CQL
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module QueryBuilder::CQL
|
|
4
|
+
|
|
5
|
+
module Statements
|
|
6
|
+
|
|
7
|
+
# Describes the 'ALTER USER' CQL3 statement
|
|
8
|
+
#
|
|
9
|
+
class AlterUser < Base
|
|
10
|
+
|
|
11
|
+
include Modifiers::Superuser
|
|
12
|
+
include Modifiers::Password
|
|
13
|
+
|
|
14
|
+
# Builds the statement
|
|
15
|
+
#
|
|
16
|
+
# @return [String]
|
|
17
|
+
#
|
|
18
|
+
def to_s
|
|
19
|
+
cql["ALTER USER", context.name, maybe_with, maybe_superuser]
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
end # class AlterUser
|
|
23
|
+
|
|
24
|
+
end # module Statements
|
|
25
|
+
|
|
26
|
+
end # module QueryBuilder::CQL
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# encoding: utf-8
|
|
2
|
+
|
|
3
|
+
module QueryBuilder::CQL
|
|
4
|
+
|
|
5
|
+
module Statements
|
|
6
|
+
|
|
7
|
+
# Describes the 'BATCH' CQL3 statement
|
|
8
|
+
#
|
|
9
|
+
class Batch < Base
|
|
10
|
+
|
|
11
|
+
include Modifiers::Statement
|
|
12
|
+
include Modifiers::Counter
|
|
13
|
+
include Modifiers::Timestamp
|
|
14
|
+
include Modifiers::Unlogged
|
|
15
|
+
|
|
16
|
+
# Builds the statement
|
|
17
|
+
#
|
|
18
|
+
# @return [String]
|
|
19
|
+
#
|
|
20
|
+
def to_s
|
|
21
|
+
cql[
|
|
22
|
+
"BEGIN", maybe_type, "BATCH", maybe_using,
|
|
23
|
+
maybe_statements, "APPLY BATCH"
|
|
24
|
+
]
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end # class Batch
|
|
28
|
+
|
|
29
|
+
end # module Statements
|
|
30
|
+
|
|
31
|
+
end # module QueryBuilder::CQL
|