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,36 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'CREATE FUNCTION' CQL3 statement
8
+ #
9
+ class CreateAggregate < Base
10
+
11
+ include Modifiers::OrReplace
12
+ include Modifiers::IfNotExists
13
+ include Modifiers::AddField
14
+ include Modifiers::Sfunc
15
+ include Modifiers::Stype
16
+ include Modifiers::Finalfunc
17
+ include Modifiers::Initcond
18
+
19
+ alias_method :argument, :add
20
+
21
+ # Builds the statement
22
+ #
23
+ # @return [String]
24
+ #
25
+ def to_s
26
+ cql[
27
+ "CREATE", maybe_replace, "AGGREGATE", maybe_if, context.to_s,
28
+ maybe_fields, maybe_functions
29
+ ]
30
+ end
31
+
32
+ end # class CreateAggregate
33
+
34
+ end # module Statements
35
+
36
+ end # module QueryBuilder::CQL
@@ -0,0 +1,35 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'ALTER TABLE ... ADD' CQL3 statement
8
+ #
9
+ class CreateColumn < Base
10
+
11
+ attribute :type, required: :true
12
+ attribute :static
13
+
14
+ # Builds the statement
15
+ #
16
+ # @return [String]
17
+ #
18
+ def to_s
19
+ cql[
20
+ "ALTER TABLE", context.table.to_s,
21
+ "ADD", context.name, type, maybe_static
22
+ ]
23
+ end
24
+
25
+ private
26
+
27
+ def maybe_static
28
+ "STATIC" if static
29
+ end
30
+
31
+ end # class CreateColumn
32
+
33
+ end # module Statements
34
+
35
+ 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 TYPE ... ADD' CQL3 statement
8
+ #
9
+ class CreateField < Base
10
+
11
+ attribute :type, required: true
12
+
13
+ # Builds the statement
14
+ #
15
+ # @return [String]
16
+ #
17
+ def to_s
18
+ cql["ALTER TYPE", context.type.to_s, "ADD", context.name, type]
19
+ end
20
+
21
+ end # class CreateField
22
+
23
+ end # module Statements
24
+
25
+ end # module QueryBuilder::CQL
@@ -0,0 +1,38 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'CREATE FUNCTION' CQL3 statement
8
+ #
9
+ class CreateFunction < Base
10
+
11
+ include Modifiers::AddField
12
+ include Modifiers::OrReplace
13
+ include Modifiers::IfNotExists
14
+ include Modifiers::Returns
15
+ include Modifiers::CalledOnNull
16
+
17
+ attribute :language, required: true
18
+ attribute :body, required: true
19
+
20
+ alias_method :argument, :add
21
+
22
+ # Builds the statement
23
+ #
24
+ # @return [String]
25
+ #
26
+ def to_s
27
+ cql[
28
+ "CREATE", maybe_replace, "FUNCTION", maybe_if,
29
+ context.to_s, maybe_fields, maybe_called, maybe_returns,
30
+ "LANGUAGE", cql_literal[language], "AS", cql_literal[body]
31
+ ]
32
+ end
33
+
34
+ end # class CreateField
35
+
36
+ end # module Statements
37
+
38
+ end # module QueryBuilder::CQL
@@ -0,0 +1,41 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'CREATE INDEX' CQL3 statement
8
+ #
9
+ class CreateIndex < Base
10
+
11
+ include Modifiers::AddColumn
12
+ include Modifiers::IfNotExists
13
+ include Modifiers::WithOptions
14
+ include Modifiers::Using
15
+
16
+ # Builds the statement
17
+ #
18
+ # @return [String]
19
+ #
20
+ def to_s
21
+ cql[
22
+ "CREATE", maybe_custom, "INDEX", maybe_if, maybe_name,
23
+ "ON", context.table.to_s, maybe_columns, maybe_using, maybe_with
24
+ ]
25
+ end
26
+
27
+ private
28
+
29
+ def maybe_name
30
+ context.name.to_s if context.name
31
+ end
32
+
33
+ def maybe_custom
34
+ "CUSTOM" unless maybe_name
35
+ end
36
+
37
+ end # class CreateIndex
38
+
39
+ end # module Statements
40
+
41
+ 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 'CREATE KEYSPACE' CQL3 statement
8
+ #
9
+ class CreateKeyspace < Base
10
+
11
+ include Modifiers::With
12
+ include Modifiers::IfNotExists
13
+
14
+ # Builds the statement
15
+ #
16
+ # @return [String]
17
+ #
18
+ def to_s
19
+ cql["CREATE KEYSPACE", maybe_if, context.to_s, maybe_with]
20
+ end
21
+
22
+ end # class CreateKeyspace
23
+
24
+ end # module Statements
25
+
26
+ 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 'CREATE ROLE' CQL3 statement
8
+ #
9
+ class CreateRole < Base
10
+
11
+ include Modifiers::IfNotExists
12
+ include Modifiers::With
13
+
14
+ # Builds the statement
15
+ #
16
+ # @return [String]
17
+ #
18
+ def to_s
19
+ cql["CREATE ROLE", maybe_if, context.to_s, maybe_with]
20
+ end
21
+
22
+ end # class CreateRole
23
+
24
+ end # module Statements
25
+
26
+ end # module QueryBuilder::CQL
@@ -0,0 +1,30 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'CREATE TABLE' CQL3 statement
8
+ #
9
+ class CreateTable < Base
10
+
11
+ include Modifiers::Column
12
+ include Modifiers::PrimaryKey
13
+ include Modifiers::IfNotExists
14
+ include Modifiers::ClusteringOrder
15
+ include Modifiers::CompactStorage
16
+ include Modifiers::With
17
+
18
+ # Builds the statement
19
+ #
20
+ # @return [String]
21
+ #
22
+ def to_s
23
+ cql["CREATE TABLE", maybe_if, context.to_s, maybe_columns, maybe_with]
24
+ end
25
+
26
+ end # class CreateTable
27
+
28
+ end # module Statements
29
+
30
+ end # module QueryBuilder::CQL
@@ -0,0 +1,29 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'CREATE TRIGGER' CQL3 statement
8
+ #
9
+ class CreateTrigger < Base
10
+
11
+ include Modifiers::IfNotExists
12
+ include Modifiers::Using
13
+
14
+ # Builds the statement
15
+ #
16
+ # @return [String]
17
+ #
18
+ def to_s
19
+ cql[
20
+ "CREATE TRIGGER", maybe_if, context.name,
21
+ "ON", context.table.to_s, maybe_using
22
+ ]
23
+ end
24
+
25
+ end # class CreateTrigger
26
+
27
+ end # module Statements
28
+
29
+ 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 'CREATE TYPE' CQL3 statement
8
+ #
9
+ class CreateType < Base
10
+
11
+ include Modifiers::AddField
12
+ include Modifiers::IfNotExists
13
+
14
+ # Builds the statement
15
+ #
16
+ # @return [String]
17
+ #
18
+ def to_s
19
+ cql["CREATE TYPE", maybe_if, context.to_s, maybe_fields]
20
+ end
21
+
22
+ end # class CreateType
23
+
24
+ end # module Statements
25
+
26
+ 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 'CREATE USER' CQL3 statement
8
+ #
9
+ class CreateUser < Base
10
+
11
+ include Modifiers::IfNotExists
12
+ include Modifiers::Superuser
13
+ include Modifiers::Password
14
+
15
+ # Builds the statement
16
+ #
17
+ # @return [String]
18
+ #
19
+ def to_s
20
+ cql["CREATE USER", maybe_if, context.to_s, maybe_with, maybe_superuser]
21
+ end
22
+
23
+ end # class CreateUser
24
+
25
+ end # module Statements
26
+
27
+ end # module QueryBuilder::CQL
@@ -0,0 +1,32 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'DELETE' CQL3 statement
8
+ #
9
+ class Delete < Base
10
+
11
+ include Modifiers::Delete
12
+ include Modifiers::Where
13
+ include Modifiers::If
14
+ include Modifiers::IfExists
15
+ include Modifiers::UsingOptions
16
+
17
+ # Builds the statement
18
+ #
19
+ # @return [String]
20
+ #
21
+ def to_s
22
+ cql[
23
+ "DELETE", maybe_columns, "FROM", context.to_s,
24
+ maybe_using, maybe_where, maybe_if
25
+ ]
26
+ end
27
+
28
+ end # class Delete
29
+
30
+ end # module Statements
31
+
32
+ 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 'DROP AGGREGATE' CQL3 statement
8
+ #
9
+ class DropAggregate < Base
10
+
11
+ include Modifiers::IfExists
12
+
13
+ # Builds the statement
14
+ #
15
+ # @return [String]
16
+ #
17
+ def to_s
18
+ cql["DROP AGGREGATE", maybe_if, context.to_s]
19
+ end
20
+
21
+ end # class DropAggregate
22
+
23
+ end # module Statements
24
+
25
+ end # module QueryBuilder::CQL
@@ -0,0 +1,23 @@
1
+ # encoding: utf-8
2
+
3
+ module QueryBuilder::CQL
4
+
5
+ module Statements
6
+
7
+ # Describes the 'ALTER TABLE ... DROP' CQL3 statement
8
+ #
9
+ class DropColumn < Base
10
+
11
+ # Builds the statement
12
+ #
13
+ # @return [String]
14
+ #
15
+ def to_s
16
+ cql["ALTER TABLE", context.table.to_s, "DROP", context.name]
17
+ end
18
+
19
+ end # class DropColumn
20
+
21
+ end # module Statements
22
+
23
+ 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 'DROP FUNCTION' CQL3 statement
8
+ #
9
+ class DropFunction < Base
10
+
11
+ include Modifiers::IfExists
12
+
13
+ # Builds the statement
14
+ #
15
+ # @return [String]
16
+ #
17
+ def to_s
18
+ cql["DROP FUNCTION", maybe_if, context.to_s]
19
+ end
20
+
21
+ end # class DropFunction
22
+
23
+ end # module Statements
24
+
25
+ end # module QueryBuilder::CQL