> --- Joe Casadonte <[EMAIL PROTECTED]> wrote:
> > At least insofar as the pragmas change in the sqlite engine itself.
> > But neither method has an effect on the output of the Perl code.  He
> > has his own FullCol/ShortCol variables in select.c where he figures
> > out what to return.  These are set via flags, which in turn are set in
> > pragma.c, assuming that the function sqlite3Pragma() is called
> > correctly.  I'm thinking this is not a SQLite issue, and will contact
> > someone on the Perl side of things.
> 
> The select.c file in the Perl DBD Sqlite module is actually a
> source file from the SQLite distro and should not be changed.
> 
> You may want to look at:
> 
>  http://search.cpan.org/src/MSERGEANT/DBD-SQLite-1.13/dbdimp.c

Here's the problem - the DBD::SQLite author explicitly removes the 
table prefix in 

  http://search.cpan.org/src/MSERGEANT/DBD-SQLite-1.13/dbdimp.c

See "drop table name from field name" below...

SV *
sqlite_st_FETCH_attrib (SV *sth, imp_sth_t *imp_sth, SV *keysv)
{
    char *key = SvPV_nolen(keysv);
    SV *retsv = NULL;
    int i,n;

    if (!DBIc_ACTIVE(imp_sth)) {
        return NULL;
    }
    
    /* warn("fetch: %s\n", key); */
    
    i = DBIc_NUM_FIELDS(imp_sth);

    if (strEQ(key, "NAME")) {
        AV *av = newAV();
/* warn("Fetch NAME fields: %d\n", i); */
        av_extend(av, i);
        retsv = sv_2mortal(newRV(sv_2mortal((SV*)av)));
        for (n = 0; n < i; n++) {
/* warn("Fetch col name %d\n", n); */
            const char *fieldname = sqlite3_column_name(imp_sth->stmt, n);
            if (fieldname) {
                /* warn("Name [%d]: %s\n", n, fieldname); */
                char *dot = instr(fieldname, ".");
                if (dot) /* drop table name from field name */
                    fieldname = ++dot;

Perhaps if you get rid of the last two lines above it may do
what you want. Happy hacking.


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to