sequel 4.3.0 → 4.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG +34 -0
  3. data/README.rdoc +7 -7
  4. data/Rakefile +2 -2
  5. data/doc/active_record.rdoc +2 -2
  6. data/doc/association_basics.rdoc +21 -7
  7. data/doc/bin_sequel.rdoc +2 -2
  8. data/doc/cheat_sheet.rdoc +2 -1
  9. data/doc/dataset_basics.rdoc +1 -1
  10. data/doc/dataset_filtering.rdoc +1 -1
  11. data/doc/migration.rdoc +2 -2
  12. data/doc/object_model.rdoc +2 -2
  13. data/doc/opening_databases.rdoc +13 -1
  14. data/doc/querying.rdoc +9 -4
  15. data/doc/release_notes/4.4.0.txt +92 -0
  16. data/doc/schema_modification.rdoc +1 -1
  17. data/doc/security.rdoc +2 -2
  18. data/doc/sql.rdoc +3 -3
  19. data/doc/thread_safety.rdoc +1 -1
  20. data/doc/validations.rdoc +1 -1
  21. data/doc/virtual_rows.rdoc +1 -1
  22. data/lib/sequel/adapters/jdbc.rb +85 -19
  23. data/lib/sequel/adapters/jdbc/db2.rb +1 -1
  24. data/lib/sequel/adapters/jdbc/derby.rb +1 -1
  25. data/lib/sequel/adapters/jdbc/h2.rb +2 -2
  26. data/lib/sequel/adapters/jdbc/hsqldb.rb +7 -0
  27. data/lib/sequel/adapters/jdbc/jtds.rb +1 -1
  28. data/lib/sequel/adapters/jdbc/oracle.rb +1 -1
  29. data/lib/sequel/adapters/jdbc/postgresql.rb +34 -3
  30. data/lib/sequel/adapters/jdbc/sqlanywhere.rb +57 -0
  31. data/lib/sequel/adapters/jdbc/sqlserver.rb +2 -2
  32. data/lib/sequel/adapters/oracle.rb +1 -1
  33. data/lib/sequel/adapters/shared/db2.rb +5 -0
  34. data/lib/sequel/adapters/shared/oracle.rb +41 -4
  35. data/lib/sequel/adapters/shared/sqlanywhere.rb +458 -0
  36. data/lib/sequel/adapters/sqlanywhere.rb +177 -0
  37. data/lib/sequel/adapters/utils/emulate_offset_with_row_number.rb +11 -3
  38. data/lib/sequel/core.rb +4 -4
  39. data/lib/sequel/database/connecting.rb +1 -1
  40. data/lib/sequel/database/query.rb +1 -1
  41. data/lib/sequel/database/schema_generator.rb +1 -1
  42. data/lib/sequel/database/schema_methods.rb +2 -2
  43. data/lib/sequel/dataset.rb +1 -1
  44. data/lib/sequel/dataset/actions.rb +2 -0
  45. data/lib/sequel/dataset/graph.rb +1 -1
  46. data/lib/sequel/dataset/prepared_statements.rb +1 -1
  47. data/lib/sequel/dataset/query.rb +37 -16
  48. data/lib/sequel/extensions/constraint_validations.rb +1 -1
  49. data/lib/sequel/extensions/date_arithmetic.rb +2 -2
  50. data/lib/sequel/extensions/migration.rb +1 -1
  51. data/lib/sequel/extensions/mssql_emulate_lateral_with_apply.rb +5 -4
  52. data/lib/sequel/extensions/pg_array.rb +2 -2
  53. data/lib/sequel/extensions/pg_array_ops.rb +2 -2
  54. data/lib/sequel/extensions/pg_hstore.rb +2 -2
  55. data/lib/sequel/extensions/pg_hstore_ops.rb +2 -2
  56. data/lib/sequel/extensions/pg_json.rb +2 -2
  57. data/lib/sequel/extensions/pg_json_ops.rb +2 -2
  58. data/lib/sequel/extensions/pg_range.rb +2 -2
  59. data/lib/sequel/extensions/pg_range_ops.rb +2 -2
  60. data/lib/sequel/extensions/pg_row.rb +2 -2
  61. data/lib/sequel/extensions/pg_row_ops.rb +3 -3
  62. data/lib/sequel/model.rb +1 -1
  63. data/lib/sequel/model/associations.rb +106 -17
  64. data/lib/sequel/model/base.rb +23 -19
  65. data/lib/sequel/plugins/json_serializer.rb +1 -1
  66. data/lib/sequel/plugins/many_through_many.rb +14 -6
  67. data/lib/sequel/plugins/pg_array_associations.rb +28 -0
  68. data/lib/sequel/plugins/rcte_tree.rb +1 -1
  69. data/lib/sequel/plugins/serialization.rb +11 -0
  70. data/lib/sequel/plugins/single_table_inheritance.rb +1 -1
  71. data/lib/sequel/plugins/table_select.rb +41 -0
  72. data/lib/sequel/plugins/tree.rb +1 -1
  73. data/lib/sequel/sql.rb +2 -2
  74. data/lib/sequel/version.rb +1 -1
  75. data/spec/adapters/oracle_spec.rb +22 -1
  76. data/spec/adapters/postgres_spec.rb +31 -48
  77. data/spec/adapters/sqlanywhere_spec.rb +170 -0
  78. data/spec/core/dataset_spec.rb +109 -0
  79. data/spec/core/object_graph_spec.rb +7 -0
  80. data/spec/extensions/constraint_validations_spec.rb +7 -0
  81. data/spec/extensions/core_refinements_spec.rb +1 -1
  82. data/spec/extensions/many_through_many_spec.rb +65 -0
  83. data/spec/extensions/pg_array_associations_spec.rb +44 -0
  84. data/spec/extensions/rcte_tree_spec.rb +3 -3
  85. data/spec/extensions/spec_helper.rb +1 -1
  86. data/spec/extensions/table_select_spec.rb +71 -0
  87. data/spec/integration/associations_test.rb +279 -7
  88. data/spec/integration/dataset_test.rb +13 -4
  89. data/spec/integration/schema_test.rb +12 -14
  90. data/spec/model/associations_spec.rb +472 -3
  91. data/spec/model/class_dataset_methods_spec.rb +1 -0
  92. data/spec/model/model_spec.rb +10 -0
  93. metadata +10 -2
@@ -81,6 +81,7 @@ describe Sequel::Model, "class dataset methods" do
81
81
  @c.natural_join(@c).sql.should == "SELECT * FROM items NATURAL JOIN items"
82
82
  @c.natural_left_join(@c).sql.should == "SELECT * FROM items NATURAL LEFT JOIN items"
83
83
  @c.natural_right_join(@c).sql.should == "SELECT * FROM items NATURAL RIGHT JOIN items"
84
+ @c.offset(2).sql.should == "SELECT * FROM items OFFSET 2"
84
85
  @c.order(:a).sql.should == "SELECT * FROM items ORDER BY a"
85
86
  @c.order_append(:a).sql.should == "SELECT * FROM items ORDER BY a"
86
87
  @c.order_by(:a).sql.should == "SELECT * FROM items ORDER BY a"
@@ -697,6 +697,16 @@ describe "Model.db_schema" do
697
697
  @c.primary_key.should == nil
698
698
  end
699
699
 
700
+ specify "should automatically set primary key for dataset selecting table.*" do
701
+ ds = @dataset.select_all(:items)
702
+ d = ds.db
703
+ def d.schema(table, *opts) [[:x, {:primary_key=>true}]] end
704
+ @c.primary_key.should == :id
705
+ @c.dataset = ds
706
+ @c.db_schema.should == {:x=>{:primary_key=>true}}
707
+ @c.primary_key.should == :x
708
+ end
709
+
700
710
  specify "should not modify the primary key unless all column schema hashes have a :primary_key entry" do
701
711
  ds = @dataset
702
712
  d = ds.db
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.3.0
4
+ version: 4.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeremy Evans
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-10-02 00:00:00.000000000 Z
11
+ date: 2013-11-01 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: The Database Toolkit for Ruby
14
14
  email: code@jeremyevans.net
@@ -119,6 +119,7 @@ extra_rdoc_files:
119
119
  - doc/release_notes/4.1.0.txt
120
120
  - doc/release_notes/4.2.0.txt
121
121
  - doc/release_notes/4.3.0.txt
122
+ - doc/release_notes/4.4.0.txt
122
123
  files:
123
124
  - MIT-LICENSE
124
125
  - CHANGELOG
@@ -225,6 +226,7 @@ files:
225
226
  - doc/release_notes/4.1.0.txt
226
227
  - doc/release_notes/4.2.0.txt
227
228
  - doc/release_notes/4.3.0.txt
229
+ - doc/release_notes/4.4.0.txt
228
230
  - spec/adapters/firebird_spec.rb
229
231
  - spec/adapters/informix_spec.rb
230
232
  - spec/adapters/mssql_spec.rb
@@ -234,6 +236,7 @@ files:
234
236
  - spec/adapters/spec_helper.rb
235
237
  - spec/adapters/sqlite_spec.rb
236
238
  - spec/adapters/db2_spec.rb
239
+ - spec/adapters/sqlanywhere_spec.rb
237
240
  - spec/core/connection_pool_spec.rb
238
241
  - spec/core/dataset_spec.rb
239
242
  - spec/core/database_spec.rb
@@ -352,6 +355,7 @@ files:
352
355
  - spec/extensions/blank_spec.rb
353
356
  - spec/extensions/inflector_spec.rb
354
357
  - spec/extensions/association_proxies_spec.rb
358
+ - spec/extensions/table_select_spec.rb
355
359
  - spec/integration/associations_test.rb
356
360
  - spec/integration/database_test.rb
357
361
  - spec/integration/dataset_test.rb
@@ -457,6 +461,7 @@ files:
457
461
  - lib/sequel/adapters/jdbc/derby.rb
458
462
  - lib/sequel/adapters/jdbc/progress.rb
459
463
  - lib/sequel/adapters/jdbc/cubrid.rb
464
+ - lib/sequel/adapters/jdbc/sqlanywhere.rb
460
465
  - lib/sequel/adapters/mysql.rb
461
466
  - lib/sequel/adapters/odbc.rb
462
467
  - lib/sequel/adapters/odbc/mssql.rb
@@ -475,6 +480,7 @@ files:
475
480
  - lib/sequel/adapters/shared/db2.rb
476
481
  - lib/sequel/adapters/shared/firebird.rb
477
482
  - lib/sequel/adapters/shared/cubrid.rb
483
+ - lib/sequel/adapters/shared/sqlanywhere.rb
478
484
  - lib/sequel/adapters/sqlite.rb
479
485
  - lib/sequel/adapters/utils/stored_procedures.rb
480
486
  - lib/sequel/adapters/utils/emulate_offset_with_row_number.rb
@@ -491,6 +497,7 @@ files:
491
497
  - lib/sequel/adapters/ibmdb.rb
492
498
  - lib/sequel/adapters/mock.rb
493
499
  - lib/sequel/adapters/cubrid.rb
500
+ - lib/sequel/adapters/sqlanywhere.rb
494
501
  - lib/sequel/connection_pool.rb
495
502
  - lib/sequel/connection_pool/sharded_single.rb
496
503
  - lib/sequel/connection_pool/sharded_threaded.rb
@@ -640,6 +647,7 @@ files:
640
647
  - lib/sequel/plugins/after_initialize.rb
641
648
  - lib/sequel/plugins/blacklist_security.rb
642
649
  - lib/sequel/plugins/pg_array_associations.rb
650
+ - lib/sequel/plugins/table_select.rb
643
651
  - lib/sequel/timezones.rb
644
652
  - lib/sequel/deprecated.rb
645
653
  - lib/sequel/ast_transformer.rb