You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@subversion.apache.org by da...@apache.org on 2013/02/15 01:22:24 UTC
svn commit: r1446410 - /subversion/trunk/subversion/libsvn_subr/sqlite.c
Author: danielsh
Date: Fri Feb 15 00:22:24 2013
New Revision: 1446410
URL: http://svn.apache.org/r1446410
Log:
sqlite: Improve error messages by including the sqlite numeric error code.
(At this time, we do not enable sqlite3_extended_result_codes().)
* subversion/libsvn_subr/sqlite.c
(SQLITE_ERR, SQLITE_ERR_MSG, exec_sql2, svn_sqlite__step, init_sqlite,
internal_open): Include the sqlite numeric error code in the error string.
(close_apr): Leave a marker where we discard the specific sqlite numeric
error code.
Modified:
subversion/trunk/subversion/libsvn_subr/sqlite.c
Modified: subversion/trunk/subversion/libsvn_subr/sqlite.c
URL: http://svn.apache.org/viewvc/subversion/trunk/subversion/libsvn_subr/sqlite.c?rev=1446410&r1=1446409&r2=1446410&view=diff
==============================================================================
--- subversion/trunk/subversion/libsvn_subr/sqlite.c (original)
+++ subversion/trunk/subversion/libsvn_subr/sqlite.c Fri Feb 15 00:22:24 2013
@@ -140,8 +140,9 @@ struct svn_sqlite__value_t
int sqlite_err__temp = (x); \
if (sqlite_err__temp != SQLITE_OK) \
return svn_error_createf(SQLITE_ERROR_CODE(sqlite_err__temp), \
- NULL, "sqlite: %s", \
- sqlite3_errmsg((db)->db3)); \
+ NULL, "sqlite: %s (%d)", \
+ sqlite3_errmsg((db)->db3), \
+ sqlite_err__temp); \
} while (0)
#define SQLITE_ERR_MSG(x, msg) do \
@@ -149,7 +150,8 @@ struct svn_sqlite__value_t
int sqlite_err__temp = (x); \
if (sqlite_err__temp != SQLITE_OK) \
return svn_error_createf(SQLITE_ERROR_CODE(sqlite_err__temp), \
- NULL, "sqlite: %s", (msg)); \
+ NULL, "sqlite: %s (%d)", (msg), \
+ sqlite_err__temp); \
} while (0)
@@ -171,8 +173,9 @@ exec_sql2(svn_sqlite__db_t *db, const ch
if (sqlite_err != SQLITE_OK && sqlite_err != ignored_err)
{
svn_error_t *err = svn_error_createf(SQLITE_ERROR_CODE(sqlite_err), NULL,
- _("sqlite: %s, executing statement '%s'"),
- err_msg, sql);
+ _("sqlite: %s (%d),"
+ " executing statement '%s'"),
+ err_msg, sqlite_err, sql);
sqlite3_free(err_msg);
return err;
}
@@ -289,7 +292,8 @@ svn_sqlite__step(svn_boolean_t *got_row,
svn_error_t *err1, *err2;
err1 = svn_error_createf(SQLITE_ERROR_CODE(sqlite_result), NULL,
- "sqlite: %s", sqlite3_errmsg(stmt->db->db3));
+ "sqlite: %s (%d)",
+ sqlite3_errmsg(stmt->db->db3), sqlite_result);
err2 = svn_sqlite__reset(stmt);
return svn_error_compose_create(err1, err2);
}
@@ -739,8 +743,8 @@ init_sqlite(void *baton, apr_pool_t *poo
{
int err = sqlite3_config(SQLITE_CONFIG_MULTITHREAD);
if (err != SQLITE_OK && err != SQLITE_MISUSE)
- return svn_error_create(SQLITE_ERROR_CODE(err), NULL,
- _("Could not configure SQLite"));
+ return svn_error_createf(SQLITE_ERROR_CODE(err), NULL,
+ _("Could not configure SQLite (%d)"), err);
}
SQLITE_ERR_MSG(sqlite3_initialize(), _("Could not initialize SQLite"));
@@ -793,7 +797,8 @@ internal_open(sqlite3 **db3, const char
sqlite3_close(*db3);
return svn_error_createf(SQLITE_ERROR_CODE(err_code), NULL,
- "sqlite: %s: '%s'", msg, path);
+ "sqlite: %s (%d): '%s'",
+ msg, err_code, path);
}
}
}
@@ -863,7 +868,7 @@ close_apr(void *data)
}
if (result != SQLITE_OK)
- return SQLITE_ERROR_CODE(result);
+ return SQLITE_ERROR_CODE(result); /* ### lossy */
db->db3 = NULL;