En informática, el Problema de Halloween se refiere a un fenómeno en las bases de datos en el que una operación de actualización provoca un cambio en la ubicación física de una fila, lo que potencialmente permite que la fila sea visitada más de una vez durante la operación. Esto incluso podría causar un bucle infinito en algunos casos en los que las actualizaciones colocan continuamente el registro actualizado antes del escaneo que realiza la operación de actualización.
El potencial de este error en la base de datos fue descubierto por primera vez por Don Chamberlin , Pat Selinger y Morton Astrahan en 1976, en Halloween.día mientras trabajaba en una consulta que supuestamente daría un aumento del diez por ciento a cada empleado que ganara menos de $ 25,000. Esta consulta se ejecutaría con éxito, sin errores, pero cuando terminara todos los empleados en la base de datos ganaban al menos $ 25,000, porque les seguía dando un aumento hasta que alcanzaban ese nivel. La expectativa era que la consulta iteraría sobre cada uno de los registros de empleados con un salario menor a $ 25,000 precisamente una vez. De hecho, debido a que incluso los registros actualizados eran visibles para el motor de ejecución de consultas y, por lo tanto, seguían coincidiendo con los criterios de la consulta, los registros de salarios coincidían varias veces y cada vez se les daba un aumento del 10% hasta que todos superaban los $ 25,000.
El nombre no describe la naturaleza del problema, sino que se le dio debido al día en que se descubrió. Según lo relatado por Don Chamberlin:
Pat y Morton descubrieron este problema en Halloween ... Recuerdo que entraron en mi oficina y dijeron: 'Chamberlin, mira esto. Tenemos que asegurarnos de que cuando el optimizador esté haciendo un plan para procesar una actualización, no utilice un índice que se base en el campo que se está actualizando. ¿Cómo vamos a hacer eso?' Resultó ser un viernes y dijimos: 'Escuchen, no vamos a poder resolver este problema esta tarde. Démosle un nombre. Lo llamaremos el problema de Halloween y trabajaremos en él la semana que viene. Y resulta que se ha llamado así desde entonces.
Referencias
- La reunión de SQL de 1995 (Protokoll)
- El "problema de Halloween" para las API XML , el weblog de Mike Champion.
- (archivo) Una consulta bien intencionada y el problema de Halloween , Laboratorio Nacional de Los Alamos, Anecdotes, IEEE Annals of the History of Computing
- Cita de Donald D. Chamberlin, Charles Babbage Institute, OH 329