001package gudusoft.gsqlparser.ir.semantic.diff; 002 003/** 004 * Classification of a {@link CanonicalLineageEdge}. Slice 7 records three 005 * roles: 006 * 007 * <ul> 008 * <li>{@link #SELECT} โ output column receives data from the base column.</li> 009 * <li>{@link #FILTER} โ base column appears in a WHERE predicate reachable 010 * from the outer query.</li> 011 * <li>{@link #JOIN} โ base column appears in a JOIN predicate 012 * (JOIN ... ON or JOIN ... USING) reachable from the outer 013 * query.</li> 014 * </ul> 015 * 016 * <p>{@code GROUP_BY} is intentionally absent in slice 7. See the slice-7 017 * design at {@code docs/designs/sql-semantic-governance-unified-roadmap.md} 018 * ยง13 step 5 (and the slice-7 plan) for the rationale. 019 */ 020public enum EdgeRole { 021 SELECT, 022 FILTER, 023 JOIN 024}