/// <summary> /// Select the distinct instance names of all fired-trigger records. /// </summary> /// <param name="conn">The conn.</param> /// <returns></returns> /// <remarks> /// This is useful when trying to identify orphaned fired triggers (a /// fired trigger without a scheduler state record.) /// </remarks> public ISet SelectFiredTriggerInstanceNames(ConnectionAndTransactionHolder conn) { ISet instanceNames = new HashSet(); using (IDbCommand cmd = PrepareCommand(conn, ReplaceTablePrefix(SqlSelectFiredTriggerInstanceNames))) { using (IDataReader rs = cmd.ExecuteReader()) { while (rs.Read()) { instanceNames.Add(rs[ColumnInstanceName]); } return instanceNames; } } }
/// <summary> /// Selects the paused trigger groups. /// </summary> /// <param name="conn">The DB Connection.</param> /// <returns></returns> public virtual ISet SelectPausedTriggerGroups(ConnectionAndTransactionHolder conn) { HashSet retValue = new HashSet(); using (IDbCommand cmd = PrepareCommand(conn, ReplaceTablePrefix(SqlSelectPausedTriggerGroups))) { using (IDataReader dr = cmd.ExecuteReader()) { while (dr.Read()) { string groupName = (string)dr[ColumnTriggerGroup]; retValue.Add(groupName); } } return retValue; } }
/// <summary> /// Gets the property groups. /// </summary> /// <param name="prefix">The prefix.</param> /// <returns></returns> public virtual string[] GetPropertyGroups(string prefix) { HashSet groups = new HashSet(10); if (!prefix.EndsWith(".")) { prefix += "."; } foreach (string key in props.Keys) { if (key.StartsWith(prefix)) { string groupName = key.Substring(prefix.Length, (key.IndexOf('.', prefix.Length)) - (prefix.Length)); groups.Add(groupName); } } return (string[]) groups.ToArray(typeof (string)); }