from enum import Enum


class OpType(Enum):
    DEFAULT = 1
    CONCAT = 2
    CONCAT_PIPE = 3
    PLUS = 4
    MINUS = 5
    MUL = 6
    DIV_LIT = 7
    EQ = 8
    NEQ = 9
    AND = 10
    OR = 11
    NOT = 12
    LIKE = 13
    RLIKE = 14
    REGEX = 15
    NOT_LIKE = 16
    IS = 17
    IS_DISTINCT = 18
    IS_TRUE = 19
    IS_FALSE = 20
    IS_NULL = 21
    IS_UNKNOWN = 22
    LIKE_ALL = 23
    LIKE_SOME = 24
    LIKE_ANY = 25
    IS_NOT_DISTINCT = 26
    IS_DISTINCT_FROM = 27
    IS_NOT_DISTINCT_FROM = 28
    IN = 29
    ANY = 30
    ALL = 31
    MOD = 32
    LT = 33
    GT = 34
    GTE = 35
    LTE = 36
    IS_NOT = 37
    IS_NOT_NULL = 38
    IS_NOT_TRUE = 39
    IS_NOT_FALSE = 40
    IS_NOT_UNKNOWN = 41
    PARENTHESIS = 42
    NOT_EXISTS = 43
    DIV = 44
    MULTI = 45
    BETWEEN = 46
    NEQJ = 47
    EXISTS = 48
    INTERSECT = 49
    UNION = 50
    EXCEPT = 51
    SETMINUS = 52
    UNION_ALL = 53
    UNION_DISTINCT = 54
    REGEXP = 55
    ASSIGN = 56
    MATCH = 57
    NOT_MATCH = 58
    COLLATE = 59
    NOT_LIKE_ALL = 60
    NOT_LIKE_ANY = 61
    NOT_LIKE_SOME = 62
    NOT_IN = 63
    NOT_RLIKE_ALL = 64
    NOT_RLIKE_ANY = 65
    NOT_RLIKE_SOME = 66
    NOT_REGEXP_ALL = 67
    NOT_REGEXP_ANY = 68
    NOT_REGEXP_SOME = 69
    NOT_REGEXP = 70
    NOT_RLIKE = 71
    RLIKE_ANY = 72
    RLIKE_ALL = 73
    RLIKE_SOME = 74
    REGEXP_ANY = 75
    REGEXP_SOME = 76
    REGEXP_ALL = 77
    EQ_ALL = 78
    EQ_ANY = 79
    NEQ_ALL = 80
    NEQ_ANY = 81
    NEQJ_ALL = 82
    NEQJ_ANY = 83
    LT_ALL = 84
    LT_ANY = 85
    LTE_ALL = 86
    LTE_ANY = 87
    GT_ALL = 88
    GT_ANY = 89
    GTE_ALL = 90
    GTE_ANY = 91
    NSEQ_ANY = 92
    NSEQ_ALL = 93
    NSEQ = 94
    CASE = 95
    AMPERSAND = 96
    SOME = 97

