Mercurial > p > roundup > code
comparison roundup/backends/back_postgresql.py @ 8303:45ec660eb7f7
Fix filter_iter so that exception is caught
| author | Ralf Schlatterbeck <rsc@runtux.com> |
|---|---|
| date | Thu, 27 Feb 2025 10:05:38 +0100 |
| parents | 82a26ea1afdf |
| children | a81a3cd067fa |
comparison
equal
deleted
inserted
replaced
| 8302:82a26ea1afdf | 8303:45ec660eb7f7 |
|---|---|
| 591 raise hyperdb.HyperdbValueError(str (err).split('\n')[0]) | 591 raise hyperdb.HyperdbValueError(str (err).split('\n')[0]) |
| 592 | 592 |
| 593 def filter_iter(self, *args, **kw): | 593 def filter_iter(self, *args, **kw): |
| 594 self.db.sql('savepoint sp') | 594 self.db.sql('savepoint sp') |
| 595 try: | 595 try: |
| 596 return rdbms_common.Class.filter_iter(self, *args, **kw) | 596 for v in rdbms_common.Class.filter_iter(self, *args, **kw): |
| 597 yield v | |
| 597 except psycopg2.errors.DataError as err: | 598 except psycopg2.errors.DataError as err: |
| 598 self.db.sql('rollback to savepoint sp') | 599 self.db.sql('rollback to savepoint sp') |
| 599 raise hyperdb.HyperdbValueError(str (err).split('\n')[0]) | 600 raise hyperdb.HyperdbValueError(str (err).split('\n')[0]) |
| 600 | 601 |
| 601 def is_retired(self, nodeid): | 602 def is_retired(self, nodeid): |
