| 464 |
apr_pool_t *rec_pool, *prepared_pool; |
apr_pool_t *rec_pool, *prepared_pool; |
| 465 |
ap_dbd_t *rec; |
ap_dbd_t *rec; |
| 466 |
apr_status_t rv; |
apr_status_t rv; |
| 467 |
|
const char *err = ""; |
| 468 |
|
|
| 469 |
rv = apr_pool_create(&rec_pool, pool); |
rv = apr_pool_create(&rec_pool, pool); |
| 470 |
if (rv != APR_SUCCESS) { |
if (rv != APR_SUCCESS) { |
| 508 |
return rv; |
return rv; |
| 509 |
} |
} |
| 510 |
|
|
| 511 |
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); |
| 512 |
if (rv != APR_SUCCESS) { |
if (rv != APR_SUCCESS) { |
| 513 |
switch (rv) { |
switch (rv) { |
| 514 |
case APR_EGENERAL: |
case APR_EGENERAL: |
| 515 |
ap_log_error(APLOG_MARK, APLOG_ERR, rv, cfg->server, |
ap_log_error(APLOG_MARK, APLOG_ERR, rv, cfg->server, |
| 516 |
"DBD: Can't connect to %s", cfg->name); |
"DBD: Can't connect to %s: %s", cfg->name, &err); |
| 517 |
break; |
break; |
| 518 |
default: |
default: |
| 519 |
ap_log_error(APLOG_MARK, APLOG_ERR, rv, cfg->server, |
ap_log_error(APLOG_MARK, APLOG_ERR, rv, cfg->server, |