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.
Files changed (229) hide show
  1. checksums.yaml +7 -0
  2. data/.coveralls.yml +2 -0
  3. data/.gitignore +9 -0
  4. data/.metrics +9 -0
  5. data/.rspec +2 -0
  6. data/.rubocop.yml +2 -0
  7. data/.travis.yml +25 -0
  8. data/.yardopts +3 -0
  9. data/CHANGELOG.md +5 -0
  10. data/Gemfile +7 -0
  11. data/Guardfile +14 -0
  12. data/LICENSE +21 -0
  13. data/README.md +95 -0
  14. data/Rakefile +34 -0
  15. data/config/metrics/STYLEGUIDE +230 -0
  16. data/config/metrics/cane.yml +5 -0
  17. data/config/metrics/churn.yml +6 -0
  18. data/config/metrics/flay.yml +2 -0
  19. data/config/metrics/metric_fu.yml +14 -0
  20. data/config/metrics/reek.yml +1 -0
  21. data/config/metrics/roodi.yml +24 -0
  22. data/config/metrics/rubocop.yml +80 -0
  23. data/config/metrics/saikuro.yml +3 -0
  24. data/config/metrics/simplecov.yml +6 -0
  25. data/config/metrics/yardstick.yml +37 -0
  26. data/lib/query_builder.rb +9 -0
  27. data/lib/query_builder/core.rb +19 -0
  28. data/lib/query_builder/core/attribute.rb +54 -0
  29. data/lib/query_builder/core/attribute_error.rb +25 -0
  30. data/lib/query_builder/core/base.rb +102 -0
  31. data/lib/query_builder/core/clause.rb +46 -0
  32. data/lib/query_builder/core/statement.rb +55 -0
  33. data/lib/query_builder/cql.rb +80 -0
  34. data/lib/query_builder/cql/contexts.rb +21 -0
  35. data/lib/query_builder/cql/contexts/aggregate.rb +42 -0
  36. data/lib/query_builder/cql/contexts/column.rb +59 -0
  37. data/lib/query_builder/cql/contexts/field.rb +48 -0
  38. data/lib/query_builder/cql/contexts/function.rb +46 -0
  39. data/lib/query_builder/cql/contexts/index.rb +44 -0
  40. data/lib/query_builder/cql/contexts/keyspace.rb +107 -0
  41. data/lib/query_builder/cql/contexts/permission.rb +59 -0
  42. data/lib/query_builder/cql/contexts/role.rb +51 -0
  43. data/lib/query_builder/cql/contexts/table.rb +140 -0
  44. data/lib/query_builder/cql/contexts/trigger.rb +42 -0
  45. data/lib/query_builder/cql/contexts/type.rb +52 -0
  46. data/lib/query_builder/cql/contexts/user.rb +53 -0
  47. data/lib/query_builder/cql/modifiers.rb +61 -0
  48. data/lib/query_builder/cql/modifiers/add_column.rb +50 -0
  49. data/lib/query_builder/cql/modifiers/add_field.rb +49 -0
  50. data/lib/query_builder/cql/modifiers/allow_filtering.rb +45 -0
  51. data/lib/query_builder/cql/modifiers/alter.rb +44 -0
  52. data/lib/query_builder/cql/modifiers/called_on_null.rb +47 -0
  53. data/lib/query_builder/cql/modifiers/clustering_order.rb +51 -0
  54. data/lib/query_builder/cql/modifiers/column.rb +59 -0
  55. data/lib/query_builder/cql/modifiers/compact_storage.rb +46 -0
  56. data/lib/query_builder/cql/modifiers/count.rb +47 -0
  57. data/lib/query_builder/cql/modifiers/counter.rb +45 -0
  58. data/lib/query_builder/cql/modifiers/delete.rb +48 -0
  59. data/lib/query_builder/cql/modifiers/distinct.rb +45 -0
  60. data/lib/query_builder/cql/modifiers/finalfunc.rb +47 -0
  61. data/lib/query_builder/cql/modifiers/if.rb +44 -0
  62. data/lib/query_builder/cql/modifiers/if_exists.rb +46 -0
  63. data/lib/query_builder/cql/modifiers/if_not_exists.rb +46 -0
  64. data/lib/query_builder/cql/modifiers/initcond.rb +49 -0
  65. data/lib/query_builder/cql/modifiers/insert.rb +68 -0
  66. data/lib/query_builder/cql/modifiers/limit.rb +49 -0
  67. data/lib/query_builder/cql/modifiers/norecursive.rb +45 -0
  68. data/lib/query_builder/cql/modifiers/or_replace.rb +44 -0
  69. data/lib/query_builder/cql/modifiers/order.rb +50 -0
  70. data/lib/query_builder/cql/modifiers/password.rb +49 -0
  71. data/lib/query_builder/cql/modifiers/primary_key.rb +51 -0
  72. data/lib/query_builder/cql/modifiers/returns.rb +49 -0
  73. data/lib/query_builder/cql/modifiers/selected.rb +54 -0
  74. data/lib/query_builder/cql/modifiers/sfunc.rb +47 -0
  75. data/lib/query_builder/cql/modifiers/statement.rb +47 -0
  76. data/lib/query_builder/cql/modifiers/stype.rb +47 -0
  77. data/lib/query_builder/cql/modifiers/superuser.rb +54 -0
  78. data/lib/query_builder/cql/modifiers/timestamp.rb +50 -0
  79. data/lib/query_builder/cql/modifiers/unlogged.rb +45 -0
  80. data/lib/query_builder/cql/modifiers/update.rb +44 -0
  81. data/lib/query_builder/cql/modifiers/using.rb +48 -0
  82. data/lib/query_builder/cql/modifiers/using_options.rb +51 -0
  83. data/lib/query_builder/cql/modifiers/where.rb +44 -0
  84. data/lib/query_builder/cql/modifiers/where_clustered.rb +51 -0
  85. data/lib/query_builder/cql/modifiers/with.rb +44 -0
  86. data/lib/query_builder/cql/modifiers/with_options.rb +42 -0
  87. data/lib/query_builder/cql/operators.rb +29 -0
  88. data/lib/query_builder/cql/operators/cql.rb +23 -0
  89. data/lib/query_builder/cql/operators/cql_composite.rb +20 -0
  90. data/lib/query_builder/cql/operators/cql_dec.rb +21 -0
  91. data/lib/query_builder/cql/operators/cql_element.rb +23 -0
  92. data/lib/query_builder/cql/operators/cql_entries.rb +20 -0
  93. data/lib/query_builder/cql/operators/cql_frozen.rb +20 -0
  94. data/lib/query_builder/cql/operators/cql_full.rb +20 -0
  95. data/lib/query_builder/cql/operators/cql_gt.rb +23 -0
  96. data/lib/query_builder/cql/operators/cql_gte.rb +23 -0
  97. data/lib/query_builder/cql/operators/cql_in.rb +23 -0
  98. data/lib/query_builder/cql/operators/cql_inc.rb +21 -0
  99. data/lib/query_builder/cql/operators/cql_keys.rb +20 -0
  100. data/lib/query_builder/cql/operators/cql_list.rb +21 -0
  101. data/lib/query_builder/cql/operators/cql_literal.rb +84 -0
  102. data/lib/query_builder/cql/operators/cql_lt.rb +23 -0
  103. data/lib/query_builder/cql/operators/cql_lte.rb +23 -0
  104. data/lib/query_builder/cql/operators/cql_map.rb +25 -0
  105. data/lib/query_builder/cql/operators/cql_set.rb +21 -0
  106. data/lib/query_builder/cql/operators/cql_token.rb +21 -0
  107. data/lib/query_builder/cql/operators/cql_token_value.rb +23 -0
  108. data/lib/query_builder/cql/operators/cql_ttl.rb +20 -0
  109. data/lib/query_builder/cql/operators/cql_tuple.rb +21 -0
  110. data/lib/query_builder/cql/operators/cql_tuple_value.rb +23 -0
  111. data/lib/query_builder/cql/operators/cql_writetime.rb +20 -0
  112. data/lib/query_builder/cql/statements.rb +25 -0
  113. data/lib/query_builder/cql/statements/alter_column.rb +27 -0
  114. data/lib/query_builder/cql/statements/alter_field.rb +27 -0
  115. data/lib/query_builder/cql/statements/alter_keyspace.rb +25 -0
  116. data/lib/query_builder/cql/statements/alter_role.rb +26 -0
  117. data/lib/query_builder/cql/statements/alter_table.rb +25 -0
  118. data/lib/query_builder/cql/statements/alter_user.rb +26 -0
  119. data/lib/query_builder/cql/statements/batch.rb +31 -0
  120. data/lib/query_builder/cql/statements/create_aggregate.rb +36 -0
  121. data/lib/query_builder/cql/statements/create_column.rb +35 -0
  122. data/lib/query_builder/cql/statements/create_field.rb +25 -0
  123. data/lib/query_builder/cql/statements/create_function.rb +38 -0
  124. data/lib/query_builder/cql/statements/create_index.rb +41 -0
  125. data/lib/query_builder/cql/statements/create_keyspace.rb +26 -0
  126. data/lib/query_builder/cql/statements/create_role.rb +26 -0
  127. data/lib/query_builder/cql/statements/create_table.rb +30 -0
  128. data/lib/query_builder/cql/statements/create_trigger.rb +29 -0
  129. data/lib/query_builder/cql/statements/create_type.rb +26 -0
  130. data/lib/query_builder/cql/statements/create_user.rb +27 -0
  131. data/lib/query_builder/cql/statements/delete.rb +32 -0
  132. data/lib/query_builder/cql/statements/drop_aggregate.rb +25 -0
  133. data/lib/query_builder/cql/statements/drop_column.rb +23 -0
  134. data/lib/query_builder/cql/statements/drop_function.rb +25 -0
  135. data/lib/query_builder/cql/statements/drop_index.rb +25 -0
  136. data/lib/query_builder/cql/statements/drop_keyspace.rb +25 -0
  137. data/lib/query_builder/cql/statements/drop_role.rb +25 -0
  138. data/lib/query_builder/cql/statements/drop_table.rb +25 -0
  139. data/lib/query_builder/cql/statements/drop_trigger.rb +25 -0
  140. data/lib/query_builder/cql/statements/drop_type.rb +25 -0
  141. data/lib/query_builder/cql/statements/drop_user.rb +25 -0
  142. data/lib/query_builder/cql/statements/grant.rb +31 -0
  143. data/lib/query_builder/cql/statements/insert.rb +27 -0
  144. data/lib/query_builder/cql/statements/list_permissions.rb +35 -0
  145. data/lib/query_builder/cql/statements/list_roles.rb +23 -0
  146. data/lib/query_builder/cql/statements/list_users.rb +23 -0
  147. data/lib/query_builder/cql/statements/rename_column.rb +27 -0
  148. data/lib/query_builder/cql/statements/rename_field.rb +25 -0
  149. data/lib/query_builder/cql/statements/revoke.rb +31 -0
  150. data/lib/query_builder/cql/statements/select.rb +35 -0
  151. data/lib/query_builder/cql/statements/truncate.rb +23 -0
  152. data/lib/query_builder/cql/statements/update.rb +31 -0
  153. data/lib/query_builder/cql/statements/use.rb +23 -0
  154. data/lib/query_builder/rspec.rb +25 -0
  155. data/lib/query_builder/version.rb +9 -0
  156. data/query_builder.gemspec +31 -0
  157. data/spec/integration/alter_keyspace_spec.rb +17 -0
  158. data/spec/integration/alter_role_spec.rb +28 -0
  159. data/spec/integration/alter_table_add_spec.rb +21 -0
  160. data/spec/integration/alter_table_alter_spec.rb +15 -0
  161. data/spec/integration/alter_table_drop_spec.rb +15 -0
  162. data/spec/integration/alter_table_rename_spec.rb +15 -0
  163. data/spec/integration/alter_table_with_spec.rb +17 -0
  164. data/spec/integration/alter_type_add_spec.rb +15 -0
  165. data/spec/integration/alter_type_alter_spec.rb +15 -0
  166. data/spec/integration/alter_type_rename_spec.rb +15 -0
  167. data/spec/integration/alter_user_spec.rb +28 -0
  168. data/spec/integration/batch_spec.rb +32 -0
  169. data/spec/integration/create_aggregate_spec.rb +31 -0
  170. data/spec/integration/create_function_spec.rb +29 -0
  171. data/spec/integration/create_index_spec.rb +35 -0
  172. data/spec/integration/create_keyspace_spec.rb +24 -0
  173. data/spec/integration/create_role_spec.rb +26 -0
  174. data/spec/integration/create_table_spec.rb +34 -0
  175. data/spec/integration/create_trigger_spec.rb +21 -0
  176. data/spec/integration/create_type_spec.rb +20 -0
  177. data/spec/integration/create_user_spec.rb +23 -0
  178. data/spec/integration/delete_spec.rb +28 -0
  179. data/spec/integration/drop_aggregate_spec.rb +21 -0
  180. data/spec/integration/drop_function_spec.rb +21 -0
  181. data/spec/integration/drop_index_spec.rb +21 -0
  182. data/spec/integration/drop_keyspace_spec.rb +18 -0
  183. data/spec/integration/drop_role_spec.rb +18 -0
  184. data/spec/integration/drop_table_spec.rb +18 -0
  185. data/spec/integration/drop_trigger_spec.rb +21 -0
  186. data/spec/integration/drop_type_spec.rb +18 -0
  187. data/spec/integration/drop_user_spec.rb +18 -0
  188. data/spec/integration/grant_spec.rb +29 -0
  189. data/spec/integration/insert_spec.rb +22 -0
  190. data/spec/integration/list_permissions_spec.rb +34 -0
  191. data/spec/integration/list_roles_spec.rb +12 -0
  192. data/spec/integration/list_users_spec.rb +12 -0
  193. data/spec/integration/revoke_spec.rb +29 -0
  194. data/spec/integration/select_spec.rb +46 -0
  195. data/spec/integration/truncate_spec.rb +12 -0
  196. data/spec/integration/update_spec.rb +23 -0
  197. data/spec/integration/use_spec.rb +12 -0
  198. data/spec/spec_helper.rb +16 -0
  199. data/spec/unit/core/attribute_error_spec.rb +38 -0
  200. data/spec/unit/core/attribute_spec.rb +70 -0
  201. data/spec/unit/core/base_spec.rb +110 -0
  202. data/spec/unit/core/clause_spec.rb +101 -0
  203. data/spec/unit/core/statement_spec.rb +88 -0
  204. data/spec/unit/cql/operators/cql_composite_spec.rb +12 -0
  205. data/spec/unit/cql/operators/cql_dec_spec.rb +12 -0
  206. data/spec/unit/cql/operators/cql_element_spec.rb +12 -0
  207. data/spec/unit/cql/operators/cql_entries_spec.rb +12 -0
  208. data/spec/unit/cql/operators/cql_frozen_spec.rb +12 -0
  209. data/spec/unit/cql/operators/cql_full_spec.rb +12 -0
  210. data/spec/unit/cql/operators/cql_gt_spec.rb +19 -0
  211. data/spec/unit/cql/operators/cql_gte_spec.rb +19 -0
  212. data/spec/unit/cql/operators/cql_in_spec.rb +12 -0
  213. data/spec/unit/cql/operators/cql_inc_spec.rb +12 -0
  214. data/spec/unit/cql/operators/cql_keys_spec.rb +12 -0
  215. data/spec/unit/cql/operators/cql_list_spec.rb +12 -0
  216. data/spec/unit/cql/operators/cql_literal_spec.rb +83 -0
  217. data/spec/unit/cql/operators/cql_lt_spec.rb +19 -0
  218. data/spec/unit/cql/operators/cql_lte_spec.rb +19 -0
  219. data/spec/unit/cql/operators/cql_map_spec.rb +12 -0
  220. data/spec/unit/cql/operators/cql_set_spec.rb +12 -0
  221. data/spec/unit/cql/operators/cql_spec.rb +12 -0
  222. data/spec/unit/cql/operators/cql_token_spec.rb +12 -0
  223. data/spec/unit/cql/operators/cql_token_value_spec.rb +12 -0
  224. data/spec/unit/cql/operators/cql_ttl_spec.rb +12 -0
  225. data/spec/unit/cql/operators/cql_tuple_spec.rb +12 -0
  226. data/spec/unit/cql/operators/cql_tuple_value_spec.rb +12 -0
  227. data/spec/unit/cql/operators/cql_writetime_spec.rb +12 -0
  228. data/spec/unit/cql/operators_spec.rb +66 -0
  229. 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