diff options
| author | Jack Zhou <univerio@gmail.com> | 2016-05-31 10:01:46 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2016-06-02 17:46:16 -0400 |
| commit | e8f97c9e357ed0793ce11086823f83aa4a8bb4ad (patch) | |
| tree | e87b5fbd22799b56ab771197fd4658afddd08c91 /test/orm | |
| parent | eb28ebb0f8a48ba57f68f21d64479b56bf689d24 (diff) | |
| download | sqlalchemy-e8f97c9e357ed0793ce11086823f83aa4a8bb4ad.tar.gz | |
Add SKIP LOCKED support for Postgresql, Oracle
This adds `SELECT ... FOR UPDATE SKIP LOCKED`/
`SELECT ... FOR SHARE SKIP LOCKED` rendering.
Change-Id: Id1dc4f1cafc1de23f397a6f73d54ab2c58d5910d
Pull-request: https://bitbucket.org/zzzeek/sqlalchemy/pull-requests/86
Diffstat (limited to 'test/orm')
| -rw-r--r-- | test/orm/test_lockmode.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/test/orm/test_lockmode.py b/test/orm/test_lockmode.py index fc473a329..949fe0d81 100644 --- a/test/orm/test_lockmode.py +++ b/test/orm/test_lockmode.py @@ -181,6 +181,15 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL): dialect="postgresql" ) + def test_postgres_update_skip_locked(self): + User = self.classes.User + sess = Session() + self.assert_compile(sess.query(User.id). + with_for_update(skip_locked=True), + "SELECT users.id AS users_id FROM users FOR UPDATE SKIP LOCKED", + dialect="postgresql" + ) + def test_oracle_update(self): User = self.classes.User @@ -190,6 +199,15 @@ class CompileTest(_fixtures.FixtureTest, AssertsCompiledSQL): dialect="oracle" ) + def test_oracle_update_skip_locked(self): + User = self.classes.User + sess = Session() + self.assert_compile(sess.query(User.id) + .with_for_update(skip_locked=True), + "SELECT users.id AS users_id FROM users FOR UPDATE SKIP LOCKED", + dialect="oracle" + ) + def test_mysql_read(self): User = self.classes.User sess = Session() |
