summaryrefslogtreecommitdiff
path: root/modules/database
diff options
context:
space:
mode:
authorNick Kew <niq@apache.org>2008-08-26 21:03:46 +0000
committerNick Kew <niq@apache.org>2008-08-26 21:03:46 +0000
commit4fb3f963889176b5296bc6e36a05be0d54b1468e (patch)
tree6668dfde0fa16c8c897b59f805cba8ba5fa37da1 /modules/database
parent4983b63a58d7f06b884a4ffaedb69f1ce6ffc5fa (diff)
downloadhttpd-4fb3f963889176b5296bc6e36a05be0d54b1468e.tar.gz
Try to get a meaningful error message when dbd_open fails
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@689224 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'modules/database')
-rw-r--r--modules/database/mod_dbd.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/modules/database/mod_dbd.c b/modules/database/mod_dbd.c
index f1adfd41a2..dbf876faea 100644
--- a/modules/database/mod_dbd.c
+++ b/modules/database/mod_dbd.c
@@ -464,6 +464,7 @@ static apr_status_t dbd_construct(void **data_ptr,
apr_pool_t *rec_pool, *prepared_pool;
ap_dbd_t *rec;
apr_status_t rv;
+ const char *err = "";
rv = apr_pool_create(&rec_pool, pool);
if (rv != APR_SUCCESS) {
@@ -507,12 +508,12 @@ static apr_status_t dbd_construct(void **data_ptr,
return rv;
}
- rv = apr_dbd_open(rec->driver, rec->pool, cfg->params, &rec->handle);
+ rv = apr_dbd_open_ex(rec->driver, rec->pool, cfg->params, &rec->handle, &err);
if (rv != APR_SUCCESS) {
switch (rv) {
case APR_EGENERAL:
ap_log_error(APLOG_MARK, APLOG_ERR, rv, cfg->server,
- "DBD: Can't connect to %s", cfg->name);
+ "DBD: Can't connect to %s: %s", cfg->name, &err);
break;
default:
ap_log_error(APLOG_MARK, APLOG_ERR, rv, cfg->server,