sequel 5.28.0 → 5.33.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (380) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +64 -1922
  3. data/MIT-LICENSE +1 -1
  4. data/README.rdoc +1 -1
  5. data/doc/advanced_associations.rdoc +4 -4
  6. data/doc/association_basics.rdoc +3 -3
  7. data/doc/code_order.rdoc +12 -2
  8. data/doc/model_dataset_method_design.rdoc +1 -1
  9. data/doc/postgresql.rdoc +71 -0
  10. data/doc/release_notes/5.29.0.txt +22 -0
  11. data/doc/release_notes/5.30.0.txt +20 -0
  12. data/doc/release_notes/5.31.0.txt +148 -0
  13. data/doc/release_notes/5.32.0.txt +46 -0
  14. data/doc/release_notes/5.33.0.txt +24 -0
  15. data/doc/testing.rdoc +1 -1
  16. data/lib/sequel/adapters/postgres.rb +5 -1
  17. data/lib/sequel/adapters/shared/access.rb +6 -6
  18. data/lib/sequel/adapters/shared/mssql.rb +5 -5
  19. data/lib/sequel/adapters/shared/mysql.rb +10 -10
  20. data/lib/sequel/adapters/shared/oracle.rb +16 -16
  21. data/lib/sequel/adapters/shared/postgres.rb +169 -14
  22. data/lib/sequel/adapters/shared/sqlanywhere.rb +9 -9
  23. data/lib/sequel/adapters/shared/sqlite.rb +32 -5
  24. data/lib/sequel/adapters/tinytds.rb +1 -1
  25. data/lib/sequel/connection_pool/sharded_threaded.rb +2 -2
  26. data/lib/sequel/connection_pool/threaded.rb +1 -1
  27. data/lib/sequel/core.rb +318 -314
  28. data/lib/sequel/database/query.rb +1 -1
  29. data/lib/sequel/database/schema_generator.rb +1 -1
  30. data/lib/sequel/database/transactions.rb +8 -12
  31. data/lib/sequel/dataset/misc.rb +2 -2
  32. data/lib/sequel/extensions/connection_expiration.rb +2 -2
  33. data/lib/sequel/extensions/connection_validator.rb +2 -2
  34. data/lib/sequel/extensions/fiber_concurrency.rb +24 -0
  35. data/lib/sequel/extensions/index_caching.rb +9 -7
  36. data/lib/sequel/extensions/integer64.rb +2 -0
  37. data/lib/sequel/extensions/migration.rb +1 -1
  38. data/lib/sequel/extensions/pg_enum.rb +5 -2
  39. data/lib/sequel/extensions/pg_hstore.rb +6 -0
  40. data/lib/sequel/extensions/pg_inet.rb +13 -5
  41. data/lib/sequel/extensions/pg_interval.rb +2 -0
  42. data/lib/sequel/extensions/pg_range.rb +2 -0
  43. data/lib/sequel/extensions/pg_timestamptz.rb +2 -0
  44. data/lib/sequel/extensions/run_transaction_hooks.rb +72 -0
  45. data/lib/sequel/extensions/schema_dumper.rb +10 -4
  46. data/lib/sequel/extensions/server_block.rb +3 -3
  47. data/lib/sequel/model/associations.rb +18 -5
  48. data/lib/sequel/model/base.rb +60 -53
  49. data/lib/sequel/model/plugins.rb +1 -0
  50. data/lib/sequel/plugins/association_lazy_eager_option.rb +66 -0
  51. data/lib/sequel/plugins/association_multi_add_remove.rb +2 -0
  52. data/lib/sequel/plugins/association_proxies.rb +2 -0
  53. data/lib/sequel/plugins/boolean_subsets.rb +4 -1
  54. data/lib/sequel/plugins/class_table_inheritance.rb +26 -26
  55. data/lib/sequel/plugins/dirty.rb +13 -13
  56. data/lib/sequel/plugins/empty_failure_backtraces.rb +38 -0
  57. data/lib/sequel/plugins/forbid_lazy_load.rb +214 -0
  58. data/lib/sequel/plugins/json_serializer.rb +18 -11
  59. data/lib/sequel/plugins/single_table_inheritance.rb +15 -15
  60. data/lib/sequel/plugins/skip_saving_columns.rb +108 -0
  61. data/lib/sequel/plugins/subclasses.rb +2 -0
  62. data/lib/sequel/plugins/throw_failures.rb +1 -1
  63. data/lib/sequel/timezones.rb +6 -4
  64. data/lib/sequel/version.rb +1 -1
  65. metadata +18 -367
  66. data/Rakefile +0 -151
  67. data/doc/release_notes/4.0.0.txt +0 -262
  68. data/doc/release_notes/4.1.0.txt +0 -85
  69. data/doc/release_notes/4.10.0.txt +0 -226
  70. data/doc/release_notes/4.11.0.txt +0 -147
  71. data/doc/release_notes/4.12.0.txt +0 -105
  72. data/doc/release_notes/4.13.0.txt +0 -169
  73. data/doc/release_notes/4.14.0.txt +0 -68
  74. data/doc/release_notes/4.15.0.txt +0 -56
  75. data/doc/release_notes/4.16.0.txt +0 -36
  76. data/doc/release_notes/4.17.0.txt +0 -38
  77. data/doc/release_notes/4.18.0.txt +0 -36
  78. data/doc/release_notes/4.19.0.txt +0 -45
  79. data/doc/release_notes/4.2.0.txt +0 -129
  80. data/doc/release_notes/4.20.0.txt +0 -79
  81. data/doc/release_notes/4.21.0.txt +0 -94
  82. data/doc/release_notes/4.22.0.txt +0 -72
  83. data/doc/release_notes/4.23.0.txt +0 -65
  84. data/doc/release_notes/4.24.0.txt +0 -99
  85. data/doc/release_notes/4.25.0.txt +0 -181
  86. data/doc/release_notes/4.26.0.txt +0 -44
  87. data/doc/release_notes/4.27.0.txt +0 -78
  88. data/doc/release_notes/4.28.0.txt +0 -57
  89. data/doc/release_notes/4.29.0.txt +0 -41
  90. data/doc/release_notes/4.3.0.txt +0 -40
  91. data/doc/release_notes/4.30.0.txt +0 -37
  92. data/doc/release_notes/4.31.0.txt +0 -57
  93. data/doc/release_notes/4.32.0.txt +0 -132
  94. data/doc/release_notes/4.33.0.txt +0 -88
  95. data/doc/release_notes/4.34.0.txt +0 -86
  96. data/doc/release_notes/4.35.0.txt +0 -130
  97. data/doc/release_notes/4.36.0.txt +0 -116
  98. data/doc/release_notes/4.37.0.txt +0 -50
  99. data/doc/release_notes/4.38.0.txt +0 -67
  100. data/doc/release_notes/4.39.0.txt +0 -127
  101. data/doc/release_notes/4.4.0.txt +0 -92
  102. data/doc/release_notes/4.40.0.txt +0 -179
  103. data/doc/release_notes/4.41.0.txt +0 -77
  104. data/doc/release_notes/4.42.0.txt +0 -221
  105. data/doc/release_notes/4.43.0.txt +0 -87
  106. data/doc/release_notes/4.44.0.txt +0 -125
  107. data/doc/release_notes/4.45.0.txt +0 -370
  108. data/doc/release_notes/4.46.0.txt +0 -404
  109. data/doc/release_notes/4.47.0.txt +0 -56
  110. data/doc/release_notes/4.48.0.txt +0 -293
  111. data/doc/release_notes/4.49.0.txt +0 -222
  112. data/doc/release_notes/4.5.0.txt +0 -34
  113. data/doc/release_notes/4.6.0.txt +0 -30
  114. data/doc/release_notes/4.7.0.txt +0 -103
  115. data/doc/release_notes/4.8.0.txt +0 -175
  116. data/doc/release_notes/4.9.0.txt +0 -190
  117. data/spec/adapter_spec.rb +0 -4
  118. data/spec/adapters/db2_spec.rb +0 -170
  119. data/spec/adapters/mssql_spec.rb +0 -828
  120. data/spec/adapters/mysql_spec.rb +0 -1060
  121. data/spec/adapters/oracle_spec.rb +0 -371
  122. data/spec/adapters/postgres_spec.rb +0 -4476
  123. data/spec/adapters/spec_helper.rb +0 -44
  124. data/spec/adapters/sqlanywhere_spec.rb +0 -97
  125. data/spec/adapters/sqlite_spec.rb +0 -652
  126. data/spec/bin_spec.rb +0 -278
  127. data/spec/core/connection_pool_spec.rb +0 -1250
  128. data/spec/core/database_spec.rb +0 -2915
  129. data/spec/core/dataset_spec.rb +0 -5547
  130. data/spec/core/deprecated_spec.rb +0 -70
  131. data/spec/core/expression_filters_spec.rb +0 -1498
  132. data/spec/core/mock_adapter_spec.rb +0 -722
  133. data/spec/core/object_graph_spec.rb +0 -336
  134. data/spec/core/placeholder_literalizer_spec.rb +0 -166
  135. data/spec/core/schema_generator_spec.rb +0 -214
  136. data/spec/core/schema_spec.rb +0 -1844
  137. data/spec/core/spec_helper.rb +0 -24
  138. data/spec/core/version_spec.rb +0 -14
  139. data/spec/core_extensions_spec.rb +0 -763
  140. data/spec/core_model_spec.rb +0 -2
  141. data/spec/core_spec.rb +0 -1
  142. data/spec/deprecation_helper.rb +0 -30
  143. data/spec/extensions/accessed_columns_spec.rb +0 -51
  144. data/spec/extensions/active_model_spec.rb +0 -99
  145. data/spec/extensions/after_initialize_spec.rb +0 -28
  146. data/spec/extensions/any_not_empty_spec.rb +0 -23
  147. data/spec/extensions/arbitrary_servers_spec.rb +0 -109
  148. data/spec/extensions/association_dependencies_spec.rb +0 -125
  149. data/spec/extensions/association_multi_add_remove_spec.rb +0 -1041
  150. data/spec/extensions/association_pks_spec.rb +0 -423
  151. data/spec/extensions/association_proxies_spec.rb +0 -100
  152. data/spec/extensions/auto_literal_strings_spec.rb +0 -205
  153. data/spec/extensions/auto_validations_spec.rb +0 -229
  154. data/spec/extensions/blacklist_security_spec.rb +0 -95
  155. data/spec/extensions/blank_spec.rb +0 -69
  156. data/spec/extensions/boolean_readers_spec.rb +0 -93
  157. data/spec/extensions/boolean_subsets_spec.rb +0 -47
  158. data/spec/extensions/caching_spec.rb +0 -273
  159. data/spec/extensions/caller_logging_spec.rb +0 -52
  160. data/spec/extensions/class_table_inheritance_spec.rb +0 -750
  161. data/spec/extensions/column_conflicts_spec.rb +0 -75
  162. data/spec/extensions/column_select_spec.rb +0 -129
  163. data/spec/extensions/columns_introspection_spec.rb +0 -90
  164. data/spec/extensions/columns_updated_spec.rb +0 -35
  165. data/spec/extensions/composition_spec.rb +0 -248
  166. data/spec/extensions/connection_expiration_spec.rb +0 -151
  167. data/spec/extensions/connection_validator_spec.rb +0 -144
  168. data/spec/extensions/constant_sql_override_spec.rb +0 -24
  169. data/spec/extensions/constraint_validations_plugin_spec.rb +0 -300
  170. data/spec/extensions/constraint_validations_spec.rb +0 -439
  171. data/spec/extensions/core_refinements_spec.rb +0 -528
  172. data/spec/extensions/csv_serializer_spec.rb +0 -183
  173. data/spec/extensions/current_datetime_timestamp_spec.rb +0 -27
  174. data/spec/extensions/dataset_associations_spec.rb +0 -365
  175. data/spec/extensions/dataset_source_alias_spec.rb +0 -51
  176. data/spec/extensions/date_arithmetic_spec.rb +0 -181
  177. data/spec/extensions/datetime_parse_to_time_spec.rb +0 -169
  178. data/spec/extensions/def_dataset_method_spec.rb +0 -100
  179. data/spec/extensions/defaults_setter_spec.rb +0 -150
  180. data/spec/extensions/delay_add_association_spec.rb +0 -73
  181. data/spec/extensions/dirty_spec.rb +0 -222
  182. data/spec/extensions/duplicate_columns_handler_spec.rb +0 -104
  183. data/spec/extensions/eager_each_spec.rb +0 -62
  184. data/spec/extensions/eager_graph_eager_spec.rb +0 -100
  185. data/spec/extensions/empty_array_consider_nulls_spec.rb +0 -24
  186. data/spec/extensions/error_splitter_spec.rb +0 -18
  187. data/spec/extensions/error_sql_spec.rb +0 -20
  188. data/spec/extensions/escaped_like_spec.rb +0 -40
  189. data/spec/extensions/eval_inspect_spec.rb +0 -81
  190. data/spec/extensions/exclude_or_null_spec.rb +0 -15
  191. data/spec/extensions/finder_spec.rb +0 -260
  192. data/spec/extensions/force_encoding_spec.rb +0 -126
  193. data/spec/extensions/freeze_datasets_spec.rb +0 -31
  194. data/spec/extensions/graph_each_spec.rb +0 -113
  195. data/spec/extensions/hook_class_methods_spec.rb +0 -402
  196. data/spec/extensions/identifier_mangling_spec.rb +0 -201
  197. data/spec/extensions/implicit_subquery_spec.rb +0 -58
  198. data/spec/extensions/index_caching_spec.rb +0 -66
  199. data/spec/extensions/inflector_spec.rb +0 -183
  200. data/spec/extensions/input_transformer_spec.rb +0 -69
  201. data/spec/extensions/insert_conflict_spec.rb +0 -103
  202. data/spec/extensions/insert_returning_select_spec.rb +0 -72
  203. data/spec/extensions/instance_filters_spec.rb +0 -79
  204. data/spec/extensions/instance_hooks_spec.rb +0 -246
  205. data/spec/extensions/integer64_spec.rb +0 -22
  206. data/spec/extensions/inverted_subsets_spec.rb +0 -33
  207. data/spec/extensions/json_serializer_spec.rb +0 -336
  208. data/spec/extensions/lazy_attributes_spec.rb +0 -183
  209. data/spec/extensions/list_spec.rb +0 -291
  210. data/spec/extensions/looser_typecasting_spec.rb +0 -43
  211. data/spec/extensions/many_through_many_spec.rb +0 -2177
  212. data/spec/extensions/migration_spec.rb +0 -864
  213. data/spec/extensions/modification_detection_spec.rb +0 -93
  214. data/spec/extensions/mssql_optimistic_locking_spec.rb +0 -92
  215. data/spec/extensions/named_timezones_spec.rb +0 -218
  216. data/spec/extensions/nested_attributes_spec.rb +0 -815
  217. data/spec/extensions/null_dataset_spec.rb +0 -85
  218. data/spec/extensions/optimistic_locking_spec.rb +0 -127
  219. data/spec/extensions/pagination_spec.rb +0 -116
  220. data/spec/extensions/pg_array_associations_spec.rb +0 -802
  221. data/spec/extensions/pg_array_ops_spec.rb +0 -144
  222. data/spec/extensions/pg_array_spec.rb +0 -398
  223. data/spec/extensions/pg_auto_constraint_validations_spec.rb +0 -209
  224. data/spec/extensions/pg_enum_spec.rb +0 -118
  225. data/spec/extensions/pg_extended_date_support_spec.rb +0 -126
  226. data/spec/extensions/pg_hstore_ops_spec.rb +0 -238
  227. data/spec/extensions/pg_hstore_spec.rb +0 -219
  228. data/spec/extensions/pg_inet_ops_spec.rb +0 -102
  229. data/spec/extensions/pg_inet_spec.rb +0 -72
  230. data/spec/extensions/pg_interval_spec.rb +0 -103
  231. data/spec/extensions/pg_json_ops_spec.rb +0 -356
  232. data/spec/extensions/pg_json_spec.rb +0 -451
  233. data/spec/extensions/pg_loose_count_spec.rb +0 -23
  234. data/spec/extensions/pg_range_ops_spec.rb +0 -60
  235. data/spec/extensions/pg_range_spec.rb +0 -600
  236. data/spec/extensions/pg_row_ops_spec.rb +0 -61
  237. data/spec/extensions/pg_row_plugin_spec.rb +0 -60
  238. data/spec/extensions/pg_row_spec.rb +0 -363
  239. data/spec/extensions/pg_static_cache_updater_spec.rb +0 -93
  240. data/spec/extensions/pg_timestamptz_spec.rb +0 -17
  241. data/spec/extensions/prepared_statements_safe_spec.rb +0 -66
  242. data/spec/extensions/prepared_statements_spec.rb +0 -177
  243. data/spec/extensions/pretty_table_spec.rb +0 -123
  244. data/spec/extensions/query_spec.rb +0 -94
  245. data/spec/extensions/rcte_tree_spec.rb +0 -387
  246. data/spec/extensions/round_timestamps_spec.rb +0 -39
  247. data/spec/extensions/s_spec.rb +0 -60
  248. data/spec/extensions/schema_caching_spec.rb +0 -64
  249. data/spec/extensions/schema_dumper_spec.rb +0 -870
  250. data/spec/extensions/select_remove_spec.rb +0 -38
  251. data/spec/extensions/sequel_4_dataset_methods_spec.rb +0 -121
  252. data/spec/extensions/serialization_modification_detection_spec.rb +0 -98
  253. data/spec/extensions/serialization_spec.rb +0 -365
  254. data/spec/extensions/server_block_spec.rb +0 -135
  255. data/spec/extensions/server_logging_spec.rb +0 -45
  256. data/spec/extensions/sharding_spec.rb +0 -197
  257. data/spec/extensions/shared_caching_spec.rb +0 -151
  258. data/spec/extensions/single_table_inheritance_spec.rb +0 -347
  259. data/spec/extensions/singular_table_names_spec.rb +0 -22
  260. data/spec/extensions/skip_create_refresh_spec.rb +0 -18
  261. data/spec/extensions/spec_helper.rb +0 -70
  262. data/spec/extensions/split_array_nil_spec.rb +0 -24
  263. data/spec/extensions/split_values_spec.rb +0 -57
  264. data/spec/extensions/sql_comments_spec.rb +0 -33
  265. data/spec/extensions/sql_expr_spec.rb +0 -59
  266. data/spec/extensions/static_cache_cache_spec.rb +0 -35
  267. data/spec/extensions/static_cache_spec.rb +0 -471
  268. data/spec/extensions/string_agg_spec.rb +0 -90
  269. data/spec/extensions/string_date_time_spec.rb +0 -95
  270. data/spec/extensions/string_stripper_spec.rb +0 -68
  271. data/spec/extensions/subclasses_spec.rb +0 -79
  272. data/spec/extensions/subset_conditions_spec.rb +0 -38
  273. data/spec/extensions/symbol_aref_refinement_spec.rb +0 -28
  274. data/spec/extensions/symbol_as_refinement_spec.rb +0 -21
  275. data/spec/extensions/synchronize_sql_spec.rb +0 -124
  276. data/spec/extensions/table_select_spec.rb +0 -83
  277. data/spec/extensions/tactical_eager_loading_spec.rb +0 -402
  278. data/spec/extensions/thread_local_timezones_spec.rb +0 -67
  279. data/spec/extensions/throw_failures_spec.rb +0 -74
  280. data/spec/extensions/timestamps_spec.rb +0 -209
  281. data/spec/extensions/to_dot_spec.rb +0 -153
  282. data/spec/extensions/touch_spec.rb +0 -226
  283. data/spec/extensions/tree_spec.rb +0 -334
  284. data/spec/extensions/typecast_on_load_spec.rb +0 -86
  285. data/spec/extensions/unlimited_update_spec.rb +0 -21
  286. data/spec/extensions/update_or_create_spec.rb +0 -83
  287. data/spec/extensions/update_primary_key_spec.rb +0 -105
  288. data/spec/extensions/update_refresh_spec.rb +0 -59
  289. data/spec/extensions/uuid_spec.rb +0 -101
  290. data/spec/extensions/validate_associated_spec.rb +0 -52
  291. data/spec/extensions/validation_class_methods_spec.rb +0 -1040
  292. data/spec/extensions/validation_contexts_spec.rb +0 -31
  293. data/spec/extensions/validation_helpers_spec.rb +0 -525
  294. data/spec/extensions/whitelist_security_spec.rb +0 -157
  295. data/spec/extensions/xml_serializer_spec.rb +0 -213
  296. data/spec/files/bad_down_migration/001_create_alt_basic.rb +0 -4
  297. data/spec/files/bad_down_migration/002_create_alt_advanced.rb +0 -4
  298. data/spec/files/bad_timestamped_migrations/1273253849_create_sessions.rb +0 -9
  299. data/spec/files/bad_timestamped_migrations/1273253851_create_nodes.rb +0 -9
  300. data/spec/files/bad_timestamped_migrations/1273253853_3_create_users.rb +0 -3
  301. data/spec/files/bad_up_migration/001_create_alt_basic.rb +0 -4
  302. data/spec/files/bad_up_migration/002_create_alt_advanced.rb +0 -3
  303. data/spec/files/convert_to_timestamp_migrations/001_create_sessions.rb +0 -9
  304. data/spec/files/convert_to_timestamp_migrations/002_create_nodes.rb +0 -9
  305. data/spec/files/convert_to_timestamp_migrations/003_3_create_users.rb +0 -4
  306. data/spec/files/convert_to_timestamp_migrations/1273253850_create_artists.rb +0 -9
  307. data/spec/files/convert_to_timestamp_migrations/1273253852_create_albums.rb +0 -9
  308. data/spec/files/double_migration/001_create_sessions.rb +0 -9
  309. data/spec/files/double_migration/002_create_nodes.rb +0 -19
  310. data/spec/files/double_migration/003_3_create_users.rb +0 -4
  311. data/spec/files/duplicate_integer_migrations/001_create_alt_advanced.rb +0 -4
  312. data/spec/files/duplicate_integer_migrations/001_create_alt_basic.rb +0 -4
  313. data/spec/files/duplicate_timestamped_migrations/1273253849_create_sessions.rb +0 -9
  314. data/spec/files/duplicate_timestamped_migrations/1273253853_create_nodes.rb +0 -9
  315. data/spec/files/duplicate_timestamped_migrations/1273253853_create_users.rb +0 -4
  316. data/spec/files/empty_migration/001_create_sessions.rb +0 -9
  317. data/spec/files/empty_migration/002_create_nodes.rb +0 -0
  318. data/spec/files/empty_migration/003_3_create_users.rb +0 -4
  319. data/spec/files/integer_migrations/001_create_sessions.rb +0 -9
  320. data/spec/files/integer_migrations/002_create_nodes.rb +0 -9
  321. data/spec/files/integer_migrations/003_3_create_users.rb +0 -4
  322. data/spec/files/interleaved_timestamped_migrations/1273253849_create_sessions.rb +0 -9
  323. data/spec/files/interleaved_timestamped_migrations/1273253850_create_artists.rb +0 -9
  324. data/spec/files/interleaved_timestamped_migrations/1273253851_create_nodes.rb +0 -9
  325. data/spec/files/interleaved_timestamped_migrations/1273253852_create_albums.rb +0 -9
  326. data/spec/files/interleaved_timestamped_migrations/1273253853_3_create_users.rb +0 -4
  327. data/spec/files/missing_integer_migrations/001_create_alt_basic.rb +0 -4
  328. data/spec/files/missing_integer_migrations/003_create_alt_advanced.rb +0 -4
  329. data/spec/files/missing_timestamped_migrations/1273253849_create_sessions.rb +0 -9
  330. data/spec/files/missing_timestamped_migrations/1273253853_3_create_users.rb +0 -4
  331. data/spec/files/reversible_migrations/001_reversible.rb +0 -5
  332. data/spec/files/reversible_migrations/002_reversible.rb +0 -5
  333. data/spec/files/reversible_migrations/003_reversible.rb +0 -5
  334. data/spec/files/reversible_migrations/004_reversible.rb +0 -5
  335. data/spec/files/reversible_migrations/005_reversible.rb +0 -10
  336. data/spec/files/reversible_migrations/006_reversible.rb +0 -10
  337. data/spec/files/reversible_migrations/007_reversible.rb +0 -10
  338. data/spec/files/timestamped_migrations/1273253849_create_sessions.rb +0 -9
  339. data/spec/files/timestamped_migrations/1273253851_create_nodes.rb +0 -9
  340. data/spec/files/timestamped_migrations/1273253853_3_create_users.rb +0 -4
  341. data/spec/files/transaction_specified_migrations/001_create_alt_basic.rb +0 -4
  342. data/spec/files/transaction_specified_migrations/002_create_basic.rb +0 -4
  343. data/spec/files/transaction_unspecified_migrations/001_create_alt_basic.rb +0 -3
  344. data/spec/files/transaction_unspecified_migrations/002_create_basic.rb +0 -3
  345. data/spec/files/uppercase_timestamped_migrations/1273253849_CREATE_SESSIONS.RB +0 -9
  346. data/spec/files/uppercase_timestamped_migrations/1273253851_CREATE_NODES.RB +0 -9
  347. data/spec/files/uppercase_timestamped_migrations/1273253853_3_CREATE_USERS.RB +0 -4
  348. data/spec/guards_helper.rb +0 -59
  349. data/spec/integration/associations_test.rb +0 -2597
  350. data/spec/integration/database_test.rb +0 -113
  351. data/spec/integration/dataset_test.rb +0 -2037
  352. data/spec/integration/eager_loader_test.rb +0 -687
  353. data/spec/integration/migrator_test.rb +0 -262
  354. data/spec/integration/model_test.rb +0 -203
  355. data/spec/integration/plugin_test.rb +0 -2423
  356. data/spec/integration/prepared_statement_test.rb +0 -405
  357. data/spec/integration/schema_test.rb +0 -903
  358. data/spec/integration/spec_helper.rb +0 -71
  359. data/spec/integration/timezone_test.rb +0 -86
  360. data/spec/integration/transaction_test.rb +0 -603
  361. data/spec/integration/type_test.rb +0 -127
  362. data/spec/model/association_reflection_spec.rb +0 -803
  363. data/spec/model/associations_spec.rb +0 -4738
  364. data/spec/model/base_spec.rb +0 -875
  365. data/spec/model/class_dataset_methods_spec.rb +0 -146
  366. data/spec/model/dataset_methods_spec.rb +0 -198
  367. data/spec/model/eager_loading_spec.rb +0 -2377
  368. data/spec/model/hooks_spec.rb +0 -370
  369. data/spec/model/inflector_spec.rb +0 -26
  370. data/spec/model/model_spec.rb +0 -956
  371. data/spec/model/plugins_spec.rb +0 -429
  372. data/spec/model/record_spec.rb +0 -2118
  373. data/spec/model/spec_helper.rb +0 -46
  374. data/spec/model/validations_spec.rb +0 -220
  375. data/spec/model_no_assoc_spec.rb +0 -1
  376. data/spec/model_spec.rb +0 -1
  377. data/spec/plugin_spec.rb +0 -1
  378. data/spec/sequel_coverage.rb +0 -15
  379. data/spec/sequel_warning.rb +0 -4
  380. data/spec/spec_config.rb +0 -12
@@ -106,17 +106,13 @@ module Sequel
106
106
  # and breaks some aspects of the json_serializer plugin. You can undo the damage
107
107
  # done by active_support/json by doing:
108
108
  #
109
- # class Array
110
- # def to_json(options = {})
111
- # JSON.generate(self)
112
- # end
113
- # end
114
- #
115
- # class Hash
109
+ # module ActiveSupportBrokenJSONFix
116
110
  # def to_json(options = {})
117
111
  # JSON.generate(self)
118
112
  # end
119
113
  # end
114
+ # Array.send(:prepend, ActiveSupportBrokenJSONFix)
115
+ # Hash.send(:prepend, ActiveSupportBrokenJSONFix)
120
116
  #
121
117
  # Note that this will probably cause active_support/json to no longer work
122
118
  # correctly in some cases.
@@ -369,6 +365,13 @@ module Sequel
369
365
  end
370
366
 
371
367
  module DatasetMethods
368
+ # Store default options used when calling to_json on this dataset.
369
+ # These options take precedence over the class level options,
370
+ # and can be overridden by passing options directly to to_json.
371
+ def json_serializer_opts(opts=OPTS)
372
+ clone(:json_serializer_opts=>opts)
373
+ end
374
+
372
375
  # Return a JSON string representing an array of all objects in
373
376
  # this dataset. Takes the same options as the instance
374
377
  # method, and passes them to every instance. Additionally,
@@ -386,11 +389,15 @@ module Sequel
386
389
  # object. If set to a string, wraps the collection in
387
390
  # a root object using the string as the key.
388
391
  def to_json(*a)
389
- if opts = a.first.is_a?(Hash)
390
- opts = model.json_serializer_opts.merge(a.first)
392
+ opts = model.json_serializer_opts
393
+
394
+ if ds_opts = @opts[:json_serializer_opts]
395
+ opts = opts.merge(ds_opts)
396
+ end
397
+
398
+ if (arg = a.first).is_a?(Hash)
399
+ opts = opts.merge(arg)
391
400
  a = []
392
- else
393
- opts = model.json_serializer_opts
394
401
  end
395
402
 
396
403
  case collection_root = opts[:root]
@@ -163,21 +163,6 @@ module Sequel
163
163
  super
164
164
  end
165
165
 
166
- # Copy the necessary attributes to the subclasses, and filter the
167
- # subclass's dataset based on the sti_kep_map entry for the class.
168
- def inherited(subclass)
169
- super
170
- key = Array(sti_key_map[subclass]).dup
171
- sti_subclass_added(key)
172
- rp = dataset.row_proc
173
- subclass.set_dataset(sti_subclass_dataset(key), :inherited=>true)
174
- subclass.instance_exec do
175
- @dataset = @dataset.with_row_proc(rp)
176
- @sti_key_array = key
177
- self.simple_table = nil
178
- end
179
- end
180
-
181
166
  # Return an instance of the class specified by sti_key,
182
167
  # used by the row_proc.
183
168
  def sti_load(r)
@@ -208,6 +193,21 @@ module Sequel
208
193
  super
209
194
  end
210
195
 
196
+ # Copy the necessary attributes to the subclasses, and filter the
197
+ # subclass's dataset based on the sti_kep_map entry for the class.
198
+ def inherited(subclass)
199
+ super
200
+ key = Array(sti_key_map[subclass]).dup
201
+ sti_subclass_added(key)
202
+ rp = dataset.row_proc
203
+ subclass.set_dataset(sti_subclass_dataset(key), :inherited=>true)
204
+ subclass.instance_exec do
205
+ @dataset = @dataset.with_row_proc(rp)
206
+ @sti_key_array = key
207
+ self.simple_table = nil
208
+ end
209
+ end
210
+
211
211
  # If calling set_dataset manually, make sure to set the dataset
212
212
  # row proc to one that handles inheritance correctly.
213
213
  def set_dataset_row_proc(ds)
@@ -0,0 +1,108 @@
1
+ # frozen-string-literal: true
2
+
3
+ module Sequel
4
+ module Plugins
5
+ # The skip_saving_columms plugin allows skipping specific columns when
6
+ # saving. By default, it skips columns that the database schema
7
+ # indicates are generated columns:
8
+ #
9
+ # # Assume id column, name column, and id2 generated column
10
+ # album = Album[1]
11
+ # album.id # => 1
12
+ # album.name # => 'X'
13
+ # album.id2 # => 2
14
+ # album.save
15
+ # # UPDATE album SET name = 'X' WHERE (id = 1)
16
+ #
17
+ # You can override which columns will be skipped:
18
+ #
19
+ # Album.skip_saving_columns = [:name]
20
+ # album.save
21
+ # # UPDATE album SET id2 = 2 WHERE (id = 1)
22
+ #
23
+ # The skipping happens for all usage of Model#save and callers of it (e.g.
24
+ # Model.create, Model.update). When using the plugin, the only way to get
25
+ # it to save a column marked for skipping is to explicitly specify it:
26
+ #
27
+ # album.save(columns: [:name, :id2])
28
+ # album.save
29
+ # # UPDATE album SET name = 'X', id2 = 2 WHERE (id = 1)
30
+ #
31
+ # Usage:
32
+ #
33
+ # # Support skipping saving columns in all Sequel::Model subclasses
34
+ # # (called before loading subclasses)
35
+ # Sequel::Model.plugin :skip_saving_columns
36
+ #
37
+ # # Support skipping saving columns in the Album class
38
+ # Album.plugin :skip_saving_columns
39
+ module SkipSavingColumns
40
+ # Setup skipping of the generated columns for a model with an existing dataset.
41
+ def self.configure(mod)
42
+ mod.instance_exec do
43
+ set_skip_saving_generated_columns if @dataset
44
+ end
45
+ end
46
+
47
+ module ClassMethods
48
+ # An array of column symbols for columns to skip when saving.
49
+ attr_reader :skip_saving_columns
50
+
51
+ # Over the default array of columns to skip. Once overridden, future
52
+ # changes to the class's dataset and future subclasses will automatically
53
+ # use these overridden columns, instead of introspecting the database schema.
54
+ def skip_saving_columns=(v)
55
+ @_skip_saving_columns_no_override = true
56
+ @skip_saving_columns = v.dup.freeze
57
+ end
58
+
59
+ Plugins.after_set_dataset(self, :set_skip_saving_generated_columns)
60
+ Plugins.inherited_instance_variables(self, :@skip_saving_columns=>:dup, :@_skip_saving_columns_no_override=>nil)
61
+
62
+ private
63
+
64
+ # If the skip saving columns has not been overridden, check the database
65
+ # schema and automatically skip any generated columns.
66
+ def set_skip_saving_generated_columns
67
+ return if @_skip_saving_columns_no_override
68
+ s = []
69
+ db_schema.each do |k, v|
70
+ s << k if v[:generated]
71
+ end
72
+ @skip_saving_columns = s.freeze
73
+ nil
74
+ end
75
+ end
76
+
77
+ module InstanceMethods
78
+ private
79
+
80
+ # Skip the columns the model has marked to skip when inserting.
81
+ def _insert_values
82
+ _save_removed_skipped_columns(Hash[super])
83
+ end
84
+
85
+ # Skip the columns the model has marked to skip when updating
86
+ # all columns.
87
+ def _save_update_all_columns_hash
88
+ _save_removed_skipped_columns(super)
89
+ end
90
+
91
+ # Skip the columns the model has marked to skip when updating
92
+ # only changed columns.
93
+ def _save_update_changed_colums_hash
94
+ _save_removed_skipped_columns(super)
95
+ end
96
+
97
+ # Remove any columns the model has marked to skip when saving.
98
+ def _save_removed_skipped_columns(hash)
99
+ model.skip_saving_columns.each do |column|
100
+ hash.delete(column)
101
+ end
102
+
103
+ hash
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
@@ -63,6 +63,8 @@ module Sequel
63
63
 
64
64
  Plugins.inherited_instance_variables(self, :@subclasses=>lambda{|v| []}, :@on_subclass=>nil)
65
65
 
66
+ private
67
+
66
68
  # Add the subclass to this model's current subclasses,
67
69
  # and initialize a new subclasses instance variable
68
70
  # in the subclass.
@@ -48,7 +48,7 @@ module Sequel
48
48
  # nil if there were any.
49
49
  def catch_hook_failures
50
50
  called = ret = nil
51
- caught = catch(HookFailed) do
51
+ catch(HookFailed) do
52
52
  ret = yield
53
53
  called = true
54
54
  end
@@ -4,6 +4,11 @@ module Sequel
4
4
  @application_timezone = nil
5
5
  @database_timezone = nil
6
6
  @typecast_timezone = nil
7
+ @local_offsets = {}
8
+
9
+ # Backwards compatible alias
10
+ Timezones = SequelMethods
11
+ Deprecation.deprecate_constant(self, :Timezones)
7
12
 
8
13
  # Sequel doesn't pay much attention to timezones by default, but you can set it
9
14
  # handle timezones if you want. There are three separate timezone settings, application_timezone,
@@ -16,7 +21,7 @@ module Sequel
16
21
  # on the environment (e.g. current user), you need to use the +named_timezones+ extension (and use
17
22
  # +DateTime+ as the +datetime_class+). Sequel also ships with a +thread_local_timezones+ extensions
18
23
  # which allows each thread to have its own timezone values for each of the timezones.
19
- module Timezones
24
+ module SequelMethods
20
25
  # The timezone you want the application to use. This is the timezone
21
26
  # that incoming times from the database and typecasting are converted to.
22
27
  attr_reader :application_timezone
@@ -243,7 +248,4 @@ module Sequel
243
248
  Sequel.synchronize{@local_offsets[offset_secs] = Rational(offset_secs, 86400)}
244
249
  end
245
250
  end
246
-
247
- @local_offsets = {}
248
- extend Timezones
249
251
  end
@@ -6,7 +6,7 @@ module Sequel
6
6
 
7
7
  # The minor version of Sequel. Bumped for every non-patch level
8
8
  # release, generally around once a month.
9
- MINOR = 28
9
+ MINOR = 33
10
10
 
11
11
  # The tiny version of Sequel. Usually 0, only bumped for bugfix
12
12
  # releases that fix regressions from previous versions.
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: 5.28.0
4
+ version: 5.33.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: 2020-01-01 00:00:00.000000000 Z
11
+ date: 2020-06-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -147,56 +147,6 @@ extra_rdoc_files:
147
147
  - doc/testing.rdoc
148
148
  - doc/validations.rdoc
149
149
  - doc/transactions.rdoc
150
- - doc/release_notes/4.0.0.txt
151
- - doc/release_notes/4.1.0.txt
152
- - doc/release_notes/4.10.0.txt
153
- - doc/release_notes/4.11.0.txt
154
- - doc/release_notes/4.12.0.txt
155
- - doc/release_notes/4.13.0.txt
156
- - doc/release_notes/4.14.0.txt
157
- - doc/release_notes/4.15.0.txt
158
- - doc/release_notes/4.16.0.txt
159
- - doc/release_notes/4.17.0.txt
160
- - doc/release_notes/4.18.0.txt
161
- - doc/release_notes/4.19.0.txt
162
- - doc/release_notes/4.2.0.txt
163
- - doc/release_notes/4.20.0.txt
164
- - doc/release_notes/4.21.0.txt
165
- - doc/release_notes/4.22.0.txt
166
- - doc/release_notes/4.23.0.txt
167
- - doc/release_notes/4.24.0.txt
168
- - doc/release_notes/4.25.0.txt
169
- - doc/release_notes/4.26.0.txt
170
- - doc/release_notes/4.27.0.txt
171
- - doc/release_notes/4.28.0.txt
172
- - doc/release_notes/4.29.0.txt
173
- - doc/release_notes/4.3.0.txt
174
- - doc/release_notes/4.30.0.txt
175
- - doc/release_notes/4.31.0.txt
176
- - doc/release_notes/4.32.0.txt
177
- - doc/release_notes/4.33.0.txt
178
- - doc/release_notes/4.34.0.txt
179
- - doc/release_notes/4.35.0.txt
180
- - doc/release_notes/4.36.0.txt
181
- - doc/release_notes/4.37.0.txt
182
- - doc/release_notes/4.38.0.txt
183
- - doc/release_notes/4.39.0.txt
184
- - doc/release_notes/4.4.0.txt
185
- - doc/release_notes/4.40.0.txt
186
- - doc/release_notes/4.41.0.txt
187
- - doc/release_notes/4.42.0.txt
188
- - doc/release_notes/4.43.0.txt
189
- - doc/release_notes/4.44.0.txt
190
- - doc/release_notes/4.45.0.txt
191
- - doc/release_notes/4.46.0.txt
192
- - doc/release_notes/4.47.0.txt
193
- - doc/release_notes/4.48.0.txt
194
- - doc/release_notes/4.49.0.txt
195
- - doc/release_notes/4.5.0.txt
196
- - doc/release_notes/4.6.0.txt
197
- - doc/release_notes/4.7.0.txt
198
- - doc/release_notes/4.8.0.txt
199
- - doc/release_notes/4.9.0.txt
200
150
  - doc/release_notes/5.5.0.txt
201
151
  - doc/release_notes/5.6.0.txt
202
152
  - doc/release_notes/5.0.0.txt
@@ -226,11 +176,15 @@ extra_rdoc_files:
226
176
  - doc/release_notes/5.26.0.txt
227
177
  - doc/release_notes/5.27.0.txt
228
178
  - doc/release_notes/5.28.0.txt
179
+ - doc/release_notes/5.29.0.txt
180
+ - doc/release_notes/5.30.0.txt
181
+ - doc/release_notes/5.31.0.txt
182
+ - doc/release_notes/5.32.0.txt
183
+ - doc/release_notes/5.33.0.txt
229
184
  files:
230
185
  - CHANGELOG
231
186
  - MIT-LICENSE
232
187
  - README.rdoc
233
- - Rakefile
234
188
  - bin/sequel
235
189
  - doc/advanced_associations.rdoc
236
190
  - doc/association_basics.rdoc
@@ -253,56 +207,6 @@ files:
253
207
  - doc/prepared_statements.rdoc
254
208
  - doc/querying.rdoc
255
209
  - doc/reflection.rdoc
256
- - doc/release_notes/4.0.0.txt
257
- - doc/release_notes/4.1.0.txt
258
- - doc/release_notes/4.10.0.txt
259
- - doc/release_notes/4.11.0.txt
260
- - doc/release_notes/4.12.0.txt
261
- - doc/release_notes/4.13.0.txt
262
- - doc/release_notes/4.14.0.txt
263
- - doc/release_notes/4.15.0.txt
264
- - doc/release_notes/4.16.0.txt
265
- - doc/release_notes/4.17.0.txt
266
- - doc/release_notes/4.18.0.txt
267
- - doc/release_notes/4.19.0.txt
268
- - doc/release_notes/4.2.0.txt
269
- - doc/release_notes/4.20.0.txt
270
- - doc/release_notes/4.21.0.txt
271
- - doc/release_notes/4.22.0.txt
272
- - doc/release_notes/4.23.0.txt
273
- - doc/release_notes/4.24.0.txt
274
- - doc/release_notes/4.25.0.txt
275
- - doc/release_notes/4.26.0.txt
276
- - doc/release_notes/4.27.0.txt
277
- - doc/release_notes/4.28.0.txt
278
- - doc/release_notes/4.29.0.txt
279
- - doc/release_notes/4.3.0.txt
280
- - doc/release_notes/4.30.0.txt
281
- - doc/release_notes/4.31.0.txt
282
- - doc/release_notes/4.32.0.txt
283
- - doc/release_notes/4.33.0.txt
284
- - doc/release_notes/4.34.0.txt
285
- - doc/release_notes/4.35.0.txt
286
- - doc/release_notes/4.36.0.txt
287
- - doc/release_notes/4.37.0.txt
288
- - doc/release_notes/4.38.0.txt
289
- - doc/release_notes/4.39.0.txt
290
- - doc/release_notes/4.4.0.txt
291
- - doc/release_notes/4.40.0.txt
292
- - doc/release_notes/4.41.0.txt
293
- - doc/release_notes/4.42.0.txt
294
- - doc/release_notes/4.43.0.txt
295
- - doc/release_notes/4.44.0.txt
296
- - doc/release_notes/4.45.0.txt
297
- - doc/release_notes/4.46.0.txt
298
- - doc/release_notes/4.47.0.txt
299
- - doc/release_notes/4.48.0.txt
300
- - doc/release_notes/4.49.0.txt
301
- - doc/release_notes/4.5.0.txt
302
- - doc/release_notes/4.6.0.txt
303
- - doc/release_notes/4.7.0.txt
304
- - doc/release_notes/4.8.0.txt
305
- - doc/release_notes/4.9.0.txt
306
210
  - doc/release_notes/5.0.0.txt
307
211
  - doc/release_notes/5.1.0.txt
308
212
  - doc/release_notes/5.10.0.txt
@@ -325,7 +229,12 @@ files:
325
229
  - doc/release_notes/5.26.0.txt
326
230
  - doc/release_notes/5.27.0.txt
327
231
  - doc/release_notes/5.28.0.txt
232
+ - doc/release_notes/5.29.0.txt
328
233
  - doc/release_notes/5.3.0.txt
234
+ - doc/release_notes/5.30.0.txt
235
+ - doc/release_notes/5.31.0.txt
236
+ - doc/release_notes/5.32.0.txt
237
+ - doc/release_notes/5.33.0.txt
329
238
  - doc/release_notes/5.4.0.txt
330
239
  - doc/release_notes/5.5.0.txt
331
240
  - doc/release_notes/5.6.0.txt
@@ -445,6 +354,7 @@ files:
445
354
  - lib/sequel/extensions/escaped_like.rb
446
355
  - lib/sequel/extensions/eval_inspect.rb
447
356
  - lib/sequel/extensions/exclude_or_null.rb
357
+ - lib/sequel/extensions/fiber_concurrency.rb
448
358
  - lib/sequel/extensions/freeze_datasets.rb
449
359
  - lib/sequel/extensions/from_block.rb
450
360
  - lib/sequel/extensions/graph_each.rb
@@ -481,6 +391,7 @@ files:
481
391
  - lib/sequel/extensions/pretty_table.rb
482
392
  - lib/sequel/extensions/query.rb
483
393
  - lib/sequel/extensions/round_timestamps.rb
394
+ - lib/sequel/extensions/run_transaction_hooks.rb
484
395
  - lib/sequel/extensions/s.rb
485
396
  - lib/sequel/extensions/schema_caching.rb
486
397
  - lib/sequel/extensions/schema_dumper.rb
@@ -514,6 +425,7 @@ files:
514
425
  - lib/sequel/plugins/active_model.rb
515
426
  - lib/sequel/plugins/after_initialize.rb
516
427
  - lib/sequel/plugins/association_dependencies.rb
428
+ - lib/sequel/plugins/association_lazy_eager_option.rb
517
429
  - lib/sequel/plugins/association_multi_add_remove.rb
518
430
  - lib/sequel/plugins/association_pks.rb
519
431
  - lib/sequel/plugins/association_proxies.rb
@@ -537,8 +449,10 @@ files:
537
449
  - lib/sequel/plugins/dirty.rb
538
450
  - lib/sequel/plugins/eager_each.rb
539
451
  - lib/sequel/plugins/eager_graph_eager.rb
452
+ - lib/sequel/plugins/empty_failure_backtraces.rb
540
453
  - lib/sequel/plugins/error_splitter.rb
541
454
  - lib/sequel/plugins/finder.rb
455
+ - lib/sequel/plugins/forbid_lazy_load.rb
542
456
  - lib/sequel/plugins/force_encoding.rb
543
457
  - lib/sequel/plugins/hook_class_methods.rb
544
458
  - lib/sequel/plugins/input_transformer.rb
@@ -567,6 +481,7 @@ files:
567
481
  - lib/sequel/plugins/single_table_inheritance.rb
568
482
  - lib/sequel/plugins/singular_table_names.rb
569
483
  - lib/sequel/plugins/skip_create_refresh.rb
484
+ - lib/sequel/plugins/skip_saving_columns.rb
570
485
  - lib/sequel/plugins/split_values.rb
571
486
  - lib/sequel/plugins/static_cache.rb
572
487
  - lib/sequel/plugins/static_cache_cache.rb
@@ -594,270 +509,6 @@ files:
594
509
  - lib/sequel/sql.rb
595
510
  - lib/sequel/timezones.rb
596
511
  - lib/sequel/version.rb
597
- - spec/adapter_spec.rb
598
- - spec/adapters/db2_spec.rb
599
- - spec/adapters/mssql_spec.rb
600
- - spec/adapters/mysql_spec.rb
601
- - spec/adapters/oracle_spec.rb
602
- - spec/adapters/postgres_spec.rb
603
- - spec/adapters/spec_helper.rb
604
- - spec/adapters/sqlanywhere_spec.rb
605
- - spec/adapters/sqlite_spec.rb
606
- - spec/bin_spec.rb
607
- - spec/core/connection_pool_spec.rb
608
- - spec/core/database_spec.rb
609
- - spec/core/dataset_spec.rb
610
- - spec/core/deprecated_spec.rb
611
- - spec/core/expression_filters_spec.rb
612
- - spec/core/mock_adapter_spec.rb
613
- - spec/core/object_graph_spec.rb
614
- - spec/core/placeholder_literalizer_spec.rb
615
- - spec/core/schema_generator_spec.rb
616
- - spec/core/schema_spec.rb
617
- - spec/core/spec_helper.rb
618
- - spec/core/version_spec.rb
619
- - spec/core_extensions_spec.rb
620
- - spec/core_model_spec.rb
621
- - spec/core_spec.rb
622
- - spec/deprecation_helper.rb
623
- - spec/extensions/accessed_columns_spec.rb
624
- - spec/extensions/active_model_spec.rb
625
- - spec/extensions/after_initialize_spec.rb
626
- - spec/extensions/any_not_empty_spec.rb
627
- - spec/extensions/arbitrary_servers_spec.rb
628
- - spec/extensions/association_dependencies_spec.rb
629
- - spec/extensions/association_multi_add_remove_spec.rb
630
- - spec/extensions/association_pks_spec.rb
631
- - spec/extensions/association_proxies_spec.rb
632
- - spec/extensions/auto_literal_strings_spec.rb
633
- - spec/extensions/auto_validations_spec.rb
634
- - spec/extensions/blacklist_security_spec.rb
635
- - spec/extensions/blank_spec.rb
636
- - spec/extensions/boolean_readers_spec.rb
637
- - spec/extensions/boolean_subsets_spec.rb
638
- - spec/extensions/caching_spec.rb
639
- - spec/extensions/caller_logging_spec.rb
640
- - spec/extensions/class_table_inheritance_spec.rb
641
- - spec/extensions/column_conflicts_spec.rb
642
- - spec/extensions/column_select_spec.rb
643
- - spec/extensions/columns_introspection_spec.rb
644
- - spec/extensions/columns_updated_spec.rb
645
- - spec/extensions/composition_spec.rb
646
- - spec/extensions/connection_expiration_spec.rb
647
- - spec/extensions/connection_validator_spec.rb
648
- - spec/extensions/constant_sql_override_spec.rb
649
- - spec/extensions/constraint_validations_plugin_spec.rb
650
- - spec/extensions/constraint_validations_spec.rb
651
- - spec/extensions/core_refinements_spec.rb
652
- - spec/extensions/csv_serializer_spec.rb
653
- - spec/extensions/current_datetime_timestamp_spec.rb
654
- - spec/extensions/dataset_associations_spec.rb
655
- - spec/extensions/dataset_source_alias_spec.rb
656
- - spec/extensions/date_arithmetic_spec.rb
657
- - spec/extensions/datetime_parse_to_time_spec.rb
658
- - spec/extensions/def_dataset_method_spec.rb
659
- - spec/extensions/defaults_setter_spec.rb
660
- - spec/extensions/delay_add_association_spec.rb
661
- - spec/extensions/dirty_spec.rb
662
- - spec/extensions/duplicate_columns_handler_spec.rb
663
- - spec/extensions/eager_each_spec.rb
664
- - spec/extensions/eager_graph_eager_spec.rb
665
- - spec/extensions/empty_array_consider_nulls_spec.rb
666
- - spec/extensions/error_splitter_spec.rb
667
- - spec/extensions/error_sql_spec.rb
668
- - spec/extensions/escaped_like_spec.rb
669
- - spec/extensions/eval_inspect_spec.rb
670
- - spec/extensions/exclude_or_null_spec.rb
671
- - spec/extensions/finder_spec.rb
672
- - spec/extensions/force_encoding_spec.rb
673
- - spec/extensions/freeze_datasets_spec.rb
674
- - spec/extensions/graph_each_spec.rb
675
- - spec/extensions/hook_class_methods_spec.rb
676
- - spec/extensions/identifier_mangling_spec.rb
677
- - spec/extensions/implicit_subquery_spec.rb
678
- - spec/extensions/index_caching_spec.rb
679
- - spec/extensions/inflector_spec.rb
680
- - spec/extensions/input_transformer_spec.rb
681
- - spec/extensions/insert_conflict_spec.rb
682
- - spec/extensions/insert_returning_select_spec.rb
683
- - spec/extensions/instance_filters_spec.rb
684
- - spec/extensions/instance_hooks_spec.rb
685
- - spec/extensions/integer64_spec.rb
686
- - spec/extensions/inverted_subsets_spec.rb
687
- - spec/extensions/json_serializer_spec.rb
688
- - spec/extensions/lazy_attributes_spec.rb
689
- - spec/extensions/list_spec.rb
690
- - spec/extensions/looser_typecasting_spec.rb
691
- - spec/extensions/many_through_many_spec.rb
692
- - spec/extensions/migration_spec.rb
693
- - spec/extensions/modification_detection_spec.rb
694
- - spec/extensions/mssql_optimistic_locking_spec.rb
695
- - spec/extensions/named_timezones_spec.rb
696
- - spec/extensions/nested_attributes_spec.rb
697
- - spec/extensions/null_dataset_spec.rb
698
- - spec/extensions/optimistic_locking_spec.rb
699
- - spec/extensions/pagination_spec.rb
700
- - spec/extensions/pg_array_associations_spec.rb
701
- - spec/extensions/pg_array_ops_spec.rb
702
- - spec/extensions/pg_array_spec.rb
703
- - spec/extensions/pg_auto_constraint_validations_spec.rb
704
- - spec/extensions/pg_enum_spec.rb
705
- - spec/extensions/pg_extended_date_support_spec.rb
706
- - spec/extensions/pg_hstore_ops_spec.rb
707
- - spec/extensions/pg_hstore_spec.rb
708
- - spec/extensions/pg_inet_ops_spec.rb
709
- - spec/extensions/pg_inet_spec.rb
710
- - spec/extensions/pg_interval_spec.rb
711
- - spec/extensions/pg_json_ops_spec.rb
712
- - spec/extensions/pg_json_spec.rb
713
- - spec/extensions/pg_loose_count_spec.rb
714
- - spec/extensions/pg_range_ops_spec.rb
715
- - spec/extensions/pg_range_spec.rb
716
- - spec/extensions/pg_row_ops_spec.rb
717
- - spec/extensions/pg_row_plugin_spec.rb
718
- - spec/extensions/pg_row_spec.rb
719
- - spec/extensions/pg_static_cache_updater_spec.rb
720
- - spec/extensions/pg_timestamptz_spec.rb
721
- - spec/extensions/prepared_statements_safe_spec.rb
722
- - spec/extensions/prepared_statements_spec.rb
723
- - spec/extensions/pretty_table_spec.rb
724
- - spec/extensions/query_spec.rb
725
- - spec/extensions/rcte_tree_spec.rb
726
- - spec/extensions/round_timestamps_spec.rb
727
- - spec/extensions/s_spec.rb
728
- - spec/extensions/schema_caching_spec.rb
729
- - spec/extensions/schema_dumper_spec.rb
730
- - spec/extensions/select_remove_spec.rb
731
- - spec/extensions/sequel_4_dataset_methods_spec.rb
732
- - spec/extensions/serialization_modification_detection_spec.rb
733
- - spec/extensions/serialization_spec.rb
734
- - spec/extensions/server_block_spec.rb
735
- - spec/extensions/server_logging_spec.rb
736
- - spec/extensions/sharding_spec.rb
737
- - spec/extensions/shared_caching_spec.rb
738
- - spec/extensions/single_table_inheritance_spec.rb
739
- - spec/extensions/singular_table_names_spec.rb
740
- - spec/extensions/skip_create_refresh_spec.rb
741
- - spec/extensions/spec_helper.rb
742
- - spec/extensions/split_array_nil_spec.rb
743
- - spec/extensions/split_values_spec.rb
744
- - spec/extensions/sql_comments_spec.rb
745
- - spec/extensions/sql_expr_spec.rb
746
- - spec/extensions/static_cache_cache_spec.rb
747
- - spec/extensions/static_cache_spec.rb
748
- - spec/extensions/string_agg_spec.rb
749
- - spec/extensions/string_date_time_spec.rb
750
- - spec/extensions/string_stripper_spec.rb
751
- - spec/extensions/subclasses_spec.rb
752
- - spec/extensions/subset_conditions_spec.rb
753
- - spec/extensions/symbol_aref_refinement_spec.rb
754
- - spec/extensions/symbol_as_refinement_spec.rb
755
- - spec/extensions/synchronize_sql_spec.rb
756
- - spec/extensions/table_select_spec.rb
757
- - spec/extensions/tactical_eager_loading_spec.rb
758
- - spec/extensions/thread_local_timezones_spec.rb
759
- - spec/extensions/throw_failures_spec.rb
760
- - spec/extensions/timestamps_spec.rb
761
- - spec/extensions/to_dot_spec.rb
762
- - spec/extensions/touch_spec.rb
763
- - spec/extensions/tree_spec.rb
764
- - spec/extensions/typecast_on_load_spec.rb
765
- - spec/extensions/unlimited_update_spec.rb
766
- - spec/extensions/update_or_create_spec.rb
767
- - spec/extensions/update_primary_key_spec.rb
768
- - spec/extensions/update_refresh_spec.rb
769
- - spec/extensions/uuid_spec.rb
770
- - spec/extensions/validate_associated_spec.rb
771
- - spec/extensions/validation_class_methods_spec.rb
772
- - spec/extensions/validation_contexts_spec.rb
773
- - spec/extensions/validation_helpers_spec.rb
774
- - spec/extensions/whitelist_security_spec.rb
775
- - spec/extensions/xml_serializer_spec.rb
776
- - spec/files/bad_down_migration/001_create_alt_basic.rb
777
- - spec/files/bad_down_migration/002_create_alt_advanced.rb
778
- - spec/files/bad_timestamped_migrations/1273253849_create_sessions.rb
779
- - spec/files/bad_timestamped_migrations/1273253851_create_nodes.rb
780
- - spec/files/bad_timestamped_migrations/1273253853_3_create_users.rb
781
- - spec/files/bad_up_migration/001_create_alt_basic.rb
782
- - spec/files/bad_up_migration/002_create_alt_advanced.rb
783
- - spec/files/convert_to_timestamp_migrations/001_create_sessions.rb
784
- - spec/files/convert_to_timestamp_migrations/002_create_nodes.rb
785
- - spec/files/convert_to_timestamp_migrations/003_3_create_users.rb
786
- - spec/files/convert_to_timestamp_migrations/1273253850_create_artists.rb
787
- - spec/files/convert_to_timestamp_migrations/1273253852_create_albums.rb
788
- - spec/files/double_migration/001_create_sessions.rb
789
- - spec/files/double_migration/002_create_nodes.rb
790
- - spec/files/double_migration/003_3_create_users.rb
791
- - spec/files/duplicate_integer_migrations/001_create_alt_advanced.rb
792
- - spec/files/duplicate_integer_migrations/001_create_alt_basic.rb
793
- - spec/files/duplicate_timestamped_migrations/1273253849_create_sessions.rb
794
- - spec/files/duplicate_timestamped_migrations/1273253853_create_nodes.rb
795
- - spec/files/duplicate_timestamped_migrations/1273253853_create_users.rb
796
- - spec/files/empty_migration/001_create_sessions.rb
797
- - spec/files/empty_migration/002_create_nodes.rb
798
- - spec/files/empty_migration/003_3_create_users.rb
799
- - spec/files/integer_migrations/001_create_sessions.rb
800
- - spec/files/integer_migrations/002_create_nodes.rb
801
- - spec/files/integer_migrations/003_3_create_users.rb
802
- - spec/files/interleaved_timestamped_migrations/1273253849_create_sessions.rb
803
- - spec/files/interleaved_timestamped_migrations/1273253850_create_artists.rb
804
- - spec/files/interleaved_timestamped_migrations/1273253851_create_nodes.rb
805
- - spec/files/interleaved_timestamped_migrations/1273253852_create_albums.rb
806
- - spec/files/interleaved_timestamped_migrations/1273253853_3_create_users.rb
807
- - spec/files/missing_integer_migrations/001_create_alt_basic.rb
808
- - spec/files/missing_integer_migrations/003_create_alt_advanced.rb
809
- - spec/files/missing_timestamped_migrations/1273253849_create_sessions.rb
810
- - spec/files/missing_timestamped_migrations/1273253853_3_create_users.rb
811
- - spec/files/reversible_migrations/001_reversible.rb
812
- - spec/files/reversible_migrations/002_reversible.rb
813
- - spec/files/reversible_migrations/003_reversible.rb
814
- - spec/files/reversible_migrations/004_reversible.rb
815
- - spec/files/reversible_migrations/005_reversible.rb
816
- - spec/files/reversible_migrations/006_reversible.rb
817
- - spec/files/reversible_migrations/007_reversible.rb
818
- - spec/files/timestamped_migrations/1273253849_create_sessions.rb
819
- - spec/files/timestamped_migrations/1273253851_create_nodes.rb
820
- - spec/files/timestamped_migrations/1273253853_3_create_users.rb
821
- - spec/files/transaction_specified_migrations/001_create_alt_basic.rb
822
- - spec/files/transaction_specified_migrations/002_create_basic.rb
823
- - spec/files/transaction_unspecified_migrations/001_create_alt_basic.rb
824
- - spec/files/transaction_unspecified_migrations/002_create_basic.rb
825
- - spec/files/uppercase_timestamped_migrations/1273253849_CREATE_SESSIONS.RB
826
- - spec/files/uppercase_timestamped_migrations/1273253851_CREATE_NODES.RB
827
- - spec/files/uppercase_timestamped_migrations/1273253853_3_CREATE_USERS.RB
828
- - spec/guards_helper.rb
829
- - spec/integration/associations_test.rb
830
- - spec/integration/database_test.rb
831
- - spec/integration/dataset_test.rb
832
- - spec/integration/eager_loader_test.rb
833
- - spec/integration/migrator_test.rb
834
- - spec/integration/model_test.rb
835
- - spec/integration/plugin_test.rb
836
- - spec/integration/prepared_statement_test.rb
837
- - spec/integration/schema_test.rb
838
- - spec/integration/spec_helper.rb
839
- - spec/integration/timezone_test.rb
840
- - spec/integration/transaction_test.rb
841
- - spec/integration/type_test.rb
842
- - spec/model/association_reflection_spec.rb
843
- - spec/model/associations_spec.rb
844
- - spec/model/base_spec.rb
845
- - spec/model/class_dataset_methods_spec.rb
846
- - spec/model/dataset_methods_spec.rb
847
- - spec/model/eager_loading_spec.rb
848
- - spec/model/hooks_spec.rb
849
- - spec/model/inflector_spec.rb
850
- - spec/model/model_spec.rb
851
- - spec/model/plugins_spec.rb
852
- - spec/model/record_spec.rb
853
- - spec/model/spec_helper.rb
854
- - spec/model/validations_spec.rb
855
- - spec/model_no_assoc_spec.rb
856
- - spec/model_spec.rb
857
- - spec/plugin_spec.rb
858
- - spec/sequel_coverage.rb
859
- - spec/sequel_warning.rb
860
- - spec/spec_config.rb
861
512
  homepage: http://sequel.jeremyevans.net
862
513
  licenses:
863
514
  - MIT