Skip to content

Protect SQL entry points in dead-code analysis #16

Description

@deem0n

Problem

The default no-incoming-invocations rule classifies a trigger-bound routine as dead. External callers and unresolved/dynamic SQL are not represented by ordinary incoming invocation edges.

Found during the 2026-09-20 FAMIXNGSQL/Moose 13 compatibility audit.

Implementation scope

Provide a conservative SQL-aware dead-code configuration that protects trigger bindings and explicit external entry points, labels remaining results as candidates, and does not offer unsafe automatic database removal.

Implementation PR target: deem0n/FAMIXNGSQL, in the deem0n fork first. Keep this issue separate from the other v3.0.0 fixes. The PR must explain the previous failure, resulting behavior, compatibility implications, and actual validation.

Acceptance criteria and tests

Trigger-bound routine; actual unreferenced candidate; called routine; explicit external root; propagation from live/dead callers; unresolved-call policy; no database/source mutation.

  • Regression tests demonstrate the reported problem and pass with the fix.
  • Relevant existing tests pass; validation environment and limitations are recorded in the PR.
  • A separate implementation PR is linked here and reviewed.
  • Integrated v3.0.0 acceptance is verified before this release blocker is closed.

Release

Part of the v3.0.0 milestone. An open PR is not a completed fix; release qualification is tracked separately.

Implementation

#29

Combined qualification: #32. The implementation is available for review; this issue remains open until its integrated release acceptance is verified.

Activity

  1. added this to the v3.0.0 milestone on Sep 20, 2026
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

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions