Re: No line number with RaiseError in DBD::Sybase

On Thu, Jun 19, 2008 at 1:53 PM, Tim Bunce <Tim.Bunce@xxxxxxxxx> wrote:
On Wed, Jun 18, 2008 at 02:14:06PM -0700, Douglas Wilson wrote:
With RaiseError or PrintError set, if DBD::Sybase throws an error, the
error message does not indicate what line number of the program that the
error was on ... or what program/module that the error was in.

I'd guess that that's because sybase error messages tend to end with a
newline character.

Hopefully that's a simple fix for Michael to get into the next release.
You could always send a patch to help out...

Once I found the magic spot, this is the simplest thing I can think of (there
is a lot of conditional concatenating in that function, and some of the
concatenations include newlines):

*** ../DBD-Sybase-1.08/dbdimp.c Thu Apr 19 11:31:19 2007
--- dbdimp.c Thu Jun 19 14:09:45 2008
*** 545,550 ****
--- 545,551 ----
retcode = CS_SUCCEED;

+ sv_catpv(DBIc_ERRSTR(imp_dbh), " ");
return retcode;
} else {
if(srvmsg->msgnumber) {