8
0
mirror of https://github.com/FirebirdSQL/firebird.git synced 2025-01-22 18:43:02 +01:00

Avoid using new bugchecks when it's not required

This commit is contained in:
AlexPeshkoff 2020-09-04 14:19:54 +03:00
parent 3e837fddb6
commit 38edacb65a
12 changed files with 19 additions and 7 deletions

View File

@ -1950,6 +1950,8 @@ C --
PARAMETER (GDS__truncate_context = 335545268)
INTEGER*4 GDS__merge_dup_update
PARAMETER (GDS__merge_dup_update = 335545269)
INTEGER*4 GDS__wrong_page
PARAMETER (GDS__wrong_page = 335545270)
INTEGER*4 GDS__gfix_db_name
PARAMETER (GDS__gfix_db_name = 335740929)
INTEGER*4 GDS__gfix_invalid_sw

View File

@ -1945,6 +1945,8 @@ const
gds_truncate_context = 335545268;
isc_merge_dup_update = 335545269;
gds_merge_dup_update = 335545269;
isc_wrong_page = 335545270;
gds_wrong_page = 335545270;
isc_gfix_db_name = 335740929;
gds_gfix_db_name = 335740929;
isc_gfix_invalid_sw = 335740930;

View File

@ -1556,7 +1556,7 @@ type
const VERSION = 3;
const EXECUTE_FAILED = Integer(-1);
const SUCCESS_NO_INFO = Integer(-2);
const NO_MORE_ERRORS = Cardinal($7fffffff);
const NO_MORE_ERRORS = Cardinal($ffffffff);
function getSize(status: IStatus): Cardinal;
function getState(status: IStatus; pos: Cardinal): Integer;
@ -5026,6 +5026,7 @@ const
isc_truncate_monitor = 335545267;
isc_truncate_context = 335545268;
isc_merge_dup_update = 335545269;
isc_wrong_page = 335545270;
isc_gfix_db_name = 335740929;
isc_gfix_invalid_sw = 335740930;
isc_gfix_incmp_sw = 335740932;

View File

@ -971,6 +971,7 @@ static const struct {
{"truncate_monitor", 335545267},
{"truncate_context", 335545268},
{"merge_dup_update", 335545269},
{"wrong_page", 335545270},
{"gfix_db_name", 335740929},
{"gfix_invalid_sw", 335740930},
{"gfix_incmp_sw", 335740932},

View File

@ -1005,6 +1005,7 @@ const ISC_STATUS isc_truncate_warn = 335545266L;
const ISC_STATUS isc_truncate_monitor = 335545267L;
const ISC_STATUS isc_truncate_context = 335545268L;
const ISC_STATUS isc_merge_dup_update = 335545269L;
const ISC_STATUS isc_wrong_page = 335545270L;
const ISC_STATUS isc_gfix_db_name = 335740929L;
const ISC_STATUS isc_gfix_invalid_sw = 335740930L;
const ISC_STATUS isc_gfix_incmp_sw = 335740932L;
@ -1495,7 +1496,7 @@ const ISC_STATUS isc_trace_switch_user_only = 337182757L;
const ISC_STATUS isc_trace_switch_param_miss = 337182758L;
const ISC_STATUS isc_trace_param_act_notcompat = 337182759L;
const ISC_STATUS isc_trace_mandatory_switch_miss = 337182760L;
const ISC_STATUS isc_err_max = 1439;
const ISC_STATUS isc_err_max = 1440;
#else /* c definitions */
@ -2470,6 +2471,7 @@ const ISC_STATUS isc_err_max = 1439;
#define isc_truncate_monitor 335545267L
#define isc_truncate_context 335545268L
#define isc_merge_dup_update 335545269L
#define isc_wrong_page 335545270L
#define isc_gfix_db_name 335740929L
#define isc_gfix_invalid_sw 335740930L
#define isc_gfix_incmp_sw 335740932L
@ -2960,7 +2962,7 @@ const ISC_STATUS isc_err_max = 1439;
#define isc_trace_switch_param_miss 337182758L
#define isc_trace_param_act_notcompat 337182759L
#define isc_trace_mandatory_switch_miss 337182760L
#define isc_err_max 1439
#define isc_err_max 1440
#endif

View File

@ -974,6 +974,7 @@ Data source : @4"}, /* eds_statement */
{335545267, "Monitoring data does not fit into the field"}, /* truncate_monitor */
{335545268, "Engine data does not fit into return value of system function"}, /* truncate_context */
{335545269, "Multiple source records cannot match the same target during MERGE"}, /* merge_dup_update */
{335545270, "RDB$PAGES written by non-system transaction, DB appears to be damaged"}, /* wrong_page */
{335740929, "data base file name (@1) already given"}, /* gfix_db_name */
{335740930, "invalid switch @1"}, /* gfix_invalid_sw */
{335740932, "incompatible switch combination"}, /* gfix_incmp_sw */

View File

@ -970,6 +970,7 @@ static const struct {
{335545267, 304}, /* 947 truncate_monitor */
{335545268, 304}, /* 948 truncate_context */
{335545269, -811}, /* 949 merge_dup_update */
{335545270, -902}, /* 950 wrong_page */
{335740929, -901}, /* 1 gfix_db_name */
{335740930, -901}, /* 2 gfix_invalid_sw */
{335740932, -901}, /* 4 gfix_incmp_sw */

View File

@ -970,6 +970,7 @@ static const struct {
{335545267, "01004"}, // 947 truncate_monitor
{335545268, "01004"}, // 948 truncate_context
{335545269, "21000"}, // 949 merge_dup_update
{335545270, "XX000"}, // 950 wrong_page
{335740929, "00000"}, // 1 gfix_db_name
{335740930, "00000"}, // 2 gfix_invalid_sw
{335740932, "00000"}, // 4 gfix_incmp_sw

View File

@ -3170,7 +3170,7 @@ static bool get_header(WIN* window, USHORT line, record_param* rpb)
if (rpb->rpb_relation->rel_id == 0 /*i.e.RDB$PAGES*/ && rpb->rpb_transaction_nr != 0)
{
// RDB$PAGES relation should be modified only by system transaction
BUGCHECK(307);
ERR_post(Arg::Gds(isc_wrong_page));
}
}

View File

@ -1,7 +1,7 @@
/* MAX_NUMBER is the next number to be used, always one more than the highest message number. */
set bulk_insert INSERT INTO FACILITIES (LAST_CHANGE, FACILITY, FAC_CODE, MAX_NUMBER) VALUES (?, ?, ?, ?);
--
('2020-06-02 11:58:00', 'JRD', 0, 950)
('2020-09-04 14:09:00', 'JRD', 0, 951)
('2015-03-17 18:33:00', 'QLI', 1, 533)
('2018-03-17 12:00:00', 'GFIX', 3, 136)
('1996-11-07 13:39:40', 'GPRE', 4, 1)
@ -12,7 +12,7 @@ set bulk_insert INSERT INTO FACILITIES (LAST_CHANGE, FACILITY, FAC_CODE, MAX_NUM
('2020-03-20 12:45:00', 'GBAK', 12, 403)
('2019-04-13 21:10:00', 'SQLERR', 13, 1047)
('1996-11-07 13:38:42', 'SQLWARN', 14, 613)
('2018-02-27 14:50:31', 'JRD_BUGCHK', 15, 308)
('2018-02-27 14:50:31', 'JRD_BUGCHK', 15, 307)
('2016-05-26 13:53:45', 'ISQL', 17, 197)
('2010-07-10 10:50:30', 'GSEC', 18, 105)
('2019-10-19 12:52:29', 'GSTAT', 21, 63)

View File

@ -1057,6 +1057,7 @@ Data source : @4', NULL, NULL)
('truncate_monitor', NULL, 'Monitoring.cpp', NULL, 0, 947, NULL, 'Monitoring data does not fit into the field', NULL, NULL);
('truncate_context', NULL, 'SysFunction.cpp', NULL, 0, 948, NULL, 'Engine data does not fit into return value of system function', NULL, NULL);
('merge_dup_update', NULL, 'StmtNodes.cpp', NULL, 0, 949, NULL, 'Multiple source records cannot match the same target during MERGE', NULL, NULL);
('wrong_page', 'get_header', 'dpm.epp', NULL, 0, 950, NULL, 'RDB$PAGES written by non-system transaction, DB appears to be damaged', NULL, NULL);
-- QLI
(NULL, NULL, NULL, NULL, 1, 0, NULL, 'expected type', NULL, NULL);
(NULL, NULL, NULL, NULL, 1, 1, NULL, 'bad block type', NULL, NULL);
@ -3032,7 +3033,6 @@ COMMIT WORK;
(NULL, 'CMP_get_desc', 'cmp.cpp', NULL, 15, 306, NULL, 'Found array data type with more than 16 dimensions', NULL, NULL);
-- Do not change the arguments of the previous JRD_BUGCHK messages.
-- Write the new JRD_BUGCHK messages here.
(NULL, 'get_header', 'dpm.epp', NULL, 15, 307, NULL, 'RDB$PAGES written by non-system transaction, DB appears to be damaged', NULL, NULL);
-- ISQL
('GEN_ERR', 'errmsg', 'isql.e', NULL, 17, 0, NULL, 'Statement failed, SQLSTATE = @1', NULL, NULL);
('USAGE', 'ISQL_main', 'isql.epp', NULL, 17, 1, NULL, 'usage: isql [options] [<database>]', NULL, NULL);

View File

@ -956,6 +956,7 @@ set bulk_insert INSERT INTO SYSTEM_ERRORS (SQL_CODE, SQL_CLASS, SQL_SUBCLASS, FA
(304, '01', '004', 0, 947, 'truncate_monitor', NULL, NULL)
(304, '01', '004', 0, 948, 'truncate_context', NULL, NULL)
(-811, '21', '000', 0, 949, 'merge_dup_update', NULL, NULL)
(-902, 'XX', '000', 0, 950, 'wrong_page', NULL, NULL)
-- GFIX
(-901, '00', '000', 3, 1, 'gfix_db_name', NULL, NULL)
(-901, '00', '000', 3, 2, 'gfix_invalid_sw', NULL, NULL)