public override int GetHashCode() { int hash = 1; if (FrameId != 0L) { hash ^= FrameId.GetHashCode(); } if (PayloadType != 0) { hash ^= PayloadType.GetHashCode(); } if (EngineName.Length != 0) { hash ^= EngineName.GetHashCode(); } if (Payload.Length != 0) { hash ^= Payload.GetHashCode(); } if (engineFields_ != null) { hash ^= EngineFields.GetHashCode(); } return(hash); }
protected override IEnumerable <Command> OnCreate(IMetadata sourceMetadata, IMetadata targetMetadata, IComparerContext context) { var command = SqlHelper.IsValidExternalEngine(this) ? new Command() : new PSqlCommand(); command .Append($"CREATE OR ALTER TRIGGER {TriggerName.AsSqlIndentifier()}") .AppendLine() .Append($"{(Inactive ? "INACTIVE" : "ACTIVE")} "); switch (TriggerClass) { case TriggerClassType.DML: case TriggerClassType.DDL: command.Append($"{TriggerBeforeAfter.ToDescription()} {TriggerEvents[0].ToDescription()} "); foreach (var item in TriggerEvents.Skip(1)) { command.Append($"OR {item.ToDescription()} "); } break; case TriggerClassType.DB: command.Append($"ON {TriggerEvents[0].ToDescription()} "); break; } command .Append($"POSITION {TriggerSequence}") .AppendLine(); if (TriggerClass == TriggerClassType.DML) { command .Append($"ON {RelationName.AsSqlIndentifier()}") .AppendLine(); } if (SqlHelper.IsValidExternalEngine(this)) { command.Append($"EXTERNAL NAME '{SqlHelper.DoubleSingleQuotes(EntryPoint)}'"); command.AppendLine(); command.Append($"ENGINE {EngineName.AsSqlIndentifier()}"); } else { if (SqlSecurity != null) { command.Append($"SQL SECURITY {SqlHelper.SqlSecurityString(SqlSecurity)}"); command.AppendLine(); } command.Append(TriggerSource); } yield return(command); }
public override int GetHashCode() { int hash = 1; if (PayloadType != 0) { hash ^= PayloadType.GetHashCode(); } if (EngineName.Length != 0) { hash ^= EngineName.GetHashCode(); } if (Payload.Length != 0) { hash ^= Payload.GetHashCode(); } return(hash); }
protected override IEnumerable <Command> OnCreate(IMetadata sourceMetadata, IMetadata targetMetadata, IComparerContext context) { if (ProcedureType == ProcedureProcedureType.Legacy) { throw new NotSupportedException("Legacy type stored procedures are not supported."); } var command = SqlHelper.IsValidExternalEngine(this) ? new Command() : new PSqlCommand(); command.Append($"CREATE OR ALTER PROCEDURE {ProcedureName.AsSqlIndentifier()}"); if (ProcedureInputs > 0) { var inputs = ProcedureParameters .Where(o => o.ParameterType == ProcedureParameterType.In) .OrderBy(o => o.ParameterNumber); command.Append(" ("); command.AppendLine(); command.Append(CreateParametersDefinitions(inputs, sourceMetadata, targetMetadata, context)); command.Append(")"); } command.AppendLine(); if (ProcedureOutputs > 0) { var outputs = ProcedureParameters .Where(o => o.ParameterType == ProcedureParameterType.Out) .OrderBy(o => o.ParameterNumber); command.Append("RETURNS ("); command.AppendLine(); command.Append(CreateParametersDefinitions(outputs, sourceMetadata, targetMetadata, context)); command.Append(")"); command.AppendLine(); } if (SqlHelper.IsValidExternalEngine(this)) { if (context.EmptyBodiesEnabled) { yield break; } command.Append($"EXTERNAL NAME '{SqlHelper.DoubleSingleQuotes(EntryPoint)}'"); command.AppendLine(); command.Append($"ENGINE {EngineName.AsSqlIndentifier()}"); } else { command.Append("AS"); command.AppendLine(); if (context.EmptyBodiesEnabled) { command.Append("BEGIN"); command.AppendLine(); if (ProcedureType == ProcedureProcedureType.Selectable) { command.Append($" SUSPEND{SqlHelper.Terminator}"); command.AppendLine(); } command.Append("END"); } else { command.Append(ProcedureSource); } } yield return(command); }
protected override IEnumerable <Command> OnCreate(IMetadata sourceMetadata, IMetadata targetMetadata, IComparerContext context) { if (IsLegacy) { var command = new Command(); command.Append($"DECLARE EXTERNAL FUNCTION {FunctionName.AsSqlIndentifier()}"); var inputs = FunctionArguments .Where(x => x.ArgumentPosition != ReturnArgument) .OrderBy(x => x.ArgumentPosition) .Select(CreateLegacyArgumentDefinition); command.Append($" {string.Join(", ", inputs)}"); command.AppendLine(); var @return = FunctionArguments.First(x => x.ArgumentPosition == ReturnArgument); command.Append($"RETURNS{(ReturnArgument != 0 ? " PARAMETER" : string.Empty)} {CreateLegacyArgumentDefinition(@return)}"); command.AppendLine(); command.Append($"ENTRY_POINT '{SqlHelper.DoubleSingleQuotes(EntryPoint)}' MODULE_NAME '{SqlHelper.DoubleSingleQuotes(ModuleName)}'"); yield return(command); } else { var command = SqlHelper.IsValidExternalEngine(this) ? new Command() : new PSqlCommand(); command.Append("CREATE OR ALTER FUNCTION"); if (PackageName != null) { command.Append($" {PackageName.AsSqlIndentifier()}.{FunctionName.AsSqlIndentifier()}"); } else { command.Append($" {FunctionName.AsSqlIndentifier()}"); } var inputs = FunctionArguments .Where(x => x.ArgumentPosition != ReturnArgument) .OrderBy(x => x.ArgumentPosition) .Select(x => CreateNewArgumentDefinition(x, sourceMetadata, targetMetadata, context)); var @return = FunctionArguments.First(x => x.ArgumentPosition == ReturnArgument); var output = CreateNewArgumentDefinition(@return, sourceMetadata, targetMetadata, context); command.Append($" ({string.Join(", ", inputs)}) RETURNS {output}"); if (DeterministicFlag == DeterministicFlagType.Deterministic) { command.Append(" DETERMINISTIC"); } command.AppendLine(); if (SqlHelper.IsValidExternalEngine(this)) { command.Append($"EXTERNAL NAME '{SqlHelper.DoubleSingleQuotes(EntryPoint)}'"); command.AppendLine(); command.Append($"ENGINE {EngineName.AsSqlIndentifier()}"); } else { if (SqlSecurity != null) { command.Append($"SQL SECURITY {SqlHelper.SqlSecurityString(SqlSecurity)}"); command.AppendLine(); } command.Append("AS"); command.AppendLine(); if (context.EmptyBodiesEnabled) { command.Append("BEGIN"); command.AppendLine(); command.Append("END"); } else { command.Append(FunctionSource); } } yield return(command); } }
public override int GetHashCode() { return(EngineName.GetHashCode()); }
private void Cleaning() { EngineName.Clear(); EngineSerialCode.Clear(); }