001package gudusoft.gsqlparser.resolver2; 002 003/** 004 * Enum representing different types of scopes in SQL resolution. 005 * Each scope type defines the visibility rules for names within that scope. 006 */ 007public enum ScopeType { 008 /** Empty scope - base case for delegation chain */ 009 EMPTY, 010 011 /** Global scope - contains session-level objects */ 012 GLOBAL, 013 014 /** SELECT statement scope */ 015 SELECT, 016 017 /** FROM clause scope - table sources */ 018 FROM, 019 020 /** WHERE clause scope */ 021 WHERE, 022 023 /** GROUP BY clause scope */ 024 GROUP_BY, 025 026 /** HAVING clause scope */ 027 HAVING, 028 029 /** ORDER BY clause scope */ 030 ORDER_BY, 031 032 /** JOIN operation scope */ 033 JOIN, 034 035 /** CTE (WITH clause) scope */ 036 CTE, 037 038 /** Subquery scope */ 039 SUBQUERY, 040 041 /** Window function scope */ 042 WINDOW, 043 044 /** Set operation scope (UNION, INTERSECT, EXCEPT) */ 045 SET_OP, 046 047 /** INSERT statement scope */ 048 INSERT, 049 050 /** UPDATE statement scope */ 051 UPDATE, 052 053 /** DELETE statement scope */ 054 DELETE, 055 056 /** MERGE statement scope */ 057 MERGE, 058 059 /** PL/SQL block scope (Oracle, PostgreSQL PL/pgSQL) */ 060 PLSQL_BLOCK 061}