Skip to content

Commit 4b1a5cf

Browse files
committed
#1 Prevent lock table filling up
1 parent 1690210 commit 4b1a5cf

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

cls/TestCoverage/Data/CodeUnitMap.cls

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ ClassMethod Create(pFromHash As %String, pFromLine As %Integer, pToHash As %Stri
2525
{
2626
Set tSC = $$$OK
2727
Try {
28-
&sql(insert or update into TestCoverage_Data.CodeUnitMap
28+
&sql(insert or update %NOLOCK %NOCHECK into TestCoverage_Data.CodeUnitMap
2929
(FromHash, FromLine, ToHash, ToLine)
3030
select :pFromHash, :pFromLine, :pToHash, Counter
3131
from TestCoverage.Sequence(:pToLineStart,:pToLineEnd))
@@ -36,7 +36,7 @@ ClassMethod Create(pFromHash As %String, pFromLine As %Integer, pToHash As %Stri
3636
// Insert/update transitive data (e.g., .INT -> .MAC (generator) -> .CLS)
3737
&sql(
3838
/* Lines that map to the "from" line also map to the "to" line */
39-
insert or update into TestCoverage_Data.CodeUnitMap
39+
insert or update %NOLOCK %NOCHECK into TestCoverage_Data.CodeUnitMap
4040
(FromHash, FromLine, ToHash, ToLine)
4141
select FromHash, FromLine, :pToHash, Counter
4242
from TestCoverage.Sequence(:pToLineStart,:pToLineEnd),TestCoverage_Data.CodeUnitMap

cls/TestCoverage/Data/Run.cls

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ ClassMethod MapRunCoverage(pRunIndex As %Integer) As %Status
5757

5858
// Here's a worse-performing approach with some extrinsic calls that ideally wouldn't be necessary:
5959
&SQL(
60-
INSERT OR UPDATE INTO TestCoverage_Data.Coverage
60+
INSERT OR UPDATE %NOLOCK %NOCHECK INTO TestCoverage_Data.Coverage
6161
(Run,Hash,TestPath,CoveredLines,Ignore)
6262
SELECT :pRunIndex,map.ToHash,%exact source.TestPath,TestCoverage.BITWISE_OR(
6363
TestCoverage.LIST_TO_BIT(%DLIST(
@@ -83,7 +83,7 @@ ClassMethod MapRunCoverage(pRunIndex As %Integer) As %Status
8383
// Copy any other metrics captured/requested as well.
8484
For i=1:1:tRun.Metrics.Count() {
8585
Set tMetric = tRun.Metrics.GetAt(i)
86-
Set tSQLStatement = "INSERT OR UPDATE INTO TestCoverage_Data.""Coverage_"_tMetric_""" "_
86+
Set tSQLStatement = "INSERT OR UPDATE %NOLOCK %NOCHECK INTO TestCoverage_Data.""Coverage_"_tMetric_""" "_
8787
"(Coverage,element_key,"""_tMetric_""") "_
8888
"SELECT target.ID,map.ToLine,NVL(oldMetric."""_tMetric_""",0) + metric."""_tMetric_""" "_
8989
"FROM TestCoverage_Data.Coverage source "_

cls/TestCoverage/Utils.cls

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ ClassMethod AggregateCoverage(pTestIndex As %String) As %Status
134134
Throw ##class(%Exception.SQL).CreateFromSQLCODE(SQLCODE,%msg)
135135
}
136136
&sql(
137-
insert into TestCoverage_Data.Coverage (
137+
insert %NOLOCK %NOCHECK into TestCoverage_Data.Coverage (
138138
Run,TestPath,Hash,Calculated,Ignore,
139139
CoveredLines)
140140
select :pTestIndex,:tRollupTestPath,Hash,1,0,
@@ -153,7 +153,7 @@ ClassMethod AggregateCoverage(pTestIndex As %String) As %Status
153153
// Copy any other metrics captured/requested as well.
154154
For i=1:1:tRun.Metrics.Count() {
155155
Set tMetric = tRun.Metrics.GetAt(i)
156-
Set tSQLStatement = "INSERT INTO TestCoverage_Data.""Coverage_"_tMetric_""" "_
156+
Set tSQLStatement = "INSERT %NOLOCK %NOCHECK INTO TestCoverage_Data.""Coverage_"_tMetric_""" "_
157157
"(Coverage,element_key,"""_tMetric_""") "_
158158
"SELECT target.ID,metric.element_key,SUM(metric."""_tMetric_""") "_
159159
"FROM TestCoverage_Data.Coverage source "_
@@ -178,7 +178,7 @@ ClassMethod AggregateCoverage(pTestIndex As %String) As %Status
178178

179179
// Aggregate by code unit
180180
&sql(
181-
insert into TestCoverage_Data_Aggregate.ByCodeUnit (
181+
insert %NOLOCK %NOCHECK into TestCoverage_Data_Aggregate.ByCodeUnit (
182182
Run,
183183
CodeUnit,
184184
ExecutableLines,
@@ -246,7 +246,7 @@ ClassMethod AggregateCoverage(pTestIndex As %String) As %Status
246246

247247
// Aggregate for full run
248248
&sql(
249-
insert into TestCoverage_Data_Aggregate.ByRun
249+
insert %NOLOCK %NOCHECK into TestCoverage_Data_Aggregate.ByRun
250250
(Run, ExecutableLines ,CoveredLines,
251251
ExecutableMethods, CoveredMethods,
252252
RtnLine, "Time", TotalTime)

0 commit comments

Comments
 (0)