]> www.infradead.org Git - users/mchehab/rasdaemon.git/commitdiff
ras-record: use sqlite3_reset to allow reusing the prepared statement
authorMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 29 May 2013 10:41:30 +0000 (07:41 -0300)
committerMauro Carvalho Chehab <mchehab@redhat.com>
Wed, 29 May 2013 10:41:30 +0000 (07:41 -0300)
Instead of using sqlite3_finalize, we should use sqlite3_reset, or
otherwise the prepared statement will be de-allocated.

Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
ras-record.c

index 052875b87213543a0cbedcde75e176931ec91c0f..8995c9ee187874e5f572ca6c3705896a2a0e24f2 100644 (file)
@@ -169,7 +169,7 @@ int ras_store_mc_event(struct ras_events *ras, struct ras_mc_event *ev)
 
        if (!priv || !priv->stmt)
                return 0;
-       log(TERM, LOG_INFO, "store_event: %p\n", priv->stmt);
+       log(TERM, LOG_INFO, "mc_event store: %p\n", priv->stmt);
 
        sqlite3_bind_text(priv->stmt,  1, ev->timestamp, -1, NULL);
        sqlite3_bind_int (priv->stmt,  2, ev->error_count);
@@ -186,10 +186,10 @@ int ras_store_mc_event(struct ras_events *ras, struct ras_mc_event *ev)
        sqlite3_bind_text(priv->stmt, 13, ev->driver_detail, -1, NULL);
        rc = sqlite3_step(priv->stmt);
        if (rc != SQLITE_OK && rc != SQLITE_DONE)
-               log(TERM, LOG_ERR, "Failed to do step on sqlite: error = %d\n", rc);
-       rc = sqlite3_finalize(priv->stmt);
+               log(TERM, LOG_ERR, "Failed to do mc_event step on sqlite: error = %d\n", rc);
+       rc = sqlite3_reset(priv->stmt);
        if (rc != SQLITE_OK && rc != SQLITE_DONE)
-               log(TERM, LOG_ERR, "Failed to do finalize insert on sqlite: error = %d\n",
+               log(TERM, LOG_ERR, "Failed reset mc_event on sqlite: error = %d\n",
                       rc);
        log(TERM, LOG_INFO, "register inserted at db\n");