estuary / animated-carnival

Other
3 stars 0 forks source link

schema: use case-invariant comparison for catalog names #31

Closed jgraettinger closed 2 years ago

jgraettinger commented 2 years ago

We retain the specific casing provided, but will match on a case-invariant basis.

Also disallow a catalog name from being a prefix of another catalog name.

Introduce a bunch of new testing.

Add a supabase/pending migration which brings a current DB up to this commit's schema.


This change is Reviewable

jgraettinger commented 2 years ago

@jshearer, Alex had originally reviewed this but I'm kicking it your way, both for extra eyes and for your familiarity.

I'm actually not planning on landing this quite yet, in deference to some other work for directives / onboarding. My plan here is to first add new scenario tests using the flowctl tool that cover cases around mixed role capitalization, before landing & migrating to these constraints.

jgraettinger commented 2 years ago

Abandoning this work. Reviewing it with fresh eyes, I'm unconvinced that it's a good idea to make catalog names compare as case-invariant. It might be a UX improvement for a subset of users but adds concerning complexity.

I also think some of these invariant checks, especially the prefix check for live_specs, would become unnecessary to have once we implement the pet-set design.

jgraettinger commented 2 years ago

I plucked some of the new test coverage out of this PR and into #60