20260818_534_fix_scan_digest.py 764 B

123456789101112131415161718192021222324
  1. """Use the schema-qualified pgcrypto digest inside the sealed scan gateway."""
  2. from alembic import op
  3. revision = "20260818_534"
  4. down_revision = "20260818_533"
  5. branch_labels = None
  6. depends_on = None
  7. def upgrade() -> None:
  8. op.get_bind().exec_driver_sql(
  9. """
  10. DO $$ DECLARE definition text; BEGIN
  11. SELECT pg_get_functiondef('public.bi_ai_catalog_runtime_write(text,jsonb)'::regprocedure) INTO definition;
  12. definition:=replace(definition, 'digest(v_scan||v_all::text,''sha256'')', 'public.digest(convert_to(v_scan||v_all::text,''UTF8''),''sha256'')');
  13. EXECUTE definition;
  14. END $$;
  15. """
  16. )
  17. def downgrade() -> None:
  18. raise RuntimeError("downgrade refused: scan gateway correction is append-only")