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

Fix CORE-6502: remove integrity checking triggers on RDB$USER_PRIVILEGES.

Direct modification of the table has been forbidden since 3.0.
GRANT operations from DDL perform theirown checks.
It requires backup/restore but can work if you do not need to perform
GRANTs descrobed in the ticket.
This commit is contained in:
Roman Simakov 2021-03-04 18:51:02 +03:00
parent 6108f0ecdf
commit 3b1e8c813a
2 changed files with 0 additions and 62 deletions

View File

@ -168,15 +168,6 @@ static const jrd_trg triggers[] =
{ "RDB$TRIGGER_27", (UCHAR) nam_r_fields, { "RDB$TRIGGER_27", (UCHAR) nam_r_fields,
RDB$TRIGGERS.RDB$TRIGGER_TYPE.POST_ERASE, sizeof(trigger27), RDB$TRIGGERS.RDB$TRIGGER_TYPE.POST_ERASE, sizeof(trigger27),
trigger27, 0, ODS_8_0 }, trigger27, 0, ODS_8_0 },
{ "RDB$TRIGGER_31", (UCHAR) nam_user_privileges,
RDB$TRIGGERS.RDB$TRIGGER_TYPE.PRE_MODIFY, sizeof(trigger31),
trigger31, 0, ODS_8_1 },
{ "RDB$TRIGGER_32", (UCHAR) nam_user_privileges,
RDB$TRIGGERS.RDB$TRIGGER_TYPE.PRE_ERASE, sizeof(trigger31), trigger31,
0, ODS_8_1 },
{ "RDB$TRIGGER_33", (UCHAR) nam_user_privileges,
RDB$TRIGGERS.RDB$TRIGGER_TYPE.PRE_STORE, sizeof(trigger31), trigger31,
0, ODS_8_1 },
{ "RDB$TRIGGER_34", (UCHAR) nam_rel_constr, { "RDB$TRIGGER_34", (UCHAR) nam_rel_constr,
RDB$TRIGGERS.RDB$TRIGGER_TYPE.POST_ERASE, sizeof(trigger34), RDB$TRIGGERS.RDB$TRIGGER_TYPE.POST_ERASE, sizeof(trigger34),
trigger34, TRG_ignore_perm, ODS_8_1 }, trigger34, TRG_ignore_perm, ODS_8_1 },
@ -224,9 +215,6 @@ static const trigger_msg trigger_messages[] =
{ "RDB$TRIGGER_26", 1, "constaint_on_view", ODS_8_0 }, { "RDB$TRIGGER_26", 1, "constaint_on_view", ODS_8_0 },
{ "RDB$TRIGGER_26", 2, "invld_cnstrnt_type", ODS_8_0 }, { "RDB$TRIGGER_26", 2, "invld_cnstrnt_type", ODS_8_0 },
{ "RDB$TRIGGER_26", 3, "primary_key_exists", ODS_8_0 }, { "RDB$TRIGGER_26", 3, "primary_key_exists", ODS_8_0 },
{ "RDB$TRIGGER_31", 0, "no_write_user_priv", ODS_8_1 },
{ "RDB$TRIGGER_32", 0, "no_write_user_priv", ODS_8_1 },
{ "RDB$TRIGGER_33", 0, "no_write_user_priv", ODS_8_1 },
{ "RDB$TRIGGER_24", 2, "integ_index_seg_mod", ODS_11_0 }, { "RDB$TRIGGER_24", 2, "integ_index_seg_mod", ODS_11_0 },
{ "RDB$TRIGGER_36", 1, "integ_index_seg_mod", ODS_11_0 }, { "RDB$TRIGGER_36", 1, "integ_index_seg_mod", ODS_11_0 },
{ 0, 0, 0, 0 } { 0, 0, 0, 0 }

View File

@ -1930,56 +1930,6 @@ static const UCHAR trigger27[] =
}; };
/* new trigger to create ODS 8.1 (and to upgrade from ODS 8.0 to ODS 8.1 */
static const UCHAR trigger31[] =
{
blr_version5,
blr_begin,
blr_if,
blr_and,
blr_not,
blr_missing,
blr_field, 1, 11, 'R', 'D', 'B', '$', 'G', 'R', 'A', 'N', 'T', 'O', 'R',
blr_and,
blr_neq,
blr_field, 1, 11, 'R', 'D', 'B', '$', 'G', 'R', 'A', 'N', 'T', 'O', 'R',
blr_user_name,
blr_neq,
blr_sys_function, 20, 'R','D','B','$','S','Y','S','T','E','M','_','P','R','I','V','I','L','E','G','E',1,
blr_literal, blr_short, 0, Jrd::USE_GRANTED_BY_CLAUSE,0,
blr_literal, blr_bool, 1,
blr_begin,
blr_for,
blr_rse, 1,
blr_relation, 13, 'R', 'D', 'B', '$', 'R', 'E', 'L', 'A', 'T', 'I', 'O',
'N', 'S', 3,
blr_boolean,
blr_eql,
blr_field, 3, 17, 'R', 'D', 'B', '$', 'R', 'E', 'L', 'A', 'T', 'I', 'O',
'N', '_', 'N', 'A', 'M', 'E',
blr_literal, blr_text, 12, 0, 'R', 'D', 'B', '$', 'D', 'A', 'T', 'A', 'B',
'A', 'S', 'E',
blr_end,
blr_begin,
blr_if,
blr_or,
blr_missing,
blr_field, 3, 14, 'R', 'D', 'B', '$', 'O', 'W', 'N', 'E', 'R', '_', 'N',
'A', 'M', 'E',
blr_neq,
blr_field, 3, 14, 'R', 'D', 'B', '$', 'O', 'W', 'N', 'E', 'R', '_', 'N',
'A', 'M', 'E',
blr_user_name,
blr_leave, 0,
blr_end,
blr_end,
blr_end,
blr_end,
blr_end,
blr_eoc
};
/* ODS 8.1 trigger */ /* ODS 8.1 trigger */
static const UCHAR trigger34[] = static const UCHAR trigger34[] =
{ {