mirror of
https://github.com/PostHog/posthog.git
synced 2024-11-28 00:46:45 +01:00
71 lines
1.2 KiB
Python
71 lines
1.2 KiB
Python
from enum import Enum
|
|
|
|
HOGQL_BYTECODE_IDENTIFIER_V0 = "_h"
|
|
HOGQL_BYTECODE_IDENTIFIER = "_H"
|
|
HOGQL_BYTECODE_FUNCTION = "_f"
|
|
|
|
# Version history:
|
|
# 0 - initial version
|
|
# 1 - added version numbers; reversed order of function args in stack
|
|
HOGQL_BYTECODE_VERSION = 1
|
|
|
|
|
|
class Operation(int, Enum):
|
|
GET_GLOBAL = 1
|
|
CALL_GLOBAL = 2
|
|
AND = 3
|
|
OR = 4
|
|
NOT = 5
|
|
PLUS = 6
|
|
MINUS = 7
|
|
MULTIPLY = 8
|
|
DIVIDE = 9
|
|
MOD = 10
|
|
EQ = 11
|
|
NOT_EQ = 12
|
|
GT = 13
|
|
GT_EQ = 14
|
|
LT = 15
|
|
LT_EQ = 16
|
|
LIKE = 17
|
|
ILIKE = 18
|
|
NOT_LIKE = 19
|
|
NOT_ILIKE = 20
|
|
IN = 21
|
|
NOT_IN = 22
|
|
REGEX = 23
|
|
NOT_REGEX = 24
|
|
IREGEX = 25
|
|
NOT_IREGEX = 26
|
|
IN_COHORT = 27
|
|
NOT_IN_COHORT = 28
|
|
TRUE = 29
|
|
FALSE = 30
|
|
NULL = 31
|
|
STRING = 32
|
|
INTEGER = 33
|
|
FLOAT = 34
|
|
POP = 35
|
|
GET_LOCAL = 36
|
|
SET_LOCAL = 37
|
|
RETURN = 38
|
|
JUMP = 39
|
|
JUMP_IF_FALSE = 40
|
|
DECLARE_FN = 41
|
|
DICT = 42
|
|
ARRAY = 43
|
|
TUPLE = 44
|
|
GET_PROPERTY = 45
|
|
SET_PROPERTY = 46
|
|
JUMP_IF_STACK_NOT_NULL = 47
|
|
GET_PROPERTY_NULLISH = 48
|
|
THROW = 49
|
|
TRY = 50
|
|
POP_TRY = 51
|
|
CALLABLE = 52
|
|
CLOSURE = 53
|
|
CALL_LOCAL = 54
|
|
GET_UPVALUE = 55
|
|
SET_UPVALUE = 56
|
|
CLOSE_UPVALUE = 57
|