Hello world breaks seven times on mainline code paths. This needs to be fixed ASAP. Please also check how the unit tests covering this path are passing and address any coverage issues.
It appears in part Debug.Assert() is being abused as a MessageBox replacement, which is extraordinarily bad practice. An assert firing indicates critical design assumptions are being violated and the program is an unknown state equivalent to an exception being thrown---in other words, this should never happen and it definitely should not be employed as a UI notification mechanism. Also, data layers should not raise UI popups. Consider to expand the ImageDatabase.TemplateSynchronizationIssues mechanism if change or migration reporting is required.
Asserts at TemplateDatabase.cs:529 and 539 fire three and two times, respectively, ImageDatabase.CreateOrOpen() hits the below, and then the 539 assert fails again. As a reminder, exceptions are like assertions and should not occur in normal execution (this throw indicates a severe state management regression in the database layer where the code has become incoherent regarding the database schema).
System.Data.SQLite.SQLiteException occurred
ErrorCode=1
HResult=-2147467259
Message=SQL logic error or missing database
no such column: DeleteFlag
Source=System.Data.SQLite
StackTrace:
at System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQLiteStatement previous, UInt32 timeoutMS, String& strRemain)
at System.Data.SQLite.SQLiteCommand.BuildNextCommand()
at System.Data.SQLite.SQLiteDataReader.NextResult()
at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave)
at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior)
at Timelapse.Database.SQLiteWrapper.IsColumnInTable(String tableName, String columnName) in Timelapse\Timelapse2\Timelapse\Database\SQLiteWrapper.cs:line 385
Hello world breaks seven times on mainline code paths. This needs to be fixed ASAP. Please also check how the unit tests covering this path are passing and address any coverage issues.
It appears in part Debug.Assert() is being abused as a MessageBox replacement, which is extraordinarily bad practice. An assert firing indicates critical design assumptions are being violated and the program is an unknown state equivalent to an exception being thrown---in other words, this should never happen and it definitely should not be employed as a UI notification mechanism. Also, data layers should not raise UI popups. Consider to expand the ImageDatabase.TemplateSynchronizationIssues mechanism if change or migration reporting is required.
Asserts at TemplateDatabase.cs:529 and 539 fire three and two times, respectively, ImageDatabase.CreateOrOpen() hits the below, and then the 539 assert fails again. As a reminder, exceptions are like assertions and should not occur in normal execution (this throw indicates a severe state management regression in the database layer where the code has become incoherent regarding the database schema).
System.Data.SQLite.SQLiteException occurred ErrorCode=1 HResult=-2147467259 Message=SQL logic error or missing database no such column: DeleteFlag Source=System.Data.SQLite StackTrace: at System.Data.SQLite.SQLite3.Prepare(SQLiteConnection cnn, String strSql, SQLiteStatement previous, UInt32 timeoutMS, String& strRemain) at System.Data.SQLite.SQLiteCommand.BuildNextCommand() at System.Data.SQLite.SQLiteDataReader.NextResult() at System.Data.SQLite.SQLiteDataReader..ctor(SQLiteCommand cmd, CommandBehavior behave) at System.Data.SQLite.SQLiteCommand.ExecuteReader(CommandBehavior behavior) at Timelapse.Database.SQLiteWrapper.IsColumnInTable(String tableName, String columnName) in Timelapse\Timelapse2\Timelapse\Database\SQLiteWrapper.cs:line 385