Archivo de July, 2007

Delimiter en MySQL

Ya he hablado de lo confuso que me resultaba cómo hacer un Stored Procedure en MySQL en comparación con MS-SQL Server que es mi habitual.

Un paso más en su comprensión, es la palabra “DELIMITER”.

Lo habitual para separar una instrucción de otra, es finalizarlas con un “;” pero un SP, al igual que un Trigger, estan formados por varias instrucciones, por lo tanto, antes de comenzar su definición, debes especificar qué caracter delimita (o separa) un SP o un Trigger del siguiente SP o Trigger.

La cuestión metalógica será, si cambias el delimitador de instrucciones por excelencia, para separar un conjunto de instrucciones agrupadas en un objeto (SP o Trigger) de otro objeto, cómo es que este delimitador sigue siendo necesario y funcional dentro de este conjunto de instrucciones? Entonces, para qué cambiarlo? y sobre todo, para qué restaurarlo después? Me parece una manera de marear la perdiz.

DELIMITER |
CREATE TRIGGER testref BEFORE INSERT ON test1
FOR EACH ROW BEGIN
INSERT INTO test2 SET a2 = NEW.a1;
DELETE FROM test3 WHERE a3 = NEW.a1;
UPDATE test4 SET b4 = b4 + 1 WHERE a4 = NEW.a1;
END;
|
DELIMITER ;

July 28th, 2007 by albinworld

Apadrinar un niño

Últimamente me estoy pensando en apadrinar un niño.

A veces vemos futbolistas o pilotos de fórmula 1, y pensamos algo como “Qué cabrón! con la pasta que tiene, me podría comprar un piso, su cuenta bancaria ni lo notaría, y a mi me haría un favor enorme”.

Pues con ciertas personas en otros paises pasa parecido, incluso puede que sean más educadas que nosotros y omitan el insulto a principio de frase. Son tan pobres, que con una miseria nuestra, como 20 o 30 euros, les haríamos un gran favor.

No voy a comeros más la cabeza, porque a mi me molesta bastante los pintillas que se ponen en la esquina de la plaza San Agustin o en la puerta de la Fnac con su rollito concienciatorio a comerte la pinza para que salves el mundo. Creo que eso debe surgir de dentro de cada uno, y cada uno buscar su manera. Puede que en mi caso, el momento sea ahora, y la razón, la que he compartido párrafos más arriba con vosotros.

¿Conoceis algún caso? ¿Como se decidieron por una u otra ONG? Yo he estado mirando esta:

July 28th, 2007 by albinworld

Consumo excesivo de recursos en LunarPages

En Pascuas, estaba de vacaciones por Noruega, a miles de kilometros de mi ordenador, y de repente, una mañana que aproveché para mirar el correo en un ordenador prestado mientras su propietaria se vestía, me encuentro un mail de LunarPages dónde me decían que mi cuenta estaba utilizando demasiados recursos, y que la movían preventivamente a un servidor a parte, y me daban siete (7) días para solucionarlo.

Casualmente caducaban al día siguiente de volver a casa, así que no tenía tiempo de hacer mucho, miré estadísticas en busca de alguna página que se hubiera estado recargando, miré los error_log que guarda PHP en el servidor, miré los log de apache, medité sobre los últimos cambios realizados, y no encontré ni imaginé causa posible alguna. Así que les respondí solicitando que lo dejaran como estaba, admitiendo no haber hecho ningún cambio, y argumentando que no encontraba razón por la que hubiera sucedido, y todos seguimos como amigos.

Ahora, varios meses después, me vuelven a enviar otro mail indicándome que mi cuenta ha consumido más recursos de los adecuados para un hosting compartido. El tema, es que solo saben la cuenta en la cual ha sucedido, no saben qué script, ni si quiera qué dominio. Así que ellos te ofrecen 10 Add On Domains, y te ofrecen ilimitados subdominios, pero cuando algo casca, búscate la vida para tener una mínima idea de dónde puede estar el problema.

No es que esperase unas gráficas, pero, la información que te dan son tres líneas, bien cutres, que, a saber (por tirar balones fuera) si no será algo puntual durante un segundo, un segundo cada tres meses, y se estan enojando por nada.

¿Qué se supone que debo hacer? ¿Qué haríais vosotros?

Voy a llevarme algunos dominios a otra cuenta, no porque piense que es la solución, sino para prevenir que, si estos incidentes son por causa de alguno de mis proyectos personales, no afecten a mis clientes personales.

July 28th, 2007 by albinworld