Subject: | Storable.pm causes truncating ODBC filenames for Paradox |
Date: | Wed, 12 Dec 2018 12:12:01 -0800 |
To: | bug-DBD-ODBC [...] rt.cpan.org |
From: | Michael O'Keefe <Michael.OKeefe [...] sdbmwmc.com> |
ActiveState Perl 5.24 on a 32-bit Windows where System DSN "DSN_Name" is
a Paradox 5.x database.
test program :
use strict;
use DBI;
my $odbc = DBI->connect(q(dbi:ODBC:DSN=DSN_Name),q(),q());
my $sql = q{SELECT COUNT(*) AS Result FROM LongNameDatabase};
my $query = $odbc->prepare($sql);
$query->execute();
while (my $result = $query->fetchrow_hashref()) {
warn($result->{Result});
}
$query->finish();
$odbc->disconnect();
If I add a module that uses Storable (like LWP::UserAgent) then I can
see (using procmon.exe for example) that the table filename gets
truncated to "LongName.DB".
I can "stop" it with :
$INC{q(Storable.pm)} = 1;
require LWP::UserAgent;
If I "hack" Storable.pm to not call :
XSLoader::load('Storable', $Storable::VERSION);
then it has the same "workaround"
So something in Storable's XS DLL is causing DBD-ODBC to truncate it's
filename access to the filesystem to 8.3 filenames