Wrong Integer Type for Serial
Brought to you by:
youngmug
ProBIND uses a signed integer for storing the serial of the zone being edited. This limits the value to one half of the possible values BIND will accept. (ISC BIND uses an unsigned integer for serial values.)
This should be fixed in the database. It is low priority because few people will be updating a single zone 2,147,483,647 times and encounter this.
Anonymous
PHP doesn't support unsigned integers, so a fix to this might not be possible for 32-bit systems. I have not checked to see if PHP uses a larger integer type on 64-bit systems yet.
It looks like you can get 64-bit integers on a 64-bit platform (unless you start messing with conversion, then you might get a 32-bit integer). Of course, people on 32-bit are stuck, and converting from a 64-bit to 32-bit environment means data loss, which is unacceptable.
For larger numbers than a signed int can handle, we should investigate using a float. It is typed as a double. Not as large as an unsigned 32-bit integer, but it's better than nothing.
Also, we could use a special function for when on 32-bit platforms, but that will come at a speed penalty.
References when working on fixing this bug:
http://www.mysqlperformanceblog.com/2007/03/27/integers-in-php-running-with-scissors-and-portability/
http://www.mysqlperformanceblog.com/2008/01/10/php-vs-bigint-vs-float-conversion-caveat/