Contains error codes with number of times they have been triggered.
Columns:
- `name` ([String](../../sql-reference/data-types/string.md)) — name of the error (`errorCodeToName`).
- `code` ([Int32](../../sql-reference/data-types/int-uint.md)) — code number of the error.
- `value` ([UInt64](../../sql-reference/data-types/int-uint.md)) - number of times this error has been happened.
**Example**
``` sql
SELECT *
FROM system.errors
WHERE value > 0
ORDER BY code ASC
LIMIT 1
┌─name─────────────┬─code─┬─value─┐
│ CANNOT_OPEN_FILE │ 76 │ 1 │
└──────────────────┴──────┴───────┘
This patch adds errorCode() function that will return macro name by the
exception code, useful for analyzing query_log and similar.
Later some descriptions can be added.
v2: replace hana::map/fusion::vector with external script
v3:
- use binary cmake dir for .sh
- use jump table over suboptimal std::unordered_map (with very poor hash
function for int -- std::hash)
- cleanup errorCodeToName (drop extra templates and headers)
- rename errorCode -> errorCodeToName
- fix arcadia build (by not providing those helpers there)
- fix build on CI, by using CMAKE_CXX_COMPILER for parsing the file
redundant variable, duplicated defination of the variable aad_data
compiler error: variable ‘aad_value’ set but not used [-Werror=unused-but-set-variable]
There are places where ExpressionActionsPtr is cached
(StorageDistributed caching it for sharding_key_expr and
optimize_skip_unused_shards), and if the dictionary will be cached
within "query" then cached ExpressionActionsPtr will always have first
version of the query and the dictionary will not be updated after
reload.
For example this will fix dictGet in sharding_key (and similar places,
i.e. when the function context is stored permanently)
Fixes: 01527_dist_sharding_key_dictGet_reload