sequel 3.48.0 → 4.0.0

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 (267) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +114 -0
  3. data/Rakefile +10 -7
  4. data/doc/association_basics.rdoc +25 -23
  5. data/doc/code_order.rdoc +7 -0
  6. data/doc/core_extensions.rdoc +0 -10
  7. data/doc/object_model.rdoc +4 -1
  8. data/doc/querying.rdoc +3 -3
  9. data/doc/release_notes/4.0.0.txt +262 -0
  10. data/doc/security.rdoc +0 -28
  11. data/doc/testing.rdoc +8 -14
  12. data/lib/sequel/adapters/ado.rb +7 -11
  13. data/lib/sequel/adapters/ado/access.rb +8 -8
  14. data/lib/sequel/adapters/ado/mssql.rb +4 -4
  15. data/lib/sequel/adapters/amalgalite.rb +6 -6
  16. data/lib/sequel/adapters/cubrid.rb +7 -7
  17. data/lib/sequel/adapters/db2.rb +5 -9
  18. data/lib/sequel/adapters/dbi.rb +2 -6
  19. data/lib/sequel/adapters/do.rb +4 -4
  20. data/lib/sequel/adapters/firebird.rb +4 -4
  21. data/lib/sequel/adapters/ibmdb.rb +8 -8
  22. data/lib/sequel/adapters/informix.rb +2 -10
  23. data/lib/sequel/adapters/jdbc.rb +17 -17
  24. data/lib/sequel/adapters/jdbc/as400.rb +2 -2
  25. data/lib/sequel/adapters/jdbc/cubrid.rb +1 -1
  26. data/lib/sequel/adapters/jdbc/db2.rb +1 -1
  27. data/lib/sequel/adapters/jdbc/derby.rb +1 -1
  28. data/lib/sequel/adapters/jdbc/h2.rb +2 -2
  29. data/lib/sequel/adapters/jdbc/hsqldb.rb +1 -1
  30. data/lib/sequel/adapters/jdbc/informix.rb +1 -1
  31. data/lib/sequel/adapters/jdbc/mssql.rb +2 -2
  32. data/lib/sequel/adapters/jdbc/mysql.rb +1 -1
  33. data/lib/sequel/adapters/jdbc/oracle.rb +5 -1
  34. data/lib/sequel/adapters/jdbc/postgresql.rb +3 -3
  35. data/lib/sequel/adapters/jdbc/sqlite.rb +3 -3
  36. data/lib/sequel/adapters/jdbc/transactions.rb +3 -3
  37. data/lib/sequel/adapters/mock.rb +7 -7
  38. data/lib/sequel/adapters/mysql.rb +3 -3
  39. data/lib/sequel/adapters/mysql2.rb +4 -4
  40. data/lib/sequel/adapters/odbc.rb +2 -6
  41. data/lib/sequel/adapters/odbc/mssql.rb +1 -1
  42. data/lib/sequel/adapters/openbase.rb +1 -5
  43. data/lib/sequel/adapters/oracle.rb +13 -17
  44. data/lib/sequel/adapters/postgres.rb +20 -25
  45. data/lib/sequel/adapters/shared/cubrid.rb +3 -3
  46. data/lib/sequel/adapters/shared/db2.rb +2 -2
  47. data/lib/sequel/adapters/shared/firebird.rb +7 -7
  48. data/lib/sequel/adapters/shared/mssql.rb +9 -9
  49. data/lib/sequel/adapters/shared/mysql.rb +29 -13
  50. data/lib/sequel/adapters/shared/mysql_prepared_statements.rb +7 -7
  51. data/lib/sequel/adapters/shared/oracle.rb +22 -13
  52. data/lib/sequel/adapters/shared/postgres.rb +61 -46
  53. data/lib/sequel/adapters/shared/sqlite.rb +9 -9
  54. data/lib/sequel/adapters/sqlite.rb +17 -11
  55. data/lib/sequel/adapters/swift.rb +3 -3
  56. data/lib/sequel/adapters/swift/mysql.rb +1 -1
  57. data/lib/sequel/adapters/swift/sqlite.rb +1 -1
  58. data/lib/sequel/adapters/tinytds.rb +8 -8
  59. data/lib/sequel/ast_transformer.rb +3 -1
  60. data/lib/sequel/connection_pool.rb +4 -2
  61. data/lib/sequel/connection_pool/sharded_single.rb +2 -2
  62. data/lib/sequel/connection_pool/sharded_threaded.rb +5 -5
  63. data/lib/sequel/connection_pool/threaded.rb +7 -7
  64. data/lib/sequel/core.rb +4 -67
  65. data/lib/sequel/database.rb +1 -0
  66. data/lib/sequel/database/connecting.rb +2 -8
  67. data/lib/sequel/database/dataset.rb +2 -7
  68. data/lib/sequel/database/dataset_defaults.rb +0 -18
  69. data/lib/sequel/database/features.rb +4 -4
  70. data/lib/sequel/database/misc.rb +6 -8
  71. data/lib/sequel/database/query.rb +5 -61
  72. data/lib/sequel/database/schema_generator.rb +22 -20
  73. data/lib/sequel/database/schema_methods.rb +48 -20
  74. data/lib/sequel/database/transactions.rb +7 -17
  75. data/lib/sequel/dataset.rb +2 -0
  76. data/lib/sequel/dataset/actions.rb +23 -91
  77. data/lib/sequel/dataset/features.rb +1 -4
  78. data/lib/sequel/dataset/graph.rb +3 -47
  79. data/lib/sequel/dataset/misc.rb +4 -33
  80. data/lib/sequel/dataset/prepared_statements.rb +3 -1
  81. data/lib/sequel/dataset/query.rb +116 -240
  82. data/lib/sequel/dataset/sql.rb +19 -97
  83. data/lib/sequel/deprecated.rb +0 -16
  84. data/lib/sequel/exceptions.rb +0 -3
  85. data/lib/sequel/extensions/_pretty_table.rb +1 -1
  86. data/lib/sequel/extensions/columns_introspection.rb +1 -12
  87. data/lib/sequel/extensions/constraint_validations.rb +3 -3
  88. data/lib/sequel/extensions/core_extensions.rb +0 -9
  89. data/lib/sequel/extensions/date_arithmetic.rb +1 -2
  90. data/lib/sequel/extensions/graph_each.rb +11 -0
  91. data/lib/sequel/extensions/migration.rb +5 -5
  92. data/lib/sequel/extensions/null_dataset.rb +11 -13
  93. data/lib/sequel/extensions/pagination.rb +3 -6
  94. data/lib/sequel/extensions/pg_array.rb +6 -4
  95. data/lib/sequel/extensions/pg_array_ops.rb +35 -1
  96. data/lib/sequel/extensions/pg_json.rb +12 -2
  97. data/lib/sequel/extensions/pg_json_ops.rb +266 -0
  98. data/lib/sequel/extensions/pg_range.rb +2 -2
  99. data/lib/sequel/extensions/pg_range_ops.rb +0 -8
  100. data/lib/sequel/extensions/pg_row.rb +2 -2
  101. data/lib/sequel/extensions/pretty_table.rb +0 -4
  102. data/lib/sequel/extensions/query.rb +3 -8
  103. data/lib/sequel/extensions/schema_caching.rb +0 -7
  104. data/lib/sequel/extensions/schema_dumper.rb +10 -17
  105. data/lib/sequel/extensions/select_remove.rb +0 -4
  106. data/lib/sequel/extensions/set_overrides.rb +28 -0
  107. data/lib/sequel/extensions/to_dot.rb +6 -10
  108. data/lib/sequel/model.rb +6 -7
  109. data/lib/sequel/model/associations.rb +127 -182
  110. data/lib/sequel/model/base.rb +88 -211
  111. data/lib/sequel/model/errors.rb +0 -13
  112. data/lib/sequel/model/plugins.rb +2 -2
  113. data/lib/sequel/no_core_ext.rb +0 -1
  114. data/lib/sequel/plugins/after_initialize.rb +11 -17
  115. data/lib/sequel/plugins/association_autoreloading.rb +1 -47
  116. data/lib/sequel/plugins/association_dependencies.rb +2 -2
  117. data/lib/sequel/plugins/auto_validations.rb +2 -8
  118. data/lib/sequel/plugins/blacklist_security.rb +32 -2
  119. data/lib/sequel/plugins/caching.rb +1 -1
  120. data/lib/sequel/plugins/class_table_inheritance.rb +2 -2
  121. data/lib/sequel/plugins/composition.rb +10 -8
  122. data/lib/sequel/plugins/constraint_validations.rb +2 -2
  123. data/lib/sequel/plugins/dataset_associations.rb +4 -0
  124. data/lib/sequel/plugins/defaults_setter.rb +8 -6
  125. data/lib/sequel/plugins/dirty.rb +6 -6
  126. data/lib/sequel/plugins/force_encoding.rb +13 -8
  127. data/lib/sequel/plugins/hook_class_methods.rb +1 -7
  128. data/lib/sequel/plugins/json_serializer.rb +13 -74
  129. data/lib/sequel/plugins/lazy_attributes.rb +2 -4
  130. data/lib/sequel/plugins/list.rb +1 -1
  131. data/lib/sequel/plugins/many_through_many.rb +4 -11
  132. data/lib/sequel/plugins/many_to_one_pk_lookup.rb +1 -49
  133. data/lib/sequel/plugins/nested_attributes.rb +1 -1
  134. data/lib/sequel/plugins/optimistic_locking.rb +3 -5
  135. data/lib/sequel/plugins/pg_array_associations.rb +453 -0
  136. data/lib/sequel/plugins/pg_typecast_on_load.rb +23 -7
  137. data/lib/sequel/plugins/prepared_statements.rb +1 -1
  138. data/lib/sequel/plugins/prepared_statements_associations.rb +20 -14
  139. data/lib/sequel/plugins/prepared_statements_safe.rb +2 -2
  140. data/lib/sequel/plugins/rcte_tree.rb +1 -1
  141. data/lib/sequel/plugins/serialization.rb +5 -4
  142. data/lib/sequel/plugins/serialization_modification_detection.rb +1 -1
  143. data/lib/sequel/plugins/sharding.rb +7 -1
  144. data/lib/sequel/plugins/single_table_inheritance.rb +1 -1
  145. data/lib/sequel/plugins/timestamps.rb +1 -1
  146. data/lib/sequel/plugins/touch.rb +2 -2
  147. data/lib/sequel/plugins/tree.rb +1 -1
  148. data/lib/sequel/plugins/typecast_on_load.rb +19 -4
  149. data/lib/sequel/plugins/validation_class_methods.rb +0 -30
  150. data/lib/sequel/plugins/validation_helpers.rb +13 -31
  151. data/lib/sequel/plugins/xml_serializer.rb +18 -57
  152. data/lib/sequel/sql.rb +20 -22
  153. data/lib/sequel/version.rb +2 -2
  154. data/spec/adapters/db2_spec.rb +14 -23
  155. data/spec/adapters/firebird_spec.rb +25 -29
  156. data/spec/adapters/informix_spec.rb +11 -14
  157. data/spec/adapters/mssql_spec.rb +71 -77
  158. data/spec/adapters/mysql_spec.rb +165 -172
  159. data/spec/adapters/oracle_spec.rb +36 -39
  160. data/spec/adapters/postgres_spec.rb +175 -100
  161. data/spec/adapters/spec_helper.rb +13 -11
  162. data/spec/adapters/sqlite_spec.rb +36 -44
  163. data/spec/core/connection_pool_spec.rb +2 -1
  164. data/spec/core/database_spec.rb +55 -55
  165. data/spec/core/dataset_spec.rb +45 -249
  166. data/spec/core/deprecated_spec.rb +0 -8
  167. data/spec/core/expression_filters_spec.rb +23 -5
  168. data/spec/core/object_graph_spec.rb +4 -66
  169. data/spec/core/schema_spec.rb +35 -12
  170. data/spec/core/spec_helper.rb +3 -2
  171. data/spec/core_extensions_spec.rb +17 -19
  172. data/spec/extensions/arbitrary_servers_spec.rb +2 -3
  173. data/spec/extensions/association_dependencies_spec.rb +14 -14
  174. data/spec/extensions/auto_validations_spec.rb +7 -0
  175. data/spec/extensions/blacklist_security_spec.rb +5 -5
  176. data/spec/extensions/blank_spec.rb +2 -0
  177. data/spec/extensions/class_table_inheritance_spec.rb +2 -2
  178. data/spec/extensions/columns_introspection_spec.rb +2 -29
  179. data/spec/extensions/composition_spec.rb +10 -17
  180. data/spec/extensions/core_refinements_spec.rb +5 -1
  181. data/spec/extensions/dataset_associations_spec.rb +18 -0
  182. data/spec/extensions/date_arithmetic_spec.rb +2 -2
  183. data/spec/extensions/defaults_setter_spec.rb +9 -9
  184. data/spec/extensions/dirty_spec.rb +0 -5
  185. data/spec/extensions/eval_inspect_spec.rb +2 -0
  186. data/spec/extensions/force_encoding_spec.rb +2 -18
  187. data/spec/extensions/hash_aliases_spec.rb +8 -0
  188. data/spec/extensions/hook_class_methods_spec.rb +39 -58
  189. data/spec/extensions/inflector_spec.rb +2 -0
  190. data/spec/extensions/instance_filters_spec.rb +8 -8
  191. data/spec/extensions/json_serializer_spec.rb +1 -41
  192. data/spec/extensions/list_spec.rb +1 -1
  193. data/spec/extensions/many_through_many_spec.rb +106 -109
  194. data/spec/extensions/migration_spec.rb +2 -0
  195. data/spec/extensions/named_timezones_spec.rb +1 -0
  196. data/spec/extensions/pg_array_associations_spec.rb +603 -0
  197. data/spec/extensions/pg_array_ops_spec.rb +25 -0
  198. data/spec/extensions/pg_array_spec.rb +9 -1
  199. data/spec/extensions/pg_hstore_ops_spec.rb +13 -0
  200. data/spec/extensions/pg_hstore_spec.rb +1 -0
  201. data/spec/extensions/pg_json_ops_spec.rb +131 -0
  202. data/spec/extensions/pg_json_spec.rb +10 -4
  203. data/spec/extensions/pg_range_ops_spec.rb +2 -5
  204. data/spec/extensions/pg_range_spec.rb +6 -2
  205. data/spec/extensions/pg_row_ops_spec.rb +2 -0
  206. data/spec/extensions/prepared_statements_associations_spec.rb +26 -5
  207. data/spec/extensions/rcte_tree_spec.rb +15 -15
  208. data/spec/extensions/schema_dumper_spec.rb +0 -1
  209. data/spec/extensions/schema_spec.rb +9 -9
  210. data/spec/extensions/serialization_modification_detection_spec.rb +1 -1
  211. data/spec/extensions/serialization_spec.rb +18 -29
  212. data/spec/extensions/set_overrides_spec.rb +4 -0
  213. data/spec/extensions/{many_to_one_pk_lookup_spec.rb → shared_caching_spec.rb} +1 -4
  214. data/spec/extensions/single_table_inheritance_spec.rb +4 -4
  215. data/spec/extensions/spec_helper.rb +8 -9
  216. data/spec/extensions/sql_expr_spec.rb +2 -0
  217. data/spec/extensions/string_date_time_spec.rb +2 -0
  218. data/spec/extensions/string_stripper_spec.rb +2 -0
  219. data/spec/extensions/tactical_eager_loading_spec.rb +12 -12
  220. data/spec/extensions/thread_local_timezones_spec.rb +2 -0
  221. data/spec/extensions/timestamps_spec.rb +1 -1
  222. data/spec/extensions/to_dot_spec.rb +1 -1
  223. data/spec/extensions/touch_spec.rb +24 -24
  224. data/spec/extensions/tree_spec.rb +7 -7
  225. data/spec/extensions/typecast_on_load_spec.rb +8 -1
  226. data/spec/extensions/update_primary_key_spec.rb +10 -10
  227. data/spec/extensions/validation_class_methods_spec.rb +10 -39
  228. data/spec/extensions/validation_helpers_spec.rb +29 -47
  229. data/spec/extensions/xml_serializer_spec.rb +1 -23
  230. data/spec/integration/associations_test.rb +231 -40
  231. data/spec/integration/database_test.rb +1 -1
  232. data/spec/integration/dataset_test.rb +64 -64
  233. data/spec/integration/eager_loader_test.rb +28 -28
  234. data/spec/integration/migrator_test.rb +1 -1
  235. data/spec/integration/model_test.rb +2 -2
  236. data/spec/integration/plugin_test.rb +21 -21
  237. data/spec/integration/prepared_statement_test.rb +7 -7
  238. data/spec/integration/schema_test.rb +115 -110
  239. data/spec/integration/spec_helper.rb +17 -27
  240. data/spec/integration/timezone_test.rb +1 -1
  241. data/spec/integration/transaction_test.rb +10 -10
  242. data/spec/integration/type_test.rb +2 -2
  243. data/spec/model/association_reflection_spec.rb +2 -28
  244. data/spec/model/associations_spec.rb +239 -188
  245. data/spec/model/base_spec.rb +27 -68
  246. data/spec/model/dataset_methods_spec.rb +4 -4
  247. data/spec/model/eager_loading_spec.rb +160 -172
  248. data/spec/model/hooks_spec.rb +62 -79
  249. data/spec/model/model_spec.rb +36 -51
  250. data/spec/model/plugins_spec.rb +5 -19
  251. data/spec/model/record_spec.rb +125 -151
  252. data/spec/model/spec_helper.rb +8 -6
  253. data/spec/model/validations_spec.rb +4 -17
  254. data/spec/spec_config.rb +2 -10
  255. metadata +50 -56
  256. data/lib/sequel/deprecated_core_extensions.rb +0 -135
  257. data/lib/sequel/extensions/pg_auto_parameterize.rb +0 -185
  258. data/lib/sequel/extensions/pg_statement_cache.rb +0 -318
  259. data/lib/sequel/plugins/identity_map.rb +0 -260
  260. data/lib/sequel_core.rb +0 -2
  261. data/lib/sequel_model.rb +0 -2
  262. data/spec/extensions/association_autoreloading_spec.rb +0 -102
  263. data/spec/extensions/identity_map_spec.rb +0 -337
  264. data/spec/extensions/pg_auto_parameterize_spec.rb +0 -70
  265. data/spec/extensions/pg_statement_cache_spec.rb +0 -208
  266. data/spec/rcov.opts +0 -8
  267. data/spec/spec_config.rb.example +0 -10
@@ -1,14 +1,10 @@
1
1
  require 'rubygems'
2
2
  unless Object.const_defined?('Sequel') && Sequel.const_defined?('Model')
3
3
  $:.unshift(File.join(File.dirname(File.expand_path(__FILE__)), "../../lib/"))
4
- require 'sequel/no_core_ext'
4
+ require 'sequel'
5
5
  end
6
6
  Sequel::Deprecation.backtrace_filter = lambda{|line, lineno| lineno < 4 || line =~ /_spec\.rb/}
7
7
 
8
- if ENV['SEQUEL_COLUMNS_INTROSPECTION']
9
- Sequel.extension :columns_introspection
10
- Sequel::Dataset.introspect_all_columns
11
- end
12
8
 
13
9
  (defined?(RSpec) ? RSpec::Core::ExampleGroup : Spec::Example::ExampleGroup).class_eval do
14
10
  if ENV['SEQUEL_DEPRECATION_WARNINGS']
@@ -55,4 +51,10 @@ db = Sequel.mock(:fetch=>{:id => 1, :x => 1}, :numrows=>1, :autoid=>proc{|sql| 1
55
51
  def db.schema(*) [[:id, {:primary_key=>true}]] end
56
52
  def db.reset() sqls end
57
53
  def db.supports_schema_parsing?() true end
58
- Sequel::Model.db = MODEL_DB = db
54
+ Sequel::Model.db = DB = db
55
+
56
+ if ENV['SEQUEL_COLUMNS_INTROSPECTION']
57
+ Sequel.extension :columns_introspection
58
+ Sequel::Database.extension :columns_introspection
59
+ Sequel::Mock::Dataset.send(:include, Sequel::ColumnsIntrospection)
60
+ end
@@ -21,14 +21,6 @@ describe Sequel::Model::Errors do
21
21
  @errors.should_not be_empty
22
22
  end
23
23
 
24
- qspecify "should return errors for a specific attribute using #[]" do
25
- @errors[:blah].should == []
26
- @errors[:blah] << 'blah'
27
- @errors[:blah].should == ['blah']
28
-
29
- @errors[:bleu].should == []
30
- end
31
-
32
24
  specify "should return an array of errors for a specific attribute using #on if there are errors" do
33
25
  @errors.add(:blah, 'blah')
34
26
  @errors.on(:blah).should == ['blah']
@@ -38,11 +30,6 @@ describe Sequel::Model::Errors do
38
30
  @errors.on(:blah).should == nil
39
31
  end
40
32
 
41
- qspecify "should accept errors using #[] <<" do
42
- @errors[:blah] << 'blah'
43
- @errors[:blah].should == ['blah']
44
- end
45
-
46
33
  specify "should accept errors using #add" do
47
34
  @errors.add :blah, 'zzzz'
48
35
  @errors[:blah].should == ['zzzz']
@@ -163,26 +150,26 @@ describe "Model#save" do
163
150
  end
164
151
  end
165
152
  @m = @c.load(:id => 4, :x=>6)
166
- MODEL_DB.reset
153
+ DB.reset
167
154
  end
168
155
 
169
156
  specify "should save only if validations pass" do
170
157
  @m.raise_on_save_failure = false
171
158
  @m.should_not be_valid
172
159
  @m.save
173
- MODEL_DB.sqls.should be_empty
160
+ DB.sqls.should be_empty
174
161
 
175
162
  @m.x = 7
176
163
  @m.should be_valid
177
164
  @m.save.should_not be_false
178
- MODEL_DB.sqls.should == ['UPDATE people SET x = 7 WHERE (id = 4)']
165
+ DB.sqls.should == ['UPDATE people SET x = 7 WHERE (id = 4)']
179
166
  end
180
167
 
181
168
  specify "should skip validations if the :validate=>false option is used" do
182
169
  @m.raise_on_save_failure = false
183
170
  @m.should_not be_valid
184
171
  @m.save(:validate=>false)
185
- MODEL_DB.sqls.should == ['UPDATE people SET x = 6 WHERE (id = 4)']
172
+ DB.sqls.should == ['UPDATE people SET x = 6 WHERE (id = 4)']
186
173
  end
187
174
 
188
175
  specify "should raise error if validations fail and raise_on_save_failure is true" do
@@ -1,10 +1,2 @@
1
- # database objects for running adapter specs
2
- # ADO_DB = Sequel.connect(:adapter => 'ado', :driver => "{Microsoft Access Driver (*.mdb)}; DBQ=c:\\Nwind.mdb")
3
- # INFORMIX_DB = Sequel.connect('informix://localhost/mydb')
4
- # INTEGRATION_URL = 'sqlite:/'
5
- # MYSQL_USER = 'root'
6
- # MYSQL_URL = "mysql://#{MYSQL_USER}@localhost/sandbox"
7
- # MYSQL_SOCKET_FILE = '/tmp/mysql.sock'
8
- # ORACLE_DB = Sequel.connect('oracle://hr:hr@localhost/XE')
9
- POSTGRES_URL = 'postgres:///sequel_test?user=postgres'
10
- # SQLITE_URL = 'sqlite:/'
1
+ ENV['SEQUEL_POSTGRES_URL'] ||= 'postgres:///sequel_test?user=postgres'
2
+ ENV['SEQUEL_SQLITE_URL'] ||= 'sqlite:/'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.48.0
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Evans
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-01 00:00:00.000000000 Z
11
+ date: 2013-07-01 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: The Database Toolkit for Ruby
14
14
  email: code@jeremyevans.net
@@ -113,6 +113,7 @@ extra_rdoc_files:
113
113
  - doc/release_notes/3.46.0.txt
114
114
  - doc/release_notes/3.47.0.txt
115
115
  - doc/release_notes/3.48.0.txt
116
+ - doc/release_notes/4.0.0.txt
116
117
  files:
117
118
  - MIT-LICENSE
118
119
  - CHANGELOG
@@ -131,6 +132,21 @@ files:
131
132
  - doc/prepared_statements.rdoc
132
133
  - doc/querying.rdoc
133
134
  - doc/reflection.rdoc
135
+ - doc/sharding.rdoc
136
+ - doc/sql.rdoc
137
+ - doc/validations.rdoc
138
+ - doc/virtual_rows.rdoc
139
+ - doc/mass_assignment.rdoc
140
+ - doc/testing.rdoc
141
+ - doc/schema_modification.rdoc
142
+ - doc/transactions.rdoc
143
+ - doc/thread_safety.rdoc
144
+ - doc/object_model.rdoc
145
+ - doc/core_extensions.rdoc
146
+ - doc/bin_sequel.rdoc
147
+ - doc/security.rdoc
148
+ - doc/postgresql.rdoc
149
+ - doc/code_order.rdoc
134
150
  - doc/release_notes/1.0.txt
135
151
  - doc/release_notes/1.1.txt
136
152
  - doc/release_notes/1.3.txt
@@ -198,21 +214,7 @@ files:
198
214
  - doc/release_notes/3.46.0.txt
199
215
  - doc/release_notes/3.47.0.txt
200
216
  - doc/release_notes/3.48.0.txt
201
- - doc/sharding.rdoc
202
- - doc/sql.rdoc
203
- - doc/validations.rdoc
204
- - doc/virtual_rows.rdoc
205
- - doc/mass_assignment.rdoc
206
- - doc/testing.rdoc
207
- - doc/schema_modification.rdoc
208
- - doc/transactions.rdoc
209
- - doc/thread_safety.rdoc
210
- - doc/object_model.rdoc
211
- - doc/core_extensions.rdoc
212
- - doc/bin_sequel.rdoc
213
- - doc/security.rdoc
214
- - doc/postgresql.rdoc
215
- - doc/code_order.rdoc
217
+ - doc/release_notes/4.0.0.txt
216
218
  - spec/adapters/firebird_spec.rb
217
219
  - spec/adapters/informix_spec.rb
218
220
  - spec/adapters/mssql_spec.rb
@@ -235,19 +237,19 @@ files:
235
237
  - spec/core/mock_adapter_spec.rb
236
238
  - spec/extensions/active_model_spec.rb
237
239
  - spec/extensions/association_dependencies_spec.rb
238
- - spec/extensions/association_proxies_spec.rb
239
- - spec/extensions/blank_spec.rb
240
240
  - spec/extensions/boolean_readers_spec.rb
241
241
  - spec/extensions/caching_spec.rb
242
- - spec/extensions/class_table_inheritance_spec.rb
242
+ - spec/extensions/dirty_spec.rb
243
+ - spec/extensions/core_refinements_spec.rb
243
244
  - spec/extensions/force_encoding_spec.rb
244
245
  - spec/extensions/hook_class_methods_spec.rb
245
- - spec/extensions/identity_map_spec.rb
246
- - spec/extensions/inflector_spec.rb
247
- - spec/extensions/instance_hooks_spec.rb
248
246
  - spec/extensions/lazy_attributes_spec.rb
249
247
  - spec/extensions/looser_typecasting_spec.rb
248
+ - spec/extensions/instance_hooks_spec.rb
250
249
  - spec/extensions/migration_spec.rb
250
+ - spec/extensions/null_dataset_spec.rb
251
+ - spec/extensions/pg_array_ops_spec.rb
252
+ - spec/extensions/shared_caching_spec.rb
251
253
  - spec/extensions/many_through_many_spec.rb
252
254
  - spec/extensions/named_timezones_spec.rb
253
255
  - spec/extensions/nested_attributes_spec.rb
@@ -284,7 +286,7 @@ files:
284
286
  - spec/extensions/tree_spec.rb
285
287
  - spec/extensions/xml_serializer_spec.rb
286
288
  - spec/extensions/to_dot_spec.rb
287
- - spec/extensions/association_autoreloading_spec.rb
289
+ - spec/extensions/class_table_inheritance_spec.rb
288
290
  - spec/extensions/serialization_modification_detection_spec.rb
289
291
  - spec/extensions/defaults_setter_spec.rb
290
292
  - spec/extensions/prepared_statements_spec.rb
@@ -295,21 +297,17 @@ files:
295
297
  - spec/extensions/arbitrary_servers_spec.rb
296
298
  - spec/extensions/touch_spec.rb
297
299
  - spec/extensions/server_block_spec.rb
298
- - spec/extensions/pg_auto_parameterize_spec.rb
299
- - spec/extensions/pg_statement_cache_spec.rb
300
+ - spec/extensions/pg_hstore_ops_spec.rb
301
+ - spec/extensions/scissors_spec.rb
300
302
  - spec/extensions/pg_array_spec.rb
301
- - spec/extensions/pg_array_ops_spec.rb
303
+ - spec/extensions/static_cache_spec.rb
302
304
  - spec/extensions/pg_hstore_spec.rb
303
- - spec/extensions/pg_hstore_ops_spec.rb
305
+ - spec/extensions/pg_array_associations_spec.rb
304
306
  - spec/extensions/schema_caching_spec.rb
305
- - spec/extensions/null_dataset_spec.rb
306
- - spec/extensions/many_to_one_pk_lookup_spec.rb
307
+ - spec/extensions/pg_json_ops_spec.rb
307
308
  - spec/extensions/select_remove_spec.rb
308
- - spec/extensions/static_cache_spec.rb
309
309
  - spec/extensions/query_literals_spec.rb
310
- - spec/extensions/dirty_spec.rb
311
310
  - spec/extensions/pg_inet_spec.rb
312
- - spec/extensions/auto_validations_spec.rb
313
311
  - spec/extensions/eval_inspect_spec.rb
314
312
  - spec/extensions/pg_range_spec.rb
315
313
  - spec/extensions/split_array_nil_spec.rb
@@ -325,19 +323,21 @@ files:
325
323
  - spec/extensions/connection_validator_spec.rb
326
324
  - spec/extensions/validation_class_methods_spec.rb
327
325
  - spec/extensions/meta_def_spec.rb
328
- - spec/extensions/core_refinements_spec.rb
326
+ - spec/extensions/hash_aliases_spec.rb
329
327
  - spec/extensions/unlimited_update_spec.rb
330
328
  - spec/extensions/error_splitter_spec.rb
331
329
  - spec/extensions/input_transformer_spec.rb
332
330
  - spec/extensions/filter_having_spec.rb
333
- - spec/extensions/hash_aliases_spec.rb
334
331
  - spec/extensions/after_initialize_spec.rb
335
332
  - spec/extensions/set_overrides_spec.rb
336
333
  - spec/extensions/graph_each_spec.rb
337
334
  - spec/extensions/blacklist_security_spec.rb
338
335
  - spec/extensions/sequel_3_dataset_methods_spec.rb
339
336
  - spec/extensions/empty_array_ignore_nulls_spec.rb
340
- - spec/extensions/scissors_spec.rb
337
+ - spec/extensions/auto_validations_spec.rb
338
+ - spec/extensions/blank_spec.rb
339
+ - spec/extensions/inflector_spec.rb
340
+ - spec/extensions/association_proxies_spec.rb
341
341
  - spec/integration/associations_test.rb
342
342
  - spec/integration/database_test.rb
343
343
  - spec/integration/dataset_test.rb
@@ -364,8 +364,6 @@ files:
364
364
  - spec/model/spec_helper.rb
365
365
  - spec/model/validations_spec.rb
366
366
  - spec/model/class_dataset_methods_spec.rb
367
- - spec/rcov.opts
368
- - spec/spec_config.rb.example
369
367
  - spec/spec_config.rb
370
368
  - spec/files/bad_down_migration/001_create_alt_basic.rb
371
369
  - spec/files/bad_down_migration/002_create_alt_advanced.rb
@@ -399,9 +397,6 @@ files:
399
397
  - spec/files/timestamped_migrations/1273253849_create_sessions.rb
400
398
  - spec/files/timestamped_migrations/1273253851_create_nodes.rb
401
399
  - spec/files/timestamped_migrations/1273253853_3_create_users.rb
402
- - spec/files/uppercase_timestamped_migrations/1273253849_CREATE_SESSIONS.RB
403
- - spec/files/uppercase_timestamped_migrations/1273253851_CREATE_NODES.RB
404
- - spec/files/uppercase_timestamped_migrations/1273253853_3_CREATE_USERS.RB
405
400
  - spec/files/reversible_migrations/001_reversible.rb
406
401
  - spec/files/reversible_migrations/002_reversible.rb
407
402
  - spec/files/reversible_migrations/003_reversible.rb
@@ -414,6 +409,9 @@ files:
414
409
  - spec/core_extensions_spec.rb
415
410
  - spec/sequel_coverage.rb
416
411
  - spec/bin_spec.rb
412
+ - spec/files/uppercase_timestamped_migrations/1273253849_CREATE_SESSIONS.RB
413
+ - spec/files/uppercase_timestamped_migrations/1273253851_CREATE_NODES.RB
414
+ - spec/files/uppercase_timestamped_migrations/1273253853_3_CREATE_USERS.RB
417
415
  - lib/sequel.rb
418
416
  - lib/sequel/adapters/ado.rb
419
417
  - lib/sequel/adapters/ado/mssql.rb
@@ -521,8 +519,8 @@ files:
521
519
  - lib/sequel/extensions/to_dot.rb
522
520
  - lib/sequel/extensions/arbitrary_servers.rb
523
521
  - lib/sequel/extensions/server_block.rb
524
- - lib/sequel/extensions/pg_auto_parameterize.rb
525
- - lib/sequel/extensions/pg_statement_cache.rb
522
+ - lib/sequel/extensions/columns_introspection.rb
523
+ - lib/sequel/extensions/core_extensions.rb
526
524
  - lib/sequel/extensions/pg_array.rb
527
525
  - lib/sequel/extensions/pg_json.rb
528
526
  - lib/sequel/extensions/pg_array_ops.rb
@@ -531,9 +529,9 @@ files:
531
529
  - lib/sequel/extensions/schema_caching.rb
532
530
  - lib/sequel/extensions/null_dataset.rb
533
531
  - lib/sequel/extensions/_pretty_table.rb
534
- - lib/sequel/extensions/columns_introspection.rb
532
+ - lib/sequel/extensions/constraint_validations.rb
535
533
  - lib/sequel/extensions/select_remove.rb
536
- - lib/sequel/extensions/core_extensions.rb
534
+ - lib/sequel/extensions/date_arithmetic.rb
537
535
  - lib/sequel/extensions/query_literals.rb
538
536
  - lib/sequel/extensions/pg_inet.rb
539
537
  - lib/sequel/extensions/eval_inspect.rb
@@ -543,17 +541,16 @@ files:
543
541
  - lib/sequel/extensions/pg_interval.rb
544
542
  - lib/sequel/extensions/pg_row.rb
545
543
  - lib/sequel/extensions/pg_row_ops.rb
546
- - lib/sequel/extensions/constraint_validations.rb
544
+ - lib/sequel/extensions/graph_each.rb
547
545
  - lib/sequel/extensions/connection_validator.rb
548
- - lib/sequel/extensions/date_arithmetic.rb
546
+ - lib/sequel/extensions/set_overrides.rb
549
547
  - lib/sequel/extensions/core_refinements.rb
550
548
  - lib/sequel/extensions/meta_def.rb
551
549
  - lib/sequel/extensions/filter_having.rb
552
550
  - lib/sequel/extensions/hash_aliases.rb
553
551
  - lib/sequel/extensions/ruby18_symbol_extensions.rb
554
- - lib/sequel/extensions/set_overrides.rb
555
- - lib/sequel/extensions/graph_each.rb
556
552
  - lib/sequel/extensions/sequel_3_dataset_methods.rb
553
+ - lib/sequel/extensions/pg_json_ops.rb
557
554
  - lib/sequel/extensions/empty_array_ignore_nulls.rb
558
555
  - lib/sequel/version.rb
559
556
  - lib/sequel/model.rb
@@ -573,7 +570,7 @@ files:
573
570
  - lib/sequel/plugins/class_table_inheritance.rb
574
571
  - lib/sequel/plugins/force_encoding.rb
575
572
  - lib/sequel/plugins/hook_class_methods.rb
576
- - lib/sequel/plugins/identity_map.rb
573
+ - lib/sequel/plugins/composition.rb
577
574
  - lib/sequel/plugins/instance_hooks.rb
578
575
  - lib/sequel/plugins/lazy_attributes.rb
579
576
  - lib/sequel/plugins/many_through_many.rb
@@ -589,7 +586,7 @@ files:
589
586
  - lib/sequel/plugins/typecast_on_load.rb
590
587
  - lib/sequel/plugins/validation_class_methods.rb
591
588
  - lib/sequel/plugins/validation_helpers.rb
592
- - lib/sequel/plugins/composition.rb
589
+ - lib/sequel/plugins/list.rb
593
590
  - lib/sequel/plugins/rcte_tree.rb
594
591
  - lib/sequel/plugins/instance_filters.rb
595
592
  - lib/sequel/plugins/sharding.rb
@@ -598,7 +595,6 @@ files:
598
595
  - lib/sequel/plugins/update_primary_key.rb
599
596
  - lib/sequel/plugins/association_pks.rb
600
597
  - lib/sequel/plugins/json_serializer.rb
601
- - lib/sequel/plugins/list.rb
602
598
  - lib/sequel/plugins/tree.rb
603
599
  - lib/sequel/plugins/static_cache.rb
604
600
  - lib/sequel/plugins/xml_serializer.rb
@@ -623,13 +619,11 @@ files:
623
619
  - lib/sequel/plugins/input_transformer.rb
624
620
  - lib/sequel/plugins/after_initialize.rb
625
621
  - lib/sequel/plugins/blacklist_security.rb
622
+ - lib/sequel/plugins/pg_array_associations.rb
626
623
  - lib/sequel/timezones.rb
627
624
  - lib/sequel/deprecated.rb
628
625
  - lib/sequel/ast_transformer.rb
629
626
  - lib/sequel/no_core_ext.rb
630
- - lib/sequel/deprecated_core_extensions.rb
631
- - lib/sequel_core.rb
632
- - lib/sequel_model.rb
633
627
  homepage: http://sequel.rubyforge.org
634
628
  licenses: []
635
629
  metadata: {}
@@ -656,7 +650,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
656
650
  version: '0'
657
651
  requirements: []
658
652
  rubyforge_project: sequel
659
- rubygems_version: 2.0.2
653
+ rubygems_version: 2.0.3
660
654
  signing_key:
661
655
  specification_version: 4
662
656
  summary: The Database Toolkit for Ruby
@@ -1,135 +0,0 @@
1
- def Sequel.core_extensions?
2
- true
3
- end
4
-
5
- class Array
6
- def ~
7
- Sequel::Deprecation.deprecate('Array#~', 'Please use Sequel.~ instead, or Sequel.extension(:core_extensions) to continue using it')
8
- Sequel.~(self)
9
- end
10
-
11
- def case(*args)
12
- Sequel::Deprecation.deprecate('Array#case', 'Please use Sequel.case instead, or Sequel.extension(:core_extensions) to continue using it')
13
- ::Sequel::SQL::CaseExpression.new(self, *args)
14
- end
15
-
16
- def sql_value_list
17
- Sequel::Deprecation.deprecate('Array#sql_value_list/Array#sql_array', 'Please use Sequel.value_list instead, or Sequel.extension(:core_extensions) to continue using it')
18
- ::Sequel::SQL::ValueList.new(self)
19
- end
20
- alias sql_array sql_value_list
21
-
22
- def sql_expr
23
- Sequel::Deprecation.deprecate('Array#sql_expr', 'Please use Sequel.expr instead, or Sequel.extension(:core_extensions) to continue using it')
24
- Sequel.expr(self)
25
- end
26
-
27
- def sql_negate
28
- Sequel::Deprecation.deprecate('Array#sql_negate', 'Please use Sequel.negate instead, or Sequel.extension(:core_extensions) to continue using it')
29
- Sequel.negate(self)
30
- end
31
-
32
- def sql_or
33
- Sequel::Deprecation.deprecate('Array#sql_or', 'Please use Sequel.or instead, or Sequel.extension(:core_extensions) to continue using it')
34
- Sequel.or(self)
35
- end
36
-
37
- def sql_string_join(joiner=nil)
38
- Sequel::Deprecation.deprecate('Array#sql_string_join', 'Please use Sequel.join instead, or Sequel.extension(:core_extensions) to continue using it')
39
- Sequel.join(self, joiner)
40
- end
41
- end
42
-
43
- class Hash
44
- def &(ce)
45
- Sequel::Deprecation.deprecate('Hash#&', 'Please use Sequel.& instead, or Sequel.extension(:core_extensions) to continue using it')
46
- ::Sequel::SQL::BooleanExpression.new(:AND, self, ce)
47
- end
48
-
49
- def |(ce)
50
- Sequel::Deprecation.deprecate('Hash#|', 'Please use Sequel.| instead, or Sequel.extension(:core_extensions) to continue using it')
51
- ::Sequel::SQL::BooleanExpression.new(:OR, self, ce)
52
- end
53
-
54
- def ~
55
- Sequel::Deprecation.deprecate('Hash#~', 'Please use Sequel.~ instead, or Sequel.extension(:core_extensions) to continue using it')
56
- ::Sequel::SQL::BooleanExpression.from_value_pairs(self, :OR, true)
57
- end
58
-
59
- def case(*args)
60
- Sequel::Deprecation.deprecate('Hash#case', 'Please use Sequel.case instead, or Sequel.extension(:core_extensions) to continue using it')
61
- ::Sequel::SQL::CaseExpression.new(to_a, *args)
62
- end
63
-
64
- def sql_expr
65
- Sequel::Deprecation.deprecate('Hash#sql_expr', 'Please use Sequel.expr instead, or Sequel.extension(:core_extensions) to continue using it')
66
- ::Sequel::SQL::BooleanExpression.from_value_pairs(self)
67
- end
68
-
69
- def sql_negate
70
- Sequel::Deprecation.deprecate('Hash#sql_negate', 'Please use Sequel.negate instead, or Sequel.extension(:core_extensions) to continue using it')
71
- ::Sequel::SQL::BooleanExpression.from_value_pairs(self, :AND, true)
72
- end
73
-
74
- def sql_or
75
- Sequel::Deprecation.deprecate('Hash#sql_or', 'Please use Sequel.or instead, or Sequel.extension(:core_extensions) to continue using it')
76
- ::Sequel::SQL::BooleanExpression.from_value_pairs(self, :OR)
77
- end
78
- end
79
-
80
- class String
81
- include Sequel::Deprecation.deprecated_module(Sequel::SQL::AliasMethods){|meth| ["String#as", 'Please use Sequel.as instead, or Sequel.extension(:core_extensions) to continue using it']}
82
- include Sequel::Deprecation.deprecated_module(Sequel::SQL::CastMethods){|meth| ["String##{meth}", "Please use Sequel.#{meth} instead, or Sequel.extension(:core_extensions) to continue using it"]}
83
-
84
- def lit(*args)
85
- Sequel::Deprecation.deprecate('String#lit', 'Please use Sequel.lit instead, or Sequel.extension(:core_extensions) to continue using it')
86
- args.empty? ? Sequel::LiteralString.new(self) : Sequel::SQL::PlaceholderLiteralString.new(self, args)
87
- end
88
-
89
- def to_sequel_blob
90
- Sequel::Deprecation.deprecate('String#to_sequel_blob', 'Please use Sequel.blob instead, or Sequel.extension(:core_extensions) to continue using it')
91
- ::Sequel::SQL::Blob.new(self)
92
- end
93
- end
94
-
95
- class Symbol
96
- include Sequel::Deprecation.deprecated_module(Sequel::SQL::AliasMethods){|meth| ["Symbol#as", 'Please use Sequel.as instead, or Sequel.extension(:core_extensions) to continue using it']}
97
- include Sequel::Deprecation.deprecated_module(Sequel::SQL::CastMethods){|meth| ["Symbol##{meth}", "Please use Sequel.#{meth} instead, or Sequel.extension(:core_extensions) to continue using it"]}
98
- include Sequel::Deprecation.deprecated_module(Sequel::SQL::OrderMethods){|meth| ["Symbol##{meth}", "Please use Sequel.#{meth} instead, or Sequel.extension(:core_extensions) to continue using it"]}
99
- include Sequel::Deprecation.deprecated_module(Sequel::SQL::BooleanMethods){|meth| ["Symbol##{meth}", "Please use Sequel.#{meth} instead, or Sequel.extension(:core_extensions) to continue using it"]}
100
- include Sequel::Deprecation.deprecated_module(Sequel::SQL::NumericMethods){|meth| ["Symbol##{meth}", "Please use Sequel.#{meth} instead, or Sequel.extension(:core_extensions) to continue using it"]}
101
- include(Sequel::Deprecation.deprecated_module(Sequel::SQL::QualifyingMethods){|meth| ["Symbol##{meth}", "Please use Sequel.#{meth} instead, or Sequel.extension(:core_extensions) to continue using it"]}.module_eval do
102
- def *(ce=(arg=false;nil))
103
- if arg == false
104
- Sequel::Deprecation.deprecate('Symbol#*', "Please use Sequel.expr(symbol).* instead, or Sequel.extension(:core_extensions) to continue using it")
105
- Sequel::SQL::ColumnAll.new(self)
106
- else
107
- super(ce)
108
- end
109
- end
110
- self
111
- end)
112
- include Sequel::Deprecation.deprecated_module(Sequel::SQL::StringMethods){|meth| ["Symbol##{meth}", "Please use Sequel.#{meth} instead, or Sequel.extension(:core_extensions) to continue using it"]}
113
- include Sequel::Deprecation.deprecated_module(Sequel::SQL::SubscriptMethods){["Symbol#sql_subscript", "Please use Sequel.subscript instead, or Sequel.extension(:core_extensions) to continue using it"]}
114
- include Sequel::Deprecation.deprecated_module(Sequel::SQL::ComplexExpressionMethods){|meth| ["Symbol##{meth}", "Please use Sequel.expr(symbol).#{meth} instead, or Sequel.extension(:core_extensions) to continue using it"]}
115
-
116
- if RUBY_VERSION < '1.9.0'
117
- include Sequel::Deprecation.deprecated_module(Sequel::SQL::InequalityMethods){|meth| ["Symbol##{meth}", "Please use Sequel.expr(symbol).#{meth} instead, or Sequel.extension(:ruby18_symbol_extensions) to continue using it"]}
118
- end
119
-
120
- def identifier
121
- Sequel::Deprecation.deprecate('Symbol#identifier', 'Please use Sequel.identifier instead, or Sequel.extension(:core_extensions) to continue using it')
122
- Sequel::SQL::Identifier.new(self)
123
- end
124
-
125
- def sql_function(*args)
126
- Sequel::Deprecation.deprecate('Symbol#sql_function', 'Please use Sequel.function instead, or Sequel.extension(:core_extensions) to continue using it')
127
- Sequel::SQL::Function.new(self, *args)
128
- end
129
- if RUBY_VERSION < '1.9.0'
130
- def [](*args)
131
- Sequel::Deprecation.deprecate('Symbol#[]', 'Please use Sequel.function instead, or Sequel.extension(:ruby18_symbol_extensions) to continue using it')
132
- Sequel::SQL::Function.new(self, *args)
133
- end
134
- end
135
- end