[rt-devel] Changes for bigint tickets

Rich Lafferty rich+rt at lafferty.ca
Tue Feb 5 18:30:48 EST 2002


On Tue, Feb 05, 2002 at 05:32:41PM -0500, Rich Lafferty (rich+rt at lafferty.ca) wrote:
> 
> So there's *some* sort of overflow of UINT_MAX here. But we know that
> MySQL handles it fine, because it sets Tickets.id correctly. Off
> to more debugging...

"It's worse than that, Jim."

The overflow appears to be happening somewhere inside 
DBIx::SearchBuilder::Handle.  DBIx::Searchbuilder::Record calls

      $self->_Handle->Insert($self->Table, %attribs);

and that expression evaluates to the rolled-over ticket number. I'm
confused at that point, though --

$self->_Handle is an instance of DBIx::SearchBuilder::Handle, and
DBIx::SearchBuilder::Handle::Insert returns a statement handle, not a
value:

      my $sth =  $self->SimpleQuery($QueryString, @bind);
      return($sth);

And $sth *is* a DBD::st instance right before it's returned. Where
does the magic happen to make

      $self->_Handle->Insert($self->Table, %attribs);

return a scalar?

I'm not sure what I'm missing there, so I'm going to break for a bit. 

   -Rich

-- 
Rich Lafferty --------------+-----------------------------------------------
 Ottawa, Ontario, Canada    |  Save the Pacific Northwest Tree Octopus!
 http://www.lafferty.ca/    |    http://zapatopi.net/treeoctopus.html
rich at lafferty.ca -----------+-----------------------------------------------




More information about the Rt-devel mailing list