[chronojump] Delete set, person or sessions delete triggers. Need tests!
- From: Xavier de Blas <xaviblas src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [chronojump] Delete set, person or sessions delete triggers. Need tests!
- Date: Tue, 25 Apr 2017 10:21:13 +0000 (UTC)
commit e7a9b8b3d77305bcdfd31c80832afd72b17f1f45
Author: Xavier de Blas <xaviblas gmail com>
Date: Tue Apr 25 12:20:20 2017 +0200
Delete set, person or sessions delete triggers. Need tests!
src/gui/encoder.cs | 3 +++
src/sqlite/personSession.cs | 4 ++++
src/sqlite/session.cs | 3 +++
src/sqlite/trigger.cs | 17 +++++++++++++++--
4 files changed, 25 insertions(+), 2 deletions(-)
---
diff --git a/src/gui/encoder.cs b/src/gui/encoder.cs
index 3e9efac..ac9d936 100644
--- a/src/gui/encoder.cs
+++ b/src/gui/encoder.cs
@@ -1600,6 +1600,9 @@ public partial class ChronoJumpWindow
//delete related records from encoderSignalCurve table
Sqlite.DeleteSelectingField(false, Constants.EncoderSignalCurveTable,
"signalID", signalID.ToString());
+
+ //delete related triggers
+ SqliteTrigger.DeleteByModeID(false, signalID);
}
void on_button_encoder_export_all_curves_clicked (object o, EventArgs args)
diff --git a/src/sqlite/personSession.cs b/src/sqlite/personSession.cs
index 34fb3ff..d08d6d1 100644
--- a/src/sqlite/personSession.cs
+++ b/src/sqlite/personSession.cs
@@ -443,7 +443,11 @@ class SqlitePersonSession : Sqlite
*/
Sqlite.Delete(true, Constants.EncoderTable, Convert.ToInt32(eSQL.uniqueID));
SqliteEncoder.DeleteSignalCurveWithCurveID(true, Convert.ToInt32(eSQL.uniqueID));
+
+ //delete related triggers
+ SqliteTrigger.DeleteByModeID(true, Convert.ToInt32(eSQL.uniqueID));
}
+
//4.- TODO: delete videos
diff --git a/src/sqlite/session.cs b/src/sqlite/session.cs
index aa07234..8c390e2 100644
--- a/src/sqlite/session.cs
+++ b/src/sqlite/session.cs
@@ -858,6 +858,9 @@ class SqliteSession : Sqlite
*/
Sqlite.Delete(true, Constants.EncoderTable, Convert.ToInt32(eSQL.uniqueID));
SqliteEncoder.DeleteSignalCurveWithCurveID(true, Convert.ToInt32(eSQL.uniqueID));
+
+ //delete related triggers
+ SqliteTrigger.DeleteByModeID(true, Convert.ToInt32(eSQL.uniqueID));
}
//<------- delete from encoder end
diff --git a/src/sqlite/trigger.cs b/src/sqlite/trigger.cs
index 9cf1bf8..395d5f0 100644
--- a/src/sqlite/trigger.cs
+++ b/src/sqlite/trigger.cs
@@ -100,7 +100,20 @@ class SqliteTrigger : Sqlite
closeIfNeeded(dbconOpened);
}
-
+
+ //on mode == ENCODER, modeID is encoder.uniqueID
+ public static void DeleteByModeID(bool dbconOpened, int modeID)
+ {
+ openIfNeeded(dbconOpened);
+
+ dbcmd.CommandText = "Delete FROM " + table + " WHERE modeID = " + modeID;
+ LogB.SQL(dbcmd.CommandText.ToString());
+ dbcmd.ExecuteNonQuery();
+
+ closeIfNeeded(dbconOpened);
+ }
+
+ /*
public static void Delete(bool dbconOpened, Trigger trigger)
{
openIfNeeded(dbconOpened);
@@ -111,6 +124,6 @@ class SqliteTrigger : Sqlite
closeIfNeeded(dbconOpened);
}
-
+ */
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]