package NYql;
option java_package = "ru.yandex.yql.proto";

import "yql/essentials/public/issue/protos/issue_severity.proto";

message TIssuesIds {

    enum EIssueCode {
        DEFAULT_ERROR = 0;
        UNEXPECTED = 1;
        INFO = 2;
        WARNING = 3;
        SUCCESS = 4;
// core codes
        CORE = 1000;
        CORE_GC = 1010;
        CORE_PRE_TYPE_ANN = 1020;
        CORE_TYPE_ANN = 1030;
        CORE_INTENT = 1040;
        CORE_TABLE_METADATA_LOADER = 1050;
        CORE_EXEC = 1060;
        CORE_OPTIMIZATION = 1070;
        CORE_PARAM_EVALUATION = 1080;
        CORE_EXPR_EVALUATION = 1081;
        CORE_POST_TYPE_ANN = 1090;

// core warnings
        CORE_CAST_YSON_JSON_BYTES = 1100;
        CORE_FREE_TABLE_PATH_RECORD = 1101;
        CORE_CAST_INTEGRAL_TO_TIMESTAMP_UNSAFE = 1102;
        CORE_FREE_KEY_SWITCH = 1103;
        CORE_NON_PERSISTABLE_ENTITY = 1104;
        CORE_NON_STREAM_BATCH_UDF = 1105;
        CORE_FLATTEN_BY_OPT = 1106;
        CORE_IMPLICIT_BITCAST = 1107;
        CORE_LEGACY_IN_FOR_EMPTY_OR_NULLABLE = 1108;
        CORE_LEGACY_RANK_FOR_NULLABLE_KEYS = 1109;
        CORE_LEGACY_REGEX_ENGINE = 1110;
        CORE_ALIAS_SHADOWS_COLUMN = 1111;
        CORE_LINEAGE_INTERNAL_ERROR = 1112;

// core informational
        CORE_TOP_UNSUPPORTED_BLOCK_TYPES = 1200;
        CORE_TOP_UNSUPPORTED_BLOCK_CALLABLES = 1201;

// core errors
        CORE_GC_NODES_LIMIT_EXCEEDED = 1500;
        CORE_GC_STRINGS_LIMIT_EXCEEDED = 1501;
        CORE_RUNTIME_ERROR = 1502;

// kikimr
        KIKIMR_LOCKS_INVALIDATED = 2001;
        KIKIMR_LOCKS_ACQUIRE_FAILURE = 2002;
        KIKIMR_SCHEME_ERROR = 2003;
        KIKIMR_COMPILE_ERROR = 2004;
        KIKIMR_TEMPORARILY_UNAVAILABLE = 2005;
        KIKIMR_OVERLOADED = 2006;
        KIKIMR_BAD_OPERATION = 2008;
        KIKIMR_MIXED_SCHEME_DATA_TX = 2009;
        KIKIMR_MULTIPLE_SCHEME_MODIFICATIONS = 2010;
        KIKIMR_OPERATION_ABORTED = 2011;
        KIKIMR_CONSTRAINT_VIOLATION = 2012;
        KIKIMR_RESULT_UNAVAILABLE = 2013;
        KIKIMR_TOO_MANY_TRANSACTIONS = 2014;
        KIKIMR_TRANSACTION_NOT_FOUND = 2015;
        KIKIMR_PRAGMA_NOT_SUPPORTED = 2016;
        KIKIMR_BAD_REQUEST = 2017;
        KIKIMR_ACCESS_DENIED = 2018;
        KIKIMR_QUERY_INVALIDATED = 2019;
        KIKIMR_TIMEOUT = 2020;
        KIKIMR_OPERATION_CANCELLED = 2021;
        KIKIMR_UNAUTHENTICATED = 2022;
        KIKIMR_UNIMPLEMENTED = 2023;
        KIKIMR_INDEX_METADATA_LOAD_FAILED = 2024;
        KIKIMR_GRPC_CONTEXT_ERROR = 2025;
        KIKIMR_OPERATION_STATE_UNKNOWN = 2026;
        KIKIMR_INDEX_IS_NOT_READY = 2027;
        KIKIMR_SCHEME_MISMATCH = 2028;
        KIKIMR_PRECONDITION_FAILED = 2029;
        KIKIMR_UNSUPPORTED = 2030;
        KIKIMR_BAD_COLUMN_TYPE = 2031;
        KIKIMR_NO_COLUMN_DEFAULT_VALUE = 2032;
        KIKIMR_DISK_SPACE_EXHAUSTED = 2033;
        KIKIMR_SCHEMA_CHANGED = 2034;
        KIKIMR_INTERNAL_ERROR = 2035;

// kikimr warnings
        KIKIMR_READ_MODIFIED_TABLE = 2500;
        KIKIMR_OPERATION_REVERTED = 2501;
        KIKIMR_UPDATE_TABLE_WITH_DELETES = 2502;
        KIKIMR_WRONG_INDEX_USAGE = 2503;

// yt
        YT_TABLE_PATH_RECORD_FOR_TMP = 3001;
        YT_INFER_SCHEMA = 3002;
        YT_ACCESS_DENIED = 3003;
        YT_TABLE_NOT_FOUND = 3004;
        YT_NATIVE_PRAGMA = 3005;
        YT_VIEW_NOT_FOUND = 3006;
        YT_SCHEMELESS_TABLE = 3007;
        YT_ENTRY_NOT_TABLE_OR_VIEW = 3008;
        YT_CONCURRENT_TABLE_MODIF = 3009;
        YT_LATE_TABLE_XLOCK = 3010;
        YT_SORT_ORDER_CHANGE = 3011;
        YT_MAX_DATAWEIGHT_PER_JOB_EXCEEDED = 3012;
        YT_WARN_TABLE_DOES_NOT_EXIST = 3013;
        YT_ROWSPEC_HIDES_FIELDS = 3014;
        YT_ROWSPEC_DIFF_SORT = 3015;
        YT_NATIVE_DESC_SORT_IGNORED = 3016;
        YT_MISSING_PROTO_FIELD = 3017;
        YT_FOLDER_INPUT_IS_NOT_A_FOLDER = 3018;
        YT_SECURE_DATA_IN_COMMON_TMP = 3019;

// yql parser warnings
        YQL_PRAGMA_WARNING_MSG = 4500;
        YQL_CONST_SUBREQUEST_IN_LIST = 4501;
        YQL_AGGREGATE_BY_WIN_FUNC_WITHOUT_ORDER_BY = 4502;
        YQL_DEPRECATED_INFERSCHEME = 4503;
        YQL_ORDER_BY_WITHOUT_LIMIT_IN_SUBQUERY = 4504;
        YQL_DEPRECATED_DOUBLE_QUOTE_IN_BRACKETS = 4505;
        YQL_DEPRECATED_JSON_UDF = 4506;
        YQL_MISSING_IS_BEFORE_NOT_NULL = 4507;
        YQL_DEPRECATED_TINY_INT_LITERAL_SUFFIX = 4508;
        YQL_DEPRECATED_DATETIME2 = 4509;
        YQL_S_EXPRESSIONS_CALL = 4510;
        YQL_DEPRECATED_INTERVAL_CONSTANT = 4511;
        YQL_DEPRECATED_FUNCTION_OR_SIGNATURE = 4512;
        YQL_DEPRECATED_INLINE_ACTION_TERMINATOR = 4513;
        YQL_MULTIWAY_JOIN_WITH_USING = 4514;
        YQL_DEPRECATED_V0_SYNTAX = 4515;
        YQL_UNNAMED_COLUMN = 4516;
        YQL_SOURCE_SELECT_COLUMN_MISMATCH = 4517;
        YQL_DEPRECATED_PRAGMA = 4518;
        YQL_EMPTY_WINDOW_FRAME = 4520;
        YQL_RANK_WITHOUT_ORDER_BY = 4521;
        YQL_LIMIT_ORDER_BY_WITH_UNION = 4522;
        YQL_DISCARD_INTO_RESULT_BY_WITH_UNION = 4523;
        YQL_DEPRECATED_UDF_FUNCTION = 4524;
        YQL_EMPTY_TABLENAME_RESULT = 4525;
        YQL_HAVING_WITHOUT_AGGREGATION_IN_SELECT_DISTINCT = 4526;
        YQL_UNUSED_SYMBOL = 4527;
        YQL_MIXED_TZ = 4528;
        YQL_OPERATION_WILL_RETURN_NULL = 4529;
        YQL_JSON_QUERY_RETURNING_JSON_IS_DEPRECATED = 4530;
        YQL_DEPRECATED_LIST_FLATMAP_OPTIONAL = 4531;
        YQL_PROJECTION_ALIAS_IS_REFERENCED_IN_GROUP_BY = 4532;
        YQL_TABLE_BINDING_DUPLICATE = 4533;
        YQL_UNUSED_HINT = 4534;
        YQL_DEPRECATED_POSITIONAL_SCHEMA = 4535;
        YQL_DUPLICATE_DECLARE = 4536;
        YQL_OFFSET_WITHOUT_SORT = 4537;
        YQL_DEPRECATED_BINDINGS = 4538;
        YQL_HINT_INVALID_PARAMETERS = 4539;
        YQL_UNTYPED_STRING_LITERALS = 4540;

// yql parser errors
        YQL_NOT_ALLOWED_IN_DISCOVERY = 4600;
        YQL_DISABLED_BINDINGS = 4601;

// jsonpath errors
        JSONPATH_PARSE_ERROR = 4700;
        JSONPATH_EXPECTED_OBJECT = 4701;
        JSONPATH_MEMBER_NOT_FOUND = 4702;
        JSONPATH_EXPECTED_ARRAY = 4703;
        JSONPATH_INVALID_ARRAY_INDEX = 4704;
        JSONPATH_ARRAY_INDEX_OUT_OF_BOUNDS = 4705;
        JSONPATH_INVALID_ARRAY_INDEX_RANGE = 4706;
        JSONPATH_LAST_OUTSIDE_OF_ARRAY_SUBSCRIPT = 4707;
        JSONPATH_INVALID_UNARY_OPERATION_ARGUMENT_TYPE = 4708;
        JSONPATH_INVALID_BINARY_OPERATION_ARGUMENT = 4709;
        JSONPATH_INVALID_BINARY_OPERATION_ARGUMENT_TYPE = 4710;
        JSONPATH_UNDEFINED_VARIABLE = 4711;
        JSONPATH_DIVISION_BY_ZERO = 4712;
        JSONPATH_BINARY_OPERATION_RESULT_INFINITY = 4713;
        JSONPATH_INVALID_LOGICAL_OPERATION_ARGUMENT = 4714;
        JSONPATH_FILTER_OBJECT_OUTSIDE_OF_FILTER = 4715;
        JSONPATH_INVALID_NUMERIC_METHOD_ARGUMENT = 4716;
        JSONPATH_INVALID_DOUBLE_METHOD_ARGUMENT = 4717;
        JSONPATH_INVALID_NUMBER_STRING = 4718;
        JSONPATH_INFINITE_NUMBER_STRING = 4719;
        JSONPATH_INVALID_KEYVALUE_METHOD_ARGUMENT = 4720;
        JSONPATH_TYPE_CHECK_ERROR = 4721;
        JSONPATH_INVALID_IS_UNKNOWN_ARGUMENT = 4722;
        JSONPATH_INVALID_STARTS_WITH_ARGUMENT = 4723;

// stat
        STAT_DEPRECATED_STRING_TREE = 5000;
        STAT_ACCESS_DENIED = 5001;

// dq
        DQ_GATEWAY_ERROR = 6000;
        DQ_GATEWAY_NEED_FALLBACK_ERROR = 6001;
        DQ_OPTIMIZE_ERROR = 6002;

// pg
        PG_NO_LOCKING_SUPPORT = 7000;
        PG_COMPAT = 7001;

// CBO
        CBO_ENUM_LIMIT_REACHED = 8000;
        CBO_MISSING_TABLE_STATS = 8001;

// range [200000, 399999) reserved for KiKiMR issue codes, do not use!

    }

    message TIssueId {
        optional EIssueCode code = 2;
        optional TSeverityIds.ESeverityId severity = 1;
        optional string format = 3;
    }

    repeated TIssueId ids = 1;
}