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

Fixed CORE-4704: Generator/exception permissions get corrupted after backup/restore.

This commit is contained in:
dimitr 2015-03-04 17:58:24 +00:00
parent 219c62b46e
commit 95b8ca0db0

View File

@ -2151,6 +2151,7 @@ bool get_character_set(BurpGlobals* tdgbl)
if (tdgbl->RESTORE_format >= 10) if (tdgbl->RESTORE_format >= 10)
{ {
GET_TEXT(X.RDB$SECURITY_CLASS); GET_TEXT(X.RDB$SECURITY_CLASS);
fix_security_class_name(tdgbl, X.RDB$SECURITY_CLASS, false);
X.RDB$SECURITY_CLASS.NULL = FALSE; X.RDB$SECURITY_CLASS.NULL = FALSE;
securityClass = true; securityClass = true;
} }
@ -2452,6 +2453,7 @@ bool get_collation(BurpGlobals* tdgbl)
if (tdgbl->RESTORE_format >= 10) if (tdgbl->RESTORE_format >= 10)
{ {
GET_TEXT(X.RDB$SECURITY_CLASS); GET_TEXT(X.RDB$SECURITY_CLASS);
fix_security_class_name(tdgbl, X.RDB$SECURITY_CLASS, false);
X.RDB$SECURITY_CLASS.NULL = FALSE; X.RDB$SECURITY_CLASS.NULL = FALSE;
securityClass = true; securityClass = true;
} }
@ -3306,6 +3308,7 @@ bool get_exception(BurpGlobals* tdgbl)
if (tdgbl->RESTORE_format >= 10) if (tdgbl->RESTORE_format >= 10)
{ {
GET_TEXT(X.RDB$SECURITY_CLASS); GET_TEXT(X.RDB$SECURITY_CLASS);
fix_security_class_name(tdgbl, X.RDB$SECURITY_CLASS, false);
X.RDB$SECURITY_CLASS.NULL = FALSE; X.RDB$SECURITY_CLASS.NULL = FALSE;
securityClass = true; securityClass = true;
} }
@ -4305,6 +4308,7 @@ bool get_function(BurpGlobals* tdgbl)
if (tdgbl->RESTORE_format >= 10) if (tdgbl->RESTORE_format >= 10)
{ {
GET_TEXT(X.RDB$SECURITY_CLASS); GET_TEXT(X.RDB$SECURITY_CLASS);
fix_security_class_name(tdgbl, X.RDB$SECURITY_CLASS, false);
X.RDB$SECURITY_CLASS.NULL = FALSE; X.RDB$SECURITY_CLASS.NULL = FALSE;
securityClass = true; securityClass = true;
} }
@ -5482,6 +5486,7 @@ bool get_global_field(BurpGlobals* tdgbl)
if (tdgbl->RESTORE_format >= 10) if (tdgbl->RESTORE_format >= 10)
{ {
GET_TEXT(X.RDB$SECURITY_CLASS); GET_TEXT(X.RDB$SECURITY_CLASS);
fix_security_class_name(tdgbl, X.RDB$SECURITY_CLASS, false);
X.RDB$SECURITY_CLASS.NULL = FALSE; X.RDB$SECURITY_CLASS.NULL = FALSE;
securityClass = true; securityClass = true;
} }
@ -10209,6 +10214,7 @@ void store_blr_gen_id(BurpGlobals* tdgbl, const TEXT* gen_name, SINT64 value, SI
if (secclass) if (secclass)
{ {
strcpy(X.RDB$SECURITY_CLASS, secclass); strcpy(X.RDB$SECURITY_CLASS, secclass);
fix_security_class_name(tdgbl, X.RDB$SECURITY_CLASS, false);
X.RDB$SECURITY_CLASS.NULL = FALSE; X.RDB$SECURITY_CLASS.NULL = FALSE;
} }
if (ownername) if (ownername)