001package gudusoft.gsqlparser.ir.common; 002 003/** 004 * Data effect type for lineage edges and procedural data flow edges. 005 * Describes how a value is transformed from source to target. 006 */ 007public enum EffectType { 008 009 /** Direct pass-through, value unchanged. Example: SELECT a FROM t */ 010 EXACT_COPY, 011 012 /** Function/expression transformation. Example: SELECT UPPER(a) FROM t */ 013 WEAK_COPY, 014 015 /** Aggregation causes granularity change. Example: SELECT SUM(a) FROM t */ 016 AGGREGATION, 017 018 /** Multiple sources synthesized. Example: SELECT a || b FROM t */ 019 PARTIAL_COPY, 020 021 /** Affected by control flow condition. Example: assignment inside IF branch */ 022 CONTROL_DEPENDENT, 023 024 /** Dynamic SQL or ambiguous path. Example: EXECUTE IMMEDIATE */ 025 AMBIGUOUS, 026 027 /** Window function transformation. Example: SELECT ROW_NUMBER() OVER(...) */ 028 WINDOW_FUNCTION, 029 030 /** Type cast. Example: CAST(a AS VARCHAR) */ 031 TYPE_CAST, 032 033 /** Conditional expression. Example: CASE WHEN ... THEN a ELSE b */ 034 CONDITIONAL 035}