Hola lista,

Estoy trabajando con una clase que en parte cuenta bits, esos bits me sirven 
para luego alimentar una round robin data base[1].

El contador es incrementado periodicamente y llega un punto que supera la 
capacidad de almacenamiento en la base de datos, en mi caso estoy usando 
'integer unsigned' en la migración y MySQL detrás.

No quiero usar numeros más grandes(:limit => xx) ya que no me hace falta, no 
tengo problemas en, una vez que se llene el entero, resetear el "contador". 

Mi problema particular es que cuando paso el límite y hago un save, rails no 
me avisa del overflow, y simplemente guarda el valor más grande posible para 
esa variable que en un unsigned int es 4294967295.

Puedo hacer el chequeo a mano(if x > 4294967295) , pero me gustaría que sea 
algo más prolijo si fuera posible. Buscar en google no me ayudo mucho así que 
por eso paso por aquí.

Ejemplo con la consola:

>> c = Contract.find 1
>> c.consumption_down_prio
=> 4294967295
>> c.consumption_down_prio *=2
=> 8589934590
>> c.save
=> true
>> c.save!
=> true
>> c = Contract.find 1
>> c.consumption_down_prio 
=> 4294967295



-- 
Luciano Ruete
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a