mirror of
https://github.com/FirebirdSQL/firebird.git
synced 2025-01-22 20:03:02 +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:
parent
6108f0ecdf
commit
3b1e8c813a
@ -168,15 +168,6 @@ static const jrd_trg triggers[] =
|
||||
{ "RDB$TRIGGER_27", (UCHAR) nam_r_fields,
|
||||
RDB$TRIGGERS.RDB$TRIGGER_TYPE.POST_ERASE, sizeof(trigger27),
|
||||
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$TRIGGERS.RDB$TRIGGER_TYPE.POST_ERASE, sizeof(trigger34),
|
||||
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", 2, "invld_cnstrnt_type", 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_36", 1, "integ_index_seg_mod", ODS_11_0 },
|
||||
{ 0, 0, 0, 0 }
|
||||
|
@ -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 */
|
||||
static const UCHAR trigger34[] =
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user