Tracear consultas SQL - Userlinux.net

Tracear consultas SQL: David nos explica como tracear consultas SQL en un post muy interesante y de recomendada lectura. ...

votar

Tracear consultas SQL

  • en
Traceando consultas SQL
Rating
David nos explica como tracear consultas SQL en un post muy interesante y de recomendada lectura.
 
Archived on : programación

1 Comentarios

gravatar
04.Jun.2009
Y yo digo, ¿hay que meter el comentario en cada consulta, manualmente? Pues si utilizamos una envoltura para las consultas podemos utilizar la reflexión de clases (PHP5) para sacar estos datos automáticamente y generar consultas con estos comentarios (por cierto, funcionará en MySQL 4?):

class VerClientes extends Modelo {
Dao::getClientes(this);
}

class Dao {
public function getClientes($llamada) {
new Consulta("SELECT * FROM usuarios", llamada);
}
}

class Consulta {
public __construct($sql, $llamada) {
mysql_query($sql . "/*" . operaciones con $llamada);
}
}

En PHP4 podría hacerse una pequeña chapucilla: para conocer el archivo y el número de línea,

a) Se crea un tipo de error llamado TRAZA_SQL, por ejemplo
b) En la envoltura para consulta SQL (orientado a objetos o no) se lanza *siempre* un error tal que trigger_error("", TRAZA_SQL);
c) Se captura el error poniendo estableciendo al principio del documento un manejador (set_error_handler()), añadiendo la información de traza a la consulta SQL (habría que hacer parsear un poquito la consulta)

Cuando tenga tiempo lo probaré, es un hack interesante para el log de consultas lentas y/o que causan error, y me gusta la idea, pero meter manualmente esos comentarios (sobre todo el número de línea, que puede variar mucho) me parece muuuy aburrido.

Un abrazo.

Deja un comentario

Tu nombre
Tu email
http://
  « Captcha

[ Userlinux 2001 ~ 2010 | Sindicación ]