[CDBI] add_column - bug or feature?

[prev] [thread] [next] [Date index for 2006/01/09]

From: Kate Yoak
Subject: [CDBI] add_column - bug or feature?
Date: 09:15 on 09 Jan 2006
This is a multi-part message in MIME format.

--===============1943652974==
Content-Type: multipart/alternative;
	boundary="----=_NextPart_000_0329_01C614BA.21B795F0"

This is a multi-part message in MIME format.

------=_NextPart_000_0329_01C614BA.21B795F0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit

Having just installed a new server, I ran into the following problem.  A
relationship fails to load with the message:

Need a Column, got <column name>.

This message is coming from this method within Class::DBI::ColumnGrouper:

sub add_column {
        my ($self, $col) = @_;

        # TODO remove this
        croak "Need a Column, got $col" unless
$col->isa("Class::DBI::Column");
        $self->{_allcol}->{ $col->name_lc } ||= $col;
}

The verstion of CDBI is 3.0.13

On the other servers I have version 3.0.1
sub add_column {
   my ($self, $name) = @_;
   return $name if ref $name;
   $self->{_allcol}->{ lc $name } ||= Class::DBI::Column->new($name);
}

OK, so this explains why code that used to work quit doing so.  The question
is - what should I be doing?  The code which is causing me to go here is:

$class->__grouper->add_group(TEMP => $accessor);
I swiped this from Relationship::IsA whose code hasn't change as far as I
can tell - and it probably fails too.

The purpose of this statement is to create an accessor which stores the data
indicated by the relationship.

Is there a new paradigm for this expression which I should be switching to?
Or is this an omission given the TODO statement above?

Cheers,
Kate

------=_NextPart_000_0329_01C614BA.21B795F0
Content-Type: text/html;
	charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.2802" name=3DGENERATOR></HEAD>
<BODY>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial size=3D2>Having =
just=20
installed a new server, I ran into the following problem.&nbsp; A =
relationship=20
fails to load with the message:&nbsp; </FONT></SPAN></DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial size=3D2>Need a =
Column, got=20
&lt;column name&gt;.</FONT></SPAN></DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial size=3D2>This =
message is=20
coming from this method within =
Class::DBI::ColumnGrouper:</FONT></SPAN></DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial size=3D2>sub =
add_column=20
{<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; my ($self, $col) =3D=20
@_;</FONT></SPAN></DIV>
<DIV><FONT face=3DArial size=3D2></FONT>&nbsp;</DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial=20
size=3D2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; # TODO remove=20
this<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; croak "Need a Column, =
got=20
$col" unless=20
$col-&gt;isa("Class::DBI::Column");<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs=
p;&nbsp;=20
$self-&gt;{_allcol}-&gt;{ $col-&gt;name_lc } ||=3D =
$col;<BR>}</FONT></SPAN></DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial size=3D2>The =
verstion of CDBI=20
is 3.0.13</FONT></SPAN></DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial size=3D2>On the =
other servers=20
I have&nbsp;version 3.0.1</FONT></SPAN></DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial size=3D2>sub =
add_column=20
{<BR>&nbsp;&nbsp; my ($self, $name) =3D @_;<BR>&nbsp;&nbsp; return $name =
if ref=20
$name;<BR>&nbsp;&nbsp; $self-&gt;{_allcol}-&gt;{ lc $name } ||=3D=20
Class::DBI::Column-&gt;new($name);<BR>}</FONT></SPAN></DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial size=3D2>OK, so =
this explains=20
why code that used to work quit doing so.&nbsp; The question is - what =
should I=20
be doing?&nbsp; The code which is causing me to go here =
is:</FONT></SPAN></DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial=20
size=3D2>$class-&gt;__grouper-&gt;add_group(TEMP =3D&gt;=20
$accessor);</FONT></SPAN></DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial size=3D2>I =
swiped this from=20
Relationship::IsA whose code hasn't change as far as I can tell - and it =

probably fails too.</FONT></SPAN></DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial size=3D2>The =
purpose of this=20
statement is to create an accessor which stores the data indicated by =
the=20
relationship.</FONT></SPAN></DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial size=3D2>Is =
there a new=20
paradigm for this expression which I should be switching to?&nbsp; Or is =
this an=20
omission given the TODO statement above?</FONT></SPAN></DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial=20
size=3D2></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=3D270230109-09012006><FONT face=3DArial=20
size=3D2>Cheers,<BR>Kate</FONT></SPAN></DIV></BODY></HTML>

------=_NextPart_000_0329_01C614BA.21B795F0--



--===============1943652974==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
ClassDBI mailing list
ClassDBI@xxxxx.xxxxxxxxxxxxxxxx.xxx
http://lists.digitalcraftsmen.net/mailman/listinfo/classdbi

--===============1943652974==--


[CDBI] add_column - bug or feature?
Kate Yoak 09:15 on 09 Jan 2006

Re: [CDBI] add_column - bug or feature?
Peter Speltz 18:42 on 09 Jan 2006

Re: [CDBI] add_column - bug or feature?
Peter Speltz 20:08 on 09 Jan 2006

Re: [CDBI] add_column - bug or feature?
Peter Speltz 20:12 on 09 Jan 2006

Generated at 09:31 on 23 Jan 2006 by mariachi v0.52