DBD-SQLite - full_column_names pragma problem

Posted on Wed Dec 27 21:56:36 2006 by jcasadonte
full_column_names pragma problem

After upgrading to the latest version of DBD-SQLite (for either the 2.x or 3.x version) I have encountered a problem in my previously working code. Initially I upgraded from DBD-SQLite v0.23 to v.31, and then I tried converting to SQLite 3.x using DBD-SQLite 1.12 (which according to the CHANGES doc is SQLite version 3.3.5, but it is reporting as version 3.3.3).

When I execute the following query:

SELECT E.*, P.Name FROM Edition AS E, Publisher AS P WHERE E.GameID = 126 AND E.PublisherID = P.PublisherID ORDER BY E.Name, E.EditionID

I am receiving the following:

$data->{'EditionID'}: {264}
$data->{'GameID'}: {260}
$data->{'Name'}: {Tresham Games}
$data->{'Own'}: {1}
$data->{'PublisherID'}: {88}

instead of the expected:

$data->{'E.EditionID'}: {264}
$data->{'E.GameID'}: {260}
$data->{'E.Name'}: {1825 Unit 3}
$data->{'E.Own'}: {1}
$data->{'E.PublisherID'}: {88}
$data->{'P.Name'}: {Tresham Games}

I have tried setting the full_column_names pragma on via:

my $dbh = DBI->connect($db);
...
$dbh->do('PRAGMA short_column_names=0');
$dbh->do('PRAGMA full_column_names=1');

But this has had no effect on what is being returned to me. I did check, and the pragmas are indeed being set properly inside of the engine (AFAICT). Any ideas? Thanks!

joe
Direct Responses: 3923 | Write a response