Skip to content

fix: repair Adobe compat-matrix failures (database hardener spec + channel DDL) - #3436

Merged
bpamiri merged 2 commits into
developfrom
peter/fix-compat-matrix-adobe
Aug 28, 2026
Merged

fix: repair Adobe compat-matrix failures (database hardener spec + channel DDL)#3436
bpamiri merged 2 commits into
developfrom
peter/fix-compat-matrix-adobe

Conversation

@bpamiri

@bpamiri bpamiri commented Aug 28, 2026

Copy link
Copy Markdown
Collaborator

Summary

Two pre-existing issues discovered while verifying the complexity burn-down (#3435) against the local compat matrix — both reproduced on develop and fixed here.

1. Adobe compile failure in DatabaseAdapterHardenerSpec.cfc

The S6 optionsIncludeDefault describe crashed the entire Adobe leg at compile time (MissingNameException: Invalid construct: Either argument or name is missing) because of three Adobe-only parser traps:

  • a variable named abstract (reserved word on Adobe CF)
  • default passed as a named argument (optionsIncludeDefault(type = "text", default = "..."))
  • unquoted default: struct-literal keys

Fixed with positional args, quoted keys, and a renamed variable.

Verified: Adobe 2023 + MySQL, specs.database directory → 101 passed / 0 failed / 0 errors (previously: whole leg HTTP 500 at compile).

2. Channel events table id too short for MySQL

wheels_events.id was varchar(36) (UUID-sized) while channel event ids can be arbitrarily long (42+ chars in the specs), so MySQL legs failed with Data too long for column 'id'. Widened to varchar(255) to match the channel/event columns.

Verified: Adobe 2023 + MySQL, specs.channel directory → 43 passed / 0 failed / 0 errors.

Both fixes are test/DDL-only; no framework behavior change. The weekly compat-matrix should go green on the Adobe+MySQL legs once this lands.

Three Adobe-only parser traps in the S6 optionsIncludeDefault describe:
- a variable named `abstract` (reserved word on Adobe CF) — rename to abstractMigrator
- `default` passed as a named argument to optionsIncludeDefault — use positional args
- unquoted `default:` struct-literal keys — quote them

Verified on Adobe 2023 + MySQL: database specs 101/0/0 (previously the whole
leg failed at compile time with MissingNameException).

Signed-off-by: Peter Amiri <peter@alurium.com>
The id column was varchar(36) (UUID-sized) but channel event ids can be
arbitrarily long (spec ids like "test.hard.s1.<36 chars>" are 42+ chars),
which made MySQL legs fail with "Data too long for column 'id'". Matches
the channel/event columns' 255 width. Verified on Adobe 2023 + MySQL:
channel specs 43/0/0.

Signed-off-by: Peter Amiri <peter@alurium.com>
@bpamiri
bpamiri merged commit c6a6bb0 into develop Aug 28, 2026
11 checks passed
@bpamiri
bpamiri deleted the peter/fix-compat-matrix-adobe branch August 28, 2026 20:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant