sequel 3.21.0 → 3.41.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 (363) hide show
  1. data/CHANGELOG +1131 -3
  2. data/MIT-LICENSE +1 -1
  3. data/README.rdoc +106 -65
  4. data/Rakefile +59 -27
  5. data/bin/sequel +50 -26
  6. data/doc/active_record.rdoc +68 -52
  7. data/doc/advanced_associations.rdoc +201 -75
  8. data/doc/association_basics.rdoc +327 -79
  9. data/doc/bin_sequel.rdoc +144 -0
  10. data/doc/cheat_sheet.rdoc +21 -21
  11. data/doc/core_extensions.rdoc +374 -0
  12. data/doc/dataset_basics.rdoc +10 -10
  13. data/doc/dataset_filtering.rdoc +54 -42
  14. data/doc/mass_assignment.rdoc +56 -0
  15. data/doc/migration.rdoc +89 -557
  16. data/doc/model_hooks.rdoc +80 -29
  17. data/doc/object_model.rdoc +576 -0
  18. data/doc/opening_databases.rdoc +121 -53
  19. data/doc/prepared_statements.rdoc +41 -15
  20. data/doc/querying.rdoc +137 -56
  21. data/doc/reflection.rdoc +36 -10
  22. data/doc/release_notes/3.22.0.txt +39 -0
  23. data/doc/release_notes/3.23.0.txt +172 -0
  24. data/doc/release_notes/3.24.0.txt +420 -0
  25. data/doc/release_notes/3.25.0.txt +88 -0
  26. data/doc/release_notes/3.26.0.txt +88 -0
  27. data/doc/release_notes/3.27.0.txt +82 -0
  28. data/doc/release_notes/3.28.0.txt +304 -0
  29. data/doc/release_notes/3.29.0.txt +459 -0
  30. data/doc/release_notes/3.30.0.txt +135 -0
  31. data/doc/release_notes/3.31.0.txt +146 -0
  32. data/doc/release_notes/3.32.0.txt +202 -0
  33. data/doc/release_notes/3.33.0.txt +157 -0
  34. data/doc/release_notes/3.34.0.txt +671 -0
  35. data/doc/release_notes/3.35.0.txt +144 -0
  36. data/doc/release_notes/3.36.0.txt +245 -0
  37. data/doc/release_notes/3.37.0.txt +338 -0
  38. data/doc/release_notes/3.38.0.txt +234 -0
  39. data/doc/release_notes/3.39.0.txt +237 -0
  40. data/doc/release_notes/3.40.0.txt +73 -0
  41. data/doc/release_notes/3.41.0.txt +155 -0
  42. data/doc/schema_modification.rdoc +585 -0
  43. data/doc/sharding.rdoc +99 -8
  44. data/doc/sql.rdoc +154 -112
  45. data/doc/testing.rdoc +169 -0
  46. data/doc/thread_safety.rdoc +17 -0
  47. data/doc/transactions.rdoc +137 -0
  48. data/doc/validations.rdoc +1 -1
  49. data/doc/virtual_rows.rdoc +78 -43
  50. data/lib/sequel/adapters/ado/access.rb +334 -0
  51. data/lib/sequel/adapters/ado/mssql.rb +18 -12
  52. data/lib/sequel/adapters/ado.rb +69 -21
  53. data/lib/sequel/adapters/amalgalite.rb +17 -14
  54. data/lib/sequel/adapters/cubrid.rb +143 -0
  55. data/lib/sequel/adapters/db2.rb +178 -85
  56. data/lib/sequel/adapters/dbi.rb +19 -21
  57. data/lib/sequel/adapters/do/mysql.rb +17 -11
  58. data/lib/sequel/adapters/do/postgres.rb +2 -61
  59. data/lib/sequel/adapters/do/sqlite.rb +0 -10
  60. data/lib/sequel/adapters/do.rb +20 -39
  61. data/lib/sequel/adapters/firebird.rb +33 -210
  62. data/lib/sequel/adapters/ibmdb.rb +452 -0
  63. data/lib/sequel/adapters/informix.rb +6 -29
  64. data/lib/sequel/adapters/jdbc/as400.rb +16 -34
  65. data/lib/sequel/adapters/jdbc/cubrid.rb +52 -0
  66. data/lib/sequel/adapters/jdbc/db2.rb +78 -0
  67. data/lib/sequel/adapters/jdbc/derby.rb +325 -0
  68. data/lib/sequel/adapters/jdbc/firebird.rb +24 -0
  69. data/lib/sequel/adapters/jdbc/h2.rb +68 -31
  70. data/lib/sequel/adapters/jdbc/hsqldb.rb +189 -0
  71. data/lib/sequel/adapters/jdbc/informix.rb +21 -0
  72. data/lib/sequel/adapters/jdbc/jtds.rb +40 -0
  73. data/lib/sequel/adapters/jdbc/mssql.rb +3 -33
  74. data/lib/sequel/adapters/jdbc/mysql.rb +16 -28
  75. data/lib/sequel/adapters/jdbc/oracle.rb +88 -25
  76. data/lib/sequel/adapters/jdbc/postgresql.rb +77 -52
  77. data/lib/sequel/adapters/jdbc/progress.rb +21 -0
  78. data/lib/sequel/adapters/jdbc/sqlite.rb +20 -10
  79. data/lib/sequel/adapters/jdbc/sqlserver.rb +72 -0
  80. data/lib/sequel/adapters/jdbc/transactions.rb +83 -0
  81. data/lib/sequel/adapters/jdbc.rb +308 -114
  82. data/lib/sequel/adapters/mock.rb +372 -0
  83. data/lib/sequel/adapters/mysql.rb +130 -230
  84. data/lib/sequel/adapters/mysql2.rb +64 -63
  85. data/lib/sequel/adapters/odbc/mssql.rb +17 -9
  86. data/lib/sequel/adapters/odbc.rb +29 -10
  87. data/lib/sequel/adapters/openbase.rb +7 -11
  88. data/lib/sequel/adapters/oracle.rb +364 -57
  89. data/lib/sequel/adapters/postgres.rb +379 -145
  90. data/lib/sequel/adapters/shared/access.rb +236 -11
  91. data/lib/sequel/adapters/shared/cubrid.rb +216 -0
  92. data/lib/sequel/adapters/shared/db2.rb +353 -0
  93. data/lib/sequel/adapters/shared/firebird.rb +231 -0
  94. data/lib/sequel/adapters/shared/informix.rb +53 -0
  95. data/lib/sequel/adapters/shared/mssql.rb +412 -116
  96. data/lib/sequel/adapters/shared/mysql.rb +396 -89
  97. data/lib/sequel/adapters/shared/mysql_prepared_statements.rb +166 -0
  98. data/lib/sequel/adapters/shared/oracle.rb +262 -45
  99. data/lib/sequel/adapters/shared/postgres.rb +688 -279
  100. data/lib/sequel/adapters/shared/progress.rb +5 -8
  101. data/lib/sequel/adapters/shared/sqlite.rb +317 -96
  102. data/lib/sequel/adapters/sqlite.rb +109 -46
  103. data/lib/sequel/adapters/swift/mysql.rb +10 -12
  104. data/lib/sequel/adapters/swift/postgres.rb +13 -79
  105. data/lib/sequel/adapters/swift/sqlite.rb +9 -6
  106. data/lib/sequel/adapters/swift.rb +31 -27
  107. data/lib/sequel/adapters/tinytds.rb +177 -25
  108. data/lib/sequel/adapters/utils/emulate_offset_with_row_number.rb +77 -0
  109. data/lib/sequel/adapters/utils/pg_types.rb +81 -0
  110. data/lib/sequel/adapters/utils/split_alter_table.rb +36 -0
  111. data/lib/sequel/adapters/utils/stored_procedures.rb +1 -11
  112. data/lib/sequel/ast_transformer.rb +194 -0
  113. data/lib/sequel/connection_pool/sharded_single.rb +23 -13
  114. data/lib/sequel/connection_pool/sharded_threaded.rb +64 -13
  115. data/lib/sequel/connection_pool/single.rb +11 -3
  116. data/lib/sequel/connection_pool/threaded.rb +69 -20
  117. data/lib/sequel/connection_pool.rb +20 -18
  118. data/lib/sequel/core.rb +143 -11
  119. data/lib/sequel/database/connecting.rb +66 -29
  120. data/lib/sequel/database/dataset.rb +4 -4
  121. data/lib/sequel/database/dataset_defaults.rb +63 -2
  122. data/lib/sequel/database/logging.rb +7 -2
  123. data/lib/sequel/database/misc.rb +192 -51
  124. data/lib/sequel/database/query.rb +299 -114
  125. data/lib/sequel/database/schema_generator.rb +103 -36
  126. data/lib/sequel/database/schema_methods.rb +310 -69
  127. data/lib/sequel/dataset/actions.rb +344 -90
  128. data/lib/sequel/dataset/features.rb +101 -8
  129. data/lib/sequel/dataset/graph.rb +42 -15
  130. data/lib/sequel/dataset/misc.rb +52 -25
  131. data/lib/sequel/dataset/mutation.rb +12 -7
  132. data/lib/sequel/dataset/prepared_statements.rb +68 -30
  133. data/lib/sequel/dataset/query.rb +322 -68
  134. data/lib/sequel/dataset/sql.rb +716 -293
  135. data/lib/sequel/dataset.rb +8 -0
  136. data/lib/sequel/exceptions.rb +4 -0
  137. data/lib/sequel/extensions/_pretty_table.rb +83 -0
  138. data/lib/sequel/extensions/arbitrary_servers.rb +109 -0
  139. data/lib/sequel/extensions/blank.rb +4 -0
  140. data/lib/sequel/extensions/columns_introspection.rb +72 -0
  141. data/lib/sequel/extensions/connection_validator.rb +109 -0
  142. data/lib/sequel/extensions/constraint_validations.rb +451 -0
  143. data/lib/sequel/{core_sql.rb → extensions/core_extensions.rb} +30 -46
  144. data/lib/sequel/extensions/eval_inspect.rb +173 -0
  145. data/lib/sequel/extensions/inflector.rb +4 -0
  146. data/lib/sequel/extensions/looser_typecasting.rb +5 -4
  147. data/lib/sequel/extensions/migration.rb +100 -11
  148. data/lib/sequel/extensions/named_timezones.rb +9 -0
  149. data/lib/sequel/extensions/null_dataset.rb +94 -0
  150. data/lib/sequel/extensions/pagination.rb +4 -0
  151. data/lib/sequel/extensions/pg_array.rb +539 -0
  152. data/lib/sequel/extensions/pg_array_ops.rb +263 -0
  153. data/lib/sequel/extensions/pg_auto_parameterize.rb +175 -0
  154. data/lib/sequel/extensions/pg_hstore.rb +334 -0
  155. data/lib/sequel/extensions/pg_hstore_ops.rb +293 -0
  156. data/lib/sequel/extensions/pg_inet.rb +113 -0
  157. data/lib/sequel/extensions/pg_interval.rb +191 -0
  158. data/lib/sequel/extensions/pg_json.rb +212 -0
  159. data/lib/sequel/extensions/pg_range.rb +513 -0
  160. data/lib/sequel/extensions/pg_range_ops.rb +150 -0
  161. data/lib/sequel/extensions/pg_row.rb +576 -0
  162. data/lib/sequel/extensions/pg_row_ops.rb +182 -0
  163. data/lib/sequel/extensions/pg_statement_cache.rb +317 -0
  164. data/lib/sequel/extensions/pretty_table.rb +17 -72
  165. data/lib/sequel/extensions/query.rb +8 -4
  166. data/lib/sequel/extensions/query_literals.rb +79 -0
  167. data/lib/sequel/extensions/schema_caching.rb +76 -0
  168. data/lib/sequel/extensions/schema_dumper.rb +282 -76
  169. data/lib/sequel/extensions/select_remove.rb +39 -0
  170. data/lib/sequel/extensions/server_block.rb +140 -0
  171. data/lib/sequel/extensions/split_array_nil.rb +65 -0
  172. data/lib/sequel/extensions/sql_expr.rb +8 -110
  173. data/lib/sequel/extensions/string_date_time.rb +4 -0
  174. data/lib/sequel/extensions/thread_local_timezones.rb +10 -4
  175. data/lib/sequel/extensions/to_dot.rb +99 -83
  176. data/lib/sequel/model/associations.rb +1263 -409
  177. data/lib/sequel/model/base.rb +624 -171
  178. data/lib/sequel/model/errors.rb +1 -1
  179. data/lib/sequel/model/exceptions.rb +24 -2
  180. data/lib/sequel/model/inflections.rb +1 -1
  181. data/lib/sequel/model.rb +30 -11
  182. data/lib/sequel/no_core_ext.rb +2 -0
  183. data/lib/sequel/plugins/active_model.rb +13 -1
  184. data/lib/sequel/plugins/association_pks.rb +137 -16
  185. data/lib/sequel/plugins/caching.rb +25 -18
  186. data/lib/sequel/plugins/class_table_inheritance.rb +4 -4
  187. data/lib/sequel/plugins/composition.rb +44 -12
  188. data/lib/sequel/plugins/constraint_validations.rb +198 -0
  189. data/lib/sequel/plugins/dataset_associations.rb +100 -0
  190. data/lib/sequel/plugins/defaults_setter.rb +72 -0
  191. data/lib/sequel/plugins/dirty.rb +214 -0
  192. data/lib/sequel/plugins/eager_each.rb +59 -0
  193. data/lib/sequel/plugins/force_encoding.rb +6 -6
  194. data/lib/sequel/plugins/hook_class_methods.rb +1 -1
  195. data/lib/sequel/plugins/identity_map.rb +134 -15
  196. data/lib/sequel/plugins/instance_filters.rb +10 -0
  197. data/lib/sequel/plugins/instance_hooks.rb +1 -1
  198. data/lib/sequel/plugins/json_serializer.rb +77 -6
  199. data/lib/sequel/plugins/list.rb +13 -2
  200. data/lib/sequel/plugins/many_through_many.rb +103 -51
  201. data/lib/sequel/plugins/many_to_one_pk_lookup.rb +71 -0
  202. data/lib/sequel/plugins/nested_attributes.rb +150 -66
  203. data/lib/sequel/plugins/optimistic_locking.rb +8 -0
  204. data/lib/sequel/plugins/pg_row.rb +121 -0
  205. data/lib/sequel/plugins/pg_typecast_on_load.rb +65 -0
  206. data/lib/sequel/plugins/prepared_statements.rb +168 -0
  207. data/lib/sequel/plugins/prepared_statements_associations.rb +87 -0
  208. data/lib/sequel/plugins/prepared_statements_safe.rb +82 -0
  209. data/lib/sequel/plugins/prepared_statements_with_pk.rb +59 -0
  210. data/lib/sequel/plugins/rcte_tree.rb +31 -17
  211. data/lib/sequel/plugins/schema.rb +8 -3
  212. data/lib/sequel/plugins/serialization.rb +98 -49
  213. data/lib/sequel/plugins/serialization_modification_detection.rb +63 -0
  214. data/lib/sequel/plugins/sharding.rb +21 -54
  215. data/lib/sequel/plugins/single_table_inheritance.rb +57 -12
  216. data/lib/sequel/plugins/static_cache.rb +99 -0
  217. data/lib/sequel/plugins/subclasses.rb +29 -3
  218. data/lib/sequel/plugins/tactical_eager_loading.rb +7 -7
  219. data/lib/sequel/plugins/timestamps.rb +1 -1
  220. data/lib/sequel/plugins/touch.rb +18 -6
  221. data/lib/sequel/plugins/tree.rb +3 -3
  222. data/lib/sequel/plugins/typecast_on_load.rb +9 -12
  223. data/lib/sequel/plugins/update_primary_key.rb +2 -2
  224. data/lib/sequel/plugins/validation_class_methods.rb +2 -1
  225. data/lib/sequel/plugins/validation_helpers.rb +57 -4
  226. data/lib/sequel/plugins/xml_serializer.rb +15 -4
  227. data/lib/sequel/sql.rb +721 -141
  228. data/lib/sequel/timezones.rb +67 -40
  229. data/lib/sequel/version.rb +1 -1
  230. data/spec/adapters/db2_spec.rb +146 -0
  231. data/spec/adapters/firebird_spec.rb +53 -39
  232. data/spec/adapters/mssql_spec.rb +261 -66
  233. data/spec/adapters/mysql_spec.rb +597 -352
  234. data/spec/adapters/oracle_spec.rb +92 -117
  235. data/spec/adapters/postgres_spec.rb +2103 -341
  236. data/spec/adapters/spec_helper.rb +16 -6
  237. data/spec/adapters/sqlite_spec.rb +237 -76
  238. data/spec/core/connection_pool_spec.rb +270 -141
  239. data/spec/core/database_spec.rb +980 -524
  240. data/spec/core/dataset_spec.rb +1658 -1243
  241. data/spec/core/expression_filters_spec.rb +741 -334
  242. data/spec/core/mock_adapter_spec.rb +453 -0
  243. data/spec/core/object_graph_spec.rb +88 -129
  244. data/spec/core/schema_generator_spec.rb +4 -4
  245. data/spec/core/schema_spec.rb +556 -53
  246. data/spec/core/spec_helper.rb +7 -48
  247. data/spec/core_extensions_spec.rb +626 -0
  248. data/spec/extensions/active_model_spec.rb +13 -0
  249. data/spec/extensions/arbitrary_servers_spec.rb +110 -0
  250. data/spec/extensions/association_autoreloading_spec.rb +18 -10
  251. data/spec/extensions/association_dependencies_spec.rb +15 -25
  252. data/spec/extensions/association_pks_spec.rb +227 -33
  253. data/spec/extensions/association_proxies_spec.rb +4 -4
  254. data/spec/extensions/boolean_readers_spec.rb +25 -25
  255. data/spec/extensions/caching_spec.rb +47 -51
  256. data/spec/extensions/class_table_inheritance_spec.rb +31 -83
  257. data/spec/extensions/columns_introspection_spec.rb +91 -0
  258. data/spec/extensions/composition_spec.rb +18 -13
  259. data/spec/extensions/connection_validator_spec.rb +118 -0
  260. data/spec/extensions/constraint_validations_plugin_spec.rb +196 -0
  261. data/spec/extensions/constraint_validations_spec.rb +316 -0
  262. data/spec/extensions/dataset_associations_spec.rb +199 -0
  263. data/spec/extensions/defaults_setter_spec.rb +88 -0
  264. data/spec/extensions/dirty_spec.rb +155 -0
  265. data/spec/extensions/eager_each_spec.rb +34 -0
  266. data/spec/extensions/eval_inspect_spec.rb +67 -0
  267. data/spec/extensions/force_encoding_spec.rb +4 -2
  268. data/spec/extensions/hook_class_methods_spec.rb +97 -128
  269. data/spec/extensions/identity_map_spec.rb +142 -24
  270. data/spec/extensions/inflector_spec.rb +0 -4
  271. data/spec/extensions/instance_filters_spec.rb +11 -21
  272. data/spec/extensions/instance_hooks_spec.rb +72 -0
  273. data/spec/extensions/json_serializer_spec.rb +49 -12
  274. data/spec/extensions/lazy_attributes_spec.rb +16 -20
  275. data/spec/extensions/list_spec.rb +49 -40
  276. data/spec/extensions/looser_typecasting_spec.rb +7 -7
  277. data/spec/extensions/many_through_many_spec.rb +368 -254
  278. data/spec/extensions/many_to_one_pk_lookup_spec.rb +140 -0
  279. data/spec/extensions/migration_spec.rb +140 -35
  280. data/spec/extensions/named_timezones_spec.rb +29 -11
  281. data/spec/extensions/nested_attributes_spec.rb +268 -89
  282. data/spec/extensions/null_dataset_spec.rb +85 -0
  283. data/spec/extensions/optimistic_locking_spec.rb +24 -21
  284. data/spec/extensions/pg_array_ops_spec.rb +112 -0
  285. data/spec/extensions/pg_array_spec.rb +324 -0
  286. data/spec/extensions/pg_auto_parameterize_spec.rb +65 -0
  287. data/spec/extensions/pg_hstore_ops_spec.rb +140 -0
  288. data/spec/extensions/pg_hstore_spec.rb +200 -0
  289. data/spec/extensions/pg_inet_spec.rb +47 -0
  290. data/spec/extensions/pg_interval_spec.rb +72 -0
  291. data/spec/extensions/pg_json_spec.rb +99 -0
  292. data/spec/extensions/pg_range_ops_spec.rb +56 -0
  293. data/spec/extensions/pg_range_spec.rb +395 -0
  294. data/spec/extensions/pg_row_ops_spec.rb +58 -0
  295. data/spec/extensions/pg_row_plugin_spec.rb +49 -0
  296. data/spec/extensions/pg_row_spec.rb +340 -0
  297. data/spec/extensions/pg_statement_cache_spec.rb +208 -0
  298. data/spec/extensions/pg_typecast_on_load_spec.rb +58 -0
  299. data/spec/extensions/prepared_statements_associations_spec.rb +111 -0
  300. data/spec/extensions/prepared_statements_safe_spec.rb +61 -0
  301. data/spec/extensions/prepared_statements_spec.rb +87 -0
  302. data/spec/extensions/prepared_statements_with_pk_spec.rb +31 -0
  303. data/spec/extensions/pretty_table_spec.rb +7 -6
  304. data/spec/extensions/query_literals_spec.rb +167 -0
  305. data/spec/extensions/query_spec.rb +9 -3
  306. data/spec/extensions/rcte_tree_spec.rb +50 -43
  307. data/spec/extensions/schema_caching_spec.rb +41 -0
  308. data/spec/extensions/schema_dumper_spec.rb +434 -49
  309. data/spec/extensions/schema_spec.rb +30 -49
  310. data/spec/extensions/select_remove_spec.rb +38 -0
  311. data/spec/extensions/serialization_modification_detection_spec.rb +72 -0
  312. data/spec/extensions/serialization_spec.rb +86 -48
  313. data/spec/extensions/server_block_spec.rb +90 -0
  314. data/spec/extensions/sharding_spec.rb +69 -143
  315. data/spec/extensions/single_table_inheritance_spec.rb +65 -29
  316. data/spec/extensions/skip_create_refresh_spec.rb +1 -1
  317. data/spec/extensions/spec_helper.rb +34 -67
  318. data/spec/extensions/split_array_nil_spec.rb +24 -0
  319. data/spec/extensions/sql_expr_spec.rb +29 -60
  320. data/spec/extensions/static_cache_spec.rb +145 -0
  321. data/spec/extensions/subclasses_spec.rb +14 -0
  322. data/spec/extensions/tactical_eager_loading_spec.rb +17 -19
  323. data/spec/extensions/thread_local_timezones_spec.rb +22 -2
  324. data/spec/extensions/timestamps_spec.rb +6 -6
  325. data/spec/extensions/to_dot_spec.rb +8 -11
  326. data/spec/extensions/touch_spec.rb +53 -14
  327. data/spec/extensions/tree_spec.rb +11 -26
  328. data/spec/extensions/typecast_on_load_spec.rb +9 -6
  329. data/spec/extensions/update_primary_key_spec.rb +30 -24
  330. data/spec/extensions/validation_class_methods_spec.rb +77 -68
  331. data/spec/extensions/validation_helpers_spec.rb +48 -37
  332. data/spec/extensions/xml_serializer_spec.rb +29 -4
  333. data/spec/files/transaction_specified_migrations/001_create_alt_basic.rb +4 -0
  334. data/spec/files/transaction_specified_migrations/002_create_basic.rb +4 -0
  335. data/spec/files/transaction_unspecified_migrations/001_create_alt_basic.rb +3 -0
  336. data/spec/files/transaction_unspecified_migrations/002_create_basic.rb +3 -0
  337. data/spec/integration/associations_test.rb +659 -21
  338. data/spec/integration/database_test.rb +25 -5
  339. data/spec/integration/dataset_test.rb +729 -141
  340. data/spec/integration/eager_loader_test.rb +38 -54
  341. data/spec/integration/migrator_test.rb +2 -3
  342. data/spec/integration/model_test.rb +81 -2
  343. data/spec/integration/plugin_test.rb +871 -160
  344. data/spec/integration/prepared_statement_test.rb +272 -128
  345. data/spec/integration/schema_test.rb +377 -57
  346. data/spec/integration/spec_helper.rb +49 -32
  347. data/spec/integration/timezone_test.rb +38 -12
  348. data/spec/integration/transaction_test.rb +183 -8
  349. data/spec/integration/type_test.rb +40 -8
  350. data/spec/model/association_reflection_spec.rb +207 -8
  351. data/spec/model/associations_spec.rb +1206 -693
  352. data/spec/model/base_spec.rb +334 -100
  353. data/spec/model/dataset_methods_spec.rb +45 -27
  354. data/spec/model/eager_loading_spec.rb +828 -692
  355. data/spec/model/hooks_spec.rb +355 -67
  356. data/spec/model/model_spec.rb +251 -179
  357. data/spec/model/plugins_spec.rb +24 -13
  358. data/spec/model/record_spec.rb +506 -232
  359. data/spec/model/spec_helper.rb +16 -77
  360. data/spec/model/validations_spec.rb +38 -2
  361. data/spec/rcov.opts +2 -0
  362. metadata +223 -81
  363. data/spec/core/core_sql_spec.rb +0 -451
@@ -1,86 +1,23 @@
1
1
  require 'rubygems'
2
- unless Object.const_defined?('Sequel')
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/core'
4
+ require 'sequel/no_core_ext'
5
5
  end
6
- unless Sequel.const_defined?('Model')
7
- $:.unshift(File.join(File.dirname(File.expand_path(__FILE__)), "../../lib/"))
8
- require 'sequel/model'
9
- end
10
-
11
- class MockDataset < Sequel::Dataset
12
- def insert(*args)
13
- @db.execute insert_sql(*args)
14
- end
15
-
16
- def update(*args)
17
- @db.execute update_sql(*args)
18
- 1
19
- end
20
-
21
- def delete(*args)
22
- @db.execute delete_sql(*args)
23
- 1
24
- end
25
-
26
- def fetch_rows(sql)
27
- return if sql =~ /information_schema/
28
- @db.execute(sql)
29
- yield({:id => 1, :x => 1})
30
- end
31
6
 
32
- def quoted_identifier(c)
33
- "\"#{c}\""
34
- end
7
+ if ENV['SEQUEL_COLUMNS_INTROSPECTION']
8
+ Sequel.extension :columns_introspection
9
+ Sequel::Dataset.introspect_all_columns
35
10
  end
36
11
 
37
- class MockDatabase < Sequel::Database
38
- @@quote_identifiers = false
39
- self.identifier_input_method = nil
40
- self.identifier_output_method = nil
41
- attr_reader :sqls
42
-
43
- def execute(sql, opts={})
44
- @sqls ||= []
45
- @sqls << sql
46
- end
47
-
48
- def reset
49
- @sqls = []
50
- end
51
-
52
- def schema(table_name, opts)
53
- if table_name
54
- [[:id, {:primary_key=>true}]]
55
- else
56
- {table_name=>[[:id, {:primary_key=>true}]]}
57
- end
58
- end
59
-
60
- def transaction(opts={})
61
- return yield if @transactions.include?(Thread.current)
62
- execute('BEGIN')
63
- begin
64
- @transactions << Thread.current
65
- yield
66
- rescue Exception => e
67
- execute('ROLLBACK')
68
- transaction_error(e)
69
- ensure
70
- unless e
71
- execute('COMMIT')
72
- end
73
- @transactions.delete(Thread.current)
74
- end
75
- end
76
-
77
- def dataset(opts=nil); MockDataset.new(self, opts); end
78
- end
12
+ Sequel.quote_identifiers = false
13
+ Sequel.identifier_input_method = nil
14
+ Sequel.identifier_output_method = nil
79
15
 
80
16
  class << Sequel::Model
17
+ attr_writer :db_schema
81
18
  alias orig_columns columns
82
19
  def columns(*cols)
83
- return if cols.empty?
20
+ return super if cols.empty?
84
21
  define_method(:columns){cols}
85
22
  @dataset.instance_variable_set(:@columns, cols) if @dataset
86
23
  def_column_accessor(*cols)
@@ -88,10 +25,12 @@ class << Sequel::Model
88
25
  @db_schema = {}
89
26
  cols.each{|c| @db_schema[c] = {}}
90
27
  end
91
- def simple_table
92
- nil
93
- end
94
28
  end
95
29
 
96
30
  Sequel::Model.use_transactions = false
97
- Sequel::Model.db = MODEL_DB = MockDatabase.new
31
+ Sequel::Model.cache_anonymous_models = false
32
+
33
+ db = Sequel.mock(:fetch=>{:id => 1, :x => 1}, :numrows=>1, :autoid=>proc{|sql| 10})
34
+ def db.schema(*) [[:id, {:primary_key=>true}]] end
35
+ def db.reset() sqls end
36
+ Sequel::Model.db = MODEL_DB = db
@@ -61,6 +61,17 @@ describe Sequel::Model::Errors do
61
61
  msgs.should include('blow blieuh', 'blow blich', 'blay bliu')
62
62
  end
63
63
 
64
+ specify "should not add column names for LiteralStrings" do
65
+ @errors.full_messages.should == []
66
+
67
+ @errors[:blow] << 'blieuh'
68
+ @errors[:blow] << Sequel.lit('blich')
69
+ @errors[:blay] << 'bliu'
70
+ msgs = @errors.full_messages
71
+ msgs.size.should == 3
72
+ msgs.should include('blow blieuh', 'blich', 'blay bliu')
73
+ end
74
+
64
75
  specify "should return the number of error messages using #count" do
65
76
  @errors.count.should == 0
66
77
  @errors.add(:a, 'b')
@@ -117,6 +128,28 @@ describe Sequel::Model do
117
128
  @o.errors[:blah].should be_empty
118
129
  end
119
130
 
131
+ specify "should allow raising of ValidationFailed with a Model instance with errors" do
132
+ @o.errors.add(:score, 'is too low')
133
+ begin
134
+ raise Sequel::ValidationFailed, @o
135
+ rescue Sequel::ValidationFailed => e
136
+ end
137
+ e.model.should equal(@o)
138
+ e.errors.should equal(@o.errors)
139
+ e.message.should == 'score is too low'
140
+ end
141
+
142
+ specify "should allow raising of ValidationFailed with an Errors instance" do
143
+ @o.errors.add(:score, 'is too low')
144
+ begin
145
+ raise Sequel::ValidationFailed, @o.errors
146
+ rescue Sequel::ValidationFailed => e
147
+ end
148
+ e.model.should be_nil
149
+ e.errors.should equal(@o.errors)
150
+ e.message.should == 'score is too low'
151
+ end
152
+
120
153
  specify "should allow raising of ValidationFailed with a string" do
121
154
  proc{raise Sequel::ValidationFailed, "no reason"}.should raise_error(Sequel::ValidationFailed, "no reason")
122
155
  end
@@ -154,8 +187,11 @@ describe "Model#save" do
154
187
  MODEL_DB.sqls.should == ['UPDATE people SET x = 6 WHERE (id = 4)']
155
188
  end
156
189
 
157
- specify "should raise error if validations fail and raise_on_save_faiure is true" do
158
- proc{@m.save}.should raise_error(Sequel::ValidationFailed){|e| e.errors.should == @m.errors }
190
+ specify "should raise error if validations fail and raise_on_save_failure is true" do
191
+ proc{@m.save}.should(raise_error(Sequel::ValidationFailed) do |e|
192
+ e.model.should equal(@m)
193
+ e.errors.should equal(@m.errors)
194
+ end)
159
195
  end
160
196
 
161
197
  specify "should raise error if validations fail and :raise_on_failure option is true" do
data/spec/rcov.opts CHANGED
@@ -4,3 +4,5 @@ gems
4
4
  spec
5
5
  --exclude
6
6
  00*
7
+ --threshold
8
+ 100
metadata CHANGED
@@ -1,50 +1,49 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: sequel
3
- version: !ruby/object:Gem::Version
4
- hash: 83
5
- prerelease: false
6
- segments:
7
- - 3
8
- - 21
9
- - 0
10
- version: 3.21.0
3
+ version: !ruby/object:Gem::Version
4
+ version: 3.41.0
5
+ prerelease:
11
6
  platform: ruby
12
- authors:
7
+ authors:
13
8
  - Jeremy Evans
14
9
  autorequire:
15
10
  bindir: bin
16
11
  cert_chain: []
17
-
18
- date: 2011-03-01 00:00:00 -08:00
19
- default_executable:
12
+ date: 2012-11-01 00:00:00.000000000 Z
20
13
  dependencies: []
21
-
22
14
  description: The Database Toolkit for Ruby
23
15
  email: code@jeremyevans.net
24
- executables:
16
+ executables:
25
17
  - sequel
26
18
  extensions: []
27
-
28
- extra_rdoc_files:
19
+ extra_rdoc_files:
29
20
  - README.rdoc
30
21
  - CHANGELOG
31
22
  - MIT-LICENSE
23
+ - doc/active_record.rdoc
32
24
  - doc/advanced_associations.rdoc
25
+ - doc/association_basics.rdoc
33
26
  - doc/cheat_sheet.rdoc
27
+ - doc/dataset_basics.rdoc
34
28
  - doc/dataset_filtering.rdoc
29
+ - doc/migration.rdoc
30
+ - doc/model_hooks.rdoc
35
31
  - doc/opening_databases.rdoc
36
32
  - doc/prepared_statements.rdoc
33
+ - doc/querying.rdoc
37
34
  - doc/reflection.rdoc
38
35
  - doc/sharding.rdoc
39
36
  - doc/sql.rdoc
40
- - doc/virtual_rows.rdoc
41
- - doc/dataset_basics.rdoc
42
- - doc/association_basics.rdoc
43
- - doc/querying.rdoc
44
- - doc/migration.rdoc
45
37
  - doc/validations.rdoc
46
- - doc/model_hooks.rdoc
47
- - doc/active_record.rdoc
38
+ - doc/virtual_rows.rdoc
39
+ - doc/mass_assignment.rdoc
40
+ - doc/testing.rdoc
41
+ - doc/schema_modification.rdoc
42
+ - doc/transactions.rdoc
43
+ - doc/thread_safety.rdoc
44
+ - doc/object_model.rdoc
45
+ - doc/core_extensions.rdoc
46
+ - doc/bin_sequel.rdoc
48
47
  - doc/release_notes/1.0.txt
49
48
  - doc/release_notes/1.1.txt
50
49
  - doc/release_notes/1.3.txt
@@ -65,14 +64,6 @@ extra_rdoc_files:
65
64
  - doc/release_notes/2.9.0.txt
66
65
  - doc/release_notes/3.0.0.txt
67
66
  - doc/release_notes/3.1.0.txt
68
- - doc/release_notes/3.2.0.txt
69
- - doc/release_notes/3.3.0.txt
70
- - doc/release_notes/3.4.0.txt
71
- - doc/release_notes/3.5.0.txt
72
- - doc/release_notes/3.6.0.txt
73
- - doc/release_notes/3.7.0.txt
74
- - doc/release_notes/3.8.0.txt
75
- - doc/release_notes/3.9.0.txt
76
67
  - doc/release_notes/3.10.0.txt
77
68
  - doc/release_notes/3.11.0.txt
78
69
  - doc/release_notes/3.12.0.txt
@@ -83,19 +74,53 @@ extra_rdoc_files:
83
74
  - doc/release_notes/3.17.0.txt
84
75
  - doc/release_notes/3.18.0.txt
85
76
  - doc/release_notes/3.19.0.txt
77
+ - doc/release_notes/3.2.0.txt
86
78
  - doc/release_notes/3.20.0.txt
87
79
  - doc/release_notes/3.21.0.txt
88
- files:
80
+ - doc/release_notes/3.22.0.txt
81
+ - doc/release_notes/3.23.0.txt
82
+ - doc/release_notes/3.24.0.txt
83
+ - doc/release_notes/3.25.0.txt
84
+ - doc/release_notes/3.3.0.txt
85
+ - doc/release_notes/3.4.0.txt
86
+ - doc/release_notes/3.5.0.txt
87
+ - doc/release_notes/3.6.0.txt
88
+ - doc/release_notes/3.7.0.txt
89
+ - doc/release_notes/3.8.0.txt
90
+ - doc/release_notes/3.9.0.txt
91
+ - doc/release_notes/3.26.0.txt
92
+ - doc/release_notes/3.27.0.txt
93
+ - doc/release_notes/3.28.0.txt
94
+ - doc/release_notes/3.29.0.txt
95
+ - doc/release_notes/3.30.0.txt
96
+ - doc/release_notes/3.31.0.txt
97
+ - doc/release_notes/3.32.0.txt
98
+ - doc/release_notes/3.33.0.txt
99
+ - doc/release_notes/3.34.0.txt
100
+ - doc/release_notes/3.35.0.txt
101
+ - doc/release_notes/3.36.0.txt
102
+ - doc/release_notes/3.37.0.txt
103
+ - doc/release_notes/3.38.0.txt
104
+ - doc/release_notes/3.39.0.txt
105
+ - doc/release_notes/3.40.0.txt
106
+ - doc/release_notes/3.41.0.txt
107
+ files:
89
108
  - MIT-LICENSE
90
109
  - CHANGELOG
91
110
  - README.rdoc
92
111
  - Rakefile
93
112
  - bin/sequel
113
+ - doc/active_record.rdoc
94
114
  - doc/advanced_associations.rdoc
115
+ - doc/association_basics.rdoc
95
116
  - doc/cheat_sheet.rdoc
117
+ - doc/dataset_basics.rdoc
96
118
  - doc/dataset_filtering.rdoc
119
+ - doc/migration.rdoc
120
+ - doc/model_hooks.rdoc
97
121
  - doc/opening_databases.rdoc
98
122
  - doc/prepared_statements.rdoc
123
+ - doc/querying.rdoc
99
124
  - doc/reflection.rdoc
100
125
  - doc/release_notes/1.0.txt
101
126
  - doc/release_notes/1.1.txt
@@ -117,14 +142,6 @@ files:
117
142
  - doc/release_notes/2.9.0.txt
118
143
  - doc/release_notes/3.0.0.txt
119
144
  - doc/release_notes/3.1.0.txt
120
- - doc/release_notes/3.2.0.txt
121
- - doc/release_notes/3.3.0.txt
122
- - doc/release_notes/3.4.0.txt
123
- - doc/release_notes/3.5.0.txt
124
- - doc/release_notes/3.6.0.txt
125
- - doc/release_notes/3.7.0.txt
126
- - doc/release_notes/3.8.0.txt
127
- - doc/release_notes/3.9.0.txt
128
145
  - doc/release_notes/3.10.0.txt
129
146
  - doc/release_notes/3.11.0.txt
130
147
  - doc/release_notes/3.12.0.txt
@@ -135,18 +152,48 @@ files:
135
152
  - doc/release_notes/3.17.0.txt
136
153
  - doc/release_notes/3.18.0.txt
137
154
  - doc/release_notes/3.19.0.txt
155
+ - doc/release_notes/3.2.0.txt
138
156
  - doc/release_notes/3.20.0.txt
139
157
  - doc/release_notes/3.21.0.txt
158
+ - doc/release_notes/3.22.0.txt
159
+ - doc/release_notes/3.23.0.txt
160
+ - doc/release_notes/3.24.0.txt
161
+ - doc/release_notes/3.25.0.txt
162
+ - doc/release_notes/3.3.0.txt
163
+ - doc/release_notes/3.4.0.txt
164
+ - doc/release_notes/3.5.0.txt
165
+ - doc/release_notes/3.6.0.txt
166
+ - doc/release_notes/3.7.0.txt
167
+ - doc/release_notes/3.8.0.txt
168
+ - doc/release_notes/3.9.0.txt
169
+ - doc/release_notes/3.26.0.txt
170
+ - doc/release_notes/3.27.0.txt
171
+ - doc/release_notes/3.28.0.txt
172
+ - doc/release_notes/3.29.0.txt
173
+ - doc/release_notes/3.30.0.txt
174
+ - doc/release_notes/3.31.0.txt
175
+ - doc/release_notes/3.32.0.txt
176
+ - doc/release_notes/3.33.0.txt
177
+ - doc/release_notes/3.34.0.txt
178
+ - doc/release_notes/3.35.0.txt
179
+ - doc/release_notes/3.36.0.txt
180
+ - doc/release_notes/3.37.0.txt
181
+ - doc/release_notes/3.38.0.txt
182
+ - doc/release_notes/3.39.0.txt
183
+ - doc/release_notes/3.40.0.txt
184
+ - doc/release_notes/3.41.0.txt
140
185
  - doc/sharding.rdoc
141
186
  - doc/sql.rdoc
142
- - doc/virtual_rows.rdoc
143
- - doc/dataset_basics.rdoc
144
- - doc/association_basics.rdoc
145
- - doc/querying.rdoc
146
- - doc/migration.rdoc
147
187
  - doc/validations.rdoc
148
- - doc/model_hooks.rdoc
149
- - doc/active_record.rdoc
188
+ - doc/virtual_rows.rdoc
189
+ - doc/mass_assignment.rdoc
190
+ - doc/testing.rdoc
191
+ - doc/schema_modification.rdoc
192
+ - doc/transactions.rdoc
193
+ - doc/thread_safety.rdoc
194
+ - doc/object_model.rdoc
195
+ - doc/core_extensions.rdoc
196
+ - doc/bin_sequel.rdoc
150
197
  - spec/adapters/firebird_spec.rb
151
198
  - spec/adapters/informix_spec.rb
152
199
  - spec/adapters/mssql_spec.rb
@@ -155,16 +202,17 @@ files:
155
202
  - spec/adapters/postgres_spec.rb
156
203
  - spec/adapters/spec_helper.rb
157
204
  - spec/adapters/sqlite_spec.rb
205
+ - spec/adapters/db2_spec.rb
158
206
  - spec/core/connection_pool_spec.rb
159
- - spec/core/core_sql_spec.rb
160
- - spec/core/database_spec.rb
161
207
  - spec/core/dataset_spec.rb
208
+ - spec/core/database_spec.rb
162
209
  - spec/core/expression_filters_spec.rb
210
+ - spec/core/schema_spec.rb
163
211
  - spec/core/object_graph_spec.rb
164
212
  - spec/core/schema_generator_spec.rb
165
- - spec/core/schema_spec.rb
166
213
  - spec/core/spec_helper.rb
167
214
  - spec/core/version_spec.rb
215
+ - spec/core/mock_adapter_spec.rb
168
216
  - spec/extensions/active_model_spec.rb
169
217
  - spec/extensions/association_dependencies_spec.rb
170
218
  - spec/extensions/association_proxies_spec.rb
@@ -198,9 +246,7 @@ files:
198
246
  - spec/extensions/tactical_eager_loading_spec.rb
199
247
  - spec/extensions/thread_local_timezones_spec.rb
200
248
  - spec/extensions/timestamps_spec.rb
201
- - spec/extensions/touch_spec.rb
202
249
  - spec/extensions/typecast_on_load_spec.rb
203
- - spec/extensions/validation_class_methods_spec.rb
204
250
  - spec/extensions/validation_helpers_spec.rb
205
251
  - spec/extensions/composition_spec.rb
206
252
  - spec/extensions/rcte_tree_spec.rb
@@ -211,11 +257,51 @@ files:
211
257
  - spec/extensions/update_primary_key_spec.rb
212
258
  - spec/extensions/association_pks_spec.rb
213
259
  - spec/extensions/json_serializer_spec.rb
260
+ - spec/extensions/eager_each_spec.rb
214
261
  - spec/extensions/list_spec.rb
215
262
  - spec/extensions/tree_spec.rb
216
263
  - spec/extensions/xml_serializer_spec.rb
217
264
  - spec/extensions/to_dot_spec.rb
218
265
  - spec/extensions/association_autoreloading_spec.rb
266
+ - spec/extensions/serialization_modification_detection_spec.rb
267
+ - spec/extensions/defaults_setter_spec.rb
268
+ - spec/extensions/prepared_statements_spec.rb
269
+ - spec/extensions/prepared_statements_safe_spec.rb
270
+ - spec/extensions/prepared_statements_with_pk_spec.rb
271
+ - spec/extensions/prepared_statements_associations_spec.rb
272
+ - spec/extensions/dataset_associations_spec.rb
273
+ - spec/extensions/arbitrary_servers_spec.rb
274
+ - spec/extensions/touch_spec.rb
275
+ - spec/extensions/server_block_spec.rb
276
+ - spec/extensions/pg_auto_parameterize_spec.rb
277
+ - spec/extensions/pg_statement_cache_spec.rb
278
+ - spec/extensions/pg_array_spec.rb
279
+ - spec/extensions/pg_array_ops_spec.rb
280
+ - spec/extensions/pg_hstore_spec.rb
281
+ - spec/extensions/pg_hstore_ops_spec.rb
282
+ - spec/extensions/schema_caching_spec.rb
283
+ - spec/extensions/null_dataset_spec.rb
284
+ - spec/extensions/many_to_one_pk_lookup_spec.rb
285
+ - spec/extensions/select_remove_spec.rb
286
+ - spec/extensions/static_cache_spec.rb
287
+ - spec/extensions/query_literals_spec.rb
288
+ - spec/extensions/dirty_spec.rb
289
+ - spec/extensions/pg_json_spec.rb
290
+ - spec/extensions/pg_inet_spec.rb
291
+ - spec/extensions/eval_inspect_spec.rb
292
+ - spec/extensions/pg_range_spec.rb
293
+ - spec/extensions/split_array_nil_spec.rb
294
+ - spec/extensions/pg_range_ops_spec.rb
295
+ - spec/extensions/pg_interval_spec.rb
296
+ - spec/extensions/columns_introspection_spec.rb
297
+ - spec/extensions/pg_row_ops_spec.rb
298
+ - spec/extensions/pg_row_plugin_spec.rb
299
+ - spec/extensions/pg_row_spec.rb
300
+ - spec/extensions/pg_typecast_on_load_spec.rb
301
+ - spec/extensions/constraint_validations_plugin_spec.rb
302
+ - spec/extensions/constraint_validations_spec.rb
303
+ - spec/extensions/connection_validator_spec.rb
304
+ - spec/extensions/validation_class_methods_spec.rb
219
305
  - spec/integration/associations_test.rb
220
306
  - spec/integration/database_test.rb
221
307
  - spec/integration/dataset_test.rb
@@ -284,9 +370,15 @@ files:
284
370
  - spec/files/reversible_migrations/003_reversible.rb
285
371
  - spec/files/reversible_migrations/004_reversible.rb
286
372
  - spec/files/reversible_migrations/005_reversible.rb
373
+ - spec/files/transaction_specified_migrations/001_create_alt_basic.rb
374
+ - spec/files/transaction_specified_migrations/002_create_basic.rb
375
+ - spec/files/transaction_unspecified_migrations/001_create_alt_basic.rb
376
+ - spec/files/transaction_unspecified_migrations/002_create_basic.rb
377
+ - spec/core_extensions_spec.rb
287
378
  - lib/sequel.rb
288
379
  - lib/sequel/adapters/ado.rb
289
380
  - lib/sequel/adapters/ado/mssql.rb
381
+ - lib/sequel/adapters/ado/access.rb
290
382
  - lib/sequel/adapters/amalgalite.rb
291
383
  - lib/sequel/adapters/db2.rb
292
384
  - lib/sequel/adapters/dbi.rb
@@ -304,6 +396,16 @@ files:
304
396
  - lib/sequel/adapters/jdbc/postgresql.rb
305
397
  - lib/sequel/adapters/jdbc/sqlite.rb
306
398
  - lib/sequel/adapters/jdbc/as400.rb
399
+ - lib/sequel/adapters/jdbc/informix.rb
400
+ - lib/sequel/adapters/jdbc/jtds.rb
401
+ - lib/sequel/adapters/jdbc/sqlserver.rb
402
+ - lib/sequel/adapters/jdbc/db2.rb
403
+ - lib/sequel/adapters/jdbc/transactions.rb
404
+ - lib/sequel/adapters/jdbc/firebird.rb
405
+ - lib/sequel/adapters/jdbc/hsqldb.rb
406
+ - lib/sequel/adapters/jdbc/derby.rb
407
+ - lib/sequel/adapters/jdbc/progress.rb
408
+ - lib/sequel/adapters/jdbc/cubrid.rb
307
409
  - lib/sequel/adapters/mysql.rb
308
410
  - lib/sequel/adapters/odbc.rb
309
411
  - lib/sequel/adapters/odbc/mssql.rb
@@ -317,21 +419,32 @@ files:
317
419
  - lib/sequel/adapters/shared/progress.rb
318
420
  - lib/sequel/adapters/shared/sqlite.rb
319
421
  - lib/sequel/adapters/shared/access.rb
422
+ - lib/sequel/adapters/shared/informix.rb
423
+ - lib/sequel/adapters/shared/mysql_prepared_statements.rb
424
+ - lib/sequel/adapters/shared/db2.rb
425
+ - lib/sequel/adapters/shared/firebird.rb
426
+ - lib/sequel/adapters/shared/cubrid.rb
320
427
  - lib/sequel/adapters/sqlite.rb
321
428
  - lib/sequel/adapters/utils/stored_procedures.rb
429
+ - lib/sequel/adapters/utils/emulate_offset_with_row_number.rb
430
+ - lib/sequel/adapters/utils/pg_types.rb
431
+ - lib/sequel/adapters/utils/split_alter_table.rb
322
432
  - lib/sequel/adapters/mysql2.rb
323
433
  - lib/sequel/adapters/swift.rb
324
434
  - lib/sequel/adapters/swift/mysql.rb
325
435
  - lib/sequel/adapters/swift/postgres.rb
326
436
  - lib/sequel/adapters/swift/sqlite.rb
327
437
  - lib/sequel/adapters/tinytds.rb
438
+ - lib/sequel/adapters/ibmdb.rb
439
+ - lib/sequel/adapters/mock.rb
440
+ - lib/sequel/adapters/cubrid.rb
328
441
  - lib/sequel/connection_pool.rb
329
442
  - lib/sequel/connection_pool/sharded_single.rb
330
443
  - lib/sequel/connection_pool/sharded_threaded.rb
331
444
  - lib/sequel/connection_pool/single.rb
332
445
  - lib/sequel/connection_pool/threaded.rb
333
446
  - lib/sequel/core.rb
334
- - lib/sequel/core_sql.rb
447
+ - lib/sequel/sql.rb
335
448
  - lib/sequel/database.rb
336
449
  - lib/sequel/database/schema_generator.rb
337
450
  - lib/sequel/database/schema_methods.rb
@@ -364,6 +477,32 @@ files:
364
477
  - lib/sequel/extensions/string_date_time.rb
365
478
  - lib/sequel/extensions/thread_local_timezones.rb
366
479
  - lib/sequel/extensions/to_dot.rb
480
+ - lib/sequel/extensions/arbitrary_servers.rb
481
+ - lib/sequel/extensions/server_block.rb
482
+ - lib/sequel/extensions/pg_auto_parameterize.rb
483
+ - lib/sequel/extensions/pg_statement_cache.rb
484
+ - lib/sequel/extensions/pg_array.rb
485
+ - lib/sequel/extensions/pg_json.rb
486
+ - lib/sequel/extensions/pg_array_ops.rb
487
+ - lib/sequel/extensions/pg_hstore.rb
488
+ - lib/sequel/extensions/pg_hstore_ops.rb
489
+ - lib/sequel/extensions/schema_caching.rb
490
+ - lib/sequel/extensions/null_dataset.rb
491
+ - lib/sequel/extensions/_pretty_table.rb
492
+ - lib/sequel/extensions/columns_introspection.rb
493
+ - lib/sequel/extensions/select_remove.rb
494
+ - lib/sequel/extensions/core_extensions.rb
495
+ - lib/sequel/extensions/query_literals.rb
496
+ - lib/sequel/extensions/pg_inet.rb
497
+ - lib/sequel/extensions/eval_inspect.rb
498
+ - lib/sequel/extensions/pg_range.rb
499
+ - lib/sequel/extensions/split_array_nil.rb
500
+ - lib/sequel/extensions/pg_range_ops.rb
501
+ - lib/sequel/extensions/pg_interval.rb
502
+ - lib/sequel/extensions/pg_row.rb
503
+ - lib/sequel/extensions/pg_row_ops.rb
504
+ - lib/sequel/extensions/constraint_validations.rb
505
+ - lib/sequel/extensions/connection_validator.rb
367
506
  - lib/sequel/metaprogramming.rb
368
507
  - lib/sequel/model.rb
369
508
  - lib/sequel/model/associations.rb
@@ -408,54 +547,57 @@ files:
408
547
  - lib/sequel/plugins/json_serializer.rb
409
548
  - lib/sequel/plugins/list.rb
410
549
  - lib/sequel/plugins/tree.rb
550
+ - lib/sequel/plugins/static_cache.rb
411
551
  - lib/sequel/plugins/xml_serializer.rb
412
552
  - lib/sequel/plugins/association_autoreloading.rb
413
- - lib/sequel/sql.rb
553
+ - lib/sequel/plugins/serialization_modification_detection.rb
554
+ - lib/sequel/plugins/defaults_setter.rb
555
+ - lib/sequel/plugins/prepared_statements.rb
556
+ - lib/sequel/plugins/prepared_statements_safe.rb
557
+ - lib/sequel/plugins/prepared_statements_with_pk.rb
558
+ - lib/sequel/plugins/prepared_statements_associations.rb
559
+ - lib/sequel/plugins/dataset_associations.rb
560
+ - lib/sequel/plugins/many_to_one_pk_lookup.rb
561
+ - lib/sequel/plugins/dirty.rb
562
+ - lib/sequel/plugins/eager_each.rb
563
+ - lib/sequel/plugins/pg_row.rb
564
+ - lib/sequel/plugins/pg_typecast_on_load.rb
565
+ - lib/sequel/plugins/constraint_validations.rb
414
566
  - lib/sequel/timezones.rb
415
567
  - lib/sequel/version.rb
568
+ - lib/sequel/ast_transformer.rb
569
+ - lib/sequel/no_core_ext.rb
416
570
  - lib/sequel_core.rb
417
571
  - lib/sequel_model.rb
418
- has_rdoc: true
419
572
  homepage: http://sequel.rubyforge.org
420
573
  licenses: []
421
-
422
574
  post_install_message:
423
- rdoc_options:
575
+ rdoc_options:
424
576
  - --quiet
425
577
  - --line-numbers
426
578
  - --inline-source
427
579
  - --title
428
- - "Sequel: The Database Toolkit for Ruby"
580
+ - ! 'Sequel: The Database Toolkit for Ruby'
429
581
  - --main
430
582
  - README.rdoc
431
- require_paths:
583
+ require_paths:
432
584
  - lib
433
- required_ruby_version: !ruby/object:Gem::Requirement
585
+ required_ruby_version: !ruby/object:Gem::Requirement
434
586
  none: false
435
- requirements:
436
- - - ">="
437
- - !ruby/object:Gem::Version
438
- hash: 63
439
- segments:
440
- - 1
441
- - 8
442
- - 4
443
- version: 1.8.4
444
- required_rubygems_version: !ruby/object:Gem::Requirement
587
+ requirements:
588
+ - - ! '>='
589
+ - !ruby/object:Gem::Version
590
+ version: 1.8.7
591
+ required_rubygems_version: !ruby/object:Gem::Requirement
445
592
  none: false
446
- requirements:
447
- - - ">="
448
- - !ruby/object:Gem::Version
449
- hash: 3
450
- segments:
451
- - 0
452
- version: "0"
593
+ requirements:
594
+ - - ! '>='
595
+ - !ruby/object:Gem::Version
596
+ version: '0'
453
597
  requirements: []
454
-
455
598
  rubyforge_project: sequel
456
- rubygems_version: 1.3.7
599
+ rubygems_version: 1.8.23
457
600
  signing_key:
458
601
  specification_version: 3
459
602
  summary: The Database Toolkit for Ruby
460
603
  test_files: []
461
-