diff options
author | Daniele Varrazzo <daniele.varrazzo@gmail.com> | 2018-02-06 00:40:20 +0000 |
---|---|---|
committer | Daniele Varrazzo <daniele.varrazzo@gmail.com> | 2018-02-08 15:00:38 +0000 |
commit | 5309da117dd790aaf9dd74b6083638123a383bfa (patch) | |
tree | 1a1382e581e413673f54119b86cf2e62a59e26d4 | |
parent | c52e49a9daa95ae069e7e804e41f6534d5849ba1 (diff) | |
download | psycopg2-5309da117dd790aaf9dd74b6083638123a383bfa.tar.gz |
Autocommit shouldn't change deferrable on servers not supporting it
Regression on unsupported Postgres versions after fixing bug #580
-rw-r--r-- | psycopg/connection_int.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/psycopg/connection_int.c b/psycopg/connection_int.c index 3ea5ca3..a60c4a9 100644 --- a/psycopg/connection_int.c +++ b/psycopg/connection_int.c @@ -1194,7 +1194,7 @@ conn_set_session(connectionObject *self, int autocommit, int want_autocommit = autocommit == SRV_STATE_UNCHANGED ? self->autocommit : autocommit; - if (deferrable != self->deferrable && self->server_version < 90100) { + if (deferrable != SRV_STATE_UNCHANGED && self->server_version < 90100) { PyErr_SetString(ProgrammingError, "the 'deferrable' setting is only available" " from PostgreSQL 9.1"); @@ -1256,7 +1256,7 @@ conn_set_session(connectionObject *self, int autocommit, goto endlock; } } - if (self->deferrable != STATE_DEFAULT) { + if (self->server_version >= 90100 && self->deferrable != STATE_DEFAULT) { if (0 > pq_set_guc_locked(self, "default_transaction_deferrable", "default", &pgres, &error, &_save)) { |