001package gudusoft.gsqlparser.resolver2;
002
003/**
004 * Defines how fields of a structured type are accessed.
005 * Based on Apache Calcite's StructKind.
006 */
007public enum StructKind {
008    /**
009     * Fully qualified access required.
010     * Example: SELECT table.column FROM table
011     */
012    FULLY_QUALIFIED,
013
014    /**
015     * Fields are implicitly available without qualification.
016     * Example: In FROM (SELECT id, name FROM users) t,
017     * the fields id and name are implicitly available.
018     */
019    PEEK_FIELDS,
020
021    /**
022     * Fields must be accessed via the qualifier.
023     * Example: SELECT t.* FROM table t
024     */
025    PEEK_FIELDS_DEFAULT,
026
027    /**
028     * No special struct semantics.
029     */
030    NONE
031}