| 613 | ) |
| 614 | |
| 615 | def _test_autoincrement(self, connection): |
| 616 | aitable = self.tables.aitable |
| 617 | |
| 618 | ids = set() |
| 619 | rs = connection.execute(aitable.insert(), int1=1) |
| 620 | last = rs.inserted_primary_key[0] |
| 621 | self.assert_(last) |
| 622 | self.assert_(last not in ids) |
| 623 | ids.add(last) |
| 624 | |
| 625 | rs = connection.execute(aitable.insert(), str1="row 2") |
| 626 | last = rs.inserted_primary_key[0] |
| 627 | self.assert_(last) |
| 628 | self.assert_(last not in ids) |
| 629 | ids.add(last) |
| 630 | |
| 631 | rs = connection.execute(aitable.insert(), int1=3, str1="row 3") |
| 632 | last = rs.inserted_primary_key[0] |
| 633 | self.assert_(last) |
| 634 | self.assert_(last not in ids) |
| 635 | ids.add(last) |
| 636 | |
| 637 | rs = connection.execute( |
| 638 | aitable.insert().values({"int1": func.length("four")}) |
| 639 | ) |
| 640 | last = rs.inserted_primary_key[0] |
| 641 | self.assert_(last) |
| 642 | self.assert_(last not in ids) |
| 643 | ids.add(last) |
| 644 | |
| 645 | eq_( |
| 646 | ids, |
| 647 | set( |
| 648 | range( |
| 649 | testing.db.dialect.default_sequence_base, |
| 650 | testing.db.dialect.default_sequence_base + 4, |
| 651 | ) |
| 652 | ), |
| 653 | ) |
| 654 | |
| 655 | eq_( |
| 656 | list(connection.execute(aitable.select().order_by(aitable.c.id))), |
| 657 | [ |
| 658 | (testing.db.dialect.default_sequence_base, 1, None), |
| 659 | (testing.db.dialect.default_sequence_base + 1, None, "row 2"), |
| 660 | (testing.db.dialect.default_sequence_base + 2, 3, "row 3"), |
| 661 | (testing.db.dialect.default_sequence_base + 3, 4, None), |
| 662 | ], |
| 663 | ) |
| 664 | |
| 665 | |
| 666 | class TableDeprecationTest(fixtures.TestBase): |