Un lecteur nommé Codemonkey a découvert une requête SQL en production dont la clause WHERE embarque ses propres commutateurs de débogage : (some conditions) AND (1 = 0 OR (1 = 1 AND (other conditions))).
WHERE (some conditions)
AND (1 = 0 OR (1 = 1 AND (other conditions)))Le mécanisme est d'une élégance sinistre. Inversez la première égalité et la requête renvoie tout, quelles que soient les conditions réelles. Inversez la seconde et elle ne renvoie plus rien. L'utilité pratique de cette seconde option reste discutable.
L'origine probable est classique : la requête ad hoc d'un analyste a été promue en procédure stockée exécutée régulièrement. Les drapeaux n'ont jamais été touchés depuis la mise en production et ne sont documentés nulle part. Remy Porter souligne que ce genre de construction trahit généralement un problème d'observabilité plus profond dans le code.
Commentaires
Pas encore de commentaire — écris le premier.
Lance la discussion
Pas de compte ni de mot de passe — saisis simplement ton adresse e-mail et nous t’envoyons un lien de connexion à usage unique. Première visite ? Tout se met en place automatiquement.
Ton évaluation sera appliquée automatiquement après ta connexion.
Vérifie ta boîte mail
Nous avons envoyé un lien de connexion à …. Ouvre-le sur cet appareil — cet onglet te connectera automatiquement.
Rien reçu ? Vérifiez le dossier spam — et marquez le message « Non spam » pour qu'il arrive directement la prochaine fois.