openlp-core team mailing list archive
-
openlp-core team
-
Mailing list archive
-
Message #17640
[Bug 1051890] Re: Gracefully handle database rollbacks
Looking at the original exception in the example above, this was due to
the lyrics being None.
Looking in editsongform.py, in _processLyrics there is an catch all
error trap, which means if there is an error processing the lyrics then
it'll attempt to save the song without them. Wouldn't we be better off
removing this error trap and letting it propagate to the user? We
shouldn't ignore/hide these errors, and ideally want to fix the original
cause.
--
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1051890
Title:
Gracefully handle database rollbacks
Status in OpenLP - Worship Presentation Software:
New
Bug description:
Version: {u'full': u'1.9.11-bzr2039', u'version': u'1.9.11', u'build':
u'bzr2039'}
--- Details of the Exception. ---
Clicking Save on a new song
--- Exception Traceback ---
Traceback (most recent call last):
File "/Users/martin/Documents/openlp/trunk/build/pyi.darwin/OpenLP/out00-PYZ.pyz/openlp.plugins.songs.forms.editsongform", line 814, in accept
File "/Users/martin/Documents/openlp/trunk/build/pyi.darwin/OpenLP/out00-PYZ.pyz/openlp.plugins.songs.forms.editsongform", line 852, in saveSong
File "/Users/martin/Documents/openlp/trunk/build/pyi.darwin/OpenLP/out00-PYZ.pyz/openlp.core.lib.db", line 341, in get_object_filtered
File "/Users/martin/Documents/openlp/trunk/build/pyi.darwin/OpenLP/out00-PYZ.pyz/sqlalchemy.orm.query", line 2155, in first
File "/Users/martin/Documents/openlp/trunk/build/pyi.darwin/OpenLP/out00-PYZ.pyz/sqlalchemy.orm.query", line 2022, in getitem
File "/Users/martin/Documents/openlp/trunk/build/pyi.darwin/OpenLP/out00-PYZ.pyz/sqlalchemy.orm.query", line 2223, in iter
File "/Users/martin/Documents/openlp/trunk/build/pyi.darwin/OpenLP/out00-PYZ.pyz/sqlalchemy.orm.session", line 1011, in _autoflush
File "/Users/martin/Documents/openlp/trunk/build/pyi.darwin/OpenLP/out00-PYZ.pyz/sqlalchemy.orm.session", line 1587, in flush
File "/Users/martin/Documents/openlp/trunk/build/pyi.darwin/OpenLP/out00-PYZ.pyz/sqlalchemy.orm.session", line 1656, in _flush
File "/Users/martin/Documents/openlp/trunk/build/pyi.darwin/OpenLP/out00-PYZ.pyz/sqlalchemy.orm.session", line 588, in begin
File "/Users/martin/Documents/openlp/trunk/build/pyi.darwin/OpenLP/out00-PYZ.pyz/sqlalchemy.orm.session", line 196, in _begin
File "/Users/martin/Documents/openlp/trunk/build/pyi.darwin/OpenLP/out00-PYZ.pyz/sqlalchemy.orm.session", line 173, in _assert_is_active
InvalidRequestError: This Session's transaction has been rolled back due to a previous exception during flush. To begin a new transaction with this Session, first issue Session.rollback(). Original exception was: (IntegrityError) songs.lyrics may not be NULL u'INSERT INTO songs (song_book_id, title, alternate_title, lyrics, verse_order, copyright, comments, ccli_number, song_number, theme_name, search_title, search_lyrics, create_date, last_modified, "temporary") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP, ?)' (None, u'Trading My Sorrows', u'', None, u'v1 v2 c1 b1 v1 v2 c1 c1', u'', u'', u'', u'', u'Blue Burst', u'', u'', 0)
--- System information ---
Platform: Darwin-11.4.0-i386-32bit
--- Library Versions ---
Python: 2.7.3
Qt4: 4.8.2
Phonon: 4.4.0
PyQt4: 4.9.1
QtWebkit: 534.34
SQLAlchemy: 0.7.7
SQLAlchemy Migrate: 0.7.2
BeautifulSoup: 3.2.1
lxml: 2.3.2
Chardet: 2.0.1
PyEnchant: -
PySQLite: -
Mako: 0.7.0
pyUNO bridge: -
To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1051890/+subscriptions
Follow ups
References