1/*
2 * This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
5 *
6 * Copyright 1997 - July 2008 CWI, August 2008 - 2019 MonetDB B.V.
7 */
8
9/*
10 * The error strings are geared at answering the question "what happened".
11 * Optional information about "why it happened" is added
12 * as local strings in the code base with possibly runtime information.
13 * Information on "how to avoid it" is sporadically added using expected values.
14 *
15 * General considerations on error classes are summarized below:
16 * MAL_MALLOC_FAIL
17 * An operation allocates space for an object failed.
18 * Either the pre-requisites are not satisfied, or the system
19 * runs low on resources and can not accomodate the object.
20 * For failures to create BATs it sometimes indicates that an
21 * intermediate BAT size is too large.
22 * OPERATION_FAILED
23 * Mostly the module and function name are indicative enough.
24 * If possible more is said about the error context,
25 * informative references to arguments or variables,
26 * provided it is produced by the underlying implementation.
27 * GDK_EXCEPTION
28 * In general these are generated deep inside the kernel.
29 * They are captured by the MAL interpreter.
30 * SEMANTIC_*
31 * The patterns can be used to defer semantic type errors
32 * to runtime.
33 *
34 * Getting all exception strings in one place improves consistency
35 * and maintenance.
36 *
37 * At a later stage we could introduce internationalization support, i.e.
38 * use a translation table where needed.
39 */
40#ifndef MAL_ERRORS
41#define MAL_ERRORS
42
43#define SQLSTATE(sqlstate) #sqlstate "!"
44
45#define MANUAL_HELP "See documentation for details"
46
47#define PROGRAM_GENERAL "Program contains errors."
48#define PROGRAM_NYI "Not yet implemented"
49
50#define SYNTAX_GENERAL "Syntax error detected."
51#define SYNTAX_SIGNATURE "Function signature missing."
52
53#define SEMANTIC_GENERAL "Semantic errors detected"
54#define SEMANTIC_PROGRAM_ERRORS "Program contains semantic errors."
55#define SEMANTIC_SIGNATURE_MISSING "Function signature missing."
56#define SEMANTIC_OPERATION_MISSING "Operation not found."
57#define SEMANTIC_TYPE_ERROR "Explicit type required"
58#define SEMANTIC_TYPE_MISMATCH "Type mismatch"
59
60#define INTERNAL_BAT_ACCESS "Internal error, can not access BAT."
61#define INTERNAL_BAT_HEAD "BAT has wrong head type"
62#define INTERNAL_OBJ_CREATE "Can not create object"
63#define INTERNAL_AUTHORIZATION "authorization BATs not empty"
64
65#define MAL_MALLOC_FAIL "Could not allocate space"
66#define MAL_STACK_FAIL "Running out of stack space."
67#define MAL_CALLDEPTH_FAIL "Recursive call limit reached."
68
69#define INVCRED_ACCESS_DENIED "access denied for user"
70#define INVCRED_INVALID_USER "invalid credentials for user"
71#define INVCRED_REMOVE_USER "Can not remove user"
72#define INVCRED_WRONG_ID "Undefined client id"
73
74#define RUNTIME_IO_EOF "Attempt to read beyond end-of-file"
75#define RUNTIME_FILE_NOT_FOUND "File not found"
76#define RUNTIME_UNLINK "File could not be unlinked"
77#define RUNTIME_DIR_ERROR "Unable to open directory"
78#define RUNTIME_CREATE_ERROR "Unable to create file/directory"
79#define RUNTIME_STREAM_FAILED "Could not create stream"
80#define RUNTIME_STREAM_WRITE "Could not write to stream"
81#define RUNTIME_STREAM_INPUT "Could not read from stream"
82
83#define RUNTIME_LOAD_ERROR "Loading error"
84#define RUNTIME_OBJECT_MISSING "Object not found"
85#define RUNTIME_SIGNATURE_MISSING "The <module>.<function> not found"
86#define RUNTIME_OBJECT_UNDEFINED "Object not found"
87#define RUNTIME_UNKNOWN_INSTRUCTION "Instruction type not supported"
88#define RUNTIME_QRY_TIMEOUT "Query aborted due to timeout"
89#define RUNTIME_SESSION_TIMEOUT "Query aborted due to session timeout"
90#define OPERATION_FAILED "operation failed"
91
92#define BOX_CLOSED "Box is not open"
93
94#define SABAOTH_NOT_INITIALIZED "Sabaoth not initialized"
95#define SABAOTH_USE_RESTRICTION "Sabaoth was not initialized as active database"
96
97#define SCENARIO_NOT_FOUND "Scenario not initialized"
98
99#define MACRO_SYNTAX_ERROR "RETURN statement is not the last one"
100#define MACRO_DUPLICATE "Duplicate macro expansion"
101#define MACRO_TOO_DEEP "Too many macro expansions"
102
103#define OPTIMIZER_CYCLE "Too many optimization cycles"
104
105#define ILLARG_NOTNIL " NIL not allowed"
106#define ILLARG_CONSTANTS "Constant argument required"
107
108#define ILLEGAL_ARGUMENT "Illegal argument"
109#define IDENTIFIER_EXPECTED "Identifier expected"
110#define POSITIVE_EXPECTED "Argument must be positive"
111#define ARGUMENT_TOO_LARGE "Argument too large"
112#define TOO_MANY_BITS "Too many bits"
113#define DUPLICATE_DEFINITION "Duplicate definition"
114#define RANGE_ERROR "Range error"
115
116#define SERVER_STOPPED "Server stopped"
117
118#define XML_PARSE_ERROR "Document parse error"
119#define XML_COMMENT_ERROR "Comment may not contain '--'"
120#define XML_PI_ERROR "No processing instruction target specified"
121#define XML_VERSION_ERROR "Illegal XML version"
122#define XML_STANDALONE_ERROR "Illegal XML standalone value"
123#define XML_NOT_WELL_FORMED "Resulting document not well-formed"
124#define XML_ATTRIBUTE_ERROR "No attribute name specified"
125#define XML_ATTRIBUTE_INVALID "Invalid attribute name"
126#define XML_NO_ELEMENT "No element name specified"
127#define XML_NO_NAMESPACE "Namespace support not implemented"
128#define XML_ILLEGAL_NAMESPACE "Illegal namespace"
129#define XML_ILLEGAL_ATTRIBUTE "Illegal attribute"
130#define XML_ILLEGAL_CONTENT "Illegal content"
131
132#define GDK_EXCEPTION "GDK reported error."
133#define MAL_DEPRECATED "Deprecated MAL operation."
134
135#define TYPE_NOT_SUPPORTED "Type is not supported"
136#endif /* MAL_ERRORS */
137