[Dbix-class] ENUM values from MySQL using the column_info()

Johnny Morano jmorano at moretrix.com
Fri May 12 13:26:27 CEST 2006


when I try to create a table like that in Mysql (5.x), I get this:

ERROR 1060 (42S21): Duplicate column name 'NAME'

So... why would you like to have columns with the same info / name, one
lowercase and the other uppercase? There are functions, subroutines to
do this type of thing!

I really don't see the added value of your example, it looks like you
need to normalize your tables ;-)

But of course... it doesn't explain why you get the same value twice.

Oh well, ...

Cheers,
Johnny

On Fri, 2006-05-12 at 12:35 +0200, Zbigniew Lukasiak wrote:
> On 5/12/06, Carl Franks <fireartist at gmail.com> wrote:
> > As far as I know, DBIx::Class doesn't make any effort to try to be
> > case-insensitive, but if your database is, then DBIx::Class may appear
> > to be case-insensitive.
> 
> I don't know how much conscious effor there is but if I have a table
> with two columns with names differing only by case:
> 
> test=# select * from casecheck;
>  id | name | NAME
> ----+------+------
>   1 | aaa  | AAA
> (1 row)
> 
> (this is Pg)
> 
>  and I define DBIC class columns with the same case:
> 
> __PACKAGE__->add_columns(qw/id name NAME/);
> 
> 
> Then when I retrieve the record and print the values in it's columns:
> my $record = $schema->resultset( 'Casecheck' ) -> find ( 1 );
> print "record->name: ", $record->name, "\n";
> print "record->NAME: ", $record->NAME, "\n";
> 
> I get:
> 
> record->name: aaa
> record->NAME: aaa
> 
> While I would expect the last line to be: record->NAME: AAA
> 
> Summing up - the database is casesensitive, but in DBIC is not (in this case:).
> 





More information about the Dbix-class mailing list