Subject: | The execute method returns an int for rows affected but this is inadequate especially on 64 bit platforms |
re http://www.perlmonks.org/?node_id=1007766
The execute method requires an int to be returned but the affected rows
could be a lot bigger than this especially on 64 bit platforms. The Perl
IV is guaranteed to be big enough to hold the largest of and pointer to
int so this would be better. However, changing the execute method would
require a recompile of an DBDs and also if the prototype was changed as
is any existing drivers would fail to compile without change. In the
past we've added a new API to get around this (.e.g., methods which were
changed to take an SV* instead of a char*).
More background in the perlmonks link. DBD::ODBC and ODBC return an
SQLLEN for SQLRowCount and SQLLEN is 8 bytes on 64 bit platforms.
Martin
--
Martin J. Evans
Wetherby, UK