module hunt.sql.ast.SQLDataType; import hunt.sql.ast.SQLObject; import hunt.sql.ast.SQLExpr; import hunt.Boolean; import hunt.collection; public interface SQLDataType : SQLObject { string getName(); long nameHashCode64(); void setName(string name); List!SQLExpr getArguments(); Boolean getWithTimeZone(); void setWithTimeZone(Boolean value); bool isWithLocalTimeZone(); void setWithLocalTimeZone(bool value); SQLDataType clone(); void setDbType(string dbType); string getDbType(); interface Constants { enum string CHAR = "CHAR"; enum string NCHAR = "NCHAR"; enum string VARCHAR = "VARCHAR"; enum string DATE = "DATE"; enum string TIMESTAMP = "TIMESTAMP"; enum string XML = "XML"; enum string DECIMAL = "DECIMAL"; enum string NUMBER = "NUMBER"; enum string REAL = "REAL"; enum string DOUBLE_PRECISION = "DOUBLE PRECISION"; enum string TINYINT = "TINYINT"; enum string SMALLINT = "SMALLINT"; enum string INT = "INT"; enum string BIGINT = "BIGINT"; enum string TEXT = "TEXT"; enum string BYTEA = "BYTEA"; enum string BOOLEAN = "bool"; } }