sequel 4.49.0 → 5.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 (477) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +70 -0
  3. data/README.rdoc +195 -136
  4. data/Rakefile +26 -42
  5. data/bin/sequel +3 -5
  6. data/doc/advanced_associations.rdoc +86 -163
  7. data/doc/association_basics.rdoc +197 -274
  8. data/doc/bin_sequel.rdoc +5 -3
  9. data/doc/cheat_sheet.rdoc +66 -43
  10. data/doc/code_order.rdoc +1 -8
  11. data/doc/core_extensions.rdoc +81 -56
  12. data/doc/dataset_basics.rdoc +8 -17
  13. data/doc/dataset_filtering.rdoc +81 -86
  14. data/doc/extensions.rdoc +3 -10
  15. data/doc/mass_assignment.rdoc +73 -30
  16. data/doc/migration.rdoc +19 -36
  17. data/doc/model_dataset_method_design.rdoc +14 -17
  18. data/doc/model_hooks.rdoc +15 -25
  19. data/doc/model_plugins.rdoc +10 -10
  20. data/doc/mssql_stored_procedures.rdoc +3 -3
  21. data/doc/object_model.rdoc +52 -70
  22. data/doc/opening_databases.rdoc +39 -32
  23. data/doc/postgresql.rdoc +48 -38
  24. data/doc/prepared_statements.rdoc +27 -22
  25. data/doc/querying.rdoc +173 -150
  26. data/doc/reflection.rdoc +5 -6
  27. data/doc/release_notes/5.0.0.txt +159 -0
  28. data/doc/schema_modification.rdoc +63 -60
  29. data/doc/security.rdoc +97 -88
  30. data/doc/sharding.rdoc +43 -30
  31. data/doc/sql.rdoc +53 -65
  32. data/doc/testing.rdoc +3 -5
  33. data/doc/thread_safety.rdoc +2 -4
  34. data/doc/transactions.rdoc +18 -17
  35. data/doc/validations.rdoc +48 -45
  36. data/doc/virtual_rows.rdoc +87 -115
  37. data/lib/sequel.rb +1 -1
  38. data/lib/sequel/adapters/ado.rb +9 -25
  39. data/lib/sequel/adapters/ado/access.rb +7 -13
  40. data/lib/sequel/adapters/ado/mssql.rb +2 -9
  41. data/lib/sequel/adapters/amalgalite.rb +3 -18
  42. data/lib/sequel/adapters/ibmdb.rb +9 -45
  43. data/lib/sequel/adapters/jdbc.rb +13 -73
  44. data/lib/sequel/adapters/jdbc/db2.rb +8 -37
  45. data/lib/sequel/adapters/jdbc/derby.rb +4 -50
  46. data/lib/sequel/adapters/jdbc/h2.rb +4 -25
  47. data/lib/sequel/adapters/jdbc/hsqldb.rb +1 -26
  48. data/lib/sequel/adapters/jdbc/jtds.rb +2 -9
  49. data/lib/sequel/adapters/jdbc/mssql.rb +1 -11
  50. data/lib/sequel/adapters/jdbc/mysql.rb +1 -15
  51. data/lib/sequel/adapters/jdbc/oracle.rb +4 -26
  52. data/lib/sequel/adapters/jdbc/postgresql.rb +2 -31
  53. data/lib/sequel/adapters/jdbc/sqlanywhere.rb +4 -17
  54. data/lib/sequel/adapters/jdbc/sqlite.rb +1 -7
  55. data/lib/sequel/adapters/jdbc/sqlserver.rb +1 -13
  56. data/lib/sequel/adapters/jdbc/transactions.rb +1 -14
  57. data/lib/sequel/adapters/mock.rb +4 -30
  58. data/lib/sequel/adapters/mysql.rb +7 -44
  59. data/lib/sequel/adapters/mysql2.rb +5 -23
  60. data/lib/sequel/adapters/odbc.rb +0 -19
  61. data/lib/sequel/adapters/odbc/db2.rb +1 -1
  62. data/lib/sequel/adapters/odbc/mssql.rb +4 -12
  63. data/lib/sequel/adapters/odbc/oracle.rb +1 -1
  64. data/lib/sequel/adapters/oracle.rb +7 -13
  65. data/lib/sequel/adapters/postgres.rb +13 -57
  66. data/lib/sequel/adapters/postgresql.rb +1 -1
  67. data/lib/sequel/adapters/shared/access.rb +11 -51
  68. data/lib/sequel/adapters/shared/db2.rb +3 -61
  69. data/lib/sequel/adapters/shared/mssql.rb +21 -157
  70. data/lib/sequel/adapters/shared/mysql.rb +23 -224
  71. data/lib/sequel/adapters/shared/oracle.rb +13 -41
  72. data/lib/sequel/adapters/shared/postgres.rb +44 -259
  73. data/lib/sequel/adapters/shared/sqlanywhere.rb +4 -96
  74. data/lib/sequel/adapters/shared/sqlite.rb +12 -101
  75. data/lib/sequel/adapters/sqlanywhere.rb +4 -23
  76. data/lib/sequel/adapters/sqlite.rb +2 -19
  77. data/lib/sequel/adapters/tinytds.rb +5 -15
  78. data/lib/sequel/adapters/utils/emulate_offset_with_row_number.rb +1 -1
  79. data/lib/sequel/adapters/utils/mysql_mysql2.rb +2 -4
  80. data/lib/sequel/adapters/utils/mysql_prepared_statements.rb +3 -6
  81. data/lib/sequel/adapters/utils/replace.rb +0 -5
  82. data/lib/sequel/adapters/utils/stored_procedures.rb +0 -2
  83. data/lib/sequel/adapters/utils/unmodified_identifiers.rb +2 -0
  84. data/lib/sequel/ast_transformer.rb +3 -94
  85. data/lib/sequel/connection_pool.rb +26 -28
  86. data/lib/sequel/connection_pool/sharded_single.rb +1 -4
  87. data/lib/sequel/connection_pool/sharded_threaded.rb +97 -95
  88. data/lib/sequel/connection_pool/single.rb +0 -2
  89. data/lib/sequel/connection_pool/threaded.rb +94 -110
  90. data/lib/sequel/core.rb +42 -101
  91. data/lib/sequel/database.rb +12 -2
  92. data/lib/sequel/database/connecting.rb +23 -60
  93. data/lib/sequel/database/dataset.rb +6 -9
  94. data/lib/sequel/database/dataset_defaults.rb +4 -48
  95. data/lib/sequel/database/features.rb +5 -4
  96. data/lib/sequel/database/logging.rb +2 -9
  97. data/lib/sequel/database/misc.rb +23 -55
  98. data/lib/sequel/database/query.rb +8 -13
  99. data/lib/sequel/database/schema_generator.rb +89 -64
  100. data/lib/sequel/database/schema_methods.rb +61 -79
  101. data/lib/sequel/database/transactions.rb +4 -24
  102. data/lib/sequel/dataset.rb +18 -10
  103. data/lib/sequel/dataset/actions.rb +53 -107
  104. data/lib/sequel/dataset/dataset_module.rb +3 -15
  105. data/lib/sequel/dataset/features.rb +30 -30
  106. data/lib/sequel/dataset/graph.rb +40 -49
  107. data/lib/sequel/dataset/misc.rb +12 -37
  108. data/lib/sequel/dataset/placeholder_literalizer.rb +4 -4
  109. data/lib/sequel/dataset/prepared_statements.rb +23 -51
  110. data/lib/sequel/dataset/query.rb +71 -155
  111. data/lib/sequel/dataset/sql.rb +30 -225
  112. data/lib/sequel/deprecated.rb +18 -27
  113. data/lib/sequel/exceptions.rb +1 -17
  114. data/lib/sequel/extensions/_model_pg_row.rb +0 -7
  115. data/lib/sequel/extensions/_pretty_table.rb +1 -3
  116. data/lib/sequel/extensions/arbitrary_servers.rb +10 -10
  117. data/lib/sequel/extensions/connection_expiration.rb +1 -1
  118. data/lib/sequel/extensions/connection_validator.rb +1 -1
  119. data/lib/sequel/extensions/constraint_validations.rb +11 -11
  120. data/lib/sequel/extensions/core_extensions.rb +39 -49
  121. data/lib/sequel/extensions/core_refinements.rb +39 -45
  122. data/lib/sequel/extensions/current_datetime_timestamp.rb +0 -4
  123. data/lib/sequel/extensions/date_arithmetic.rb +7 -7
  124. data/lib/sequel/extensions/duplicate_columns_handler.rb +12 -9
  125. data/lib/sequel/extensions/empty_array_consider_nulls.rb +2 -2
  126. data/lib/sequel/extensions/eval_inspect.rb +4 -11
  127. data/lib/sequel/extensions/freeze_datasets.rb +1 -69
  128. data/lib/sequel/extensions/from_block.rb +1 -35
  129. data/lib/sequel/extensions/graph_each.rb +2 -2
  130. data/lib/sequel/extensions/identifier_mangling.rb +9 -19
  131. data/lib/sequel/extensions/implicit_subquery.rb +2 -2
  132. data/lib/sequel/extensions/inflector.rb +4 -4
  133. data/lib/sequel/extensions/migration.rb +23 -40
  134. data/lib/sequel/extensions/no_auto_literal_strings.rb +2 -84
  135. data/lib/sequel/extensions/null_dataset.rb +2 -8
  136. data/lib/sequel/extensions/pagination.rb +1 -17
  137. data/lib/sequel/extensions/pg_array.rb +20 -189
  138. data/lib/sequel/extensions/pg_hstore.rb +11 -50
  139. data/lib/sequel/extensions/pg_hstore_ops.rb +2 -2
  140. data/lib/sequel/extensions/pg_inet.rb +2 -15
  141. data/lib/sequel/extensions/pg_interval.rb +1 -20
  142. data/lib/sequel/extensions/pg_json.rb +7 -27
  143. data/lib/sequel/extensions/pg_loose_count.rb +1 -1
  144. data/lib/sequel/extensions/pg_range.rb +6 -121
  145. data/lib/sequel/extensions/pg_range_ops.rb +1 -3
  146. data/lib/sequel/extensions/pg_row.rb +5 -77
  147. data/lib/sequel/extensions/pg_row_ops.rb +2 -13
  148. data/lib/sequel/extensions/query.rb +3 -4
  149. data/lib/sequel/extensions/round_timestamps.rb +0 -6
  150. data/lib/sequel/extensions/schema_dumper.rb +13 -13
  151. data/lib/sequel/extensions/select_remove.rb +3 -3
  152. data/lib/sequel/extensions/split_array_nil.rb +2 -2
  153. data/lib/sequel/extensions/sql_comments.rb +2 -2
  154. data/lib/sequel/extensions/string_agg.rb +11 -8
  155. data/lib/sequel/extensions/symbol_aref.rb +6 -20
  156. data/lib/sequel/model.rb +27 -62
  157. data/lib/sequel/model/associations.rb +128 -131
  158. data/lib/sequel/model/base.rb +171 -711
  159. data/lib/sequel/model/default_inflections.rb +1 -1
  160. data/lib/sequel/model/errors.rb +0 -3
  161. data/lib/sequel/model/exceptions.rb +2 -6
  162. data/lib/sequel/model/inflections.rb +1 -26
  163. data/lib/sequel/model/plugins.rb +1 -0
  164. data/lib/sequel/plugins/active_model.rb +2 -5
  165. data/lib/sequel/plugins/association_dependencies.rb +15 -15
  166. data/lib/sequel/plugins/association_pks.rb +14 -28
  167. data/lib/sequel/plugins/association_proxies.rb +6 -7
  168. data/lib/sequel/plugins/auto_validations.rb +4 -4
  169. data/lib/sequel/plugins/before_after_save.rb +0 -43
  170. data/lib/sequel/plugins/blacklist_security.rb +9 -8
  171. data/lib/sequel/plugins/boolean_readers.rb +3 -3
  172. data/lib/sequel/plugins/boolean_subsets.rb +2 -2
  173. data/lib/sequel/plugins/caching.rb +5 -5
  174. data/lib/sequel/plugins/class_table_inheritance.rb +71 -102
  175. data/lib/sequel/plugins/column_conflicts.rb +2 -2
  176. data/lib/sequel/plugins/column_select.rb +2 -2
  177. data/lib/sequel/plugins/composition.rb +15 -24
  178. data/lib/sequel/plugins/constraint_validations.rb +4 -3
  179. data/lib/sequel/plugins/csv_serializer.rb +13 -20
  180. data/lib/sequel/plugins/dataset_associations.rb +2 -2
  181. data/lib/sequel/plugins/def_dataset_method.rb +5 -5
  182. data/lib/sequel/plugins/defaults_setter.rb +1 -1
  183. data/lib/sequel/plugins/delay_add_association.rb +1 -1
  184. data/lib/sequel/plugins/finder.rb +16 -10
  185. data/lib/sequel/plugins/force_encoding.rb +1 -7
  186. data/lib/sequel/plugins/hook_class_methods.rb +4 -106
  187. data/lib/sequel/plugins/input_transformer.rb +10 -11
  188. data/lib/sequel/plugins/insert_returning_select.rb +1 -9
  189. data/lib/sequel/plugins/instance_filters.rb +5 -5
  190. data/lib/sequel/plugins/instance_hooks.rb +7 -52
  191. data/lib/sequel/plugins/inverted_subsets.rb +3 -1
  192. data/lib/sequel/plugins/json_serializer.rb +19 -19
  193. data/lib/sequel/plugins/lazy_attributes.rb +1 -10
  194. data/lib/sequel/plugins/list.rb +6 -6
  195. data/lib/sequel/plugins/many_through_many.rb +11 -8
  196. data/lib/sequel/plugins/mssql_optimistic_locking.rb +3 -3
  197. data/lib/sequel/plugins/nested_attributes.rb +18 -31
  198. data/lib/sequel/plugins/optimistic_locking.rb +3 -3
  199. data/lib/sequel/plugins/pg_array_associations.rb +8 -2
  200. data/lib/sequel/plugins/pg_row.rb +2 -11
  201. data/lib/sequel/plugins/prepared_statements.rb +13 -66
  202. data/lib/sequel/plugins/prepared_statements_safe.rb +1 -1
  203. data/lib/sequel/plugins/rcte_tree.rb +7 -7
  204. data/lib/sequel/plugins/serialization.rb +15 -33
  205. data/lib/sequel/plugins/serialization_modification_detection.rb +1 -1
  206. data/lib/sequel/plugins/sharding.rb +2 -8
  207. data/lib/sequel/plugins/single_table_inheritance.rb +10 -13
  208. data/lib/sequel/plugins/skip_create_refresh.rb +3 -3
  209. data/lib/sequel/plugins/static_cache.rb +8 -9
  210. data/lib/sequel/plugins/string_stripper.rb +3 -3
  211. data/lib/sequel/plugins/subclasses.rb +1 -1
  212. data/lib/sequel/plugins/subset_conditions.rb +2 -2
  213. data/lib/sequel/plugins/table_select.rb +2 -2
  214. data/lib/sequel/plugins/tactical_eager_loading.rb +4 -4
  215. data/lib/sequel/plugins/timestamps.rb +6 -7
  216. data/lib/sequel/plugins/touch.rb +4 -8
  217. data/lib/sequel/plugins/tree.rb +3 -3
  218. data/lib/sequel/plugins/typecast_on_load.rb +2 -2
  219. data/lib/sequel/plugins/unlimited_update.rb +1 -7
  220. data/lib/sequel/plugins/update_or_create.rb +3 -3
  221. data/lib/sequel/plugins/update_refresh.rb +3 -3
  222. data/lib/sequel/plugins/uuid.rb +7 -11
  223. data/lib/sequel/plugins/validation_class_methods.rb +10 -9
  224. data/lib/sequel/plugins/validation_contexts.rb +4 -4
  225. data/lib/sequel/plugins/validation_helpers.rb +26 -25
  226. data/lib/sequel/plugins/whitelist_security.rb +13 -9
  227. data/lib/sequel/plugins/xml_serializer.rb +24 -25
  228. data/lib/sequel/sql.rb +145 -276
  229. data/lib/sequel/timezones.rb +8 -22
  230. data/lib/sequel/version.rb +2 -2
  231. data/spec/adapter_spec.rb +1 -1
  232. data/spec/adapters/db2_spec.rb +2 -103
  233. data/spec/adapters/mssql_spec.rb +89 -68
  234. data/spec/adapters/mysql_spec.rb +101 -480
  235. data/spec/adapters/oracle_spec.rb +1 -9
  236. data/spec/adapters/postgres_spec.rb +312 -565
  237. data/spec/adapters/spec_helper.rb +12 -31
  238. data/spec/adapters/sqlanywhere_spec.rb +2 -77
  239. data/spec/adapters/sqlite_spec.rb +8 -146
  240. data/spec/bin_spec.rb +11 -16
  241. data/spec/core/connection_pool_spec.rb +173 -74
  242. data/spec/core/database_spec.rb +64 -244
  243. data/spec/core/dataset_spec.rb +81 -415
  244. data/spec/core/deprecated_spec.rb +3 -3
  245. data/spec/core/expression_filters_spec.rb +37 -144
  246. data/spec/core/mock_adapter_spec.rb +176 -4
  247. data/spec/core/object_graph_spec.rb +11 -60
  248. data/spec/core/placeholder_literalizer_spec.rb +1 -14
  249. data/spec/core/schema_generator_spec.rb +51 -40
  250. data/spec/core/schema_spec.rb +74 -77
  251. data/spec/core/spec_helper.rb +6 -24
  252. data/spec/core/version_spec.rb +1 -1
  253. data/spec/core_extensions_spec.rb +7 -83
  254. data/spec/core_model_spec.rb +2 -2
  255. data/spec/deprecation_helper.rb +2 -14
  256. data/spec/extensions/accessed_columns_spec.rb +1 -1
  257. data/spec/extensions/active_model_spec.rb +3 -3
  258. data/spec/extensions/after_initialize_spec.rb +1 -1
  259. data/spec/extensions/arbitrary_servers_spec.rb +2 -2
  260. data/spec/extensions/association_dependencies_spec.rb +1 -1
  261. data/spec/extensions/association_pks_spec.rb +4 -59
  262. data/spec/extensions/association_proxies_spec.rb +1 -1
  263. data/spec/extensions/auto_literal_strings_spec.rb +1 -12
  264. data/spec/extensions/auto_validations_spec.rb +1 -1
  265. data/spec/extensions/blacklist_security_spec.rb +1 -1
  266. data/spec/extensions/blank_spec.rb +1 -1
  267. data/spec/extensions/boolean_readers_spec.rb +1 -1
  268. data/spec/extensions/boolean_subsets_spec.rb +1 -1
  269. data/spec/extensions/caching_spec.rb +1 -1
  270. data/spec/extensions/class_table_inheritance_spec.rb +35 -1086
  271. data/spec/extensions/column_conflicts_spec.rb +1 -1
  272. data/spec/extensions/column_select_spec.rb +4 -4
  273. data/spec/extensions/columns_introspection_spec.rb +1 -1
  274. data/spec/extensions/columns_updated_spec.rb +1 -1
  275. data/spec/extensions/composition_spec.rb +1 -7
  276. data/spec/extensions/connection_expiration_spec.rb +3 -3
  277. data/spec/extensions/connection_validator_spec.rb +3 -3
  278. data/spec/extensions/constraint_validations_plugin_spec.rb +1 -1
  279. data/spec/extensions/constraint_validations_spec.rb +1 -1
  280. data/spec/extensions/core_refinements_spec.rb +1 -3
  281. data/spec/extensions/csv_serializer_spec.rb +4 -9
  282. data/spec/extensions/current_datetime_timestamp_spec.rb +1 -1
  283. data/spec/extensions/dataset_associations_spec.rb +2 -1
  284. data/spec/extensions/dataset_source_alias_spec.rb +1 -1
  285. data/spec/extensions/date_arithmetic_spec.rb +3 -3
  286. data/spec/extensions/def_dataset_method_spec.rb +1 -1
  287. data/spec/extensions/defaults_setter_spec.rb +2 -2
  288. data/spec/extensions/delay_add_association_spec.rb +8 -9
  289. data/spec/extensions/dirty_spec.rb +1 -1
  290. data/spec/extensions/duplicate_columns_handler_spec.rb +1 -1
  291. data/spec/extensions/eager_each_spec.rb +2 -2
  292. data/spec/extensions/empty_array_consider_nulls_spec.rb +1 -1
  293. data/spec/extensions/error_splitter_spec.rb +1 -1
  294. data/spec/extensions/error_sql_spec.rb +1 -1
  295. data/spec/extensions/eval_inspect_spec.rb +1 -1
  296. data/spec/extensions/finder_spec.rb +1 -1
  297. data/spec/extensions/force_encoding_spec.rb +2 -5
  298. data/spec/extensions/freeze_datasets_spec.rb +1 -1
  299. data/spec/extensions/graph_each_spec.rb +5 -5
  300. data/spec/extensions/hook_class_methods_spec.rb +1 -194
  301. data/spec/extensions/identifier_mangling_spec.rb +17 -170
  302. data/spec/extensions/implicit_subquery_spec.rb +1 -5
  303. data/spec/extensions/inflector_spec.rb +1 -1
  304. data/spec/extensions/input_transformer_spec.rb +7 -2
  305. data/spec/extensions/insert_returning_select_spec.rb +1 -1
  306. data/spec/extensions/instance_filters_spec.rb +1 -1
  307. data/spec/extensions/instance_hooks_spec.rb +1 -95
  308. data/spec/extensions/inverted_subsets_spec.rb +1 -1
  309. data/spec/extensions/json_serializer_spec.rb +1 -1
  310. data/spec/extensions/lazy_attributes_spec.rb +1 -7
  311. data/spec/extensions/list_spec.rb +1 -1
  312. data/spec/extensions/looser_typecasting_spec.rb +1 -1
  313. data/spec/extensions/many_through_many_spec.rb +1 -1
  314. data/spec/extensions/migration_spec.rb +2 -2
  315. data/spec/extensions/modification_detection_spec.rb +1 -1
  316. data/spec/extensions/mssql_optimistic_locking_spec.rb +1 -1
  317. data/spec/extensions/named_timezones_spec.rb +3 -3
  318. data/spec/extensions/nested_attributes_spec.rb +1 -29
  319. data/spec/extensions/null_dataset_spec.rb +1 -11
  320. data/spec/extensions/optimistic_locking_spec.rb +1 -1
  321. data/spec/extensions/pagination_spec.rb +1 -1
  322. data/spec/extensions/pg_array_associations_spec.rb +4 -1
  323. data/spec/extensions/pg_array_ops_spec.rb +1 -1
  324. data/spec/extensions/pg_array_spec.rb +3 -48
  325. data/spec/extensions/pg_enum_spec.rb +1 -1
  326. data/spec/extensions/pg_hstore_ops_spec.rb +1 -1
  327. data/spec/extensions/pg_hstore_spec.rb +23 -32
  328. data/spec/extensions/pg_inet_ops_spec.rb +1 -1
  329. data/spec/extensions/pg_inet_spec.rb +1 -14
  330. data/spec/extensions/pg_interval_spec.rb +3 -13
  331. data/spec/extensions/pg_json_ops_spec.rb +1 -1
  332. data/spec/extensions/pg_json_spec.rb +1 -13
  333. data/spec/extensions/pg_loose_count_spec.rb +1 -1
  334. data/spec/extensions/pg_range_ops_spec.rb +1 -1
  335. data/spec/extensions/pg_range_spec.rb +3 -88
  336. data/spec/extensions/pg_row_ops_spec.rb +1 -1
  337. data/spec/extensions/pg_row_plugin_spec.rb +1 -1
  338. data/spec/extensions/pg_row_spec.rb +1 -44
  339. data/spec/extensions/pg_static_cache_updater_spec.rb +1 -1
  340. data/spec/extensions/prepared_statements_safe_spec.rb +1 -1
  341. data/spec/extensions/prepared_statements_spec.rb +13 -48
  342. data/spec/extensions/pretty_table_spec.rb +1 -1
  343. data/spec/extensions/query_spec.rb +1 -12
  344. data/spec/extensions/rcte_tree_spec.rb +1 -1
  345. data/spec/extensions/round_timestamps_spec.rb +1 -5
  346. data/spec/extensions/s_spec.rb +1 -1
  347. data/spec/extensions/schema_caching_spec.rb +1 -1
  348. data/spec/extensions/schema_dumper_spec.rb +1 -1
  349. data/spec/extensions/select_remove_spec.rb +1 -1
  350. data/spec/extensions/sequel_4_dataset_methods_spec.rb +1 -1
  351. data/spec/extensions/serialization_modification_detection_spec.rb +1 -1
  352. data/spec/extensions/serialization_spec.rb +2 -14
  353. data/spec/extensions/server_block_spec.rb +1 -1
  354. data/spec/extensions/server_logging_spec.rb +2 -2
  355. data/spec/extensions/sharding_spec.rb +1 -1
  356. data/spec/extensions/shared_caching_spec.rb +1 -28
  357. data/spec/extensions/single_table_inheritance_spec.rb +2 -5
  358. data/spec/extensions/singular_table_names_spec.rb +1 -1
  359. data/spec/extensions/skip_create_refresh_spec.rb +1 -1
  360. data/spec/extensions/spec_helper.rb +5 -27
  361. data/spec/extensions/split_array_nil_spec.rb +1 -1
  362. data/spec/extensions/split_values_spec.rb +1 -1
  363. data/spec/extensions/sql_comments_spec.rb +1 -1
  364. data/spec/extensions/sql_expr_spec.rb +1 -1
  365. data/spec/extensions/static_cache_spec.rb +1 -1
  366. data/spec/extensions/string_agg_spec.rb +2 -2
  367. data/spec/extensions/string_date_time_spec.rb +1 -1
  368. data/spec/extensions/string_stripper_spec.rb +1 -1
  369. data/spec/extensions/subclasses_spec.rb +1 -1
  370. data/spec/extensions/subset_conditions_spec.rb +1 -1
  371. data/spec/extensions/symbol_aref_refinement_spec.rb +1 -1
  372. data/spec/extensions/symbol_as_refinement_spec.rb +1 -1
  373. data/spec/extensions/table_select_spec.rb +4 -4
  374. data/spec/extensions/tactical_eager_loading_spec.rb +1 -6
  375. data/spec/extensions/thread_local_timezones_spec.rb +1 -1
  376. data/spec/extensions/timestamps_spec.rb +3 -3
  377. data/spec/extensions/to_dot_spec.rb +1 -1
  378. data/spec/extensions/touch_spec.rb +1 -1
  379. data/spec/extensions/tree_spec.rb +1 -1
  380. data/spec/extensions/typecast_on_load_spec.rb +1 -1
  381. data/spec/extensions/unlimited_update_spec.rb +1 -1
  382. data/spec/extensions/update_or_create_spec.rb +1 -1
  383. data/spec/extensions/update_primary_key_spec.rb +4 -3
  384. data/spec/extensions/update_refresh_spec.rb +1 -1
  385. data/spec/extensions/uuid_spec.rb +10 -12
  386. data/spec/extensions/validate_associated_spec.rb +1 -1
  387. data/spec/extensions/validation_class_methods_spec.rb +3 -3
  388. data/spec/extensions/validation_contexts_spec.rb +1 -1
  389. data/spec/extensions/validation_helpers_spec.rb +10 -44
  390. data/spec/extensions/whitelist_security_spec.rb +5 -5
  391. data/spec/extensions/xml_serializer_spec.rb +3 -3
  392. data/spec/guards_helper.rb +2 -1
  393. data/spec/integration/associations_test.rb +1 -23
  394. data/spec/integration/database_test.rb +7 -7
  395. data/spec/integration/dataset_test.rb +5 -47
  396. data/spec/integration/eager_loader_test.rb +1 -1
  397. data/spec/integration/migrator_test.rb +1 -1
  398. data/spec/integration/model_test.rb +4 -82
  399. data/spec/integration/plugin_test.rb +6 -22
  400. data/spec/integration/prepared_statement_test.rb +8 -88
  401. data/spec/integration/schema_test.rb +6 -6
  402. data/spec/integration/spec_helper.rb +13 -21
  403. data/spec/integration/timezone_test.rb +5 -5
  404. data/spec/integration/transaction_test.rb +3 -55
  405. data/spec/integration/type_test.rb +9 -9
  406. data/spec/model/association_reflection_spec.rb +24 -9
  407. data/spec/model/associations_spec.rb +124 -303
  408. data/spec/model/base_spec.rb +18 -137
  409. data/spec/model/class_dataset_methods_spec.rb +2 -20
  410. data/spec/model/dataset_methods_spec.rb +1 -20
  411. data/spec/model/eager_loading_spec.rb +17 -11
  412. data/spec/model/hooks_spec.rb +5 -300
  413. data/spec/model/inflector_spec.rb +1 -1
  414. data/spec/model/model_spec.rb +15 -320
  415. data/spec/model/plugins_spec.rb +2 -16
  416. data/spec/model/record_spec.rb +29 -121
  417. data/spec/model/spec_helper.rb +5 -15
  418. data/spec/model/validations_spec.rb +1 -1
  419. data/spec/sequel_warning.rb +1 -12
  420. metadata +8 -64
  421. data/doc/active_record.rdoc +0 -927
  422. data/lib/sequel/adapters/cubrid.rb +0 -160
  423. data/lib/sequel/adapters/do.rb +0 -166
  424. data/lib/sequel/adapters/do/mysql.rb +0 -69
  425. data/lib/sequel/adapters/do/postgres.rb +0 -46
  426. data/lib/sequel/adapters/do/sqlite3.rb +0 -41
  427. data/lib/sequel/adapters/jdbc/as400.rb +0 -92
  428. data/lib/sequel/adapters/jdbc/cubrid.rb +0 -65
  429. data/lib/sequel/adapters/jdbc/firebirdsql.rb +0 -37
  430. data/lib/sequel/adapters/jdbc/informix-sqli.rb +0 -34
  431. data/lib/sequel/adapters/jdbc/jdbcprogress.rb +0 -34
  432. data/lib/sequel/adapters/odbc/progress.rb +0 -12
  433. data/lib/sequel/adapters/shared/cubrid.rb +0 -245
  434. data/lib/sequel/adapters/shared/firebird.rb +0 -261
  435. data/lib/sequel/adapters/shared/informix.rb +0 -63
  436. data/lib/sequel/adapters/shared/progress.rb +0 -40
  437. data/lib/sequel/adapters/swift.rb +0 -169
  438. data/lib/sequel/adapters/swift/mysql.rb +0 -50
  439. data/lib/sequel/adapters/swift/postgres.rb +0 -49
  440. data/lib/sequel/adapters/swift/sqlite.rb +0 -48
  441. data/lib/sequel/adapters/utils/pg_types.rb +0 -4
  442. data/lib/sequel/dataset/mutation.rb +0 -98
  443. data/lib/sequel/extensions/_deprecated_identifier_mangling.rb +0 -117
  444. data/lib/sequel/extensions/empty_array_ignore_nulls.rb +0 -8
  445. data/lib/sequel/extensions/filter_having.rb +0 -65
  446. data/lib/sequel/extensions/hash_aliases.rb +0 -51
  447. data/lib/sequel/extensions/meta_def.rb +0 -37
  448. data/lib/sequel/extensions/query_literals.rb +0 -86
  449. data/lib/sequel/extensions/ruby18_symbol_extensions.rb +0 -26
  450. data/lib/sequel/extensions/sequel_3_dataset_methods.rb +0 -133
  451. data/lib/sequel/extensions/set_overrides.rb +0 -82
  452. data/lib/sequel/no_core_ext.rb +0 -4
  453. data/lib/sequel/plugins/association_autoreloading.rb +0 -11
  454. data/lib/sequel/plugins/identifier_columns.rb +0 -49
  455. data/lib/sequel/plugins/many_to_one_pk_lookup.rb +0 -11
  456. data/lib/sequel/plugins/pg_typecast_on_load.rb +0 -90
  457. data/lib/sequel/plugins/prepared_statements_associations.rb +0 -137
  458. data/lib/sequel/plugins/prepared_statements_with_pk.rb +0 -71
  459. data/lib/sequel/plugins/schema.rb +0 -84
  460. data/lib/sequel/plugins/scissors.rb +0 -37
  461. data/spec/core/dataset_mutation_spec.rb +0 -253
  462. data/spec/extensions/_deprecated_identifier_mangling_spec.rb +0 -314
  463. data/spec/extensions/before_after_save_spec.rb +0 -40
  464. data/spec/extensions/filter_having_spec.rb +0 -42
  465. data/spec/extensions/from_block_spec.rb +0 -21
  466. data/spec/extensions/hash_aliases_spec.rb +0 -26
  467. data/spec/extensions/identifier_columns_spec.rb +0 -19
  468. data/spec/extensions/meta_def_spec.rb +0 -35
  469. data/spec/extensions/no_auto_literal_strings_spec.rb +0 -69
  470. data/spec/extensions/pg_typecast_on_load_spec.rb +0 -70
  471. data/spec/extensions/prepared_statements_associations_spec.rb +0 -212
  472. data/spec/extensions/prepared_statements_with_pk_spec.rb +0 -40
  473. data/spec/extensions/query_literals_spec.rb +0 -185
  474. data/spec/extensions/schema_spec.rb +0 -123
  475. data/spec/extensions/scissors_spec.rb +0 -27
  476. data/spec/extensions/sequel_3_dataset_methods_spec.rb +0 -118
  477. data/spec/extensions/set_overrides_spec.rb +0 -75
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(File.expand_path(__FILE__)), "spec_helper")
1
+ require_relative "spec_helper"
2
2
 
3
3
  describe "Model#values" do
4
4
  before do
@@ -33,7 +33,7 @@ end
33
33
 
34
34
  describe "Model#save server use" do
35
35
  before do
36
- @db = Sequel.mock(:autoid=>proc{|sql| 10}, :fetch=>{:x=>1, :id=>10}, :servers=>{:blah=>{}, :read_only=>{}})
36
+ @db = Sequel.mock(:autoid=>proc{|sql| 10}, :fetch=>{:x=>1, :id=>10}, :numrows=>1, :servers=>{:blah=>{}, :read_only=>{}})
37
37
  @c = Class.new(Sequel::Model(@db[:items]))
38
38
  @c.columns :id, :x, :y
39
39
  @c.dataset.columns(:id, :x, :y)
@@ -50,6 +50,19 @@ describe "Model#save server use" do
50
50
  @c.new(:x=>1).save.must_equal @c.load(:x=>1, :id=>10)
51
51
  @db.sqls.must_equal ["INSERT INTO items (x) VALUES (1) -- blah", 'SELECT * FROM items WHERE (id = 10) LIMIT 1 -- blah']
52
52
  end
53
+
54
+ it "should use transactions on the correct server" do
55
+ @c.use_transactions = true
56
+ @c.dataset = @c.dataset.server(:blah)
57
+ @c.new(:x=>1).save.must_equal @c.load(:x=>1, :id=>10)
58
+ @db.sqls.must_equal ["BEGIN -- blah", "INSERT INTO items (x) VALUES (1) -- blah", 'SELECT * FROM items WHERE (id = 10) LIMIT 1 -- blah', 'COMMIT -- blah']
59
+
60
+ o = @c.load(:id=>1)
61
+ o.x = 2
62
+ o.this
63
+ o.save
64
+ @db.sqls.must_equal ["BEGIN -- blah", "UPDATE items SET x = 2 WHERE (id = 1) -- blah", 'COMMIT -- blah']
65
+ end
53
66
  end
54
67
 
55
68
  describe "Model#save" do
@@ -88,12 +101,12 @@ describe "Model#save" do
88
101
  end
89
102
 
90
103
  it "should not use dataset's insert_select method if specific columns are selected" do
91
- ds = @c.dataset = @c.dataset.select(:y).with_extend{def insert_select(*) raise; end}
104
+ @c.dataset = @c.dataset.select(:y).with_extend{def insert_select(*) raise; end}
92
105
  @c.new(:x => 1).save
93
106
  end
94
107
 
95
108
  it "should use dataset's insert_select method if the dataset uses returning, even if specific columns are selected" do
96
- ds = @c.dataset = @c.dataset.select(:y).with_fetch(:y=>2).with_extend do
109
+ @c.dataset = @c.dataset.select(:y).with_fetch(:y=>2).with_extend do
97
110
  def supports_returning?(_) true end
98
111
  def supports_insert_select?; true end
99
112
  def insert_select(hash)
@@ -187,7 +200,7 @@ describe "Model#save" do
187
200
  end
188
201
 
189
202
  it "should mark all columns as not changed if this is a new record and insert_select was used" do
190
- ds = @c.dataset = @c.dataset.with_extend{def insert_select(h) h.merge(:id=>1) end}
203
+ @c.dataset = @c.dataset.with_extend{def insert_select(h) h.merge(:id=>1) end}
191
204
  o = @c.new(:x => 1, :y => nil)
192
205
  o.x = 4
193
206
  o.changed_columns.must_equal [:x]
@@ -195,37 +208,6 @@ describe "Model#save" do
195
208
  o.changed_columns.must_equal []
196
209
  end
197
210
 
198
- deprecated "should store previous value of @new in @was_new and as well as the hash used for updating in @columns_updated until after hooks finish running" do
199
- res = nil
200
- @c.send(:define_method, :after_save){ res = [@columns_updated, @was_new]}
201
- o = @c.new(:x => 1, :y => nil)
202
- o[:x] = 2
203
- o.save
204
- res.must_equal [nil, true]
205
- o.after_save
206
- res.must_equal [nil, nil]
207
-
208
- res = nil
209
- o = @c.load(:id => 23,:x => 1, :y => nil)
210
- o[:x] = 2
211
- o.save
212
- res[0].fetch(:x).must_equal 2
213
- res[0].fetch(:y).must_be_nil
214
- res.fetch(1).must_be_nil
215
- o.after_save
216
- res.must_equal [nil, nil]
217
-
218
- res = nil
219
- o = @c.load(:id => 23,:x => 2, :y => nil)
220
- o[:x] = 2
221
- o[:y] = 22
222
- o.save(:columns=>:x)
223
- res[0].fetch(:x).must_equal 2
224
- res.fetch(1).must_be_nil
225
- o.after_save
226
- res.must_equal [nil, nil]
227
- end
228
-
229
211
  it "should use Model's use_transactions setting by default" do
230
212
  @c.use_transactions = true
231
213
  @c.load(:id => 3, :x => 1, :y => nil).save(:columns=>:y)
@@ -268,17 +250,6 @@ describe "Model#save" do
268
250
  DB.sqls.must_equal ["BEGIN", "UPDATE items SET y = NULL WHERE (id = 3)", "COMMIT"]
269
251
  end
270
252
 
271
- deprecated "should rollback if before_save returns false and raise_on_save_failure = true" do
272
- o = @c.load(:id => 3, :x => 1, :y => nil)
273
- o.use_transactions = true
274
- o.raise_on_save_failure = true
275
- def o.before_save
276
- false
277
- end
278
- proc { o.save(:columns=>:y) }.must_raise(Sequel::HookFailed)
279
- DB.sqls.must_equal ["BEGIN", "ROLLBACK"]
280
- end
281
-
282
253
  it "should rollback if before_save calls cancel_action and raise_on_save_failure = true" do
283
254
  o = @c.load(:id => 3, :x => 1, :y => nil)
284
255
  o.use_transactions = true
@@ -686,12 +657,14 @@ describe "Model#save_changes" do
686
657
  end
687
658
 
688
659
  it "should take options passed to save" do
689
- o = @c.new(:x => 1)
690
- def o.before_validation; cancel_action; end
691
- proc{o.save_changes}.must_raise(Sequel::HookFailed)
692
- DB.sqls.must_equal []
693
- o.save_changes(:validate=>false)
694
- DB.sqls.first.must_equal "INSERT INTO items (x) VALUES (1)"
660
+ o = @c.load(:id=>1, :x => 1)
661
+ o.x = 2
662
+ o.save_changes
663
+ DB.sqls.must_equal ["UPDATE items SET x = 2 WHERE (id = 1)"]
664
+
665
+ o.x = 3
666
+ o.save_changes(:transaction=>true)
667
+ DB.sqls.must_equal ["BEGIN", "UPDATE items SET x = 3 WHERE (id = 1)", "COMMIT"]
695
668
  end
696
669
 
697
670
  it "should do nothing if no changed columns" do
@@ -849,10 +822,10 @@ describe Sequel::Model, "#this" do
849
822
  instance.this.sql.must_equal "SELECT * FROM examples WHERE (a = 3) LIMIT 1"
850
823
  end
851
824
 
852
- deprecated "should use a qualified primary key if the dataset is joined" do
825
+ it "should use a subquery if the dataset is joined" do
853
826
  @example.dataset = @example.dataset.cross_join(:a)
854
827
  instance = @example.load(:id => 3)
855
- instance.this.sql.must_equal "SELECT * FROM examples CROSS JOIN a WHERE (examples.id = 3) LIMIT 1"
828
+ instance.this.sql.must_equal "SELECT * FROM (SELECT * FROM examples CROSS JOIN a) AS examples WHERE (id = 3) LIMIT 1"
856
829
  end
857
830
 
858
831
  it "should use a primary key if the dataset uses a subquery" do
@@ -1281,71 +1254,6 @@ describe Sequel::Model, "#update_fields" do
1281
1254
  end
1282
1255
  end
1283
1256
 
1284
- describe Sequel::Model, "#(set|update)_(all|only)" do
1285
- before do
1286
- deprecated do
1287
- @c = Class.new(Sequel::Model(:items)) do
1288
- set_primary_key :id
1289
- columns :x, :y, :z, :id
1290
- set_allowed_columns :x
1291
- end
1292
- end
1293
- @c.strict_param_setting = false
1294
- @o1 = @c.new
1295
- DB.reset
1296
- end
1297
-
1298
- deprecated "should raise errors if not all hash fields can be set and strict_param_setting is true" do
1299
- @c.strict_param_setting = true
1300
-
1301
- proc{@c.new.set_all(:x => 1, :y => 2, :z=>3, :use_after_commit_rollback => false)}.must_raise(Sequel::MassAssignmentRestriction)
1302
- (o = @c.new).set_all(:x => 1, :y => 2, :z=>3)
1303
- o.values.must_equal(:x => 1, :y => 2, :z=>3)
1304
-
1305
- proc{@c.new.set_only({:x => 1, :y => 2, :z=>3, :id=>4}, :x, :y)}.must_raise(Sequel::MassAssignmentRestriction)
1306
- proc{@c.new.set_only({:x => 1, :y => 2, :z=>3}, :x, :y)}.must_raise(Sequel::MassAssignmentRestriction)
1307
- (o = @c.new).set_only({:x => 1, :y => 2}, :x, :y)
1308
- o.values.must_equal(:x => 1, :y => 2)
1309
- end
1310
-
1311
- deprecated "#set_all should set all attributes including the primary key" do
1312
- @o1.set_all(:x => 1, :y => 2, :z=>3, :id=>4)
1313
- @o1.values.must_equal(:id =>4, :x => 1, :y => 2, :z=>3)
1314
- end
1315
-
1316
- deprecated "#set_all should set not set restricted fields" do
1317
- @o1.use_after_commit_rollback.must_be_nil
1318
- @o1.set_all(:x => 1, :use_after_commit_rollback => true)
1319
- @o1.use_after_commit_rollback.must_be_nil
1320
- @o1.values.must_equal(:x => 1)
1321
- end
1322
-
1323
- deprecated "#set_only should only set given attributes" do
1324
- @o1.set_only({:x => 1, :y => 2, :z=>3, :id=>4}, [:x, :y])
1325
- @o1.values.must_equal(:x => 1, :y => 2)
1326
- @o1.set_only({:x => 4, :y => 5, :z=>6, :id=>7}, :x, :y)
1327
- @o1.values.must_equal(:x => 4, :y => 5)
1328
- @o1.set_only({:x => 9, :y => 8, :z=>6, :id=>7}, :x, :y, :id)
1329
- @o1.values.must_equal(:x => 9, :y => 8, :id=>7)
1330
- end
1331
-
1332
- deprecated "#update_all should update all attributes" do
1333
- @c.new.update_all(:x => 1)
1334
- DB.sqls.must_equal ["INSERT INTO items (x) VALUES (1)", "SELECT * FROM items WHERE id = 10"]
1335
- @c.new.update_all(:y => 1)
1336
- DB.sqls.must_equal ["INSERT INTO items (y) VALUES (1)", "SELECT * FROM items WHERE id = 10"]
1337
- @c.new.update_all(:z => 1)
1338
- DB.sqls.must_equal ["INSERT INTO items (z) VALUES (1)", "SELECT * FROM items WHERE id = 10"]
1339
- end
1340
-
1341
- deprecated "#update_only should only update given attributes" do
1342
- @o1.update_only({:x => 1, :y => 2, :z=>3, :id=>4}, [:x])
1343
- DB.sqls.must_equal ["INSERT INTO items (x) VALUES (1)", "SELECT * FROM items WHERE id = 10"]
1344
- @c.new.update_only({:x => 1, :y => 2, :z=>3, :id=>4}, :x)
1345
- DB.sqls.must_equal ["INSERT INTO items (x) VALUES (1)", "SELECT * FROM items WHERE id = 10"]
1346
- end
1347
- end
1348
-
1349
1257
  describe Sequel::Model, "#destroy with filtered dataset" do
1350
1258
  before do
1351
1259
  @model = Class.new(Sequel::Model(DB[:items].where(:a=>1)))
@@ -1467,7 +1375,7 @@ describe Sequel::Model, "#each" do
1467
1375
  @m = @model.load(:a => 1, :b => 2, :id => 4444)
1468
1376
  end
1469
1377
 
1470
- deprecated "should iterate over the values" do
1378
+ it "should iterate over the values" do
1471
1379
  h = {}
1472
1380
  @m.each{|k, v| h[k] = v}
1473
1381
  h.must_equal(:a => 1, :b => 2, :id => 4444)
@@ -1,25 +1,15 @@
1
- require 'rubygems'
2
- require "#{File.dirname(File.dirname(__FILE__))}/sequel_warning.rb"
1
+ require_relative "../sequel_warning"
2
+
3
+ $:.unshift(File.join(File.dirname(File.expand_path(__FILE__)), "../../lib/"))
4
+ require_relative "../../lib/sequel"
3
5
 
4
- unless Object.const_defined?('Sequel') && Sequel.const_defined?('Model')
5
- $:.unshift(File.join(File.dirname(File.expand_path(__FILE__)), "../../lib/"))
6
- require 'sequel'
7
- end
8
6
  Sequel::Deprecation.backtrace_filter = lambda{|line, lineno| lineno < 4 || line =~ /_spec\.rb/}
9
7
 
10
8
  gem 'minitest'
11
9
  require 'minitest/autorun'
12
10
  require 'minitest/hooks/default'
13
11
 
14
- require "#{File.dirname(File.dirname(__FILE__))}/deprecation_helper.rb"
15
-
16
- # SEQUEL5: Remove
17
- output = Sequel::Deprecation.output
18
- Sequel::Deprecation.output = nil
19
- Sequel.quote_identifiers = false
20
- Sequel.identifier_input_method = nil
21
- Sequel.identifier_output_method = nil
22
- Sequel::Deprecation.output = output
12
+ require_relative '../deprecation_helper'
23
13
 
24
14
  class << Sequel::Model
25
15
  attr_writer :db_schema
@@ -1,4 +1,4 @@
1
- require File.join(File.dirname(File.expand_path(__FILE__)), "spec_helper")
1
+ require_relative "spec_helper"
2
2
 
3
3
  describe Sequel::Model::Errors do
4
4
  before do
@@ -1,15 +1,4 @@
1
1
  if ENV['WARNING']
2
2
  require 'warning'
3
- Warning.ignore([:missing_ivar, :method_redefined], File.dirname(File.dirname(__FILE__)))
4
- end
5
-
6
- # SEQUEL5: Remove
7
- if RUBY_VERSION >= '2.4'
8
- begin
9
- require 'warning'
10
- rescue LoadError
11
- # nothing
12
- else
13
- Warning.ignore(/warning: constant Sequel::[a-zA-z:]+ is deprecated/, File.dirname(File.dirname(__FILE__)))
14
- end
3
+ Warning.ignore([:missing_ivar, :method_redefined, :not_reached], File.dirname(File.dirname(__FILE__)))
15
4
  end
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: 4.49.0
4
+ version: 5.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: 2017-08-01 00:00:00.000000000 Z
11
+ date: 2017-09-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -103,9 +103,9 @@ extra_rdoc_files:
103
103
  - README.rdoc
104
104
  - CHANGELOG
105
105
  - MIT-LICENSE
106
- - doc/active_record.rdoc
107
106
  - doc/advanced_associations.rdoc
108
107
  - doc/association_basics.rdoc
108
+ - doc/bin_sequel.rdoc
109
109
  - doc/cheat_sheet.rdoc
110
110
  - doc/dataset_basics.rdoc
111
111
  - doc/dataset_filtering.rdoc
@@ -126,12 +126,11 @@ extra_rdoc_files:
126
126
  - doc/thread_safety.rdoc
127
127
  - doc/object_model.rdoc
128
128
  - doc/core_extensions.rdoc
129
- - doc/bin_sequel.rdoc
129
+ - doc/code_order.rdoc
130
130
  - doc/security.rdoc
131
131
  - doc/postgresql.rdoc
132
- - doc/code_order.rdoc
133
- - doc/model_plugins.rdoc
134
132
  - doc/extensions.rdoc
133
+ - doc/model_plugins.rdoc
135
134
  - doc/mssql_stored_procedures.rdoc
136
135
  - doc/model_dataset_method_design.rdoc
137
136
  - doc/release_notes/1.0.txt
@@ -251,13 +250,13 @@ extra_rdoc_files:
251
250
  - doc/release_notes/4.47.0.txt
252
251
  - doc/release_notes/4.48.0.txt
253
252
  - doc/release_notes/4.49.0.txt
253
+ - doc/release_notes/5.0.0.txt
254
254
  files:
255
255
  - CHANGELOG
256
256
  - MIT-LICENSE
257
257
  - README.rdoc
258
258
  - Rakefile
259
259
  - bin/sequel
260
- - doc/active_record.rdoc
261
260
  - doc/advanced_associations.rdoc
262
261
  - doc/association_basics.rdoc
263
262
  - doc/bin_sequel.rdoc
@@ -396,6 +395,7 @@ files:
396
395
  - doc/release_notes/4.7.0.txt
397
396
  - doc/release_notes/4.8.0.txt
398
397
  - doc/release_notes/4.9.0.txt
398
+ - doc/release_notes/5.0.0.txt
399
399
  - doc/schema_modification.rdoc
400
400
  - doc/security.rdoc
401
401
  - doc/sharding.rdoc
@@ -410,22 +410,12 @@ files:
410
410
  - lib/sequel/adapters/ado/access.rb
411
411
  - lib/sequel/adapters/ado/mssql.rb
412
412
  - lib/sequel/adapters/amalgalite.rb
413
- - lib/sequel/adapters/cubrid.rb
414
- - lib/sequel/adapters/do.rb
415
- - lib/sequel/adapters/do/mysql.rb
416
- - lib/sequel/adapters/do/postgres.rb
417
- - lib/sequel/adapters/do/sqlite3.rb
418
413
  - lib/sequel/adapters/ibmdb.rb
419
414
  - lib/sequel/adapters/jdbc.rb
420
- - lib/sequel/adapters/jdbc/as400.rb
421
- - lib/sequel/adapters/jdbc/cubrid.rb
422
415
  - lib/sequel/adapters/jdbc/db2.rb
423
416
  - lib/sequel/adapters/jdbc/derby.rb
424
- - lib/sequel/adapters/jdbc/firebirdsql.rb
425
417
  - lib/sequel/adapters/jdbc/h2.rb
426
418
  - lib/sequel/adapters/jdbc/hsqldb.rb
427
- - lib/sequel/adapters/jdbc/informix-sqli.rb
428
- - lib/sequel/adapters/jdbc/jdbcprogress.rb
429
419
  - lib/sequel/adapters/jdbc/jtds.rb
430
420
  - lib/sequel/adapters/jdbc/mssql.rb
431
421
  - lib/sequel/adapters/jdbc/mysql.rb
@@ -442,34 +432,24 @@ files:
442
432
  - lib/sequel/adapters/odbc/db2.rb
443
433
  - lib/sequel/adapters/odbc/mssql.rb
444
434
  - lib/sequel/adapters/odbc/oracle.rb
445
- - lib/sequel/adapters/odbc/progress.rb
446
435
  - lib/sequel/adapters/oracle.rb
447
436
  - lib/sequel/adapters/postgres.rb
448
437
  - lib/sequel/adapters/postgresql.rb
449
438
  - lib/sequel/adapters/shared/access.rb
450
- - lib/sequel/adapters/shared/cubrid.rb
451
439
  - lib/sequel/adapters/shared/db2.rb
452
- - lib/sequel/adapters/shared/firebird.rb
453
- - lib/sequel/adapters/shared/informix.rb
454
440
  - lib/sequel/adapters/shared/mssql.rb
455
441
  - lib/sequel/adapters/shared/mysql.rb
456
442
  - lib/sequel/adapters/shared/oracle.rb
457
443
  - lib/sequel/adapters/shared/postgres.rb
458
- - lib/sequel/adapters/shared/progress.rb
459
444
  - lib/sequel/adapters/shared/sqlanywhere.rb
460
445
  - lib/sequel/adapters/shared/sqlite.rb
461
446
  - lib/sequel/adapters/sqlanywhere.rb
462
447
  - lib/sequel/adapters/sqlite.rb
463
- - lib/sequel/adapters/swift.rb
464
- - lib/sequel/adapters/swift/mysql.rb
465
- - lib/sequel/adapters/swift/postgres.rb
466
- - lib/sequel/adapters/swift/sqlite.rb
467
448
  - lib/sequel/adapters/tinytds.rb
468
449
  - lib/sequel/adapters/utils/emulate_offset_with_reverse_and_count.rb
469
450
  - lib/sequel/adapters/utils/emulate_offset_with_row_number.rb
470
451
  - lib/sequel/adapters/utils/mysql_mysql2.rb
471
452
  - lib/sequel/adapters/utils/mysql_prepared_statements.rb
472
- - lib/sequel/adapters/utils/pg_types.rb
473
453
  - lib/sequel/adapters/utils/replace.rb
474
454
  - lib/sequel/adapters/utils/split_alter_table.rb
475
455
  - lib/sequel/adapters/utils/stored_procedures.rb
@@ -498,14 +478,12 @@ files:
498
478
  - lib/sequel/dataset/features.rb
499
479
  - lib/sequel/dataset/graph.rb
500
480
  - lib/sequel/dataset/misc.rb
501
- - lib/sequel/dataset/mutation.rb
502
481
  - lib/sequel/dataset/placeholder_literalizer.rb
503
482
  - lib/sequel/dataset/prepared_statements.rb
504
483
  - lib/sequel/dataset/query.rb
505
484
  - lib/sequel/dataset/sql.rb
506
485
  - lib/sequel/deprecated.rb
507
486
  - lib/sequel/exceptions.rb
508
- - lib/sequel/extensions/_deprecated_identifier_mangling.rb
509
487
  - lib/sequel/extensions/_model_constraint_validations.rb
510
488
  - lib/sequel/extensions/_model_pg_row.rb
511
489
  - lib/sequel/extensions/_pretty_table.rb
@@ -523,19 +501,15 @@ files:
523
501
  - lib/sequel/extensions/date_arithmetic.rb
524
502
  - lib/sequel/extensions/duplicate_columns_handler.rb
525
503
  - lib/sequel/extensions/empty_array_consider_nulls.rb
526
- - lib/sequel/extensions/empty_array_ignore_nulls.rb
527
504
  - lib/sequel/extensions/error_sql.rb
528
505
  - lib/sequel/extensions/eval_inspect.rb
529
- - lib/sequel/extensions/filter_having.rb
530
506
  - lib/sequel/extensions/freeze_datasets.rb
531
507
  - lib/sequel/extensions/from_block.rb
532
508
  - lib/sequel/extensions/graph_each.rb
533
- - lib/sequel/extensions/hash_aliases.rb
534
509
  - lib/sequel/extensions/identifier_mangling.rb
535
510
  - lib/sequel/extensions/implicit_subquery.rb
536
511
  - lib/sequel/extensions/inflector.rb
537
512
  - lib/sequel/extensions/looser_typecasting.rb
538
- - lib/sequel/extensions/meta_def.rb
539
513
  - lib/sequel/extensions/migration.rb
540
514
  - lib/sequel/extensions/mssql_emulate_lateral_with_apply.rb
541
515
  - lib/sequel/extensions/named_timezones.rb
@@ -560,18 +534,14 @@ files:
560
534
  - lib/sequel/extensions/pg_static_cache_updater.rb
561
535
  - lib/sequel/extensions/pretty_table.rb
562
536
  - lib/sequel/extensions/query.rb
563
- - lib/sequel/extensions/query_literals.rb
564
537
  - lib/sequel/extensions/round_timestamps.rb
565
- - lib/sequel/extensions/ruby18_symbol_extensions.rb
566
538
  - lib/sequel/extensions/s.rb
567
539
  - lib/sequel/extensions/schema_caching.rb
568
540
  - lib/sequel/extensions/schema_dumper.rb
569
541
  - lib/sequel/extensions/select_remove.rb
570
- - lib/sequel/extensions/sequel_3_dataset_methods.rb
571
542
  - lib/sequel/extensions/sequel_4_dataset_methods.rb
572
543
  - lib/sequel/extensions/server_block.rb
573
544
  - lib/sequel/extensions/server_logging.rb
574
- - lib/sequel/extensions/set_overrides.rb
575
545
  - lib/sequel/extensions/split_array_nil.rb
576
546
  - lib/sequel/extensions/sql_comments.rb
577
547
  - lib/sequel/extensions/sql_expr.rb
@@ -593,11 +563,9 @@ files:
593
563
  - lib/sequel/model/exceptions.rb
594
564
  - lib/sequel/model/inflections.rb
595
565
  - lib/sequel/model/plugins.rb
596
- - lib/sequel/no_core_ext.rb
597
566
  - lib/sequel/plugins/accessed_columns.rb
598
567
  - lib/sequel/plugins/active_model.rb
599
568
  - lib/sequel/plugins/after_initialize.rb
600
- - lib/sequel/plugins/association_autoreloading.rb
601
569
  - lib/sequel/plugins/association_dependencies.rb
602
570
  - lib/sequel/plugins/association_pks.rb
603
571
  - lib/sequel/plugins/association_proxies.rb
@@ -624,7 +592,6 @@ files:
624
592
  - lib/sequel/plugins/finder.rb
625
593
  - lib/sequel/plugins/force_encoding.rb
626
594
  - lib/sequel/plugins/hook_class_methods.rb
627
- - lib/sequel/plugins/identifier_columns.rb
628
595
  - lib/sequel/plugins/input_transformer.rb
629
596
  - lib/sequel/plugins/insert_returning_select.rb
630
597
  - lib/sequel/plugins/instance_filters.rb
@@ -634,21 +601,15 @@ files:
634
601
  - lib/sequel/plugins/lazy_attributes.rb
635
602
  - lib/sequel/plugins/list.rb
636
603
  - lib/sequel/plugins/many_through_many.rb
637
- - lib/sequel/plugins/many_to_one_pk_lookup.rb
638
604
  - lib/sequel/plugins/modification_detection.rb
639
605
  - lib/sequel/plugins/mssql_optimistic_locking.rb
640
606
  - lib/sequel/plugins/nested_attributes.rb
641
607
  - lib/sequel/plugins/optimistic_locking.rb
642
608
  - lib/sequel/plugins/pg_array_associations.rb
643
609
  - lib/sequel/plugins/pg_row.rb
644
- - lib/sequel/plugins/pg_typecast_on_load.rb
645
610
  - lib/sequel/plugins/prepared_statements.rb
646
- - lib/sequel/plugins/prepared_statements_associations.rb
647
611
  - lib/sequel/plugins/prepared_statements_safe.rb
648
- - lib/sequel/plugins/prepared_statements_with_pk.rb
649
612
  - lib/sequel/plugins/rcte_tree.rb
650
- - lib/sequel/plugins/schema.rb
651
- - lib/sequel/plugins/scissors.rb
652
613
  - lib/sequel/plugins/serialization.rb
653
614
  - lib/sequel/plugins/serialization_modification_detection.rb
654
615
  - lib/sequel/plugins/sharding.rb
@@ -692,7 +653,6 @@ files:
692
653
  - spec/bin_spec.rb
693
654
  - spec/core/connection_pool_spec.rb
694
655
  - spec/core/database_spec.rb
695
- - spec/core/dataset_mutation_spec.rb
696
656
  - spec/core/dataset_spec.rb
697
657
  - spec/core/deprecated_spec.rb
698
658
  - spec/core/expression_filters_spec.rb
@@ -707,7 +667,6 @@ files:
707
667
  - spec/core_model_spec.rb
708
668
  - spec/core_spec.rb
709
669
  - spec/deprecation_helper.rb
710
- - spec/extensions/_deprecated_identifier_mangling_spec.rb
711
670
  - spec/extensions/accessed_columns_spec.rb
712
671
  - spec/extensions/active_model_spec.rb
713
672
  - spec/extensions/after_initialize_spec.rb
@@ -717,7 +676,6 @@ files:
717
676
  - spec/extensions/association_proxies_spec.rb
718
677
  - spec/extensions/auto_literal_strings_spec.rb
719
678
  - spec/extensions/auto_validations_spec.rb
720
- - spec/extensions/before_after_save_spec.rb
721
679
  - spec/extensions/blacklist_security_spec.rb
722
680
  - spec/extensions/blank_spec.rb
723
681
  - spec/extensions/boolean_readers_spec.rb
@@ -749,15 +707,11 @@ files:
749
707
  - spec/extensions/error_splitter_spec.rb
750
708
  - spec/extensions/error_sql_spec.rb
751
709
  - spec/extensions/eval_inspect_spec.rb
752
- - spec/extensions/filter_having_spec.rb
753
710
  - spec/extensions/finder_spec.rb
754
711
  - spec/extensions/force_encoding_spec.rb
755
712
  - spec/extensions/freeze_datasets_spec.rb
756
- - spec/extensions/from_block_spec.rb
757
713
  - spec/extensions/graph_each_spec.rb
758
- - spec/extensions/hash_aliases_spec.rb
759
714
  - spec/extensions/hook_class_methods_spec.rb
760
- - spec/extensions/identifier_columns_spec.rb
761
715
  - spec/extensions/identifier_mangling_spec.rb
762
716
  - spec/extensions/implicit_subquery_spec.rb
763
717
  - spec/extensions/inflector_spec.rb
@@ -771,13 +725,11 @@ files:
771
725
  - spec/extensions/list_spec.rb
772
726
  - spec/extensions/looser_typecasting_spec.rb
773
727
  - spec/extensions/many_through_many_spec.rb
774
- - spec/extensions/meta_def_spec.rb
775
728
  - spec/extensions/migration_spec.rb
776
729
  - spec/extensions/modification_detection_spec.rb
777
730
  - spec/extensions/mssql_optimistic_locking_spec.rb
778
731
  - spec/extensions/named_timezones_spec.rb
779
732
  - spec/extensions/nested_attributes_spec.rb
780
- - spec/extensions/no_auto_literal_strings_spec.rb
781
733
  - spec/extensions/null_dataset_spec.rb
782
734
  - spec/extensions/optimistic_locking_spec.rb
783
735
  - spec/extensions/pagination_spec.rb
@@ -799,29 +751,21 @@ files:
799
751
  - spec/extensions/pg_row_plugin_spec.rb
800
752
  - spec/extensions/pg_row_spec.rb
801
753
  - spec/extensions/pg_static_cache_updater_spec.rb
802
- - spec/extensions/pg_typecast_on_load_spec.rb
803
- - spec/extensions/prepared_statements_associations_spec.rb
804
754
  - spec/extensions/prepared_statements_safe_spec.rb
805
755
  - spec/extensions/prepared_statements_spec.rb
806
- - spec/extensions/prepared_statements_with_pk_spec.rb
807
756
  - spec/extensions/pretty_table_spec.rb
808
- - spec/extensions/query_literals_spec.rb
809
757
  - spec/extensions/query_spec.rb
810
758
  - spec/extensions/rcte_tree_spec.rb
811
759
  - spec/extensions/round_timestamps_spec.rb
812
760
  - spec/extensions/s_spec.rb
813
761
  - spec/extensions/schema_caching_spec.rb
814
762
  - spec/extensions/schema_dumper_spec.rb
815
- - spec/extensions/schema_spec.rb
816
- - spec/extensions/scissors_spec.rb
817
763
  - spec/extensions/select_remove_spec.rb
818
- - spec/extensions/sequel_3_dataset_methods_spec.rb
819
764
  - spec/extensions/sequel_4_dataset_methods_spec.rb
820
765
  - spec/extensions/serialization_modification_detection_spec.rb
821
766
  - spec/extensions/serialization_spec.rb
822
767
  - spec/extensions/server_block_spec.rb
823
768
  - spec/extensions/server_logging_spec.rb
824
- - spec/extensions/set_overrides_spec.rb
825
769
  - spec/extensions/sharding_spec.rb
826
770
  - spec/extensions/shared_caching_spec.rb
827
771
  - spec/extensions/single_table_inheritance_spec.rb
@@ -963,7 +907,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
963
907
  requirements:
964
908
  - - ">="
965
909
  - !ruby/object:Gem::Version
966
- version: 1.8.7
910
+ version: 1.9.2
967
911
  required_rubygems_version: !ruby/object:Gem::Requirement
968
912
  requirements:
969
913
  - - ">="