sequel 3.21.0 → 3.28.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 (158) hide show
  1. data/CHANGELOG +294 -0
  2. data/README.rdoc +20 -6
  3. data/Rakefile +20 -15
  4. data/doc/association_basics.rdoc +210 -43
  5. data/doc/dataset_basics.rdoc +4 -4
  6. data/doc/mass_assignment.rdoc +54 -0
  7. data/doc/migration.rdoc +15 -538
  8. data/doc/model_hooks.rdoc +64 -27
  9. data/doc/opening_databases.rdoc +37 -10
  10. data/doc/prepared_statements.rdoc +16 -10
  11. data/doc/reflection.rdoc +8 -2
  12. data/doc/release_notes/3.22.0.txt +39 -0
  13. data/doc/release_notes/3.23.0.txt +172 -0
  14. data/doc/release_notes/3.24.0.txt +420 -0
  15. data/doc/release_notes/3.25.0.txt +88 -0
  16. data/doc/release_notes/3.26.0.txt +88 -0
  17. data/doc/release_notes/3.27.0.txt +82 -0
  18. data/doc/release_notes/3.28.0.txt +304 -0
  19. data/doc/schema_modification.rdoc +547 -0
  20. data/doc/testing.rdoc +106 -0
  21. data/doc/transactions.rdoc +97 -0
  22. data/doc/virtual_rows.rdoc +2 -2
  23. data/lib/sequel/adapters/ado.rb +12 -1
  24. data/lib/sequel/adapters/amalgalite.rb +4 -0
  25. data/lib/sequel/adapters/db2.rb +95 -58
  26. data/lib/sequel/adapters/do.rb +12 -0
  27. data/lib/sequel/adapters/firebird.rb +25 -203
  28. data/lib/sequel/adapters/ibmdb.rb +440 -0
  29. data/lib/sequel/adapters/informix.rb +4 -19
  30. data/lib/sequel/adapters/jdbc/as400.rb +0 -7
  31. data/lib/sequel/adapters/jdbc/db2.rb +49 -0
  32. data/lib/sequel/adapters/jdbc/firebird.rb +34 -0
  33. data/lib/sequel/adapters/jdbc/h2.rb +16 -5
  34. data/lib/sequel/adapters/jdbc/informix.rb +31 -0
  35. data/lib/sequel/adapters/jdbc/jtds.rb +34 -0
  36. data/lib/sequel/adapters/jdbc/mssql.rb +0 -32
  37. data/lib/sequel/adapters/jdbc/mysql.rb +9 -0
  38. data/lib/sequel/adapters/jdbc/oracle.rb +2 -27
  39. data/lib/sequel/adapters/jdbc/postgresql.rb +6 -0
  40. data/lib/sequel/adapters/jdbc/sqlserver.rb +46 -0
  41. data/lib/sequel/adapters/jdbc/transactions.rb +34 -0
  42. data/lib/sequel/adapters/jdbc.rb +62 -29
  43. data/lib/sequel/adapters/mysql.rb +22 -139
  44. data/lib/sequel/adapters/mysql2.rb +9 -14
  45. data/lib/sequel/adapters/odbc/db2.rb +21 -0
  46. data/lib/sequel/adapters/odbc.rb +15 -3
  47. data/lib/sequel/adapters/oracle.rb +17 -1
  48. data/lib/sequel/adapters/postgres.rb +111 -16
  49. data/lib/sequel/adapters/shared/access.rb +21 -0
  50. data/lib/sequel/adapters/shared/db2.rb +290 -0
  51. data/lib/sequel/adapters/shared/firebird.rb +214 -0
  52. data/lib/sequel/adapters/shared/informix.rb +45 -0
  53. data/lib/sequel/adapters/shared/mssql.rb +85 -47
  54. data/lib/sequel/adapters/shared/mysql.rb +50 -7
  55. data/lib/sequel/adapters/shared/mysql_prepared_statements.rb +143 -0
  56. data/lib/sequel/adapters/shared/oracle.rb +0 -4
  57. data/lib/sequel/adapters/shared/postgres.rb +75 -43
  58. data/lib/sequel/adapters/shared/sqlite.rb +56 -8
  59. data/lib/sequel/adapters/sqlite.rb +12 -11
  60. data/lib/sequel/adapters/swift/mysql.rb +9 -0
  61. data/lib/sequel/adapters/tinytds.rb +139 -7
  62. data/lib/sequel/adapters/utils/emulate_offset_with_row_number.rb +55 -0
  63. data/lib/sequel/ast_transformer.rb +190 -0
  64. data/lib/sequel/connection_pool/threaded.rb +3 -2
  65. data/lib/sequel/connection_pool.rb +1 -1
  66. data/lib/sequel/core.rb +6 -5
  67. data/lib/sequel/database/connecting.rb +5 -5
  68. data/lib/sequel/database/dataset.rb +1 -1
  69. data/lib/sequel/database/dataset_defaults.rb +1 -1
  70. data/lib/sequel/database/logging.rb +1 -1
  71. data/lib/sequel/database/misc.rb +38 -17
  72. data/lib/sequel/database/query.rb +50 -19
  73. data/lib/sequel/database/schema_generator.rb +8 -5
  74. data/lib/sequel/database/schema_methods.rb +52 -27
  75. data/lib/sequel/dataset/actions.rb +167 -48
  76. data/lib/sequel/dataset/features.rb +57 -8
  77. data/lib/sequel/dataset/graph.rb +1 -1
  78. data/lib/sequel/dataset/misc.rb +39 -20
  79. data/lib/sequel/dataset/mutation.rb +3 -3
  80. data/lib/sequel/dataset/prepared_statements.rb +29 -14
  81. data/lib/sequel/dataset/query.rb +182 -32
  82. data/lib/sequel/dataset/sql.rb +31 -58
  83. data/lib/sequel/dataset.rb +8 -0
  84. data/lib/sequel/exceptions.rb +4 -0
  85. data/lib/sequel/extensions/columns_introspection.rb +61 -0
  86. data/lib/sequel/extensions/migration.rb +6 -4
  87. data/lib/sequel/extensions/to_dot.rb +95 -83
  88. data/lib/sequel/model/associations.rb +893 -309
  89. data/lib/sequel/model/base.rb +302 -105
  90. data/lib/sequel/model/errors.rb +1 -1
  91. data/lib/sequel/model/exceptions.rb +5 -1
  92. data/lib/sequel/model.rb +13 -7
  93. data/lib/sequel/plugins/association_pks.rb +22 -4
  94. data/lib/sequel/plugins/defaults_setter.rb +58 -0
  95. data/lib/sequel/plugins/identity_map.rb +113 -6
  96. data/lib/sequel/plugins/many_through_many.rb +67 -5
  97. data/lib/sequel/plugins/prepared_statements.rb +140 -0
  98. data/lib/sequel/plugins/prepared_statements_associations.rb +84 -0
  99. data/lib/sequel/plugins/prepared_statements_safe.rb +82 -0
  100. data/lib/sequel/plugins/prepared_statements_with_pk.rb +59 -0
  101. data/lib/sequel/plugins/serialization_modification_detection.rb +51 -0
  102. data/lib/sequel/plugins/sharding.rb +12 -20
  103. data/lib/sequel/plugins/single_table_inheritance.rb +2 -0
  104. data/lib/sequel/plugins/update_primary_key.rb +1 -1
  105. data/lib/sequel/plugins/xml_serializer.rb +3 -3
  106. data/lib/sequel/sql.rb +107 -51
  107. data/lib/sequel/timezones.rb +12 -3
  108. data/lib/sequel/version.rb +1 -1
  109. data/spec/adapters/db2_spec.rb +146 -0
  110. data/spec/adapters/mssql_spec.rb +36 -0
  111. data/spec/adapters/mysql_spec.rb +36 -19
  112. data/spec/adapters/postgres_spec.rb +115 -28
  113. data/spec/adapters/spec_helper.rb +6 -0
  114. data/spec/adapters/sqlite_spec.rb +11 -0
  115. data/spec/core/connection_pool_spec.rb +62 -77
  116. data/spec/core/database_spec.rb +244 -287
  117. data/spec/core/dataset_spec.rb +383 -34
  118. data/spec/core/expression_filters_spec.rb +159 -41
  119. data/spec/core/schema_spec.rb +326 -3
  120. data/spec/core/spec_helper.rb +45 -0
  121. data/spec/extensions/association_pks_spec.rb +38 -0
  122. data/spec/extensions/columns_introspection_spec.rb +91 -0
  123. data/spec/extensions/defaults_setter_spec.rb +64 -0
  124. data/spec/extensions/identity_map_spec.rb +162 -0
  125. data/spec/extensions/many_through_many_spec.rb +195 -20
  126. data/spec/extensions/migration_spec.rb +17 -17
  127. data/spec/extensions/nested_attributes_spec.rb +1 -0
  128. data/spec/extensions/prepared_statements_associations_spec.rb +126 -0
  129. data/spec/extensions/prepared_statements_safe_spec.rb +79 -0
  130. data/spec/extensions/prepared_statements_spec.rb +72 -0
  131. data/spec/extensions/prepared_statements_with_pk_spec.rb +38 -0
  132. data/spec/extensions/schema_dumper_spec.rb +2 -2
  133. data/spec/extensions/schema_spec.rb +12 -20
  134. data/spec/extensions/serialization_modification_detection_spec.rb +36 -0
  135. data/spec/extensions/single_table_inheritance_spec.rb +11 -0
  136. data/spec/extensions/spec_helper.rb +3 -1
  137. data/spec/extensions/to_dot_spec.rb +3 -5
  138. data/spec/extensions/xml_serializer_spec.rb +16 -4
  139. data/spec/integration/associations_test.rb +405 -15
  140. data/spec/integration/database_test.rb +4 -2
  141. data/spec/integration/dataset_test.rb +240 -20
  142. data/spec/integration/plugin_test.rb +142 -5
  143. data/spec/integration/prepared_statement_test.rb +174 -95
  144. data/spec/integration/schema_test.rb +128 -16
  145. data/spec/integration/spec_helper.rb +15 -0
  146. data/spec/integration/transaction_test.rb +40 -0
  147. data/spec/integration/type_test.rb +16 -2
  148. data/spec/model/association_reflection_spec.rb +91 -0
  149. data/spec/model/associations_spec.rb +476 -5
  150. data/spec/model/base_spec.rb +91 -1
  151. data/spec/model/eager_loading_spec.rb +519 -31
  152. data/spec/model/hooks_spec.rb +161 -0
  153. data/spec/model/model_spec.rb +89 -2
  154. data/spec/model/plugins_spec.rb +17 -0
  155. data/spec/model/record_spec.rb +184 -12
  156. data/spec/model/spec_helper.rb +5 -0
  157. data/spec/model/validations_spec.rb +11 -0
  158. metadata +85 -34
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sequel
3
3
  version: !ruby/object:Gem::Version
4
- hash: 83
4
+ hash: 119
5
5
  prerelease: false
6
6
  segments:
7
7
  - 3
8
- - 21
8
+ - 28
9
9
  - 0
10
- version: 3.21.0
10
+ version: 3.28.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Jeremy Evans
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-03-01 00:00:00 -08:00
18
+ date: 2011-10-03 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies: []
21
21
 
@@ -29,22 +29,26 @@ extra_rdoc_files:
29
29
  - README.rdoc
30
30
  - CHANGELOG
31
31
  - MIT-LICENSE
32
+ - doc/active_record.rdoc
32
33
  - doc/advanced_associations.rdoc
34
+ - doc/association_basics.rdoc
33
35
  - doc/cheat_sheet.rdoc
36
+ - doc/dataset_basics.rdoc
34
37
  - doc/dataset_filtering.rdoc
38
+ - doc/migration.rdoc
39
+ - doc/model_hooks.rdoc
35
40
  - doc/opening_databases.rdoc
36
41
  - doc/prepared_statements.rdoc
42
+ - doc/querying.rdoc
37
43
  - doc/reflection.rdoc
38
44
  - doc/sharding.rdoc
39
45
  - doc/sql.rdoc
40
- - doc/virtual_rows.rdoc
41
- - doc/dataset_basics.rdoc
42
- - doc/association_basics.rdoc
43
- - doc/querying.rdoc
44
- - doc/migration.rdoc
45
46
  - doc/validations.rdoc
46
- - doc/model_hooks.rdoc
47
- - doc/active_record.rdoc
47
+ - doc/virtual_rows.rdoc
48
+ - doc/mass_assignment.rdoc
49
+ - doc/testing.rdoc
50
+ - doc/schema_modification.rdoc
51
+ - doc/transactions.rdoc
48
52
  - doc/release_notes/1.0.txt
49
53
  - doc/release_notes/1.1.txt
50
54
  - doc/release_notes/1.3.txt
@@ -65,14 +69,6 @@ extra_rdoc_files:
65
69
  - doc/release_notes/2.9.0.txt
66
70
  - doc/release_notes/3.0.0.txt
67
71
  - doc/release_notes/3.1.0.txt
68
- - doc/release_notes/3.2.0.txt
69
- - doc/release_notes/3.3.0.txt
70
- - doc/release_notes/3.4.0.txt
71
- - doc/release_notes/3.5.0.txt
72
- - doc/release_notes/3.6.0.txt
73
- - doc/release_notes/3.7.0.txt
74
- - doc/release_notes/3.8.0.txt
75
- - doc/release_notes/3.9.0.txt
76
72
  - doc/release_notes/3.10.0.txt
77
73
  - doc/release_notes/3.11.0.txt
78
74
  - doc/release_notes/3.12.0.txt
@@ -83,19 +79,40 @@ extra_rdoc_files:
83
79
  - doc/release_notes/3.17.0.txt
84
80
  - doc/release_notes/3.18.0.txt
85
81
  - doc/release_notes/3.19.0.txt
82
+ - doc/release_notes/3.2.0.txt
86
83
  - doc/release_notes/3.20.0.txt
87
84
  - doc/release_notes/3.21.0.txt
85
+ - doc/release_notes/3.22.0.txt
86
+ - doc/release_notes/3.23.0.txt
87
+ - doc/release_notes/3.24.0.txt
88
+ - doc/release_notes/3.25.0.txt
89
+ - doc/release_notes/3.3.0.txt
90
+ - doc/release_notes/3.4.0.txt
91
+ - doc/release_notes/3.5.0.txt
92
+ - doc/release_notes/3.6.0.txt
93
+ - doc/release_notes/3.7.0.txt
94
+ - doc/release_notes/3.8.0.txt
95
+ - doc/release_notes/3.9.0.txt
96
+ - doc/release_notes/3.26.0.txt
97
+ - doc/release_notes/3.27.0.txt
98
+ - doc/release_notes/3.28.0.txt
88
99
  files:
89
100
  - MIT-LICENSE
90
101
  - CHANGELOG
91
102
  - README.rdoc
92
103
  - Rakefile
93
104
  - bin/sequel
105
+ - doc/active_record.rdoc
94
106
  - doc/advanced_associations.rdoc
107
+ - doc/association_basics.rdoc
95
108
  - doc/cheat_sheet.rdoc
109
+ - doc/dataset_basics.rdoc
96
110
  - doc/dataset_filtering.rdoc
111
+ - doc/migration.rdoc
112
+ - doc/model_hooks.rdoc
97
113
  - doc/opening_databases.rdoc
98
114
  - doc/prepared_statements.rdoc
115
+ - doc/querying.rdoc
99
116
  - doc/reflection.rdoc
100
117
  - doc/release_notes/1.0.txt
101
118
  - doc/release_notes/1.1.txt
@@ -117,14 +134,6 @@ files:
117
134
  - doc/release_notes/2.9.0.txt
118
135
  - doc/release_notes/3.0.0.txt
119
136
  - doc/release_notes/3.1.0.txt
120
- - doc/release_notes/3.2.0.txt
121
- - doc/release_notes/3.3.0.txt
122
- - doc/release_notes/3.4.0.txt
123
- - doc/release_notes/3.5.0.txt
124
- - doc/release_notes/3.6.0.txt
125
- - doc/release_notes/3.7.0.txt
126
- - doc/release_notes/3.8.0.txt
127
- - doc/release_notes/3.9.0.txt
128
137
  - doc/release_notes/3.10.0.txt
129
138
  - doc/release_notes/3.11.0.txt
130
139
  - doc/release_notes/3.12.0.txt
@@ -135,18 +144,31 @@ files:
135
144
  - doc/release_notes/3.17.0.txt
136
145
  - doc/release_notes/3.18.0.txt
137
146
  - doc/release_notes/3.19.0.txt
147
+ - doc/release_notes/3.2.0.txt
138
148
  - doc/release_notes/3.20.0.txt
139
149
  - doc/release_notes/3.21.0.txt
150
+ - doc/release_notes/3.22.0.txt
151
+ - doc/release_notes/3.23.0.txt
152
+ - doc/release_notes/3.24.0.txt
153
+ - doc/release_notes/3.25.0.txt
154
+ - doc/release_notes/3.3.0.txt
155
+ - doc/release_notes/3.4.0.txt
156
+ - doc/release_notes/3.5.0.txt
157
+ - doc/release_notes/3.6.0.txt
158
+ - doc/release_notes/3.7.0.txt
159
+ - doc/release_notes/3.8.0.txt
160
+ - doc/release_notes/3.9.0.txt
161
+ - doc/release_notes/3.26.0.txt
162
+ - doc/release_notes/3.27.0.txt
163
+ - doc/release_notes/3.28.0.txt
140
164
  - doc/sharding.rdoc
141
165
  - doc/sql.rdoc
142
- - doc/virtual_rows.rdoc
143
- - doc/dataset_basics.rdoc
144
- - doc/association_basics.rdoc
145
- - doc/querying.rdoc
146
- - doc/migration.rdoc
147
166
  - doc/validations.rdoc
148
- - doc/model_hooks.rdoc
149
- - doc/active_record.rdoc
167
+ - doc/virtual_rows.rdoc
168
+ - doc/mass_assignment.rdoc
169
+ - doc/testing.rdoc
170
+ - doc/schema_modification.rdoc
171
+ - doc/transactions.rdoc
150
172
  - spec/adapters/firebird_spec.rb
151
173
  - spec/adapters/informix_spec.rb
152
174
  - spec/adapters/mssql_spec.rb
@@ -155,6 +177,7 @@ files:
155
177
  - spec/adapters/postgres_spec.rb
156
178
  - spec/adapters/spec_helper.rb
157
179
  - spec/adapters/sqlite_spec.rb
180
+ - spec/adapters/db2_spec.rb
158
181
  - spec/core/connection_pool_spec.rb
159
182
  - spec/core/core_sql_spec.rb
160
183
  - spec/core/database_spec.rb
@@ -216,6 +239,13 @@ files:
216
239
  - spec/extensions/xml_serializer_spec.rb
217
240
  - spec/extensions/to_dot_spec.rb
218
241
  - spec/extensions/association_autoreloading_spec.rb
242
+ - spec/extensions/serialization_modification_detection_spec.rb
243
+ - spec/extensions/defaults_setter_spec.rb
244
+ - spec/extensions/prepared_statements_spec.rb
245
+ - spec/extensions/prepared_statements_safe_spec.rb
246
+ - spec/extensions/prepared_statements_with_pk_spec.rb
247
+ - spec/extensions/prepared_statements_associations_spec.rb
248
+ - spec/extensions/columns_introspection_spec.rb
219
249
  - spec/integration/associations_test.rb
220
250
  - spec/integration/database_test.rb
221
251
  - spec/integration/dataset_test.rb
@@ -304,9 +334,16 @@ files:
304
334
  - lib/sequel/adapters/jdbc/postgresql.rb
305
335
  - lib/sequel/adapters/jdbc/sqlite.rb
306
336
  - lib/sequel/adapters/jdbc/as400.rb
337
+ - lib/sequel/adapters/jdbc/informix.rb
338
+ - lib/sequel/adapters/jdbc/jtds.rb
339
+ - lib/sequel/adapters/jdbc/sqlserver.rb
340
+ - lib/sequel/adapters/jdbc/db2.rb
341
+ - lib/sequel/adapters/jdbc/transactions.rb
342
+ - lib/sequel/adapters/jdbc/firebird.rb
307
343
  - lib/sequel/adapters/mysql.rb
308
344
  - lib/sequel/adapters/odbc.rb
309
345
  - lib/sequel/adapters/odbc/mssql.rb
346
+ - lib/sequel/adapters/odbc/db2.rb
310
347
  - lib/sequel/adapters/openbase.rb
311
348
  - lib/sequel/adapters/oracle.rb
312
349
  - lib/sequel/adapters/postgres.rb
@@ -317,14 +354,20 @@ files:
317
354
  - lib/sequel/adapters/shared/progress.rb
318
355
  - lib/sequel/adapters/shared/sqlite.rb
319
356
  - lib/sequel/adapters/shared/access.rb
357
+ - lib/sequel/adapters/shared/informix.rb
358
+ - lib/sequel/adapters/shared/mysql_prepared_statements.rb
359
+ - lib/sequel/adapters/shared/db2.rb
360
+ - lib/sequel/adapters/shared/firebird.rb
320
361
  - lib/sequel/adapters/sqlite.rb
321
362
  - lib/sequel/adapters/utils/stored_procedures.rb
363
+ - lib/sequel/adapters/utils/emulate_offset_with_row_number.rb
322
364
  - lib/sequel/adapters/mysql2.rb
323
365
  - lib/sequel/adapters/swift.rb
324
366
  - lib/sequel/adapters/swift/mysql.rb
325
367
  - lib/sequel/adapters/swift/postgres.rb
326
368
  - lib/sequel/adapters/swift/sqlite.rb
327
369
  - lib/sequel/adapters/tinytds.rb
370
+ - lib/sequel/adapters/ibmdb.rb
328
371
  - lib/sequel/connection_pool.rb
329
372
  - lib/sequel/connection_pool/sharded_single.rb
330
373
  - lib/sequel/connection_pool/sharded_threaded.rb
@@ -364,6 +407,7 @@ files:
364
407
  - lib/sequel/extensions/string_date_time.rb
365
408
  - lib/sequel/extensions/thread_local_timezones.rb
366
409
  - lib/sequel/extensions/to_dot.rb
410
+ - lib/sequel/extensions/columns_introspection.rb
367
411
  - lib/sequel/metaprogramming.rb
368
412
  - lib/sequel/model.rb
369
413
  - lib/sequel/model/associations.rb
@@ -410,9 +454,16 @@ files:
410
454
  - lib/sequel/plugins/tree.rb
411
455
  - lib/sequel/plugins/xml_serializer.rb
412
456
  - lib/sequel/plugins/association_autoreloading.rb
457
+ - lib/sequel/plugins/serialization_modification_detection.rb
458
+ - lib/sequel/plugins/defaults_setter.rb
459
+ - lib/sequel/plugins/prepared_statements.rb
460
+ - lib/sequel/plugins/prepared_statements_safe.rb
461
+ - lib/sequel/plugins/prepared_statements_with_pk.rb
462
+ - lib/sequel/plugins/prepared_statements_associations.rb
413
463
  - lib/sequel/sql.rb
414
464
  - lib/sequel/timezones.rb
415
465
  - lib/sequel/version.rb
466
+ - lib/sequel/ast_transformer.rb
416
467
  - lib/sequel_core.rb
417
468
  - lib/sequel_model.rb
418
469
  has_rdoc: true