Skip to content

Hide eql_v3_internal from Supabase Studio type picker (upstream supabase/supabase PR) #342

Description

@tobyhede

Context

The eql_v3_internal schema was introduced to declutter the encrypted-column type picker — keeping index-term-only types (hmac_256, ore_block_256, bloom_filter, ore_cllw) out of the way of the public eql_v3.<scalar> domains.

However, Supabase Studio's Table Builder type dropdown still lists every type in every non-hidden schema, so eql_v3_internal.* types show up anyway. Studio filters that picker by schema name against a hardcoded INTERNAL_SCHEMAS list in apps/studio/hooks/useProtectedSchemas.ts — it never filters by name prefix, and postgres-meta has no per-type hidden flag.

This is an upstream task in supabase/supabase, tracked here so it isn't lost.

Required upstream PR (supabase/supabase)

Add eql_v3_internal to the INTERNAL_SCHEMAS list in apps/studio/hooks/useProtectedSchemas.ts — the list already carries pgmq, pgsodium, vault, etc. Precedented and low-risk.

Optional broader ask

File an upstream issue proposing a comment-directive filter (COMMENT ON TYPE … IS '@supabase internal'), since postgres-meta already surfaces obj_description and pg_graphql establishes the @graphql directive precedent. EQL already sets:

COMMENT ON SCHEMA eql_v3_internal IS 'EQL internal implementation detail; not a public API surface.'

Acceptance

  • PR opened against supabase/supabase
  • Merged + released in Studio
  • Verified in a Supabase project on updated Studio: eql_v3_internal.* types absent from the column-type dropdown; eql_v3.<scalar> domains still selectable

Reference

docs/superpowers/plans/notes/supabase-internal-schemas-followup.md

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions