diff options
author | vvvv <[email protected]> | 2024-11-02 20:16:13 +0300 |
---|---|---|
committer | vvvv <[email protected]> | 2024-11-02 20:29:23 +0300 |
commit | c2859fd279d6f460881911637b04622f7b76b1c2 (patch) | |
tree | 6647bdaf36d13dbc486727a0a66ce73467ea6fc6 | |
parent | d9417f6a9bc844e4b6ac40255999684026433719 (diff) |
Moved yql/core/issue YQL-19206
init
commit_hash:06ed93798c1bd85fb3b79843b4e9a5507236f4a8
-rw-r--r-- | yql/essentials/core/issue/protos/issue_id.proto | 209 | ||||
-rw-r--r-- | yql/essentials/core/issue/protos/ya.make | 13 | ||||
-rw-r--r-- | yql/essentials/core/issue/ut/ya.make | 15 | ||||
-rw-r--r-- | yql/essentials/core/issue/ya.make | 22 | ||||
-rw-r--r-- | yql/essentials/core/issue/yql_issue.cpp | 11 | ||||
-rw-r--r-- | yql/essentials/core/issue/yql_issue.h | 51 | ||||
-rw-r--r-- | yql/essentials/core/issue/yql_issue.txt | 685 | ||||
-rw-r--r-- | yql/essentials/core/issue/yql_issue_ut.cpp | 30 | ||||
-rw-r--r-- | yql/essentials/core/ya.make | 3 | ||||
-rw-r--r-- | yql/essentials/ya.make | 1 |
10 files changed, 1040 insertions, 0 deletions
diff --git a/yql/essentials/core/issue/protos/issue_id.proto b/yql/essentials/core/issue/protos/issue_id.proto new file mode 100644 index 00000000000..975efe5e3be --- /dev/null +++ b/yql/essentials/core/issue/protos/issue_id.proto @@ -0,0 +1,209 @@ +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; + +// 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; + +// 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; +} diff --git a/yql/essentials/core/issue/protos/ya.make b/yql/essentials/core/issue/protos/ya.make new file mode 100644 index 00000000000..8dc82e3720d --- /dev/null +++ b/yql/essentials/core/issue/protos/ya.make @@ -0,0 +1,13 @@ +PROTO_LIBRARY() + +SRCS( + issue_id.proto +) + +PEERDIR( + yql/essentials/public/issue/protos +) + +EXCLUDE_TAGS(GO_PROTO) + +END() diff --git a/yql/essentials/core/issue/ut/ya.make b/yql/essentials/core/issue/ut/ya.make new file mode 100644 index 00000000000..738c471dafb --- /dev/null +++ b/yql/essentials/core/issue/ut/ya.make @@ -0,0 +1,15 @@ +UNITTEST_FOR(yql/essentials/core/issue) + +FORK_SUBTESTS() + +SRCS( + yql_issue_ut.cpp +) + +PEERDIR( +) + +TIMEOUT(300) +SIZE(MEDIUM) + +END() diff --git a/yql/essentials/core/issue/ya.make b/yql/essentials/core/issue/ya.make new file mode 100644 index 00000000000..f4e8f9d6535 --- /dev/null +++ b/yql/essentials/core/issue/ya.make @@ -0,0 +1,22 @@ +LIBRARY() + +SRCS( + yql_issue.cpp +) + +PEERDIR( + library/cpp/resource + contrib/libs/protobuf + yql/essentials/public/issue + yql/essentials/core/issue/protos +) + +RESOURCE( + yql/essentials/core/issue/yql_issue.txt yql_issue.txt +) + +END() + +RECURSE_FOR_TESTS( + ut +) diff --git a/yql/essentials/core/issue/yql_issue.cpp b/yql/essentials/core/issue/yql_issue.cpp new file mode 100644 index 00000000000..3d1ea9b9fe1 --- /dev/null +++ b/yql/essentials/core/issue/yql_issue.cpp @@ -0,0 +1,11 @@ +#include "yql_issue.h" + +namespace NYql { + +const char IssueMapResource[] = "yql_issue.txt"; + +static_assert(DEFAULT_ERROR == TIssuesIds::DEFAULT_ERROR, + "value of particular and common error mismatched for \"DEFAULT_ERROR\""); +static_assert(UNEXPECTED_ERROR == TIssuesIds::UNEXPECTED, + "value of particular and common error mismatched for \"UNEXPECTED_ERROR\""); +} diff --git a/yql/essentials/core/issue/yql_issue.h b/yql/essentials/core/issue/yql_issue.h new file mode 100644 index 00000000000..8077f23c2f0 --- /dev/null +++ b/yql/essentials/core/issue/yql_issue.h @@ -0,0 +1,51 @@ +#pragma once + +#include <yql/essentials/core/issue/protos/issue_id.pb.h> +#include <yql/essentials/public/issue/yql_issue.h> +#include <yql/essentials/public/issue/yql_issue_id.h> + +#ifdef _win_ +#ifdef GetMessage +#undef GetMessage +#endif +#endif + +namespace NYql { + +extern const char IssueMapResource[14]; +using EYqlIssueCode = TIssuesIds::EIssueCode; + +inline ESeverity GetSeverity(EYqlIssueCode id) { + return GetSeverity<TIssuesIds, IssueMapResource>(id); +} + +inline TString GetMessage(EYqlIssueCode id) { + return GetMessage<TIssuesIds, IssueMapResource>(id); +} + +inline TIssue& SetIssueCode(EYqlIssueCode id, TIssue& issue) { + issue.SetCode(id, GetSeverity(id)); + return issue; +} + +inline TString IssueCodeToString(EYqlIssueCode id) { + const TString& message = GetMessage(id); + if (message) { + return message; + } else { + return IssueCodeToString<TIssuesIds>(id); + } +} + +inline TIssue YqlIssue(const TPosition& position, EYqlIssueCode id, const TString& message) { + TIssue issue(position, message); + SetIssueCode(id, issue); + + return issue; +} + +inline TIssue YqlIssue(const TPosition& position, EYqlIssueCode id) { + return YqlIssue(position, id, IssueCodeToString(id)); +} + +} diff --git a/yql/essentials/core/issue/yql_issue.txt b/yql/essentials/core/issue/yql_issue.txt new file mode 100644 index 00000000000..82a0a1eecd3 --- /dev/null +++ b/yql/essentials/core/issue/yql_issue.txt @@ -0,0 +1,685 @@ +ids { + code: UNEXPECTED + severity: S_FATAL +} +ids { + code: DEFAULT_ERROR + severity: S_ERROR +} +ids { + code: INFO + severity: S_INFO +} +ids { + code: SUCCESS + severity: S_INFO +} +ids { + code: WARNING + severity: S_WARNING +} +ids { + code: CORE + severity: S_INFO +} +ids { + code: CORE_GC + severity: S_INFO +} +ids { + code: CORE_PRE_TYPE_ANN + severity: S_INFO + format: "Pre type annotation" +} +ids { + code: CORE_TYPE_ANN + severity: S_INFO + format: "Type annotation" +} +ids { + code: CORE_POST_TYPE_ANN + severity: S_INFO + format: "Post type annotation" +} +ids { + code: CORE_INTENT + severity: S_INFO + format: "Table intent determination" +} +ids { + code: CORE_TABLE_METADATA_LOADER + severity: S_INFO + format: "Table metadata loading" +} +ids { + code: CORE_EXEC + severity: S_INFO + format: "Execution" +} +ids { + code: CORE_OPTIMIZATION + severity: S_INFO + format: "Optimization" +} +ids { + code: CORE_PARAM_EVALUATION + severity: S_INFO + format: "Parameters evaluation" +} +ids { + code: CORE_EXPR_EVALUATION + severity: S_INFO + format: "Expression evaluation" +} +ids { + code: CORE_CAST_YSON_JSON_BYTES + severity: S_WARNING +} +ids { + code: CORE_FREE_TABLE_PATH_RECORD + severity: S_WARNING +} +ids { + code: CORE_CAST_INTEGRAL_TO_TIMESTAMP_UNSAFE + severity: S_WARNING +} +ids { + code: CORE_FREE_KEY_SWITCH + severity: S_WARNING +} +ids { + code: CORE_NON_PERSISTABLE_ENTITY + severity: S_WARNING +} +ids { + code: CORE_NON_STREAM_BATCH_UDF + severity: S_WARNING +} +ids { + code: CORE_FLATTEN_BY_OPT + severity: S_WARNING +} +ids { + code: CORE_IMPLICIT_BITCAST + severity: S_WARNING +} +ids { + code: CORE_LEGACY_IN_FOR_EMPTY_OR_NULLABLE + severity: S_WARNING +} +ids { + code: CORE_LEGACY_RANK_FOR_NULLABLE_KEYS + severity: S_WARNING +} +ids { + code: CORE_LEGACY_REGEX_ENGINE + severity: S_WARNING +} +ids { + code: CORE_ALIAS_SHADOWS_COLUMN + severity: S_WARNING +} +ids { + code: CORE_GC_NODES_LIMIT_EXCEEDED + severity: S_ERROR +} +ids { + code: CORE_GC_STRINGS_LIMIT_EXCEEDED + severity: S_ERROR +} +ids { + code: KIKIMR_LOCKS_INVALIDATED + severity: S_ERROR + format: "Transaction locks invalidated." +} +ids { + code: KIKIMR_LOCKS_ACQUIRE_FAILURE + severity: S_ERROR + format: "Failed to acquire transaction locks." +} +ids { + code: KIKIMR_SCHEME_ERROR + severity: S_ERROR + format: "Incorrect scheme found while performing Kikimr operation." +} +ids { + code: KIKIMR_COMPILE_ERROR + severity: S_ERROR + format: "Error while compiling Kikimr program." +} +ids { + code: KIKIMR_TEMPORARILY_UNAVAILABLE + severity: S_ERROR + format: "Kikimr cluster or one of its subsystems was unavailable." +} +ids { + code: KIKIMR_OVERLOADED + severity: S_ERROR + format: "Kikimr cluster or one of its subsystems is overloaded." +} +ids { + code: KIKIMR_BAD_OPERATION + severity: S_ERROR + format: "Bad operation." +} +ids { + code: KIKIMR_MIXED_SCHEME_DATA_TX + severity: S_ERROR +} +ids { + code: KIKIMR_MULTIPLE_SCHEME_MODIFICATIONS + severity: S_ERROR + format: "Multiple simultaneous modifications of Kikimr scheme element." +} +ids { + code: KIKIMR_OPERATION_ABORTED + severity: S_ERROR + format: "Operation aborted." +} +ids { + code: KIKIMR_CONSTRAINT_VIOLATION + severity: S_ERROR + format: "Constraint violation in Kikimr operation." +} +ids { + code: KIKIMR_RESULT_UNAVAILABLE + severity: S_ERROR + format: "Result of Kikimr query didn't meet requirements and isn't available" +} +ids { + code: KIKIMR_TOO_MANY_TRANSACTIONS + severity: S_ERROR + format: "Exceeded maximum allowed number of active transactions" +} +ids { + code: KIKIMR_TRANSACTION_NOT_FOUND + severity: S_ERROR + format: "Transaction not found" +} +ids { + code: KIKIMR_PRAGMA_NOT_SUPPORTED + severity: S_ERROR + format: "Pragma not supported in current context." +} +ids { + code: KIKIMR_BAD_REQUEST + severity: S_ERROR + format: "Bad request." +} +ids { + code: KIKIMR_ACCESS_DENIED + severity: S_ERROR + format: "Access denied." +} +ids { + code: KIKIMR_QUERY_INVALIDATED + severity: S_ERROR + format: "Query invalidated." +} +ids { + code: KIKIMR_TIMEOUT + severity: S_ERROR + format: "Operation timeout." +} +ids { + code: KIKIMR_OPERATION_CANCELLED + severity: S_ERROR + format: "Operation cancelled." +} +ids { + code: KIKIMR_UNAUTHENTICATED + severity: S_ERROR + format: "The request does not have valid authentication credentials." +} +ids { + code: KIKIMR_UNIMPLEMENTED + severity: S_ERROR + format: "Operation is not implemented or not supported." +} +ids { + code: KIKIMR_READ_MODIFIED_TABLE + severity: S_WARNING +} +ids { + code: KIKIMR_OPERATION_REVERTED + severity: S_WARNING +} +ids { + code: KIKIMR_UPDATE_TABLE_WITH_DELETES + severity: S_WARNING +} +ids { + code: KIKIMR_WRONG_INDEX_USAGE + severity: S_WARNING +} +ids { + code: KIKIMR_GRPC_CONTEXT_ERROR + severity: S_ERROR + format: "Operation with grpc context failed" +} +ids { + code: KIKIMR_OPERATION_STATE_UNKNOWN + severity: S_ERROR + format: "State of operation is unknown." +} +ids { + code: KIKIMR_INDEX_IS_NOT_READY + severity: S_ERROR +} +ids { + code: KIKIMR_INDEX_METADATA_LOAD_FAILED + severity: S_ERROR +} +ids { + code: KIKIMR_SCHEME_MISMATCH + severity: S_ERROR + format: "Scheme mismatch found while executing query." +} +ids { + code: KIKIMR_PRECONDITION_FAILED + severity: S_ERROR +} +ids { + code: KIKIMR_UNSUPPORTED + severity: S_ERROR +} +ids { + code: KIKIMR_BAD_COLUMN_TYPE + severity: S_ERROR +} +ids { + code: KIKIMR_NO_COLUMN_DEFAULT_VALUE + severity: S_ERROR +} +ids { + code: KIKIMR_DISK_SPACE_EXHAUSTED + severity: S_ERROR +} +ids { + code: KIKIMR_SCHEMA_CHANGED + severity: S_ERROR +} +ids { + code: KIKIMR_INTERNAL_ERROR + severity: S_ERROR +} +ids { + code: YQL_PRAGMA_WARNING_MSG + severity: S_WARNING +} +ids { + code: YQL_CONST_SUBREQUEST_IN_LIST + severity: S_WARNING +} +ids { + code: YQL_AGGREGATE_BY_WIN_FUNC_WITHOUT_ORDER_BY + severity: S_WARNING +} +ids { + code: YQL_DEPRECATED_INFERSCHEME + severity: S_WARNING +} +ids { + code: YQL_ORDER_BY_WITHOUT_LIMIT_IN_SUBQUERY + severity: S_WARNING +} +ids { + code: YQL_DEPRECATED_DOUBLE_QUOTE_IN_BRACKETS + severity: S_WARNING +} +ids { + code: YQL_DEPRECATED_JSON_UDF + severity: S_WARNING +} +ids { + code: YQL_MISSING_IS_BEFORE_NOT_NULL + severity: S_WARNING +} +ids { + code: YQL_DEPRECATED_TINY_INT_LITERAL_SUFFIX + severity: S_WARNING +} +ids { + code: YQL_DEPRECATED_INTERVAL_CONSTANT + severity: S_WARNING +} +ids { + code: YQL_DEPRECATED_PRAGMA + severity: S_WARNING +} +ids { + code: YT_TABLE_PATH_RECORD_FOR_TMP + severity: S_WARNING +} +ids { + code: YQL_DEPRECATED_DATETIME2 + severity: S_WARNING +} +ids { + code: YQL_S_EXPRESSIONS_CALL + severity: S_WARNING +} +ids { + code: YT_INFER_SCHEMA + severity: S_ERROR +} +ids { + code: YT_ACCESS_DENIED + severity: S_ERROR +} +ids { + code: YT_TABLE_NOT_FOUND + severity: S_ERROR +} +ids { + code: YT_NATIVE_PRAGMA + severity: S_WARNING +} +ids { + code: YT_VIEW_NOT_FOUND + severity: S_ERROR +} +ids { + code: YT_SCHEMELESS_TABLE + severity: S_ERROR +} +ids { + code: YT_ENTRY_NOT_TABLE_OR_VIEW + severity: S_ERROR +} +ids { + code: YT_CONCURRENT_TABLE_MODIF + severity: S_ERROR +} +ids { + code: YT_LATE_TABLE_XLOCK + severity: S_WARNING +} +ids { + code: YT_SORT_ORDER_CHANGE + severity: S_WARNING +} +ids { + code: YT_MAX_DATAWEIGHT_PER_JOB_EXCEEDED + severity: S_ERROR +} +ids { + code: YT_WARN_TABLE_DOES_NOT_EXIST + severity: S_WARNING +} +ids { + code: YT_ROWSPEC_HIDES_FIELDS + severity: S_WARNING +} +ids { + code: YT_ROWSPEC_DIFF_SORT + severity: S_WARNING +} +ids { + code: YT_NATIVE_DESC_SORT_IGNORED + severity: S_WARNING +} +ids { + code: YT_MISSING_PROTO_FIELD + severity: S_WARNING +} +ids { + code: STAT_DEPRECATED_STRING_TREE + severity: S_WARNING +} +ids { + code: STAT_ACCESS_DENIED + severity: S_ERROR +} +ids { + code: YQL_DEPRECATED_FUNCTION_OR_SIGNATURE + severity: S_WARNING +} +ids { + code: YQL_DEPRECATED_INLINE_ACTION_TERMINATOR + severity: S_WARNING +} +ids { + code: YQL_MULTIWAY_JOIN_WITH_USING + severity: S_WARNING +} +ids { + code: YQL_DEPRECATED_V0_SYNTAX + severity: S_WARNING +} +ids { + code: YQL_UNNAMED_COLUMN + severity: S_WARNING +} +ids { + code: YQL_SOURCE_SELECT_COLUMN_MISMATCH + severity: S_WARNING +} +ids { + code: YQL_NOT_ALLOWED_IN_DISCOVERY + severity: S_ERROR +} +ids { + code: JSONPATH_PARSE_ERROR + severity: S_ERROR +} +ids { + code: JSONPATH_EXPECTED_OBJECT + severity: S_ERROR +} +ids { + code: JSONPATH_MEMBER_NOT_FOUND + severity: S_ERROR +} +ids { + code: JSONPATH_EXPECTED_ARRAY + severity: S_ERROR +} +ids { + code: JSONPATH_INVALID_ARRAY_INDEX + severity: S_ERROR +} +ids { + code: JSONPATH_ARRAY_INDEX_OUT_OF_BOUNDS + severity: S_ERROR +} +ids { + code: JSONPATH_INVALID_ARRAY_INDEX_RANGE + severity: S_ERROR +} +ids { + code: JSONPATH_LAST_OUTSIDE_OF_ARRAY_SUBSCRIPT + severity: S_ERROR +} +ids { + code: JSONPATH_INVALID_UNARY_OPERATION_ARGUMENT_TYPE + severity: S_ERROR +} +ids { + code: JSONPATH_INVALID_BINARY_OPERATION_ARGUMENT + severity: S_ERROR +} +ids { + code: JSONPATH_INVALID_BINARY_OPERATION_ARGUMENT_TYPE + severity: S_ERROR +} +ids { + code: JSONPATH_UNDEFINED_VARIABLE + severity: S_ERROR +} +ids { + code: JSONPATH_DIVISION_BY_ZERO + severity: S_ERROR +} +ids { + code: JSONPATH_BINARY_OPERATION_RESULT_INFINITY + severity: S_ERROR +} +ids { + code: JSONPATH_INVALID_LOGICAL_OPERATION_ARGUMENT + severity: S_ERROR +} +ids { + code: JSONPATH_FILTER_OBJECT_OUTSIDE_OF_FILTER + severity: S_ERROR +} +ids { + code: JSONPATH_INVALID_NUMERIC_METHOD_ARGUMENT + severity: S_ERROR +} +ids { + code: JSONPATH_INVALID_DOUBLE_METHOD_ARGUMENT + severity: S_ERROR +} +ids { + code: JSONPATH_INVALID_NUMBER_STRING + severity: S_ERROR +} +ids { + code: JSONPATH_INFINITE_NUMBER_STRING + severity: S_ERROR +} +ids { + code: JSONPATH_INVALID_KEYVALUE_METHOD_ARGUMENT + severity: S_ERROR +} +ids { + code: JSONPATH_TYPE_CHECK_ERROR + severity: S_ERROR +} +ids { + code: JSONPATH_INVALID_IS_UNKNOWN_ARGUMENT + severity: S_ERROR +} +ids { + code: JSONPATH_INVALID_STARTS_WITH_ARGUMENT + severity: S_ERROR +} +ids { + code: YQL_EMPTY_WINDOW_FRAME + severity: S_WARNING +} +ids { + code: YQL_RANK_WITHOUT_ORDER_BY + severity: S_WARNING +} +ids { + code: YQL_LIMIT_ORDER_BY_WITH_UNION + severity: S_WARNING +} +ids { + code: YQL_DISCARD_INTO_RESULT_BY_WITH_UNION + severity: S_WARNING +} +ids { + code: YQL_DEPRECATED_UDF_FUNCTION + severity: S_WARNING +} +ids { + code: YQL_EMPTY_TABLENAME_RESULT + severity: S_WARNING +} +ids { + code: YQL_HAVING_WITHOUT_AGGREGATION_IN_SELECT_DISTINCT + severity: S_WARNING +} +ids { + code: YQL_UNUSED_SYMBOL + severity: S_WARNING +} +ids { + code: YQL_MIXED_TZ + severity: S_WARNING +} +ids { + code: YQL_OPERATION_WILL_RETURN_NULL + severity: S_WARNING +} +ids { + code: YQL_JSON_QUERY_RETURNING_JSON_IS_DEPRECATED + severity: S_WARNING +} +ids { + code: YQL_DEPRECATED_LIST_FLATMAP_OPTIONAL + severity: S_WARNING +} +ids { + code: YQL_PROJECTION_ALIAS_IS_REFERENCED_IN_GROUP_BY + severity: S_WARNING +} +ids { + code: YQL_TABLE_BINDING_DUPLICATE + severity: S_WARNING +} +ids { + code: YQL_UNUSED_HINT + severity: S_WARNING +} +ids { + code: YQL_DEPRECATED_POSITIONAL_SCHEMA + severity: S_WARNING +} +ids { + code: DQ_GATEWAY_ERROR + severity: S_ERROR +} +ids { + code: DQ_GATEWAY_NEED_FALLBACK_ERROR + severity: S_ERROR +} +ids { + code: DQ_OPTIMIZE_ERROR + severity: S_ERROR +} +ids { + code: YQL_DUPLICATE_DECLARE + severity: S_WARNING +} +ids { + code: YT_FOLDER_INPUT_IS_NOT_A_FOLDER + severity: S_ERROR +} +ids { + code: YQL_OFFSET_WITHOUT_SORT + severity: S_WARNING +} +ids { + code: YQL_DEPRECATED_BINDINGS + severity: S_WARNING +} +ids { + code: YQL_DISABLED_BINDINGS + severity: S_ERROR +} +ids { + code: YQL_HINT_INVALID_PARAMETERS + severity: S_WARNING +} +ids { + code: PG_NO_LOCKING_SUPPORT + severity: S_WARNING +} +ids { + code: PG_COMPAT + severity: S_WARNING +} +ids { + code: YQL_UNTYPED_STRING_LITERALS + severity: S_WARNING +} +ids { + code: CORE_LINEAGE_INTERNAL_ERROR + severity: S_WARNING +} +ids { + code: YT_SECURE_DATA_IN_COMMON_TMP + severity: S_WARNING +} +ids { + code: CORE_TOP_UNSUPPORTED_BLOCK_TYPES + severity: S_INFO +} +ids { + code: CORE_TOP_UNSUPPORTED_BLOCK_CALLABLES + severity: S_INFO +} diff --git a/yql/essentials/core/issue/yql_issue_ut.cpp b/yql/essentials/core/issue/yql_issue_ut.cpp new file mode 100644 index 00000000000..fa8f97e63a3 --- /dev/null +++ b/yql/essentials/core/issue/yql_issue_ut.cpp @@ -0,0 +1,30 @@ +#include <library/cpp/testing/unittest/registar.h> + +#include "yql_issue.h" + +using namespace NYql; + +Y_UNIT_TEST_SUITE(TIssuesDataTest) { + Y_UNIT_TEST(SeverityMapTest) { + auto severity = GetSeverity(TIssuesIds::UNEXPECTED); + auto severityName = SeverityToString(severity); + UNIT_ASSERT_VALUES_EQUAL(static_cast<ui32>(severity), + static_cast<ui32>(TSeverityIds::S_FATAL)); + UNIT_ASSERT_VALUES_EQUAL(severityName, "Fatal"); + } + + Y_UNIT_TEST(UnknownSeverityNameTest) { + auto severityName = SeverityToString(static_cast<ESeverity>(999)); + UNIT_ASSERT_VALUES_EQUAL(severityName, "Unknown"); + } + + Y_UNIT_TEST(IssueNameTest) { + auto issueName = IssueCodeToString(TIssuesIds::DEFAULT_ERROR); + UNIT_ASSERT_VALUES_EQUAL(issueName, "Default error"); + } + + Y_UNIT_TEST(IssueDefaultErrorNumber) { + UNIT_ASSERT_VALUES_EQUAL((ui32)TIssuesIds::DEFAULT_ERROR, 0); + } + +} diff --git a/yql/essentials/core/ya.make b/yql/essentials/core/ya.make new file mode 100644 index 00000000000..fa575c59d87 --- /dev/null +++ b/yql/essentials/core/ya.make @@ -0,0 +1,3 @@ +RECURSE( + issue +) diff --git a/yql/essentials/ya.make b/yql/essentials/ya.make index 513c70626ff..c789ea6e49b 100644 --- a/yql/essentials/ya.make +++ b/yql/essentials/ya.make @@ -1,6 +1,7 @@ SUBSCRIBER(g:yql) RECURSE( + core public tools udfs |