diff options
| author | Wez Furlong <wez@php.net> | 2005-07-20 05:27:27 +0000 |
|---|---|---|
| committer | Wez Furlong <wez@php.net> | 2005-07-20 05:27:27 +0000 |
| commit | ec50ec65b9b781c3ccdbd38e175d24397d45c464 (patch) | |
| tree | 214de31e3f7f8d964aab6105f120d52cfefa03f6 /ext/pdo_dblib/dblib_driver.c | |
| parent | 08891a1c1b6a409d48075c73331a731732316724 (diff) | |
| download | php-git-ec50ec65b9b781c3ccdbd38e175d24397d45c464.tar.gz | |
use pdo core test suite.
Now passes all but one test. Volunteers that want to track down the cause
for test pdo_018.phpt not passing are welcome.
Diffstat (limited to 'ext/pdo_dblib/dblib_driver.c')
| -rw-r--r-- | ext/pdo_dblib/dblib_driver.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/ext/pdo_dblib/dblib_driver.c b/ext/pdo_dblib/dblib_driver.c index 0b469d666d..23087775a5 100644 --- a/ext/pdo_dblib/dblib_driver.c +++ b/ext/pdo_dblib/dblib_driver.c @@ -44,15 +44,18 @@ static int dblib_fetch_error(pdo_dbh_t *dbh, pdo_stmt_t *stmt, zval *info TSRMLS S = (pdo_dblib_stmt*)stmt->driver_data; einfo = &S->err; } - + if (einfo->dberr == SYBESMSG && einfo->lastmsg) { msg = einfo->lastmsg; + } else if (einfo->dberr == SYBESMSG && DBLIB_G(err).lastmsg) { + msg = DBLIB_G(err).lastmsg; + DBLIB_G(err).lastmsg = NULL; } else { msg = einfo->dberrstr; } - spprintf(&message, 0, "%s [%d] (severity %d)", - msg, einfo->dberr, einfo->severity); + spprintf(&message, 0, "%s [%d] (severity %d) [%s]", + msg, einfo->dberr, einfo->severity, stmt ? stmt->active_query_string : ""); add_next_index_long(info, einfo->dberr); add_next_index_string(info, message, 0); |
