Use of microseconds to record actions.
authorAndrea Zagli <azagli@libero.it>
Fri, 3 Jan 2020 14:15:41 +0000 (15:15 +0100)
committerAndrea Zagli <azagli@libero.it>
Fri, 3 Jan 2020 14:15:41 +0000 (15:15 +0100)
src/audit.c

index 80b4455880d983d5eb140d67dc86b4ffcdfef6ac..220ee67bd5dc5e47df14088780326229a0dc27d2 100644 (file)
@@ -1070,12 +1070,12 @@ zak_audit_action_v (ZakAudit *zak_audit,
        /* saving the action */
        if (action != ZAK_AUDIT_ACTION_BEFORE_UPDATE)
                {
-                       /* TODO find the way to save more than 2 digits for the seconds */
                        sql = g_strdup_printf ("INSERT INTO actions"
                                               " (id, type, username, date, id_tables)"
-                                              " VALUES (%d, %d, '%s', '%s', %d)",
+                                              " VALUES (%d, %d, '%s', '%s.%d', %d)",
                                               id, action, username,
                                               g_date_time_format (gdt, "%F %T"),
+                                              g_date_time_get_microsecond (gdt),
                                               table->id);
                        gdaex_execute (priv->gdaex, sql);
                        g_free (sql);
@@ -1974,7 +1974,8 @@ GtkWidget
                                                        gtk_tree_store_append (tstore, &iter, NULL);
                                                        gtk_tree_store_set (tstore, &iter,
                                                                            COL_CHANGES_ID, gdaex_data_model_get_field_value_integer_at (dm, row_action, "id"),
-                                                                           COL_CHANGES_DATE, g_date_time_format (gdaex_data_model_get_field_value_gdatetime_at (dm, row_action, "date"), "%d/%m/%Y %H.%M.%S"),
+                                                                           COL_CHANGES_DATE, g_strdup_printf ("%s.%d", g_date_time_format (gdaex_data_model_get_field_value_gdatetime_at (dm, row_action, "date"), "%d/%m/%Y %H.%M.%S"),
+                                                                                                              gdaex_data_model_get_field_value_gdatimestamp_at (dm, row_action, "date")->fraction),
                                                                            COL_CHANGES_OPERATION, _("Deleted"),
                                                                            COL_CHANGES_USER, gdaex_data_model_get_field_value_stringify_at (dm, row_action, "username"),
                                                                            -1);
@@ -2047,7 +2048,8 @@ GtkWidget
 
                                                        gtk_tree_store_set (tstore, &iter,
                                                                            COL_CHANGES_ID, gdaex_data_model_get_field_value_integer_at (dm, row_action, "id"),
-                                                                           COL_CHANGES_DATE, g_date_time_format (gdaex_data_model_get_field_value_gdatetime_at (dm, row_action, "date"), "%d/%m/%Y %H.%M.%S"),
+                                                                           COL_CHANGES_DATE, g_strdup_printf ("%s.%d", g_date_time_format (gdaex_data_model_get_field_value_gdatetime_at (dm, row_action, "date"), "%d/%m/%Y %H.%M.%S"),
+                                                                                                              gdaex_data_model_get_field_value_gdatimestamp_at (dm, row_action, "date")->fraction),
                                                                            COL_CHANGES_OPERATION, gdaex_data_model_get_field_value_integer_at (dm, row_action, "type") == ZAK_AUDIT_ACTION_AFTER_UPDATE ? _("Edited") :
                                                                            gdaex_data_model_get_field_value_integer_at (dm, row_action, "type") == ZAK_AUDIT_ACTION_INSERT ? _("Inserted") : _("not valid"),
                                                                            COL_CHANGES_USER, gdaex_data_model_get_field_value_stringify_at (dm, row_action, "username"),