[rt-devel] Changes for bigint tickets

Rich Lafferty rich+rt at lafferty.ca
Tue Feb 5 17:32:41 EST 2002


On Tue, Feb 05, 2002 at 04:31:40PM -0500, Rich Lafferty (rich+rt at lafferty.ca) wrote:
> 
> An additional observation: Deleting the malformed tickets and setting
> the sequence to start back at an int-sized number got everything
> working fine, but pushing the sequence back up beyond an int breaks. 
> The sequence appears to keep working, though, because Ticket.id is set
> correctly.

Still more detail -- It succeeds at 4294967296 (UINT_MAX + 1), but
fails at 4294967297 (UINT_MAX + 2). But when it fails at UINT_MAX + 2,
it doesn't fail like I described before -- it gives me a real error
message, namely,

       Ticket 1 created in queue 'support'. That user is already that
       sort of watcher for this ticket 
 
This is important. :-) UINT_MAX works. UINT_MAX + 1 doesn't appear to
fail, but it'll be dealing with "Ticket 0" in that wraparound. 
UINT_MAX + 2 fails wrapped around to 1.

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...

  -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