The code generating that trace message is in DBI.xs which I believe it used by all C DBDs.
/* --- dispatch --- */
if (!keep_error && !(*meth_name=='s' && strEQ(meth_name,"set_err")
+)) {
SV *err_sv;
if (trace_level && SvOK(err_sv=DBIc_ERR(imp_xxh))) {
PerlIO *logfp = DBILOGFP;
PerlIO_printf(logfp, " !! %s: %s CLEARED by call to %s
+method\n",
SvTRUE(err_sv) ? "ERROR" : strlen(SvPV_nolen(err_sv))
+? "warn" : "info",
neatsvpv(DBIc_ERR(imp_xxh),0), meth_name);
}
DBIh_CLEAR_ERROR(imp_xxh);
}
else { /* we check for change in ErrCount during call */
ErrCount = DBIc_ErrCount(imp_xxh);
}
It is in the despatch code. I /think/ its purpose is that any call to a new method other than set_err clears any previous error/warning/informational error state. 2000 may not be an error - it may be a warning (have you PrintWarn and warnings set) or it may be an informational message which don't get printed at all - you have to go out of your way to get those. Some DBI methods can return true but when tested the return is actually 0E0 and this indicates an informational - read the DBI docs on that.
Without knowing the driver it is impossible to guess what 2000 is.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|