Hi Nomad,

Thanks a lot.

This is what I need, but not what I am observing. I will do some more testing, 
with the FetchHashKeyName set to NAME against SQLite. Then I will try to redo 
the test against Oracle, I know DBD::Oracle defaults to uppercase, so I might 
not be able to skip my translation dictionary anyway if NAME is not supported 
and works as for DBD::SQLite

I reread the section on the docs 
(https://metacpan.org/pod/DBI#FetchHashKeyName), and now it makes sense.

IMHO that NAME preserves casing is not completely clear due to the focus on 
NAME_uc and NAME_lc and recommendation on their use.

Anyway thanks for the push in the right direction.

jonasbn

> On 28 Feb 2017, at 21:13, no...@null.net wrote:
> 
> On Tue Feb 28, 2017 at 07:37:17PM +0100, Jonas B. Nielsen wrote:
>> 
>> - Would it be possible to have FetchHashKeyName preserve case? so if
>> a database was using camelCase this would be preserved.
> 
> A quick test seems to produce what you are looking for with the default
> setting of "NAME":
> 
>    #!/usr/bin/env perl
>    use strict;
>    use warnings;
>    use Data::Dumper;
>    use DBI;
> 
>    my $db  = DBI->connect('dbi:SQLite:db=:memory:');
>    my $sth = $db->prepare(q{SELECT 1 AS CamelCase});
>    $sth->execute;
> 
>    print Dumper( $sth->fetchrow_hashref );
> 
>    # Output is:
>    # $VAR1 = {
>    #          'CamelCase' => 1
>    #        };
> 
> What kind of behaviour were you expecting?
> 
> Mark
> --
> Mark Lawrence

—
pauseid: JONASBN
email: jona...@cpan.org
twitter: @jonasbn
blog: https://lastmover.wordpress.com/





Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

Reply via email to