Skip to content

Commit d12aaa4

Browse files
committed
Spec fixes for Statement#last_id and #affected_rows
1 parent 608c7b7 commit d12aaa4

File tree

1 file changed

+21
-9
lines changed

1 file changed

+21
-9
lines changed

spec/mysql2/statement_spec.rb

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -597,12 +597,12 @@
597597

598598
context 'last_id' do
599599
before(:each) do
600-
@client.query "USE test"
601-
@client.query "CREATE TABLE IF NOT EXISTS lastIdTest (`id` BIGINT NOT NULL AUTO_INCREMENT, blah INT(11), PRIMARY KEY (`id`))"
600+
@client.query 'USE test'
601+
@client.query 'CREATE TABLE IF NOT EXISTS lastIdTest (`id` BIGINT NOT NULL AUTO_INCREMENT, blah INT(11), PRIMARY KEY (`id`))'
602602
end
603603

604604
after(:each) do
605-
@client.query "DROP TABLE lastIdTest"
605+
@client.query 'DROP TABLE lastIdTest'
606606
end
607607

608608
it 'should return last insert id' do
@@ -625,29 +625,41 @@
625625

626626
context 'affected_rows' do
627627
before :each do
628-
@client.query 'DELETE FROM mysql2_test'
629-
@client.query 'INSERT INTO mysql2_test (bool_cast_test) VALUES (1)'
628+
@client.query 'USE test'
629+
@client.query 'CREATE TABLE IF NOT EXISTS lastIdTest (`id` BIGINT NOT NULL AUTO_INCREMENT, blah INT(11), PRIMARY KEY (`id`))'
630630
end
631631

632632
after :each do
633-
@client.query 'DELETE FROM mysql2_test'
633+
@client.query 'DROP TABLE lastIdTest'
634634
end
635635

636636
it 'should return number of rows affected by an insert' do
637-
stmt = @client.prepare 'INSERT INTO mysql2_test (bool_cast_test) VALUES (?)'
637+
stmt = @client.prepare 'INSERT INTO lastIdTest (blah) VALUES (?)'
638638
expect(stmt.affected_rows).to eq 0
639639
stmt.execute 1
640640
expect(stmt.affected_rows).to eq 1
641641
end
642642

643643
it 'should return number of rows affected by an update' do
644-
stmt = @client.prepare 'UPDATE mysql2_test SET bool_cast_test=? WHERE bool_cast_test=?'
644+
stmt = @client.prepare 'INSERT INTO lastIdTest (blah) VALUES (?)'
645+
stmt.execute 1
646+
expect(stmt.affected_rows).to eq 1
647+
stmt.execute 2
648+
expect(stmt.affected_rows).to eq 1
649+
650+
stmt = @client.prepare 'UPDATE lastIdTest SET blah=? WHERE blah=?'
645651
stmt.execute 0, 1
646652
expect(stmt.affected_rows).to eq 1
647653
end
648654

649655
it 'should return number of rows affected by a delete' do
650-
stmt = @client.prepare 'DELETE FROM mysql2_test WHERE bool_cast_test=?'
656+
stmt = @client.prepare 'INSERT INTO lastIdTest (blah) VALUES (?)'
657+
stmt.execute 1
658+
expect(stmt.affected_rows).to eq 1
659+
stmt.execute 2
660+
expect(stmt.affected_rows).to eq 1
661+
662+
stmt = @client.prepare 'DELETE FROM lastIdTest WHERE blah=?'
651663
stmt.execute 1
652664
expect(stmt.affected_rows).to eq 1
653665
end

0 commit comments

Comments
 (0)