Skip Menu |

This queue is for tickets about the DBIx-Class CPAN distribution.

Report information
The Basics
Id: 120222
Status: new
Priority: 0/
Queue: DBIx-Class

Owner: Nobody in particular
Requestors: ZHENYZ [...]

Bug Information
Severity: Important
Broken in: 0.082840
Fixed in: (no value)

Subject: DBIx::Class::Storage::DBI::Sybase::ASE::update/_update_blobs bug
Download (untitled) / with headers
text/plain 1.4k
On updating a Sybase ASE blob column, I get error message like below, DBIx::Class::Row::update(): Can't update XXX=HASH(0x50912a8): row not found at xxx I did some investigation and I think it's a bug in DBIx::Class::Storage::DBI::Sybase::ASE. The "row not found" error message comes from There it checks the return value of storage class's update() method, that is called several lines above, at And for DBIx::Class::Storage::DBI::Sybase::ASE, its update() method processes the blob columns in a different way from the non-blob columns. In my case where I update just a single blob column, it would get out of update() from, where $rv is obtained from _update_blobs() at And if we look at _update_blobs(), we see it does not have an explicit return. This would cause $rv in DBIx::Class::Storage::DBI::Sybase::ASE::update() and $rows in DBIx::Class::Row::update() to be a false value. IMHO the fix can be return @pks_to_update from DBIx::Class::Storage::DBI::Sybase::ASE::_update_blobs()

This service is sponsored and maintained by Best Practical Solutions and runs on infrastructure.

Please report any issues with to