from snowday.context.general import (
    CURRENT_CLIENT,
    CURRENT_DATE,
    CURRENT_REGION,
    CURRENT_TIME,
    CURRENT_TIMESTAMP,
    CURRENT_VERSION,
    LOCALTIME,
    LOCALTIMESTAMP,
    SYSDATE,
)
from snowday.context.session import (
    # Session
    CURRENT_ACCOUNT,
    CURRENT_ROLE,
    CURRENT_SESSION,
    CURRENT_STATEMENT,
    CURRENT_TRANSACTION,
    CURRENT_USER,
    LAST_QUERY_ID,
    LAST_TRANSACTION,
    # Session Object
    CURRENT_DATABASE,
    CURRENT_SCHEMA,
    CURRENT_SCHEMAS,
    CURRENT_WAREHOUSE,
    INVOKER_ROLE,
    INVOKER_SHARE,
    IS_GRANTED_TO_INVOKER_ROLE,
    IS_ROLE_IN_SESSION,
)


ALL_CONTEXT_FUNCTIONS = [
    # General
    CURRENT_CLIENT,
    CURRENT_DATE,
    CURRENT_REGION,
    CURRENT_TIME,
    CURRENT_TIMESTAMP,
    CURRENT_VERSION,
    LOCALTIME,
    LOCALTIMESTAMP,
    SYSDATE,
    # Session
    CURRENT_ACCOUNT,
    CURRENT_ROLE,
    CURRENT_SESSION,
    CURRENT_STATEMENT,
    CURRENT_TRANSACTION,
    CURRENT_USER,
    LAST_QUERY_ID,
    LAST_TRANSACTION,
    # Session Object
    CURRENT_DATABASE,
    CURRENT_SCHEMA,
    CURRENT_SCHEMAS,
    CURRENT_WAREHOUSE,
    INVOKER_ROLE,
    INVOKER_SHARE,
    IS_GRANTED_TO_INVOKER_ROLE,
    IS_ROLE_IN_SESSION,
]
