¿Hará desaparecer al programador la IA generativa? (ii)

Ya escribí al respecto hace un tiempo: https://ikasten.io/2024/05/20/hara-desaperecer-al-programador-la-ia-generativa/

Pero hoy vengo con dos nuevos ejemplos.

Quería ejecutar la siguiente instrucción en SQLite

ALTER TABLE staff
ADD COLUMN IF NOT EXISTS username TEXT NOT NULL DEFAULT "";

pero SQLite no soporta la claúsula IF NOT EXISTS en ADD COLUMN.

Así que le pedí sugerencias a Claude 3.5 Sonnet y GPT-4o.

Ambos estaban de acuerdo en que esto funcionaría:

BEGIN TRANSACTION;

-- Check if the username column exists, if not, add it
SELECT CASE
    WHEN COUNT(*) = 0 THEN
        'ALTER TABLE staff ADD COLUMN username TEXT NOT NULL DEFAULT ""'
    ELSE
        'SELECT 1' -- Do nothing
END
FROM pragma_table_info('staff')
WHERE name = 'username';

Parece un buen truco: se comprueba en los metadatos de SQLite a ver si existe una columna username (se cuenta cuántas veces existe) y si el conteo es 0, entonces hay que ejecutar el ADD COLUMN.

Pero, hemos sido engañados.

El SQL es sintácticamente correcto pero la orden dentro del THEN es simplemente para mostrar un string, no para ejecutar el ALTER TABLE.

Cuando te digan que los ingenieros software no existirán en 5 años, acuérdate de esto. O de esto otro:

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.