spec/extensions/prepared_statements_spec.rb in sequel-4.45.0 vs spec/extensions/prepared_statements_spec.rb in sequel-4.46.0

- old
+ new

@@ -11,23 +11,32 @@ @p = @c.load(:id=>1, :name=>'foo', :i=>2) @ds = @c.dataset @db.sqls end - it "should correctly lookup by primary key for joined dataset" do + deprecated "should correctly lookup by primary key for joined dataset" do @c.dataset = @c.dataset.from(:people, :people2) @db.sqls @c[1].must_equal @p @db.sqls.must_equal ["SELECT * FROM people, people2 WHERE (people.id = 1) LIMIT 1 -- read_only"] end + it "should correctly lookup by primary key for dataset using subquery" do + @c.dataset = @c.dataset.from(:people, :people2).from_self(:alias=>:people) + @db.sqls + @c[1].must_equal @p + @db.sqls.must_equal ["SELECT * FROM (SELECT * FROM people, people2) AS people WHERE (id = 1) LIMIT 1 -- read_only"] + end + it "should use prepared statements for pk lookups only if default is not optimized" do @c.send(:use_prepared_statements_for_pk_lookup?).must_equal false @c.set_primary_key [:id, :name] @c.send(:use_prepared_statements_for_pk_lookup?).must_equal true @c.set_primary_key :id + deprecated do @c.dataset = @c.dataset.from(:people, :people2) @c.send(:use_prepared_statements_for_pk_lookup?).must_equal false + end @c.dataset = @db[:people].select(:id, :name, :i) @c.send(:use_prepared_statements_for_pk_lookup?).must_equal true end it "should use prepared statements for refreshes if default is not optimized" do