Skip to content

Advisor plans lose the resolved schema of non-public relations #94

Open

Description

@DivyamTalwar

Problem and proposed fix

The generic JSON plan omitted the resolved relation schema, while candidate generation guessed public. Non-public tables and same-named tables on another search path could therefore lose valid index recommendations. Request VERBOSE in the existing plan-only operation and decline schema-less nodes rather than inventing a target.

Verification

  • Base regression fails for a schema-less plan being attributed to public.
  • Affected advisor/CLI suites and full race suite pass with the real dependencies.
  • bash scripts/gate.sh passes on this committed HEAD, including lint and six release targets.
  • TestIntegration_advisorTargetsResolvedNonPublicSchema passes without skips on disposable PostgreSQL 16 and 18 with hypopg. It exercises the actual read-only planner and distinguishes a non-public table from a same-named public control.

Scope

The advisor already requires PostgreSQL 16+ for generic plans. Missing schema is now treated as insufficient evidence. No dependencies, model JSON fields or migrations change. No inspected query is executed. Revert the commit to restore the former plan options and fallback.

I would like to address this with the focused fix and regression coverage described above. Existing issues and open PRs were checked for overlap before preparing the change.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions