<?xml version="1.0" encoding="utf-8" ?>
<?xml:stylesheet type="text/xsl" href="../xsl/visualization2.xsl"?>

<DATA>
    <!--
ATTENTION!
Following standard

        1. 	Each SQLSTATE is five-symbols string (digits or latin letters in upper case)
        2. 	First two symbols define class of state, the rest 3 define subclass.
            000	subclass means unspecified one.
        3. 	Class which is first symbol in (0,1,2,3,4 and A, B, C, D, E, F, G, H)
            or HZ (special case) is reserved by standard.
        4.	We can define sub-class-extensions for "standard" classes.
            In this case subclass must begin from (5,6,7,8,9, I, J, K, L, M, N,
            O, P, Q, R, S, T, U, V, W, X, Y, or Z).
        5.	Our classes must begin from (5,6,7,8,9, I, J, K, L, M, N,
            O, P, Q, R, S, T, U, V, W, X, Y, or Z).
            In this case subclass may begin from any avowable symbol.
    -->

        <GROUP name="Parser SQL">
            <SQLCLASS name="71" description="SQL parser error" exception_name="xSQLParserError">
                <SQLSTATE name="71000">
                    <DESCRIPTION>ERR_SQL_PARSER_ERROR</DESCRIPTION>
                    <MESSAGE>%S</MESSAGE>
                </SQLSTATE>
            </SQLCLASS>
        </GROUP>

        <GROUP name="Dynamic SQL">
            <SQLCLASS name="07" description="Dynamic SQL error" exception_name="xDynamicSQLError">
                <SQLSTATE name="07000">
                    <DESCRIPTION>ERR_DYNAMIC_SQL_ERROR</DESCRIPTION>
                    <MESSAGE>Dynamic SQL error.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="07001">
                    <DESCRIPTION>ERR_CLAUSE_DOESNOT_MATCH_DYNAMIC_PARAM_SPECIFICATION</DESCRIPTION>
                    <MESSAGE>Using clause does not match parameter specs.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="07002">
                    <DESCRIPTION>ERR_CLAUSE_DOESNOT_MATCH_TARGET_SPECIFICATION</DESCRIPTION>
                    <COMMENTS>
                        Number of columns does not match number of host variables.
                    </COMMENTS>
                    <MESSAGE>Using clause does not match target specs.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="07004">
                    <DESCRIPTION>ERR_CLAUSE_REQUIRED_FOR_DYNAMIC_PARAMETERS</DESCRIPTION>
                    <MESSAGE>Using clause required for dynamic parameters.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="07007">
                    <DESCRIPTION>ERR_CLAUSE_REQUIRED_FOR_RESULT_FIELDS</DESCRIPTION>
                    <MESSAGE>Using clause required for result fields.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="07501">
                    <DESCRIPTION>ERR_TOO_FEW_BINDING_PARAM</DESCRIPTION>
                    <MESSAGE>It's too few binding params.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="07502">
                    <DESCRIPTION>ERR_IMPROPER_BINDING_PARAM</DESCRIPTION>
                    <MESSAGE>Improper binding param at position &quot;%S&quot;.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="07503">
                    <DESCRIPTION>ERR_IMPROPER_BINDING_PARAM_POSITION</DESCRIPTION>
                    <MESSAGE>Improper binding param position &quot;%S&quot;.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="07504">
                    <DESCRIPTION>ERR_NAMED_SQLSTATEMENT_NOT_FOUND</DESCRIPTION>
                    <MESSAGE>Named SqlStatement &quot;%S&quot; is not found.</MESSAGE>
                </SQLSTATE>
            </SQLCLASS>
            <SQLCLASS name="37" description="Syntax error or access rule violation in dynamic SQL statement" exception_name="xDynSyntaxOrAccessSQLError">
                <SQLSTATE name="37000">
                    <DESCRIPTION>ERR_SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION_DYNAMIC_SQL</DESCRIPTION>
                    <MESSAGE>Syntax error or prevents access.</MESSAGE>
                </SQLSTATE>
            </SQLCLASS>
        </GROUP>
        <GROUP name="Common SQL">
            <SQLCLASS name="21" description="Cardinality Violation" exception_name="xCardinalitySQLError">
                <SQLSTATE name="21000">
                    <DESCRIPTION>ERR_CARDINALITY_VIOLATION</DESCRIPTION>
                    <COMMENTS>
                        Singleton select returns more than one row,
                        or subquery preceded by = returns more than one value.
                    </COMMENTS>
                    <MESSAGE>Subquery returned more than 1 value. This is illegal when the subquery follows =, !=, &lt;, &lt;= , &gt;, &gt;=, or when the subquery is used as an expression.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="21501">
                    <DESCRIPTION>ERR_TOO_FEW_VALUES</DESCRIPTION>
                    <COMMENTS>
                        insert into t1 (f1,f2) values (1)
                    </COMMENTS>
                    <MESSAGE>It's too few values.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="21502">
                    <DESCRIPTION>ERR_TOO_MUCH_VALUES</DESCRIPTION>
                    <COMMENTS>
                        insert into t1 (f1,f2) values (1,2,3)
                    </COMMENTS>
                    <MESSAGE>It's too much values.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="21503">
                    <DESCRIPTION>ERR_FIELD_COUNT</DESCRIPTION>
                    <COMMENTS>
                        select .... from ... where f1 in select( f1, f2, .... )
                    </COMMENTS>
                    <MESSAGE>Only one expression can be specified in the select list when the subquery is not introduced with EXISTS.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="21504">
                    <DESCRIPTION>ERR_TOO_FEW_JOIN_CONDITIONS</DESCRIPTION>
                    <COMMENTS>
                        select * from t1, t2, t3 where t1.f1 = t2.f1
                    </COMMENTS>
                    <MESSAGE>It's too few join conditions.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="21505">
                    <DESCRIPTION>ERR_DUPLICATED_JOIN_CONDITION</DESCRIPTION>
                    <COMMENTS>
                        select * from t1, t2 where t1.f1 = t2.f1 and t1.f1 = t2.f1
                    </COMMENTS>
                    <MESSAGE>Duplicated join condition occurred.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="21506">
                    <DESCRIPTION>ERR_SUBQUERY_RETURN_NO_CURSOR</DESCRIPTION>
                    <COMMENTS>
                        CREATE PROCEDURE sp1() BEGIN END;
						SELECT * FROM ( CALL sp1()).
                    </COMMENTS>
                    <MESSAGE>Subquery returned no cursor.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="21507">
                    <DESCRIPTION>ERR_SUBQUERY_RETURN_TOO_MUCH_ROWS</DESCRIPTION>
                    <COMMENTS>
                        ...
                        CREATE TABLE t2 ( f1 LONG );
                        INSERT INTO t2 VALUES(1);
                        INSERT INTO t2 VALUES(2);
                        ...
                        SELECT RecID from t1 where (f1) = (select f1 from t2);
                    </COMMENTS>
                    <MESSAGE>Subquery returns more than one row.</MESSAGE>
                </SQLSTATE>
            </SQLCLASS>

            <SQLCLASS name="42" description="Syntax Error or Access Rule Violation" exception_name="xSyntaxOrAccessSQLError">
                <SQLSTATE name="42000">
                    <DESCRIPTION>ERR_SYNTAX_ERROR_OR_ACCESS_RULE_VIOLATION</DESCRIPTION>
                    <MESSAGE>Syntax error or access violation.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42501">
                    <DESCRIPTION>ERR_SYNTAX_ERROR</DESCRIPTION>
                    <MESSAGE>Row %S. Incorrect syntax near &quot;%S&quot;. </MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42502">
                    <DESCRIPTION>ERR_AMBIGUOUS_COLUMN</DESCRIPTION>
                    <COMMENTS>
                        select f1, f1 from t1, t2 where ...
                    </COMMENTS>
                    <MESSAGE>Ambiguous column name &quot;%S&quot;</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42504">
                    <DESCRIPTION>ERR_DUPLICATE_ALIAS</DESCRIPTION>
                    <COMMENTS>select * from t1 alias, t2 alias</COMMENTS>
                    <MESSAGE>Tables &quot;%S&quot; have same exposed names. Use correlation names to distinguish them.</MESSAGE>
                </SQLSTATE>

                <SQLSTATE name="42506">
                    <DESCRIPTION>ERR_UNDEFINED_FUNCTION</DESCRIPTION>
                    <COMMENTS>select ttttt(f1) from t</COMMENTS>
                    <MESSAGE>&quot;%S&quot; is not a recognized function name.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42507">
                    <DESCRIPTION>ERR_RESERVED_NAME</DESCRIPTION>
                    <COMMENTS>create table count ....</COMMENTS>
                    <MESSAGE>Inadmissible reserved word using.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42508">
                    <DESCRIPTION>ERR_MIX_AGREGATIVE_AND_NORMAL</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>In the SELECT clause you can use only fields listed in the GROUP BY and aggregative functions.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42509">
                    <DESCRIPTION>ERR_AGGR_FUNC_WITH_AGGR_PARAM</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>Aggregative function cannot accept an argument, which itself is aggregative function.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42510">
                    <DESCRIPTION>ERR_AGGR_FUNC_IN_WHERE_OR_HAVING</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>Aggregative function cannot appear in the WHERE or HAVING clause.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42511">
                    <DESCRIPTION>ERR_DATETIME_NOT_ALLOWED_IN_SUM_FUNC</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>The sum or average aggregate function cannot take a date, time or datetime data type as an argument.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42512">
                    <DESCRIPTION>ERR_AGGR_FUNC_IMPROPER_USAGE</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>Aggregative function cannot be used this way.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42513">
                    <DESCRIPTION>ERR_WINDOW_FUNC_IN_WHERE_OR_HAVING</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>Window function cannot appear in the WHERE or HAVING clause.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42514">
                    <DESCRIPTION>ERR_WINDOW_FUNC_IN_GROUPBY</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>Window function cannot appear in the GROUP BY clause.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42515">
                    <DESCRIPTION>ERR_WINDOW_FUNC_OVER_FRAME</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>Window function &quot;%S&quot; should have no frame clause.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42516">
                    <DESCRIPTION>ERR_WINDOW_RANGE_DEF</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>Argument of RANGE must not contain variables.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42517">
                    <DESCRIPTION>ERR_WINDOW_ROWS_DEF</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>Argument of ROWS must not contain variables.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42518">
                    <DESCRIPTION>ERR_WINDOW_AGGR_FUNC_DISTINCT</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>Window functions cannot use the DISTINCT keyword.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42519">
                    <DESCRIPTION>ERR_WINDOW_NOT_AGGR_FUNC_FILTER</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>FILTER clause may only be used with aggregate window functions.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42520">
                    <DESCRIPTION>ERR_WINDOW_DEF_NOT_FOUND</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>Window definition &quot;%S&quot; is not found.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42521">
                    <DESCRIPTION>ERR_WINDOW_DEF_UNDEFINED_FRAME_UNITS</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>Undefined frame units.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42522">
                    <DESCRIPTION>ERR_WINDOW_DEF_FRAME_START</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>Incorrect frame start definition.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42523">
                    <DESCRIPTION>ERR_WINDOW_DEF_FRAME_END</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>Incorrect frame end definition.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42524">
                    <DESCRIPTION>ERR_WINDOW_DEF_UNSUPPORTED_FRAME</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>Unsupported frame definition.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="42525">
                    <DESCRIPTION>ERR_AGGR_FUNC_GROUPING_IMPROPER_USAGE</DESCRIPTION>
                    <COMMENTS></COMMENTS>
                    <MESSAGE>Not a GROUP_BY's column &quot;%S&quot; in GROUPING argument.</MESSAGE>
                </SQLSTATE>
            </SQLCLASS>
            <SQLCLASS name="55" description="SQL Semantic error" exception_name="xVSQL_Semantic">
                <SQLSTATE name="55000">
                    <DESCRIPTION>ERR_SQL_SEMANTIC_ERROR</DESCRIPTION>
                    <MESSAGE>Semantic error.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="55501">
                    <DESCRIPTION>ERR_OBJECTPTR_BAD_SPECIFICATION</DESCRIPTION>
                    <MESSAGE>Bad specification for ObjectPtr &quot;%S&quot;.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="55502">
                    <DESCRIPTION>ERR_COMMAND_NOT_ALLOWED</DESCRIPTION>
                    <MESSAGE>&quot;%S&quot; is not allowed in current context.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="55503">
                    <DESCRIPTION>ERR_INVALID_OBJECT</DESCRIPTION>
                    <MESSAGE>Object &quot;%S&quot; has invalid body &quot;%S&quot;.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="55504">
                    <DESCRIPTION>ERR_RDBLINK_BAD_SPECIFICATION</DESCRIPTION>
                    <MESSAGE>Bad specification for key field &quot;%S&quot;.</MESSAGE>
                </SQLSTATE>
            </SQLCLASS>

            <SQLCLASS name="56" description="Cursor Exceptions" exception_name="xCursorError">
                <SQLSTATE name="56000">
                    <DESCRIPTION>ERR_CURSOR_EXCEPTION</DESCRIPTION>
                    <MESSAGE>Cursor exception.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="56500">
                    <DESCRIPTION>ERR_CURSOR_READONLY</DESCRIPTION>
                    <MESSAGE>Cursor &quot;%S&quot; is read only.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="56501">
                    <DESCRIPTION>ERR_CURSOR_ALREADY_OPENED</DESCRIPTION>
                    <MESSAGE>Cursor &quot;%S&quot; is opened already.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="56502">
                    <DESCRIPTION>ERR_CURSOR_ALREADY_CLOSED</DESCRIPTION>
                    <MESSAGE>Cursor &quot;%S&quot; is closed already.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="56503">
                    <DESCRIPTION>ERR_CURSOR_WRONG_POSITION</DESCRIPTION>
                    <MESSAGE>Cursor &quot;%S&quot; failed to do &quot;%S&quot;.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="56504">
                    <DESCRIPTION>ERR_CURSOR_RW_CLIENT_CURSOR</DESCRIPTION>
                    <MESSAGE>Client-side cursor can not be writable.</MESSAGE>
                </SQLSTATE>
            </SQLCLASS>

        </GROUP>
        <GROUP name="Data errors">
            <SQLCLASS name="22" description="Data Exception" exception_name="xDataSQLError">
                <SQLSTATE name="22000">
                    <DESCRIPTION>ERR_DATA_EXCEPTION</DESCRIPTION>
                    <MESSAGE>Data Exception.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="22001">
                    <DESCRIPTION>ERR_STRING_DATA_RIGHT_TRUNCATION</DESCRIPTION>
                    <COMMENTS>
                        String data truncated (on right) on insert or update.
                    </COMMENTS>
                    <MESSAGE>Data exception - string data right truncated.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="22003">
                    <DESCRIPTION>ERR_NUMERIC_VALUE_OUT_OF_RANGE</DESCRIPTION>
                    <COMMENTS>
                        Arithmetic overflow error.
                    </COMMENTS>
                    <MESSAGE>Arithmetic overflow occurred.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="22004">
                    <DESCRIPTION>ERR_NULL_VALUE_NOT_ALLOWED</DESCRIPTION>
                    <MESSAGE>NULL value is not allowed here.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="22005">
                    <DESCRIPTION>ERR_ERROR_IN_ASSIGNMENT</DESCRIPTION>
                    <COMMENTS>
                        Data type conversion error.
                    </COMMENTS>
                    <MESSAGE>Error in assignment.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="22007">
                    <DESCRIPTION>ERR_INVALID_DATETIME_FORMAT</DESCRIPTION>
                    <MESSAGE>Invalid datetime format.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="22008">
                    <DESCRIPTION>ERR_DATETIME_FIELD_OVERFLOW</DESCRIPTION>
                    <COMMENTS>
                        Data type conversion error.
                    </COMMENTS>
                    <MESSAGE>Datetime field overflow.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="22011">
                    <DESCRIPTION>ERR_SUBSTRING_ERROR</DESCRIPTION>
                    <MESSAGE>Substring error.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="22012">
                    <DESCRIPTION>ERR_DIVISION_BY_ZERO</DESCRIPTION>
                    <COMMENTS>
                        Divide by zero error.
                    </COMMENTS>
                    <MESSAGE>Divide by zero occurred.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="22019">
                    <DESCRIPTION>ERR_INVALID_ESCAPE_CHARACTER</DESCRIPTION>
                    <COMMENTS>
                        Occur when escape-sequence more than one symbol.
                    </COMMENTS>
                    <MESSAGE>Illegal escape character found. There are fewer bytes than necessary to form a valid character.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="22023">
                    <DESCRIPTION>ERR_INVALID_PARAMETER_VALUE</DESCRIPTION>
                    <MESSAGE>Invalid parameter value.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="22025">
                    <DESCRIPTION>ERR_INVALID_ESCAPE_SEQUENCE</DESCRIPTION>
                    <COMMENTS>
                        Invalid escape sequence, for example, escape char not followed by %, _, or escape char.
                    </COMMENTS>
                    <MESSAGE>Invalid pattern string. The character following the escape character must be percent sign, underscore, left square bracket, right square bracket, or the escape character.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="22027">
                    <DESCRIPTION>ERR_TRIM_ERROR</DESCRIPTION>
                    <MESSAGE>Trim error.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="22501">
                    <DESCRIPTION>ERR_CONVERT_NOT_ALLOWED</DESCRIPTION>
                    <MESSAGE>Convert is not allowed.</MESSAGE>
                </SQLSTATE>

            </SQLCLASS>
        </GROUP>

        <GROUP name="Backup errors">
            <SQLCLASS name="66" description="Backup Exceptions" exception_name="xBackupError">
				<SQLSTATE name="66000">
                    <DESCRIPTION>ERR_BACKUP_EXCEPTION</DESCRIPTION>
                    <MESSAGE>Backup exception.</MESSAGE>
				</SQLSTATE>
                <SQLSTATE name="66501">
                    <DESCRIPTION>ERR_INVALID_PATH</DESCRIPTION>
                    <MESSAGE>Path &quot;%S&quot; is not valid.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="66502">
                    <DESCRIPTION>ERR_RAM_DATABASE</DESCRIPTION>
                    <MESSAGE>Database &quot;%S&quot; is RAM-based.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="66503">
                    <DESCRIPTION>ERR_DATABASE_FAIL</DESCRIPTION>
                    <MESSAGE>Database &quot;%S&quot; fails on diagnose.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="66504">
                    <DESCRIPTION>ERR_FILECOPY_FAIL</DESCRIPTION>
                    <MESSAGE>File &quot;%S&quot; copy failed with &quot;%S&quot; error.</MESSAGE>
                </SQLSTATE>
			</SQLCLASS>
        </GROUP>

        <GROUP name="Server errors">
            <SQLCLASS name="67" description="Schedule Exceptions" exception_name="xScheduleError">
                <SQLSTATE name="67000">
                    <DESCRIPTION>ERR_SCHEDULE_EXCEPTION</DESCRIPTION>
                    <MESSAGE>Schedule exception.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="67500">
                    <DESCRIPTION>ERR_ENDSTAMP_LESS_STARTSTAMP</DESCRIPTION>
                    <MESSAGE>Event &quot;%S&quot; end time stamp is less then start one.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="67501">
                    <DESCRIPTION>ERR_DATABASE_NOT_REGISTERED</DESCRIPTION>
                    <MESSAGE>Event &quot;%S&quot;. Database &quot;%S&quot; is not registered to the server.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="67502">
                    <DESCRIPTION>ERR_EMPTY_EVENT_NAME</DESCRIPTION>
                    <MESSAGE>Event name is empty.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="67503">
                    <DESCRIPTION>ERR_EMPTY_EVENT_ACTION</DESCRIPTION>
                    <MESSAGE>Event &quot;%S&quot;. Action text is empty.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="67504">
                    <DESCRIPTION>ERR_INTERVAL_ERROR</DESCRIPTION>
                    <MESSAGE>Event &quot;%S&quot;. Interval definition error.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="67505">
                    <DESCRIPTION>ERR_EVENT_NOT_FOUND</DESCRIPTION>
                    <MESSAGE>Event &quot;%S&quot; is not found.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="67506">
                    <DESCRIPTION>ERR_EVENT_NAME_NOT_UNIQUE</DESCRIPTION>
                    <MESSAGE>Event &quot;%S&quot; - name is not unique.</MESSAGE>
                </SQLSTATE>
            </SQLCLASS>
        </GROUP>

        <GROUP name="Sqlite errors">
            <SQLCLASS name="68" description="Sqlite Exceptions" exception_name="xSqliteError">
                <SQLSTATE name="68000">
                    <DESCRIPTION>ERR_SQLITE_EXCEPTION</DESCRIPTION>
                    <MESSAGE>Sqlite exception.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="68500">
                    <DESCRIPTION>ERR_SQLITE_DATABASE</DESCRIPTION>
                    <MESSAGE>Sqlite db &quot;%S&quot;: Error : &quot;%S&quot;.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="68501">
                    <DESCRIPTION>ERR_SQLITE_UNEXPECTED_SQLEXECUTE</DESCRIPTION>
                    <MESSAGE>Sqlite db &quot;%S&quot;: Error: call SqlSelect instead of SqlExecute.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="68502">
                    <DESCRIPTION>ERR_SQLITE_ENGINE</DESCRIPTION>
                    <MESSAGE>Sqlite error : &quot;%S&quot;.</MESSAGE>
                </SQLSTATE>
            </SQLCLASS>
        </GROUP>

        <GROUP name="DuckDB errors">
            <SQLCLASS name="72" description="DuckDB Exceptions" exception_name="xDuckDBError">
                 <SQLSTATE name="72000">
                    <DESCRIPTION>ERR_DUCKDB_EXCEPTION</DESCRIPTION>
                    <MESSAGE>DuckDB error.</MESSAGE>
                </SQLSTATE>
                <SQLSTATE name="72501">
                    <DESCRIPTION>ERR_DUCKDB_DATABASE</DESCRIPTION>
                    <MESSAGE>DuckDB &quot;%S&quot;: Error : &quot;%S&quot;.</MESSAGE>
                </SQLSTATE>
            </SQLCLASS>
        </GROUP>

<!-- 	Actually it is only for reservation range 50000-50FFF.
		We should never throw this exception or define some sqlstate in that range.
-->
		<GROUP name="User-defined errors">
            <SQLCLASS name="50" description="User-defined errors" exception_name="xUserError">
				<SQLSTATE name="50000">
                    <DESCRIPTION>ERR_USER_EXCEPTION</DESCRIPTION>
                    <MESSAGE>User exception.</MESSAGE>
				</SQLSTATE>
			</SQLCLASS>
        </GROUP>
</DATA>
