public static void CreateProcedureTrigger(this IQuery query, ObjectName triggerName, ObjectName tableName, ObjectName procedureName, InvokeArgument[] procedureArgs, TriggerEventTime eventTime, TriggerEventType eventType) { query.ExecuteStatement(new CreateProcedureTriggerStatement(triggerName, tableName, procedureName, procedureArgs, eventTime, eventType)); }
public void Notify(string triggerName, string triggerSource, TriggerEventType eventType, int count) { if (callback != null) { callback(new TriggerEventNotification(triggerName, triggerSource, TriggerType.Callback, eventType, count)); } }
public TriggerEventNotification(string triggerName, string objectName, TriggerEventType eventType, int invokeCount) { InvokeCount = invokeCount; EventType = eventType; ObjectName = objectName; TriggerName = triggerName; }
public NetworkTriggerChannel(NetworkClientConnector connector, string triggerName, string objectName, TriggerEventType eventType) { this.connector = connector; TriggerName = triggerName; ObjectName = objectName; EventType = eventType; }
public static string AsString(this TriggerEventType eventType) { string moment = null; string operation = null; if ((eventType & TriggerEventType.After) != 0) { moment = "AFTER"; } else if ((eventType & TriggerEventType.Before) != 0) { moment = "BEFORE"; } if ((eventType & TriggerEventType.Delete) != 0) { operation = "DELETE"; } else if ((eventType & TriggerEventType.Insert) != 0) { operation = "INSERT"; } else if ((eventType & TriggerEventType.Update) != 0) { operation = "UPDATE"; } return(String.Format("{0} {1}", moment, operation)); }
public PlSqlTriggerInfo(ObjectName triggerName, ObjectName tabbleName, TriggerEventTime eventTime, TriggerEventType eventType, PlSqlBlockStatement body) : base(triggerName, TriggerType.Procedural, tabbleName, eventTime, eventType) { if (body == null) throw new ArgumentNullException("body"); Body = body; }
public TriggerChannel(ServerConnector connector, long id, string triggerName, string objectName, TriggerEventType eventType) { this.connector = connector; this.id = id; TriggerName = triggerName; ObjectName = objectName; EventType = eventType; }
/// <summary> /// Constructs the <see cref="TriggerEventInfo"/> object for the /// given table name and event type. /// </summary> /// <param name="tableName">The fully qualified name of the table.</param> /// <param name="eventType">The type of event that happened on the table.</param> /// <exception cref="ArgumentNullException"> /// If the given <paramref name="tableName"/> is <c>null</c>. /// </exception> public TriggerEventInfo(ObjectName tableName, TriggerEventType eventType) { if (tableName == null) throw new ArgumentNullException("tableName"); TableName = tableName; EventType = eventType; }
private bool MatchesEvent(TriggerEventTime eventTime, TriggerEventType eventType) { if (eventTime != EventTime) { return(false); } return((EventType & eventType) != 0); }
public ProcedureTriggerInfo(ObjectName triggerName, ObjectName tableName, TriggerEventTime eventTime, TriggerEventType eventType, ObjectName procedureName, InvokeArgument[] args) : base(triggerName, TriggerType.External, tableName, eventTime, eventType) { if (procedureName == null) throw new ArgumentNullException("procedureName"); ProcedureName = procedureName; Arguments = args; }
protected override void GetEventData(Dictionary <string, object> data) { data["trigger.name"] = TriggerName.FullName; data["trigger.eventType"] = TriggerEventType.ToString(); data["trigger.source"] = SourceName.FullName; data["trigger.old.tableId"] = OldRowId.TableId; data["trigger.old.rowNumber"] = OldRowId.RowNumber; data["trigger.new"] = NewRow; }
public bool ShouldNotify(string triggerName, string objectName, TriggerEventType eventType) { if (!String.Equals(triggerName, TriggerName, StringComparison.OrdinalIgnoreCase)) { return(false); } return((eventType & EventType) != 0); }
private void TriggerEvents(TriggerEventType type, Collider2D col) { foreach (var f in events) { if (f.eventType == type) { f.unityEvent.Invoke(col); } } }
/// <summary> /// Constructs the <see cref="TriggerEventInfo"/> object for the /// given table name and event type. /// </summary> /// <param name="tableName">The fully qualified name of the table.</param> /// <param name="eventType">The type of event that happened on the table.</param> /// <exception cref="ArgumentNullException"> /// If the given <paramref name="tableName"/> is <c>null</c>. /// </exception> public TriggerEventInfo(ObjectName tableName, TriggerEventType eventType) { if (tableName == null) { throw new ArgumentNullException("tableName"); } TableName = tableName; EventType = eventType; }
public TriggerEvent(string modifierName, TriggerEventType type, ScriptFunctionDelegate f, IInfinityObject target, int adderObjectId, int priority) { _modifierName = modifierName; _type = type; _f = f; _target = target; _adderObjectId = adderObjectId; Priority = priority; }
internal TableEventContext(ITable table, TriggerEventType eventType, RowId oldRowId, Row newRow) { if (table == null) throw new ArgumentNullException("table"); Table = table; EventType = eventType; OldRowId = oldRowId; NewRow = newRow; }
internal TableEvent(ITable table, TriggerEventType eventType, RowId oldRowId, Row newRow) { if (table == null) { throw new ArgumentNullException("table"); } Table = table; EventType = eventType; OldRowId = oldRowId; NewRow = newRow; }
public CreateCallbackTriggerStatement(string triggerName, ObjectName tableName, TriggerEventTime eventTime, TriggerEventType eventType) { if (String.IsNullOrEmpty(triggerName)) throw new ArgumentNullException("triggerName"); if (tableName == null) throw new ArgumentNullException("tableName"); TriggerName = triggerName; TableName = tableName; EventTime = eventTime; EventType = eventType; }
private IEnumerable <TriggerEvent> GetTriggerEvents(TriggerEventType type) { if (!_triggerEvents.TryGetValue(type, out var value)) { return(new TriggerEvent[0]); } var result = value.Values.ToList(); result.Sort((x, y) => y.Priority.CompareTo(x.Priority)); return(result); }
internal TriggerEvent(ObjectName triggerName, ObjectName sourceName, TriggerEventType eventType, RowId oldRowId, Row newRow) { if (triggerName == null) throw new ArgumentNullException("triggerName"); if (sourceName == null) throw new ArgumentNullException("sourceName"); TriggerName = triggerName; SourceName = sourceName; TriggerEventType = eventType; OldRowId = oldRowId; NewRow = newRow; }
protected TriggerInfo(ObjectName triggerName, TriggerType triggerType, ObjectName tableName, TriggerEventTime eventTime, TriggerEventType eventType) { if (triggerName == null) throw new ArgumentNullException("triggerName"); if (tableName == null) throw new ArgumentNullException("tableName"); TriggerName = triggerName; TriggerType = triggerType; TableName = tableName; EventTime = eventTime; EventType = eventType; }
public static void CreateProcedureTrigger(this IQuery query, ObjectName triggerName, ObjectName tableName, ObjectName procedureName, SqlExpression[] procedureArgs, TriggerEventTime eventTime, TriggerEventType eventType) { var args = new InvokeArgument[0]; if (procedureArgs != null) { args = procedureArgs.Select(x => new InvokeArgument(x)).ToArray(); } query.ExecuteStatement(new CreateProcedureTriggerStatement(triggerName, tableName, procedureName, args, eventTime, eventType)); }
public CreateTriggerStatement(ObjectName triggerName, ObjectName tableName, PlSqlBlockStatement body, TriggerEventTime eventTime, TriggerEventType eventType) { if (triggerName == null) throw new ArgumentNullException("triggerName"); if (tableName == null) throw new ArgumentNullException("tableName"); if (body == null) throw new ArgumentNullException("body"); TriggerName = triggerName; TableName = tableName; Body = body; EventTime = eventTime; EventType = eventType; }
public CreateCallbackTriggerStatement(string triggerName, ObjectName tableName, TriggerEventTime eventTime, TriggerEventType eventType) { if (String.IsNullOrEmpty(triggerName)) { throw new ArgumentNullException("triggerName"); } if (tableName == null) { throw new ArgumentNullException("tableName"); } TriggerName = triggerName; TableName = tableName; EventTime = eventTime; EventType = eventType; }
public CreateProcedureTriggerStatement(ObjectName triggerName, ObjectName tableName, ObjectName procedureName, InvokeArgument[] args, TriggerEventTime eventTime, TriggerEventType eventType) { if (triggerName == null) throw new ArgumentNullException("triggerName"); if (tableName == null) throw new ArgumentNullException("tableName"); if (procedureName == null) throw new ArgumentNullException("procedureName"); TriggerName = triggerName; TableName = tableName; ProcedureName = procedureName; ProcedureArguments = args; EventTime = eventTime; EventType = eventType; }
/// <summary> /// Constructs a new trigger information object with the given name, /// the name of the table on which it is attached and the event /// at which it should be fired. /// </summary> /// <param name="triggerName">The fully qualified name of the trigger.</param> /// <param name="eventType">The modification event on the given table at which to /// fire the trigger.</param> /// <param name="triggerType">The type of trigger.</param> /// <param name="tableName">The fully qualified name of the table on which to attach /// the trigger.</param> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="triggerName"/> is <c>null</c> /// </exception> public TriggerInfo(ObjectName triggerName, TriggerType triggerType, TriggerEventType eventType, ObjectName tableName) { if (triggerName == null) throw new ArgumentNullException("triggerName"); if (triggerType == TriggerType.Callback && tableName != null) throw new ArgumentException("A CALLBACK TRIGGER cannot define any table to be attached to."); TriggerName = triggerName; EventType = eventType; TableName = tableName; TriggerType = triggerType; Body = new TriggerBody(this); }
private static StatisticsType ConvertTriggerType(TriggerEventType type) { var result = type switch { TriggerEventType.Email => StatisticsType.Email, TriggerEventType.Sms => StatisticsType.SMS, TriggerEventType.LiveData => StatisticsType.LiveData, TriggerEventType.Mqtt => StatisticsType.MQTT, TriggerEventType.HttpPost => StatisticsType.HttpPost, TriggerEventType.HttpGet => StatisticsType.HttpGet, TriggerEventType.ControlMessage => StatisticsType.ControlMessage, _ => throw new ArgumentOutOfRangeException(nameof(type), type, null) }; return(result); } }
private IEnumerable <TriggerInfo> FindTriggers(ObjectName tableName, TriggerEventType eventType) { var fullTableName = tableName.FullName; var eventTypeCode = (int)eventType; var table = transaction.GetTable(SystemSchema.TriggerTableName); if (table == null) { return(new TriggerInfo[0]); } var tableColumn = table.GetResolvedColumnName(3); var eventTypeColumn = table.GetResolvedColumnName(4); ITable result; using (var session = new SystemSession(transaction, SystemSchema.Name)) { using (var context = session.CreateQuery()) { var t = table.SimpleSelect(context, tableColumn, SqlExpressionType.Equal, SqlExpression.Constant(DataObject.String(fullTableName))); result = t.ExhaustiveSelect(context, SqlExpression.Equal(SqlExpression.Reference(eventTypeColumn), SqlExpression.Constant(eventTypeCode))); } } if (result.RowCount == 0) { return(new TriggerInfo[0]); } var list = new List <TriggerInfo>(); foreach (var row in result) { var triggerInfo = FormTrigger(row); //TODO: get the other information such has the body, the external method or the procedure // if this is a non-callback list.Add(triggerInfo); } return(list.AsEnumerable()); }
protected TriggerInfo(ObjectName triggerName, TriggerType triggerType, ObjectName tableName, TriggerEventTime eventTime, TriggerEventType eventType) { if (triggerName == null) { throw new ArgumentNullException("triggerName"); } if (tableName == null) { throw new ArgumentNullException("tableName"); } TriggerName = triggerName; TriggerType = triggerType; TableName = tableName; EventTime = eventTime; EventType = eventType; }
internal TriggerEvent(IEventSource source, ObjectName triggerName, ObjectName sourceName, TriggerEventType eventType, RowId oldRowId, Row newRow) { if (triggerName == null) { throw new ArgumentNullException("triggerName"); } if (sourceName == null) { throw new ArgumentNullException("sourceName"); } Source = source; TriggerName = triggerName; SourceName = sourceName; TriggerEventType = eventType; OldRowId = oldRowId; NewRow = newRow; }
public static string AsDebugString(this TriggerEventType eventType) { var matched = new List <string>(); if ((eventType & TriggerEventType.Insert) != 0) { matched.Add("INSERT"); } if ((eventType & TriggerEventType.Update) != 0) { matched.Add("UPDATE"); } if ((eventType & TriggerEventType.Delete) != 0) { matched.Add("DELETE"); } return(String.Join(" OR ", matched.ToArray())); }
public CreateTriggerStatement(ObjectName triggerName, ObjectName tableName, PlSqlBlockStatement body, TriggerEventTime eventTime, TriggerEventType eventType) { if (triggerName == null) { throw new ArgumentNullException("triggerName"); } if (tableName == null) { throw new ArgumentNullException("tableName"); } if (body == null) { throw new ArgumentNullException("body"); } TriggerName = triggerName; TableName = tableName; Body = body; EventTime = eventTime; EventType = eventType; }
public TriggerEvent(TriggerEvent other) { _type = other._type; _hasBeenTriggered = other._hasBeenTriggered; AutoReset = other.AutoReset; switch (_type) { case TriggerEventType.Part: _condition = new TriggerConditionPart((TriggerConditionPart)other._condition); break; case TriggerEventType.Flight: _condition = new TriggerConditionFlight((TriggerConditionFlight)other._condition); break; case TriggerEventType.Timer: _condition = new TriggerConditionTimer((TriggerConditionTimer)other._condition); break; } _previousValue = true; }
public TriggerEvent(TriggerEventType type, VesselTriggers vesselTriggers) { _type = type; _hasBeenTriggered = false; AutoReset = false; switch (_type) { case TriggerEventType.Part: _condition = new TriggerConditionPart(vesselTriggers); break; case TriggerEventType.Flight: _condition = new TriggerConditionFlight(vesselTriggers); break; case TriggerEventType.Timer: _condition = new TriggerConditionTimer(vesselTriggers); break; } _previousValue = true; }
/// <summary> /// Constructs a new trigger information object with the given name, /// the name of the table on which it is attached and the event /// at which it should be fired. /// </summary> /// <param name="triggerName">The fully qualified name of the trigger.</param> /// <param name="eventType">The modification event on the given table at which to /// fire the trigger.</param> /// <param name="triggerType">The type of trigger.</param> /// <param name="tableName">The fully qualified name of the table on which to attach /// the trigger.</param> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="triggerName"/> is <c>null</c> /// </exception> public TriggerInfo(ObjectName triggerName, TriggerType triggerType, TriggerEventType eventType, ObjectName tableName) { if (triggerName == null) { throw new ArgumentNullException("triggerName"); } if (triggerType == TriggerType.Callback && tableName != null) { throw new ArgumentException("A CALLBACK TRIGGER cannot define any table to be attached to."); } TriggerName = triggerName; EventType = eventType; TableName = tableName; TriggerType = triggerType; Arguments = new List <SqlExpression>(); Body = new TriggerBody(this); }
public CreateProcedureTriggerStatement(ObjectName triggerName, ObjectName tableName, ObjectName procedureName, InvokeArgument[] args, TriggerEventTime eventTime, TriggerEventType eventType) { if (triggerName == null) { throw new ArgumentNullException("triggerName"); } if (tableName == null) { throw new ArgumentNullException("tableName"); } if (procedureName == null) { throw new ArgumentNullException("procedureName"); } TriggerName = triggerName; TableName = tableName; ProcedureName = procedureName; ProcedureArguments = args; EventTime = eventTime; EventType = eventType; }
public void OnLoad(ConfigNode node, VesselTriggers triggerConfig) { bool dataFound = false; ConfigNode childNode = null; TriggerEventType eventType = (TriggerEventType)(-1); // Event dataFound = node.TryGetNode(KEY_EVENT, ref childNode); if (dataFound) { dataFound = childNode.TryGetEnum <TriggerEventType>("type", ref eventType, (TriggerEventType)(-1)); if (dataFound) { _event = new TriggerEvent(eventType, triggerConfig); if (_event != null) { ConfigNode.LoadObjectFromConfig(_event, childNode); } } } // Condition dataFound = node.TryGetNode(KEY_CONDITIONS, ref childNode); if (dataFound) { _conditions = new TriggerConditions(); ConfigNode.LoadObjectFromConfig(_conditions, childNode); _conditions.OnLoad(childNode, triggerConfig); } // Actions dataFound = node.TryGetNode(KEY_ACTIONS, ref childNode); if (dataFound) { _actions = new TriggerActions(); ConfigNode.LoadObjectFromConfig(_actions, childNode); _actions.OnLoad(childNode, triggerConfig); } }
public TriggerCreateRequest(string triggerName, string objectName, TriggerEventType eventType) { EventType = eventType; ObjectName = objectName; TriggerName = triggerName; }
public CallbackTriggerInfo(string triggerName, ObjectName tableName, TriggerEventTime eventTime, TriggerEventType eventType) : base(new ObjectName(triggerName), TriggerType.Callback, tableName, eventTime, eventType) { }
private void OnTableEvent(TriggerEventTime eventTime, TriggerEventType eventType, RowId rowId, Row row) { Request.Access().FireTriggers(Request, new TableEvent(this, eventTime, eventType, rowId, row)); }
public void Notify(string triggerName, string triggerSource, TriggerEventType eventType, int count) { if (callback != null) callback(new TriggerEventNotification(triggerName, triggerSource, TriggerType.Callback, eventType, count)); }
protected virtual void OnTriggerFired(string triggerName, string triggerSource, TriggerEventType eventType, int count) { lock (triggerChannels) { foreach (var channel in triggerChannels.Values) { if (channel.ShouldNotify(triggerName, triggerSource, eventType)) channel.Notify(triggerName, triggerSource, eventType, count); } } }
ITriggerChannel IConnector.CreateTriggerChannel(string triggerName, string objectName, TriggerEventType eventType) { return CreateTriggerChannel(triggerName, objectName, eventType); }
public static void CreateCallbackTrigger(this IQueryContext context, ObjectName triggerName, TriggerEventType eventType) { context.CreateTrigger(new TriggerInfo(triggerName, eventType)); }
protected override ITriggerChannel CreateTriggerChannel(string triggerName, string objectName, TriggerEventType eventType) { return ServerConnector.CreateTriggerChannel(triggerName, objectName, eventType); }
private IEnumerable<TriggerInfo> FindTriggers(ObjectName tableName, TriggerEventType eventType) { var fullTableName = tableName.FullName; var eventTypeCode = (int)eventType; var table = transaction.GetTable(SystemSchema.TriggerTableName); if (table == null) return new TriggerInfo[0]; var tableColumn = table.GetResolvedColumnName(3); var eventTypeColumn = table.GetResolvedColumnName(4); ITable result; using (var context = new SystemQueryContext(transaction, SystemSchema.Name)) { var t = table.SimpleSelect(context, tableColumn, SqlExpressionType.Equal, SqlExpression.Constant(DataObject.String(fullTableName))); result = t.ExhaustiveSelect(context, SqlExpression.Equal(SqlExpression.Reference(eventTypeColumn), SqlExpression.Constant(eventTypeCode))); } if (result.RowCount == 0) return new TriggerInfo[0]; var list = new List<TriggerInfo>(); foreach (var row in result) { var triggerInfo = FormTrigger(row); //TODO: get the other information such has the body, the external method or the procedure // if this is a non-callback list.Add(triggerInfo); } return list.AsEnumerable(); }
private bool MatchesEvent(TriggerEventTime eventTime, TriggerEventType eventType) { if (eventTime != EventTime) return false; return (EventType & eventType) != 0; }
public ITriggerChannel CreateTriggerChannel(string triggerName, string objectName, TriggerEventType eventType) { throw new NotImplementedException(); }
protected abstract ITriggerChannel CreateTriggerChannel(string triggerName, string objectName, TriggerEventType eventType);
protected virtual ITriggerChannel CreateTriggerChannel(string triggerName, string objectName, TriggerEventType eventType) { AssertAuthenticated(); lock (triggerLock) { if (triggerChannels == null) triggerChannels = new Dictionary<int, TriggerChannel>(); foreach (TriggerChannel channel in triggerChannels.Values) { // If there's an open channel for the trigger return it if (channel.ShouldNotify(triggerName, objectName, eventType)) return channel; } int id = ++triggerId; var newChannel = new TriggerChannel(this, id, triggerName, objectName, eventType); triggerChannels[id] = newChannel; return newChannel; } }
/// <summary> /// Constructs a new callback trigger information object with the given name, /// and the event at which it should be fired. /// </summary> /// <param name="triggerName">The fully qualified name of the trigger.</param> /// <param name="eventType">The modification event at which to fire the trigger.</param> /// <exception cref="ArgumentNullException"> /// Thrown if <paramref name="triggerName"/> is <c>null</c> /// </exception> public TriggerInfo(ObjectName triggerName, TriggerEventType eventType) : this(triggerName, TriggerType.Callback, eventType, null) { }
public CreateProcedureTriggerStatement(ObjectName triggerName, ObjectName tableName, ObjectName procedureName, TriggerEventTime eventTime, TriggerEventType eventType) : this(triggerName, tableName, procedureName, new InvokeArgument[0], eventTime, eventType) { }
public bool ShouldNotify(string triggerName, string objectName, TriggerEventType eventType) { if (!String.Equals(triggerName, TriggerName, StringComparison.OrdinalIgnoreCase)) return false; return (eventType & EventType) != 0; }
private static string FormMessage(ObjectName tableName, ObjectName triggerName, TriggerEventType eventType) { return String.Format("An error occurred when firing trigger '{0}' on table '{1}' on {2}", triggerName, tableName, eventType.AsString()); }
private void OnTableEvent(TriggerEventType eventType, RowId rowId, Row row) { Context.FireTriggers(new TableEvent(this, eventType, rowId, row)); }
public ProcedureTriggerInfo(ObjectName triggerName, ObjectName tableName, TriggerEventTime eventTime, TriggerEventType eventType, ObjectName procedureName) : this(triggerName, tableName, eventTime, eventType, procedureName, new InvokeArgument[0]) { }