typestar

ASSERT en SQL

Un cable trampa para invariantes: falla fuerte apenas pasa lo imposible.

-- ASSERT is a tripwire for things that must always hold.
DO $$
DECLARE
    order_count BIGINT;
BEGIN
    SELECT COUNT(*)
    INTO order_count
    FROM orders;
    ASSERT order_count > 0, 'fixture must ship with orders';
    RAISE NOTICE 'invariant holds: % orders', order_count;
END;
$$;

Cómo funciona

  1. ASSERT order_count > 0, '...' lanza si la condición es falsa.
  2. El mensaje nombra el supuesto roto para quien lea la bitácora.
  3. Los asserts pueden apagarse globalmente: guardan invariantes, no entradas.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
12
Caracteres a escribir
264
Tokens
37
Ritmo de tres estrellas
70 tpm

Al ritmo de tres estrellas de 70 tokens por minuto, este intento toma unos 32 segundos.

Escribe este fragmento

Paso 2 de 4 en Errores y triggers; paso 18 de 23 en Procedimientos almacenados de PostgreSQL.

← Anterior Siguiente →