001package gudusoft.gsqlparser.resolver2.binding; 002 003/** 004 * Column-level authority verdict returned by 005 * {@link BindingMetadataAuthority#lookup}. 006 * 007 * <p>Slice S4 (plan §5.5). The post-pass uses this verdict to decide whether 008 * a missing column may emit {@code UNKNOWN_COLUMN}: only an 009 * {@link #AUTHORITATIVE_ABSENT} verdict justifies the diagnostic.</p> 010 * 011 * <p>Made {@code public} so resume documents and future post-pass code in 012 * sibling packages can name the verdict; not surfaced through any documented 013 * binding API method (see plan §5.7 — public {@code ResolutionResult} accessor 014 * remains rejected).</p> 015 */ 016public enum ColumnAuthority { 017 018 /** The catalog authoritatively declares the column exists. */ 019 AUTHORITATIVE_PRESENT, 020 021 /** 022 * The catalog authoritatively declares the column does NOT exist on a 023 * namespace whose metadata state is {@link gudusoft.gsqlparser.resolver2.namespace.MetadataState#FOUND}. 024 */ 025 AUTHORITATIVE_ABSENT, 026 027 /** 028 * The catalog cannot make an authoritative claim — namespace state is 029 * {@code METADATA_UNAVAILABLE} or {@code NOT_FOUND_IN_CATALOG}, the column 030 * lookup is ambiguous, or inputs were null. Strict mode may emit 031 * {@code CATALOG_METADATA_UNAVAILABLE} (WARNING); never 032 * {@code UNKNOWN_COLUMN}. 033 */ 034 METADATA_UNAVAILABLE 035}