Răsfoiți Sursa

Avoid deadlocks in updates test (#6372)

Brad Wood 4 ani în urmă
părinte
comite
e39a84e65e

+ 4 - 2
frameworks/CFML/CFML/src/.cfconfig.json

@@ -6,9 +6,11 @@
             "host":"tfb-database",
             "password":"benchmarkdbpass",
             "port":"5432",
-            "username":"benchmarkdbuser"
+            "username":"benchmarkdbuser",
+            "requestExclusive":true
         }
     },
     "inspectTemplate":"never",
-    "maxCFThreads":"512"
+    "maxCFThreads":"512",
+    "adminPassword":"password"
 }

+ 8 - 11
frameworks/CFML/CFML/src/updates.cfm

@@ -17,15 +17,12 @@
     </cfquery>
     <cfset results.append( { 'id' : qry.id, 'randomNumber' : randRange( 1, 1000 ) } )>
 </cfloop>
-<cfquery datasource="world">
-    update World as w set
-        randomNumber = w2.randomNumber
-    from (values
-        #results.reduce( (acc,r)=>{
-            acc = acc.listAppend( "(#val( r.id )#, #val( r.randomNumber )#)" );
-            return acc;
-         }, '')#
-        ) as w2(id,randomNumber)
-    where w2.id = w.id;
-</cfquery>
+
+<cfloop array="#results#" index="i">
+    <cfquery datasource="world">
+        update World 
+        SET randomNumber = #val( i.randomNumber )#
+        where id = #val( i.id )#;
+    </cfquery>
+</cfloop>
 <cfoutput>#serializeJSON( results )#</cfoutput>