Un lector llamado Codemonkey encontró una consulta SQL en producción cuya cláusula WHERE incorpora sus propios interruptores de depuración: (some conditions) AND (1 = 0 OR (1 = 1 AND (other conditions))).
WHERE (some conditions)
AND (1 = 0 OR (1 = 1 AND (other conditions)))El mecanismo es de una elegancia sombría. Invierte la primera igualdad y la consulta devuelve todo sin importar las condiciones reales. Invierte la segunda y no devuelve nada. La utilidad práctica de la segunda opción es dudosa.
El origen probable es el de siempre: la consulta improvisada de un analista ascendió a procedimiento almacenado que ahora se ejecuta periódicamente. Las banderas nunca se tocaron desde el lanzamiento y no están documentadas en ningún sitio. Remy Porter señala que construcciones así suelen delatar un problema de observabilidad más profundo en el código.
Comentarios
Aún no hay comentarios — escribe el primero.
Inicia la conversación
Sin cuenta ni contraseña — introduce tu correo y te enviamos un enlace de acceso de un solo uso. ¿Primera vez? Todo se configura automáticamente.
Tu valoración se aplicará automáticamente al iniciar sesión.
Revisa tu bandeja de entrada
Hemos enviado un enlace de acceso a …. Ábrelo en este dispositivo — esta pestaña te conectará automáticamente.
¿No llega nada? Mira en la carpeta de spam — y marca el correo como «No es spam» para que la próxima vez llegue directo.