[asterisk-commits] elguero: trunk r419504 - in /trunk: include/asterisk/astdb.h main/db.c

SVN commits to the Asterisk project asterisk-commits at lists.digium.com
Thu Jul 24 16:01:44 CDT 2014


Author: elguero
Date: Thu Jul 24 16:01:37 2014
New Revision: 419504

URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=419504
Log:
core/db: Revert Patch Added In Attempt To Improve I/O Performance

Reverting the patch since it was causing a regression and after fixing the
regression, there were no performance gains.  At least based on my method
for measurement.

ASTERISK-24050

Review: https://reviewboard.asterisk.org/r/3841/

Modified:
    trunk/include/asterisk/astdb.h
    trunk/main/db.c

Modified: trunk/include/asterisk/astdb.h
URL: http://svnview.digium.com/svn/asterisk/trunk/include/asterisk/astdb.h?view=diff&rev=419504&r1=419503&r2=419504
==============================================================================
--- trunk/include/asterisk/astdb.h (original)
+++ trunk/include/asterisk/astdb.h Thu Jul 24 16:01:37 2014
@@ -50,14 +50,7 @@
  */
 int ast_db_get_allocated(const char *family, const char *key, char **out);
 
-/*! \brief Store value addressed by family/key
- *
- *  Try to insert a row first.  If a row already exists with the given key
- *  we will then perform an update on this row.
- *
- *  The attempt here is to increase disk I/O performance by not deleting an existing
- *  row and then inserting a new row when one already exists.
- */
+/*! \brief Store value addressed by family/key */
 int ast_db_put(const char *family, const char *key, const char *value);
 
 /*! \brief Delete entry in astdb */

Modified: trunk/main/db.c
URL: http://svnview.digium.com/svn/asterisk/trunk/main/db.c?view=diff&rev=419504&r1=419503&r2=419504
==============================================================================
--- trunk/main/db.c (original)
+++ trunk/main/db.c Thu Jul 24 16:01:37 2014
@@ -119,7 +119,7 @@
 #define DEFINE_SQL_STATEMENT(stmt,sql) static sqlite3_stmt *stmt; \
 	const char stmt##_sql[] = sql;
 
-DEFINE_SQL_STATEMENT(put_stmt, "INSERT OR IGNORE INTO astdb (key, value) VALUES (?1, ?2); UPDATE astdb SET value=?2 WHERE changes()=0 AND key=?1")
+DEFINE_SQL_STATEMENT(put_stmt, "INSERT OR REPLACE INTO astdb (key, value) VALUES (?, ?)")
 DEFINE_SQL_STATEMENT(get_stmt, "SELECT value FROM astdb WHERE key=?")
 DEFINE_SQL_STATEMENT(del_stmt, "DELETE FROM astdb WHERE key=?")
 DEFINE_SQL_STATEMENT(deltree_stmt, "DELETE FROM astdb WHERE key || '/' LIKE ? || '/' || '%'")




More information about the asterisk-commits mailing list