public Guid GetOrCreate(string stackTrace, string source)
 {
     return(GetOrCreate(stackTrace, hash => new Stack {
         Id = Guid.NewGuid(),
         SourceId = _stackSourceRepository.GetId(source),
         HashValue = hash,
         StackTrace = stackTrace
     }));
 }
 public Guid GetOrCreate(string queryText, string querySource)
 {
     return(GetOrCreate(queryText, hash => {
         var historyItem = new NormQueryTextHistory {
             Id = Guid.NewGuid(),
             HashValue = hash,
             NormalizedQuery = queryText
         };
         _pendingQuerySources.Add(new NormQueryTextSource {
             QuerySourceId = _querySourceRepository.GetId(querySource),
             NormQueryTextId = historyItem.Id
         });
         return historyItem;
     }));
 }
Exemple #3
0
        public void RegisterLock(QueryLockInfo lockInfo)
        {
            if (lockInfo.TimeStamp <= _lastQueryDate.Value)
            {
                return;
            }
            Guid blockedTextId = _queryTextStoringService.GetOrCreate(lockInfo.Blocked.Text, "LongLocks");
            Guid blockerTextId = _queryTextStoringService.GetOrCreate(lockInfo.Blocker.Text, "LongLocks");
            Guid lockingMode   = _lockModeRepository.GetId(lockInfo.LockMode);
            var  locksInfo     = _dateRepository.CreateInfoRecord <LongInfoRecord>(lockInfo.TimeStamp);

            locksInfo.BlockedQueryId = blockedTextId;
            locksInfo.BlockerQueryId = blockerTextId;
            locksInfo.LockingModeId  = lockingMode;
            locksInfo.Duration       = lockInfo.Duration;
            _pendingLocksInfo.Add(locksInfo);
        }