PropertiesEqual() public static method

public static PropertiesEqual ( obj, other ) : bool
return bool
Esempio n. 1
0
    protected override IEnumerable <Command> OnAlter(IMetadata sourceMetadata, IMetadata targetMetadata, IComparerContext context)
    {
        var otherRole = FindOtherChecked(targetMetadata.MetadataRoles.Roles, RoleName, "role");

        if (EquatableHelper.PropertiesEqual(this, otherRole, EquatableProperties, nameof(RoleFlag), nameof(SystemPrivileges)))
        {
            if (EquatableHelper.PropertiesEqual(this, otherRole, EquatableProperties, nameof(RoleFlag)))
            {
                yield return(new Command()
                             .Append($"ALTER ROLE {RoleName.AsSqlIndentifier()} {(RoleFlag.HasFlag(RoleFlagType.RoleFlagMayTrust) ? "SET" : "DROP")} AUTO ADMIN MAPPING"));
            }
            if (EquatableHelper.PropertiesEqual(this, otherRole, EquatableProperties, nameof(SystemPrivileges)))
            {
                var systemPrivileges = SystemPrivileges?.ToPrivileges() ?? Enumerable.Empty <string>();
                if (systemPrivileges.Any())
                {
                    yield return(new Command()
                                 .Append($"ALTER ROLE {RoleName.AsSqlIndentifier()} SET SYSTEM PRIVILEGES TO {string.Join(", ", systemPrivileges)}"));
                }
                else
                {
                    yield return(new Command()
                                 .Append($"ALTER ROLE {RoleName.AsSqlIndentifier()} DROP SYSTEM PRIVILEGES"));
                }
            }
        }
        else
        {
            throw new NotSupportedOnFirebirdException($"Altering role is not supported ({RoleName}).");
        }
    }
Esempio n. 2
0
    protected override IEnumerable <Command> OnAlter(IMetadata sourceMetadata, IMetadata targetMetadata, IComparerContext context)
    {
        var otherCharacterSet = FindOtherChecked(targetMetadata.MetadataCharacterSets.CharacterSetsByName, CharacterSetName, "character set");

        if (EquatableHelper.PropertiesEqual(this, otherCharacterSet, EquatableProperties, nameof(DefaultCollateName)))
        {
            yield return(new Command()
                         .Append($"ALTER CHARACTER SET {CharacterSetName.AsSqlIndentifier()} SET DEFAULT COLLATION {DefaultCollateName.AsSqlIndentifier()}"));
        }
        else
        {
            throw new NotSupportedOnFirebirdException($"Altering charset is not supported ({CharacterSetName}).");
        }
    }
Esempio n. 3
0
        protected override IEnumerable <Command> OnAlter(IMetadata sourceMetadata, IMetadata targetMetadata, IComparerContext context)
        {
            var otherRole = FindOtherChecked(targetMetadata.MetadataRoles.Roles, RoleName, "role");

            if (EquatableHelper.PropertiesEqual(this, otherRole, EquatableProperties, nameof(RoleFlag)))
            {
                yield return(new Command()
                             .Append($"ALTER ROLE {RoleName.AsSqlIndentifier()} {(RoleFlag.HasFlag(RoleFlagType.RoleFlagMayTrust) ? "SET" : "DROP")} AUTO ADMIN MAPPING"));
            }
            else
            {
                throw new NotSupportedOnFirebirdException($"Altering role is not supported ({RoleName}).");
            }
        }
Esempio n. 4
0
        protected override IEnumerable <Command> OnAlter(IMetadata sourceMetadata, IMetadata targetMetadata, IComparerContext context)
        {
            var otherGenerator = FindOtherChecked(targetMetadata.MetadataGenerators.GeneratorsByName, GeneratorName, "role");

            if (EquatableHelper.PropertiesEqual(this, otherGenerator, EquatableProperties, nameof(GeneratorIncrement)))
            {
                yield return(new Command()
                             .Append($"ALTER SEQUENCE {GeneratorName.AsSqlIndentifier()} INCREMENT BY {GeneratorIncrement}"));
            }
            else
            {
                throw new NotSupportedOnFirebirdException($"Altering sequence is not supported ({GeneratorName}).");
            }
        }
Esempio n. 5
0
    protected override IEnumerable <Command> OnAlter(IMetadata sourceMetadata, IMetadata targetMetadata, IComparerContext context)
    {
        if (IsLegacy)
        {
            var otherFunction = FindOtherChecked(targetMetadata.MetadataFunctions.FunctionsByName, FunctionNameKey, "function");

            if (EquatableHelper.PropertiesEqual(this, otherFunction, EquatableProperties, new[] { nameof(ModuleName), nameof(EntryPoint) }))
            {
                yield return(new Command().Append($"ALTER EXTERNAL FUNCTION {FunctionName.AsSqlIndentifier()} ENTRY_POINT '{SqlHelper.DoubleSingleQuotes(EntryPoint)}' MODULE_NAME '{SqlHelper.DoubleSingleQuotes(ModuleName)}'"));
            }
            else
            {
                throw new NotSupportedOnFirebirdException($"Altering function is not supported ({FunctionName}).");
            }
        }
        else
        {
            foreach (var item in OnCreate(sourceMetadata, targetMetadata, context))
            {
                yield return(item);
            }
        }
    }
 public bool Equals(T x, T y)
 {
     return(EquatableHelper.ElementaryEquals(x, y) ?? EquatableHelper.PropertiesEqual(x, y, m_EquatableProperties));
 }
Esempio n. 7
0
 public bool CanAlter(Index other) => EquatableHelper.PropertiesEqual(this, other, EquatableProperties, nameof(Inactive));
 public bool Equals(T other)
 {
     return(EquatableHelper.ElementaryEquals(this, other) ?? EquatableHelper.PropertiesEqual(this, other, EquatableProperties));
 }