sequel 4.1.1 → 4.2.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.
- checksums.yaml +4 -4
 - data/CHANGELOG +32 -0
 - data/doc/opening_databases.rdoc +4 -0
 - data/doc/release_notes/4.2.0.txt +129 -0
 - data/lib/sequel/adapters/jdbc/hsqldb.rb +5 -0
 - data/lib/sequel/adapters/mysql2.rb +2 -1
 - data/lib/sequel/adapters/postgres.rb +8 -4
 - data/lib/sequel/adapters/shared/db2.rb +5 -0
 - data/lib/sequel/adapters/shared/mssql.rb +15 -4
 - data/lib/sequel/adapters/shared/mysql.rb +1 -0
 - data/lib/sequel/adapters/shared/oracle.rb +1 -1
 - data/lib/sequel/adapters/shared/postgres.rb +10 -0
 - data/lib/sequel/adapters/shared/sqlite.rb +5 -0
 - data/lib/sequel/database/features.rb +6 -1
 - data/lib/sequel/database/schema_methods.rb +3 -7
 - data/lib/sequel/dataset/actions.rb +3 -4
 - data/lib/sequel/dataset/features.rb +5 -0
 - data/lib/sequel/dataset/misc.rb +28 -3
 - data/lib/sequel/dataset/mutation.rb +37 -11
 - data/lib/sequel/dataset/prepared_statements.rb +1 -3
 - data/lib/sequel/dataset/query.rb +12 -3
 - data/lib/sequel/dataset/sql.rb +12 -6
 - data/lib/sequel/deprecated.rb +1 -1
 - data/lib/sequel/extensions/columns_introspection.rb +1 -1
 - data/lib/sequel/extensions/core_extensions.rb +0 -2
 - data/lib/sequel/extensions/empty_array_ignore_nulls.rb +1 -1
 - data/lib/sequel/extensions/filter_having.rb +1 -1
 - data/lib/sequel/extensions/from_block.rb +31 -0
 - data/lib/sequel/extensions/graph_each.rb +1 -1
 - data/lib/sequel/extensions/hash_aliases.rb +1 -1
 - data/lib/sequel/extensions/mssql_emulate_lateral_with_apply.rb +78 -0
 - data/lib/sequel/extensions/pagination.rb +1 -1
 - data/lib/sequel/extensions/pg_loose_count.rb +32 -0
 - data/lib/sequel/extensions/pg_static_cache_updater.rb +133 -0
 - data/lib/sequel/extensions/pretty_table.rb +1 -1
 - data/lib/sequel/extensions/query.rb +3 -1
 - data/lib/sequel/extensions/query_literals.rb +1 -1
 - data/lib/sequel/extensions/select_remove.rb +1 -1
 - data/lib/sequel/extensions/sequel_3_dataset_methods.rb +1 -1
 - data/lib/sequel/extensions/set_overrides.rb +1 -1
 - data/lib/sequel/model.rb +1 -1
 - data/lib/sequel/model/base.rb +20 -6
 - data/lib/sequel/model/exceptions.rb +1 -1
 - data/lib/sequel/plugins/composition.rb +9 -0
 - data/lib/sequel/plugins/dirty.rb +19 -8
 - data/lib/sequel/plugins/instance_filters.rb +9 -0
 - data/lib/sequel/plugins/serialization.rb +9 -0
 - data/lib/sequel/plugins/serialization_modification_detection.rb +9 -0
 - data/lib/sequel/plugins/static_cache.rb +96 -28
 - data/lib/sequel/version.rb +2 -2
 - data/spec/adapters/mssql_spec.rb +1 -1
 - data/spec/adapters/postgres_spec.rb +70 -0
 - data/spec/core/dataset_spec.rb +58 -1
 - data/spec/core/deprecated_spec.rb +1 -1
 - data/spec/core/schema_spec.rb +18 -0
 - data/spec/extensions/composition_spec.rb +7 -0
 - data/spec/extensions/dirty_spec.rb +9 -0
 - data/spec/extensions/from_block_spec.rb +21 -0
 - data/spec/extensions/instance_filters_spec.rb +6 -0
 - data/spec/extensions/pg_loose_count_spec.rb +17 -0
 - data/spec/extensions/pg_static_cache_updater_spec.rb +80 -0
 - data/spec/extensions/query_spec.rb +8 -0
 - data/spec/extensions/serialization_modification_detection_spec.rb +9 -0
 - data/spec/extensions/serialization_spec.rb +7 -0
 - data/spec/extensions/set_overrides_spec.rb +12 -0
 - data/spec/extensions/static_cache_spec.rb +314 -154
 - data/spec/integration/dataset_test.rb +12 -2
 - data/spec/integration/schema_test.rb +13 -0
 - data/spec/model/record_spec.rb +74 -0
 - metadata +13 -3
 
| 
         @@ -59,6 +59,16 @@ describe "Simple Dataset operations" do 
     | 
|
| 
       59 
59 
     | 
    
         
             
                @ds.join(:items___b, :id=>:id).select_all(:items).all.should == [{:id=>1, :number=>10}]
         
     | 
| 
       60 
60 
     | 
    
         
             
              end
         
     | 
| 
       61 
61 
     | 
    
         | 
| 
      
 62 
     | 
    
         
            +
              specify "should handle LATERAL subqueries correctly" do
         
     | 
| 
      
 63 
     | 
    
         
            +
                @ds << {:number=>20}
         
     | 
| 
      
 64 
     | 
    
         
            +
                @ds.from(:items___i, @ds.where(:items__number=>:i__number).lateral).select_order_map([:i__number___n, :t1__number]).should == [[10, 10], [20, 20]]
         
     | 
| 
      
 65 
     | 
    
         
            +
                @ds.from(:items___i).cross_join(@ds.where(:items__number=>:i__number).lateral).select_order_map([:i__number___n, :t1__number]).should == [[10, 10], [20, 20]]
         
     | 
| 
      
 66 
     | 
    
         
            +
                @ds.from(:items___i).join(@ds.where(:items__number=>:i__number).lateral, 1=>1).select_order_map([:i__number___n, :t1__number]).should == [[10, 10], [20, 20]]
         
     | 
| 
      
 67 
     | 
    
         
            +
                @ds.from(:items___i).join(@ds.where(:items__number=>:i__number).lateral, 1=>0).select_order_map([:i__number___n, :t1__number]).should == []
         
     | 
| 
      
 68 
     | 
    
         
            +
                @ds.from(:items___i).left_join(@ds.from(:items___i2).where(:i2__number=>:i__number).lateral, 1=>1).select_order_map([:i__number___n, :t1__number]).should == [[10, 10], [20, 20]]
         
     | 
| 
      
 69 
     | 
    
         
            +
                @ds.from(:items___i).left_join(@ds.from(:items___i2).where(:i2__number=>:i__number).lateral, 1=>0).select_order_map([:i__number___n, :t1__number]).should == [[10, nil], [20, nil]]
         
     | 
| 
      
 70 
     | 
    
         
            +
              end if DB.dataset.supports_lateral_subqueries?
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
       62 
72 
     | 
    
         
             
              specify "should correctly deal with qualified columns and subselects" do
         
     | 
| 
       63 
73 
     | 
    
         
             
                @ds.from_self(:alias=>:a).select(:a__id, Sequel.qualify(:a, :number)).all.should == [{:id=>1, :number=>10}]
         
     | 
| 
       64 
74 
     | 
    
         
             
                @ds.join(@ds.as(:a), :id=>:id).select(:a__id, Sequel.qualify(:a, :number)).all.should == [{:id=>1, :number=>10}]
         
     | 
| 
         @@ -568,9 +578,9 @@ if DB.dataset.supports_cte? 
     | 
|
| 
       568 
578 
     | 
    
         
             
                end
         
     | 
| 
       569 
579 
     | 
    
         | 
| 
       570 
580 
     | 
    
         
             
                cspecify "should give correct results for recursive WITH", :db2 do
         
     | 
| 
       571 
     | 
    
         
            -
                  ds = @db[:t].select(:i___id, :pi___parent_id).with_recursive(:t, @ds.filter(:parent_id=>nil), @ds.join(:t, :i=>:parent_id).select(:i1__id, :i1__parent_id), :args=>[:i, :pi])
         
     | 
| 
      
 581 
     | 
    
         
            +
                  ds = @db[:t].select(:i___id, :pi___parent_id).with_recursive(:t, @ds.filter(:parent_id=>nil), @ds.join(:t, :i=>:parent_id).select(:i1__id, :i1__parent_id), :args=>[:i, :pi]).order(:id)
         
     | 
| 
       572 
582 
     | 
    
         
             
                  ds.all.should == [{:parent_id=>nil, :id=>1}, {:parent_id=>nil, :id=>2}, {:parent_id=>1, :id=>3}, {:parent_id=>1, :id=>4}, {:parent_id=>3, :id=>5}, {:parent_id=>5, :id=>6}]
         
     | 
| 
       573 
     | 
    
         
            -
                  ps = @db[:t].select(:i___id, :pi___parent_id).with_recursive(:t, @ds.filter(:parent_id=>:$n), @ds.join(:t, :i=>:parent_id).filter(:t__i=>:parent_id).select(:i1__id, :i1__parent_id), :args=>[:i, :pi]).prepare(:select, :cte_sel)
         
     | 
| 
      
 583 
     | 
    
         
            +
                  ps = @db[:t].select(:i___id, :pi___parent_id).with_recursive(:t, @ds.filter(:parent_id=>:$n), @ds.join(:t, :i=>:parent_id).filter(:t__i=>:parent_id).select(:i1__id, :i1__parent_id), :args=>[:i, :pi]).order(:id).prepare(:select, :cte_sel)
         
     | 
| 
       574 
584 
     | 
    
         
             
                  ps.call(:n=>1).should == [{:id=>3, :parent_id=>1}, {:id=>4, :parent_id=>1}, {:id=>5, :parent_id=>3}, {:id=>6, :parent_id=>5}]
         
     | 
| 
       575 
585 
     | 
    
         
             
                  ps.call(:n=>3).should == [{:id=>5, :parent_id=>3}, {:id=>6, :parent_id=>5}]
         
     | 
| 
       576 
586 
     | 
    
         
             
                  ps.call(:n=>5).should == [{:id=>6, :parent_id=>5}]
         
     | 
| 
         @@ -175,6 +175,11 @@ describe "Database index parsing" do 
     | 
|
| 
       175 
175 
     | 
    
         
             
                DB.create_table!(:items){Integer :n; Integer :a; primary_key [:n, :a]}
         
     | 
| 
       176 
176 
     | 
    
         
             
                DB.indexes(:items).should == {}
         
     | 
| 
       177 
177 
     | 
    
         
             
              end
         
     | 
| 
      
 178 
     | 
    
         
            +
             
     | 
| 
      
 179 
     | 
    
         
            +
              cspecify "should not include partial indexes", :sqlite do
         
     | 
| 
      
 180 
     | 
    
         
            +
                DB.create_table!(:items){Integer :n; Integer :a; index :n, :where=>proc{n > 10}}
         
     | 
| 
      
 181 
     | 
    
         
            +
                DB.indexes(:items).should == {}
         
     | 
| 
      
 182 
     | 
    
         
            +
              end if DB.supports_partial_indexes?
         
     | 
| 
       178 
183 
     | 
    
         
             
            end if DB.supports_index_parsing?
         
     | 
| 
       179 
184 
     | 
    
         | 
| 
       180 
185 
     | 
    
         
             
            describe "Database foreign key parsing" do
         
     | 
| 
         @@ -352,6 +357,14 @@ describe "Database schema modifiers" do 
     | 
|
| 
       352 
357 
     | 
    
         
             
                @ds.columns!.should == [:number]
         
     | 
| 
       353 
358 
     | 
    
         
             
              end
         
     | 
| 
       354 
359 
     | 
    
         | 
| 
      
 360 
     | 
    
         
            +
              specify "should allow creating partial indexes with tables" do
         
     | 
| 
      
 361 
     | 
    
         
            +
                @db.create_table!(:items){Integer :number; index :number, :where=>proc{number > 10}}
         
     | 
| 
      
 362 
     | 
    
         
            +
                @db.table_exists?(:items).should == true
         
     | 
| 
      
 363 
     | 
    
         
            +
                @db.schema(:items, :reload=>true).map{|x| x.first}.should == [:number]
         
     | 
| 
      
 364 
     | 
    
         
            +
                @ds.insert([10])
         
     | 
| 
      
 365 
     | 
    
         
            +
                @ds.columns!.should == [:number]
         
     | 
| 
      
 366 
     | 
    
         
            +
              end if DB.supports_partial_indexes?
         
     | 
| 
      
 367 
     | 
    
         
            +
             
     | 
| 
       355 
368 
     | 
    
         
             
              specify "should handle combination of default, unique, and not null" do
         
     | 
| 
       356 
369 
     | 
    
         
             
                @db.create_table!(:items){Integer :number, :default=>0, :null=>false, :unique=>true}
         
     | 
| 
       357 
370 
     | 
    
         
             
                @db.table_exists?(:items).should == true
         
     | 
    
        data/spec/model/record_spec.rb
    CHANGED
    
    | 
         @@ -406,6 +406,80 @@ describe "Model#freeze" do 
     | 
|
| 
       406 
406 
     | 
    
         
             
              end
         
     | 
| 
       407 
407 
     | 
    
         
             
            end
         
     | 
| 
       408 
408 
     | 
    
         | 
| 
      
 409 
     | 
    
         
            +
            describe "Model#dup" do
         
     | 
| 
      
 410 
     | 
    
         
            +
              before do
         
     | 
| 
      
 411 
     | 
    
         
            +
                @Album = Class.new(Sequel::Model(:albums))
         
     | 
| 
      
 412 
     | 
    
         
            +
                @o = @Album.load(:id=>1)
         
     | 
| 
      
 413 
     | 
    
         
            +
                DB.sqls
         
     | 
| 
      
 414 
     | 
    
         
            +
              end
         
     | 
| 
      
 415 
     | 
    
         
            +
             
     | 
| 
      
 416 
     | 
    
         
            +
              it "should be equal to existing object" do
         
     | 
| 
      
 417 
     | 
    
         
            +
                @o.dup.should == @o
         
     | 
| 
      
 418 
     | 
    
         
            +
                @o.dup.values.should == @o.values
         
     | 
| 
      
 419 
     | 
    
         
            +
                @o.dup.changed_columns.should == @o.changed_columns
         
     | 
| 
      
 420 
     | 
    
         
            +
                @o.dup.errors.should == @o.errors
         
     | 
| 
      
 421 
     | 
    
         
            +
                @o.dup.this.should == @o.this
         
     | 
| 
      
 422 
     | 
    
         
            +
              end
         
     | 
| 
      
 423 
     | 
    
         
            +
             
     | 
| 
      
 424 
     | 
    
         
            +
              it "should not use identical structures" do
         
     | 
| 
      
 425 
     | 
    
         
            +
                @o.dup.should_not equal(@o)
         
     | 
| 
      
 426 
     | 
    
         
            +
                @o.dup.values.should_not equal(@o.values)
         
     | 
| 
      
 427 
     | 
    
         
            +
                @o.dup.changed_columns.should_not equal(@o.changed_columns)
         
     | 
| 
      
 428 
     | 
    
         
            +
                @o.dup.errors.should_not equal(@o.errors)
         
     | 
| 
      
 429 
     | 
    
         
            +
                @o.dup.this.should_not equal(@o.this)
         
     | 
| 
      
 430 
     | 
    
         
            +
              end
         
     | 
| 
      
 431 
     | 
    
         
            +
             
     | 
| 
      
 432 
     | 
    
         
            +
              it "should keep new status" do
         
     | 
| 
      
 433 
     | 
    
         
            +
                @o.dup.new?.should be_false
         
     | 
| 
      
 434 
     | 
    
         
            +
                @Album.new.dup.new?.should be_true
         
     | 
| 
      
 435 
     | 
    
         
            +
              end
         
     | 
| 
      
 436 
     | 
    
         
            +
             
     | 
| 
      
 437 
     | 
    
         
            +
              it "should not copy frozen status" do
         
     | 
| 
      
 438 
     | 
    
         
            +
                @o.freeze.dup.should_not be_frozen
         
     | 
| 
      
 439 
     | 
    
         
            +
                @o.freeze.dup.values.should_not be_frozen
         
     | 
| 
      
 440 
     | 
    
         
            +
                @o.freeze.dup.changed_columns.should_not be_frozen
         
     | 
| 
      
 441 
     | 
    
         
            +
                @o.freeze.dup.errors.should_not be_frozen
         
     | 
| 
      
 442 
     | 
    
         
            +
                @o.freeze.dup.this.should_not be_frozen
         
     | 
| 
      
 443 
     | 
    
         
            +
              end
         
     | 
| 
      
 444 
     | 
    
         
            +
            end
         
     | 
| 
      
 445 
     | 
    
         
            +
             
     | 
| 
      
 446 
     | 
    
         
            +
            describe "Model#clone" do
         
     | 
| 
      
 447 
     | 
    
         
            +
              before do
         
     | 
| 
      
 448 
     | 
    
         
            +
                @Album = Class.new(Sequel::Model(:albums))
         
     | 
| 
      
 449 
     | 
    
         
            +
                @o = @Album.load(:id=>1)
         
     | 
| 
      
 450 
     | 
    
         
            +
                DB.sqls
         
     | 
| 
      
 451 
     | 
    
         
            +
              end
         
     | 
| 
      
 452 
     | 
    
         
            +
             
     | 
| 
      
 453 
     | 
    
         
            +
              it "should be equal to existing object" do
         
     | 
| 
      
 454 
     | 
    
         
            +
                @o.clone.should == @o
         
     | 
| 
      
 455 
     | 
    
         
            +
                @o.clone.values.should == @o.values
         
     | 
| 
      
 456 
     | 
    
         
            +
                @o.clone.changed_columns.should == @o.changed_columns
         
     | 
| 
      
 457 
     | 
    
         
            +
                @o.clone.errors.should == @o.errors
         
     | 
| 
      
 458 
     | 
    
         
            +
                @o.clone.this.should == @o.this
         
     | 
| 
      
 459 
     | 
    
         
            +
              end
         
     | 
| 
      
 460 
     | 
    
         
            +
             
     | 
| 
      
 461 
     | 
    
         
            +
              it "should not use identical structures" do
         
     | 
| 
      
 462 
     | 
    
         
            +
                @o.clone.should_not equal(@o)
         
     | 
| 
      
 463 
     | 
    
         
            +
                @o.clone.values.should_not equal(@o.values)
         
     | 
| 
      
 464 
     | 
    
         
            +
                @o.clone.changed_columns.should_not equal(@o.changed_columns)
         
     | 
| 
      
 465 
     | 
    
         
            +
                @o.clone.errors.should_not equal(@o.errors)
         
     | 
| 
      
 466 
     | 
    
         
            +
                @o.clone.this.should_not equal(@o.this)
         
     | 
| 
      
 467 
     | 
    
         
            +
              end
         
     | 
| 
      
 468 
     | 
    
         
            +
             
     | 
| 
      
 469 
     | 
    
         
            +
              it "should keep new status" do
         
     | 
| 
      
 470 
     | 
    
         
            +
                @o.clone.new?.should be_false
         
     | 
| 
      
 471 
     | 
    
         
            +
                @Album.new.clone.new?.should be_true
         
     | 
| 
      
 472 
     | 
    
         
            +
              end
         
     | 
| 
      
 473 
     | 
    
         
            +
             
     | 
| 
      
 474 
     | 
    
         
            +
              it "should copy frozen status" do
         
     | 
| 
      
 475 
     | 
    
         
            +
                @o.freeze.clone.should be_frozen
         
     | 
| 
      
 476 
     | 
    
         
            +
                @o.freeze.clone.values.should be_frozen
         
     | 
| 
      
 477 
     | 
    
         
            +
                @o.freeze.clone.changed_columns.should be_frozen
         
     | 
| 
      
 478 
     | 
    
         
            +
                @o.freeze.clone.errors.should be_frozen
         
     | 
| 
      
 479 
     | 
    
         
            +
                @o.freeze.clone.this.should be_frozen
         
     | 
| 
      
 480 
     | 
    
         
            +
              end
         
     | 
| 
      
 481 
     | 
    
         
            +
            end
         
     | 
| 
      
 482 
     | 
    
         
            +
             
     | 
| 
       409 
483 
     | 
    
         
             
            describe "Model#marshallable" do
         
     | 
| 
       410 
484 
     | 
    
         
             
              before do
         
     | 
| 
       411 
485 
     | 
    
         
             
                class ::Album < Sequel::Model
         
     | 
    
        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. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 4.2.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- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2013-09-01 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies: []
         
     | 
| 
       13 
13 
     | 
    
         
             
            description: The Database Toolkit for Ruby
         
     | 
| 
       14 
14 
     | 
    
         
             
            email: code@jeremyevans.net
         
     | 
| 
         @@ -115,6 +115,7 @@ extra_rdoc_files: 
     | 
|
| 
       115 
115 
     | 
    
         
             
            - doc/release_notes/3.48.0.txt
         
     | 
| 
       116 
116 
     | 
    
         
             
            - doc/release_notes/4.0.0.txt
         
     | 
| 
       117 
117 
     | 
    
         
             
            - doc/release_notes/4.1.0.txt
         
     | 
| 
      
 118 
     | 
    
         
            +
            - doc/release_notes/4.2.0.txt
         
     | 
| 
       118 
119 
     | 
    
         
             
            files:
         
     | 
| 
       119 
120 
     | 
    
         
             
            - MIT-LICENSE
         
     | 
| 
       120 
121 
     | 
    
         
             
            - CHANGELOG
         
     | 
| 
         @@ -217,6 +218,7 @@ files: 
     | 
|
| 
       217 
218 
     | 
    
         
             
            - doc/release_notes/3.48.0.txt
         
     | 
| 
       218 
219 
     | 
    
         
             
            - doc/release_notes/4.0.0.txt
         
     | 
| 
       219 
220 
     | 
    
         
             
            - doc/release_notes/4.1.0.txt
         
     | 
| 
      
 221 
     | 
    
         
            +
            - doc/release_notes/4.2.0.txt
         
     | 
| 
       220 
222 
     | 
    
         
             
            - spec/adapters/firebird_spec.rb
         
     | 
| 
       221 
223 
     | 
    
         
             
            - spec/adapters/informix_spec.rb
         
     | 
| 
       222 
224 
     | 
    
         
             
            - spec/adapters/mssql_spec.rb
         
     | 
| 
         @@ -307,8 +309,11 @@ files: 
     | 
|
| 
       307 
309 
     | 
    
         
             
            - spec/extensions/pg_array_associations_spec.rb
         
     | 
| 
       308 
310 
     | 
    
         
             
            - spec/extensions/schema_caching_spec.rb
         
     | 
| 
       309 
311 
     | 
    
         
             
            - spec/extensions/pg_json_ops_spec.rb
         
     | 
| 
      
 312 
     | 
    
         
            +
            - spec/extensions/from_block_spec.rb
         
     | 
| 
       310 
313 
     | 
    
         
             
            - spec/extensions/select_remove_spec.rb
         
     | 
| 
      
 314 
     | 
    
         
            +
            - spec/extensions/pg_loose_count_spec.rb
         
     | 
| 
       311 
315 
     | 
    
         
             
            - spec/extensions/query_literals_spec.rb
         
     | 
| 
      
 316 
     | 
    
         
            +
            - spec/extensions/pg_static_cache_updater_spec.rb
         
     | 
| 
       312 
317 
     | 
    
         
             
            - spec/extensions/pg_inet_spec.rb
         
     | 
| 
       313 
318 
     | 
    
         
             
            - spec/extensions/eval_inspect_spec.rb
         
     | 
| 
       314 
319 
     | 
    
         
             
            - spec/extensions/pg_range_spec.rb
         
     | 
| 
         @@ -555,6 +560,10 @@ files: 
     | 
|
| 
       555 
560 
     | 
    
         
             
            - lib/sequel/extensions/sequel_3_dataset_methods.rb
         
     | 
| 
       556 
561 
     | 
    
         
             
            - lib/sequel/extensions/pg_json_ops.rb
         
     | 
| 
       557 
562 
     | 
    
         
             
            - lib/sequel/extensions/empty_array_ignore_nulls.rb
         
     | 
| 
      
 563 
     | 
    
         
            +
            - lib/sequel/extensions/from_block.rb
         
     | 
| 
      
 564 
     | 
    
         
            +
            - lib/sequel/extensions/mssql_emulate_lateral_with_apply.rb
         
     | 
| 
      
 565 
     | 
    
         
            +
            - lib/sequel/extensions/pg_loose_count.rb
         
     | 
| 
      
 566 
     | 
    
         
            +
            - lib/sequel/extensions/pg_static_cache_updater.rb
         
     | 
| 
       558 
567 
     | 
    
         
             
            - lib/sequel/version.rb
         
     | 
| 
       559 
568 
     | 
    
         
             
            - lib/sequel/model.rb
         
     | 
| 
       560 
569 
     | 
    
         
             
            - lib/sequel/model/associations.rb
         
     | 
| 
         @@ -628,7 +637,8 @@ files: 
     | 
|
| 
       628 
637 
     | 
    
         
             
            - lib/sequel/ast_transformer.rb
         
     | 
| 
       629 
638 
     | 
    
         
             
            - lib/sequel/no_core_ext.rb
         
     | 
| 
       630 
639 
     | 
    
         
             
            homepage: http://sequel.rubyforge.org
         
     | 
| 
       631 
     | 
    
         
            -
            licenses: 
     | 
| 
      
 640 
     | 
    
         
            +
            licenses:
         
     | 
| 
      
 641 
     | 
    
         
            +
            - MIT
         
     | 
| 
       632 
642 
     | 
    
         
             
            metadata: {}
         
     | 
| 
       633 
643 
     | 
    
         
             
            post_install_message: 
         
     | 
| 
       634 
644 
     | 
    
         
             
            rdoc_options:
         
     |