FB_IMPL_MSG(DSQL, 2, dsql_dbkey_from_non_table, -607, "HY", "000", "Cannot SELECT RDB$DB_KEY from a stored procedure.")
FB_IMPL_MSG(DSQL, 3, dsql_transitional_numeric, -104, "HY", "000", "Precision 10 to 18 changed from DOUBLE PRECISION in SQL dialect 1 to 64-bit scaled integer in SQL dialect 3")
FB_IMPL_MSG(DSQL, 4, dsql_dialect_warning_expr, 301, "01", "000", "Use of @1 expression that returns different results in dialect 1 and dialect 3")
FB_IMPL_MSG(DSQL, 5, sql_db_dialect_dtype_unsupport, -104, "HY", "000", "Database SQL dialect @1 does not support reference to @2 datatype")
FB_IMPL_MSG_NO_SYMBOL(DSQL, 6, "")
FB_IMPL_MSG(DSQL, 7, sql_dialect_conflict_num, -817, "HY", "000", "DB dialect @1 and client dialect @2 conflict with respect to numeric precision @3.")
FB_IMPL_MSG(DSQL, 8, dsql_warning_number_ambiguous, 301, "HY", "104", "WARNING: Numeric literal @1 is interpreted as a floating-point")
FB_IMPL_MSG(DSQL, 9, dsql_warning_number_ambiguous1, 301, "HY", "104", "value in SQL dialect 1, but as an exact numeric value in SQL dialect 3.")
FB_IMPL_MSG(DSQL, 10, dsql_warn_precision_ambiguous, 301, "HY", "104", "WARNING: NUMERIC and DECIMAL fields with precision 10 or greater are stored")
FB_IMPL_MSG(DSQL, 11, dsql_warn_precision_ambiguous1, 301, "HY", "104", "as approximate floating-point values in SQL dialect 1, but as 64-bit")
FB_IMPL_MSG(DSQL, 12, dsql_warn_precision_ambiguous2, 301, "HY", "104", "integers in SQL dialect 3.")
FB_IMPL_MSG(DSQL, 13, dsql_ambiguous_field_name, -204, "42", "702", "Ambiguous field name between @1 and @2")
FB_IMPL_MSG(DSQL, 14, dsql_udf_return_pos_err, -607, "38", "000", "External function should have return position between 1 and @1")
FB_IMPL_MSG(DSQL, 15, dsql_invalid_label, -104, "HY", "000", "Label @1 @2 in the current scope")
FB_IMPL_MSG(DSQL, 16, dsql_datatypes_not_comparable, -104, "HY", "004", "Datatypes @1are not comparable in expression @2")
FB_IMPL_MSG(DSQL, 17, dsql_cursor_invalid, -504, "24", "000", "Empty cursor name is not allowed")
FB_IMPL_MSG(DSQL, 18, dsql_cursor_redefined, -502, "24", "000", "Statement already has a cursor @1 assigned")
FB_IMPL_MSG(DSQL, 19, dsql_cursor_not_found, -502, "34", "000", "Cursor @1 is not found in the current context")
FB_IMPL_MSG(DSQL, 20, dsql_cursor_exists, -502, "24", "000", "Cursor @1 already exists in the current context")
FB_IMPL_MSG(DSQL, 21, dsql_cursor_rel_ambiguous, -502, "34", "000", "Relation @1 is ambiguous in cursor @2")
FB_IMPL_MSG(DSQL, 22, dsql_cursor_rel_not_found, -502, "34", "000", "Relation @1 is not found in cursor @2")
FB_IMPL_MSG(DSQL, 23, dsql_cursor_not_open, -504, "24", "000", "Cursor is not open")
FB_IMPL_MSG(DSQL, 24, dsql_type_not_supp_ext_tab, -607, "HY", "004", "Data type @1 is not supported for EXTERNAL TABLES. Relation '@2', field '@3'")
FB_IMPL_MSG(DSQL, 25, dsql_feature_not_supported_ods, -804, "0A", "000", "Feature not supported on ODS version older than @1.@2")
FB_IMPL_MSG(DSQL, 26, primary_key_required, -660, "22", "000", "Primary key required on table @1")
FB_IMPL_MSG(DSQL, 27, upd_ins_doesnt_match_pk, -313, "42", "000", "UPDATE OR INSERT field list does not match primary key of table @1")
FB_IMPL_MSG(DSQL, 28, upd_ins_doesnt_match_matching, -313, "42", "000", "UPDATE OR INSERT field list does not match MATCHING clause")
FB_IMPL_MSG(DSQL, 29, upd_ins_with_complex_view, -817, "54", "001", "UPDATE OR INSERT without MATCHING could not be used with views based on more than one table")
FB_IMPL_MSG(DSQL, 30, dsql_incompatible_trigger_type, -817, "42", "000", "Incompatible trigger type")
FB_IMPL_MSG(DSQL, 31, dsql_db_trigger_type_cant_change, -817, "42", "000", "Database trigger type can't be changed")
FB_IMPL_MSG(DSQL, 32, dsql_record_version_table, -607, "HY", "000", "To be used with RDB$RECORD_VERSION, @1 must be a table or a view of single table")
FB_IMPL_MSG(DSQL, 33, dsql_invalid_sqlda_version, -802, "07", "002", "SQLDA version expected between @1 and @2, found @3")
FB_IMPL_MSG(DSQL, 34, dsql_sqlvar_index, -802, "07", "002", "at SQLVAR index @1")
FB_IMPL_MSG(DSQL, 35, dsql_no_sqlind, -802, "07", "002", "empty pointer to NULL indicator variable")
FB_IMPL_MSG(DSQL, 36, dsql_no_sqldata, -802, "07", "002", "empty pointer to data")
FB_IMPL_MSG(DSQL, 37, dsql_no_input_sqlda, -802, "07", "002", "No SQLDA for input values provided")
FB_IMPL_MSG(DSQL, 38, dsql_no_output_sqlda, -802, "07", "002", "No SQLDA for output values provided")
FB_IMPL_MSG(DSQL, 39, dsql_wrong_param_num, -313, "07", "001", "Wrong number of parameters (expected @1, got @2)")
FB_IMPL_MSG(DSQL, 40, dsql_invalid_drop_ss_clause, -817, "42", "000", "Invalid DROP SQL SECURITY clause")
FB_IMPL_MSG(DSQL, 41, upd_ins_cannot_default, -313, "42", "000", "UPDATE OR INSERT value for field @1, part of the implicit or explicit MATCHING clause, cannot be DEFAULT")
