Unstable - Error when trying to over write sqlite file
John Ralls
jralls at ceridwen.us
Sat Oct 28 10:22:56 EDT 2017
> On Oct 28, 2017, at 5:49 AM, Robert Fewell <14ubobit at gmail.com> wrote:
>
> Hi,
>
> This cropped up while doing some tests...
> Start Gnucash with --nofile, take all default options and when saving use
> sqlite3 option and appropriate file name, close Gnucash.
> Start Gnucash again with --nofile, again take all default options and when
> saving use sqlite3 again with the same file name, dialogue appears asking
> if you want to overwrite, say yes and then this dialogue appears..
>
> "The server URL at /root/unstable-sql3-1.gnucash experienced an error or
> encountered bad or corrupt data", close
>
> In the trace file entries like these are present...
>
> * 13:30:11 CRIT <gnc.engine.sx> gnc_sx_get_sxes_referencing_account:
> assertion 'sxactions != NULL' failed
> * 13:30:21 WARN <gnc.backend.dbi> [GncDbiBackend<Type>::session_begin()]
> Might clobber, no force
> * 13:30:24 CRIT <gnc.backend.dbi> [error_handler()] DBI error: 1: table
> versions already exists
> * 13:30:24 CRIT <gnc.backend.dbi> [GncDbiSqlConnection::create_table()]
> Error in dbi_result_free() result
> * 13:30:24 CRIT <gnc.backend.dbi> [error_handler()] DBI error: 19: UNIQUE
> constraint failed: versions.table_name
> * 13:30:24 CRIT <gnc.backend.dbi>
> [GncDbiSqlConnection::execute_nonselect_statement()] Error executing SQL
> INSERT INTO versions VALUES('Gnucash',2070000)
> * 13:30:24 CRIT <gnc.backend.sql>
> [GncSqlBackend::execute_nonselect_statement()] SQL error: INSERT INTO
> versions VALUES('Gnucash',2070000)
> * 13:30:24 CRIT <gnc.backend.sql> [GncSqlBackend::set_table_version()] SQL
> error: INSERT INTO versions VALUES('Gnucash',2070000)
> * 13:30:24 CRIT <gnc.backend.dbi> [error_handler()] DBI error: 19: UNIQUE
> constraint failed: versions.table_name
> * 13:30:24 CRIT <gnc.backend.dbi>
> [GncDbiSqlConnection::execute_nonselect_statement()] Error executing SQL
> INSERT INTO versions VALUES('Gnucash-Resave',19920)
>
> Should I raise a bug for this ?
Yes, please. It’s a design oversight: There’s nothing in the SQL backend code to do a drop database when the user says to overwrite it.
Regards,
John Ralls
More information about the gnucash-devel
mailing list