001package gudusoft.gsqlparser; 002 003import java.util.HashMap; 004import java.util.Map; 005 006public enum ETableKind { 007 etkBase(0), 008 etkTemporary(1), 009 etkGlobalTemporary(2), 010 etkLocalTemporary(3), 011 etkTemp(4), 012 etkGlobalTemp(5), 013 etkLocalTemp(6), 014 etkVolatile(7), 015 etkLocalVolatile(8), 016 etkGlobalVolatile(9), 017 etkSet(10), //teradata specific 018 etkMultiset(11), //Ansi 019 etkExternal(12), 020 etkTransient(13), 021 etkLocal(14), 022 etkUnlogged(15), 023 etkDynamic(16), //snowflake 024 etkHybrid(17), 025 etkTransientDynamic(18), //snowflake 026 etkForeign(19), //postgresql foreign table 027 etkPrivateTemporary(20), //oracle 18c+ private temporary table 028 etkBlockchain(21), //oracle 19c+ blockchain table 029 etkImmutable(22), //oracle 19c+ immutable table 030 etkSharded(23), //oracle sharding - sharded table 031 etkDuplicated(24), //oracle sharding - duplicated table 032 etkManaged(25), //hive managed table 033 etkIceberg(26), //snowflake iceberg table 034 etkFlex(27), //vertica flex table 035 ; 036 037 private final int value; 038 private static final Map<Integer, ETableKind> map = new HashMap<>(); 039 040 static { 041 for (ETableKind tableKind : ETableKind.values()) { 042 map.put(tableKind.value, tableKind); 043 } 044 } 045 046 private ETableKind(int value) { 047 this.value = value; 048 } 049 050 public int getValue() { 051 return value; 052 } 053 054 public static ETableKind fromValue(int value) { 055 return map.get(value); 056 } 057}