julio 2010

Nombres de mujer

En Mi Mesa Cojea vi una entrada en la que se hacia la prueba de buscar nombres de mujer al azar en Google Images con el SafeSearch desactivado. En los resultados se obtenían, en su mayoría, imágenes guarrillas, nada soprendente si se tiene en mente el dicho de «Internet is for pr0n».

Pero ¿qué ocurre si probamos con el nombre de Eleanor? Pues que, en vez de salir pr0n a secas, sale car pr0n y se rompe la racha. Esto se lo debemos a la película de 60 Segundos, donde el coche estrella, un Ford Mustang Fastback de 1967 adaptado, hizo furor con el sobrenombre de Eleanor.



Y es que, no todo van a ser chicas ligeras de ropa.

MySQL

Estaba yo tan feliz programando un aplicación que utilizaba MySQL como base de datos cuando, de repente, al dar de alta un nuevo registro en un tabla me saltaba un error que decía:

MySQL Duplicate entry for key PRIMARY

Extrañado, comprobaba una y otra vez el hecho de que la clave principal de aquella tabla era auto-incremental, pero cuando tenía que pasar del valor 127 al 128 se le iba la pinza y siempre intentaba meter el 127 que, como ya existía, saltaba el error.

Buscando por Internet, encontré un bug muy similar a lo que me estaba pasando, pero aquello parece que quedó zanjado en 2008, aunque igualmente probé con alguna solución propuesta sin éxito. Ante tal situación y creyendo que era problema del motor interno de InnoDB, pensaba que tendría que cambiarlo pero entonces me quedaría sin las transacciones y, por tanto, sin los rollback.

Menos mal que al final di con la solución. El campo que utilizaba como clave primaria era de tipo TinyInt que sólo puede almacenar desde -128 hasta 127, por lo que cambiándolo a tipo Integer la limitación me lleva hasta 429.4967.295 registros. Ni bugs ni tonterías, una mala elección por mi parte al diseñar la base de datos.