001package gudusoft.gsqlparser.ir.semantic.joinanalysis;
002
003/**
004 * Classification of a {@link PredicateOperand}.
005 *
006 * <ul>
007 *   <li>{@link #COLUMN} — a resolved {@code ColumnRef}.</li>
008 *   <li>{@link #LITERAL} — a constant ({@code 'x'}, {@code 42},
009 *       {@code NULL}).</li>
010 *   <li>{@link #CALL} — a function/expression call
011 *       ({@code lower(a.n)}).</li>
012 *   <li>{@link #COMPLEX} — any sub-tree not classified above, preserved
013 *       verbatim (via its span) and never dropped.</li>
014 * </ul>
015 *
016 * <p>Introduced by join-analysis slice 162 (S1).
017 */
018public enum PredicateOperandKind {
019    COLUMN,
020    LITERAL,
021    CALL,
022    COMPLEX
023}