[ic] "unterminated string" error - sub set_slice in DBI.pm

Donal H. interchange-users@interchange.redhat.com
Mon Nov 12 10:35:01 2001


Hi,

When I try to change the status of an order the following error is reported:

"Sorry, there was an error in processing this form action. Please report the
error or try again later. (DBD::Pg::st execute failed: ERROR: unterminated
string starting on line 2 at /interchange/sys/lib/Vend/Table/DBI.pm line
937. )"

I've uncommented some of ::logDebug code in DBI.pm (and added some more
logDebug) in sub set_slice.
This is the relevant section of my DBI.pm file:
.....
::logDebug("set_slice query: $sql");
::logDebug("set_slice key/fields/values:\nkey=$key\n" . ::uneval($fary,
$vary));
        my $sth = $s->[$DBI]->prepare($sql)
                or die ::errmsg("prepare %s: %s", $sql, $DBI::errstr);
::logDebug("set_slice prepare done (sql: $sql)");
        my $rc = $sth->execute(@$vary)
                or die ::errmsg("execute %s: %s", $sql, $DBI::errstr);
::logDebug("set_slice execute done (sql: $sql)");
.....

Here's the output in the icdebug file:
Vend::Table::DBI:debug: tkey now '8128'
Vend::Table::DBI:debug: set_slice query: update transactions SET
status=?,deleted=?,archived=? WHERE code = '8128'
Vend::Table::DBI:debug: set_slice key/fields/values:
key=8128
[
  'status',
  'deleted',
  'archived'
]
[
  'canceled',
  '0',
  '0'
]

Vend::Table::DBI:debug: set_slice prepare done (sql: update transactions SET
status=?,deleted=?,archived=? WHERE code =
'8128')

So it appears to be failing at:
$sth->execute(@$vary)

Can anyone see anything wrong with this or suggest any possible causes? The
sql seems ok.
Looking at other parts of the log file that have called the same code, I
can't see any obvious differences.

Thanks,
-Donal