aboutsummaryrefslogtreecommitdiff
path: root/src/fclar.php
diff options
context:
space:
mode:
authorCassio de Campos <cassiopc@gmail.com>2017-10-24 14:58:09 +0000
committerCassio de Campos <cassiopc@gmail.com>2017-10-24 14:58:09 +0000
commitaaee4537fc9201e9d6a242583d82fd1bea97928c (patch)
treeff57c7f621382492910292b490d9c67e6f99e739 /src/fclar.php
parent006561454093d44a789463d531cfbc640c519867 (diff)
parent2c862aa5c6ac4afe4005582fc836b13775a99eac (diff)
downloadboca-aaee4537fc9201e9d6a242583d82fd1bea97928c.tar.gz
boca-aaee4537fc9201e9d6a242583d82fd1bea97928c.zip
Merge branch 'devel'
Diffstat (limited to 'src/fclar.php')
-rw-r--r--src/fclar.php15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/fclar.php b/src/fclar.php
index fd99c53..72364e8 100644
--- a/src/fclar.php
+++ b/src/fclar.php
@@ -300,7 +300,7 @@ function DBNewClar($param,$c=null) {
DBExec($c, "update sitetable set sitenextclar=$clarnumber" .
" where sitenumber=$site and contestnumber=$contest and sitenextclar<$clarnumber",
"DBNewClar(update site)");
- $clarnumber = myunique();
+ $clarnumber = myunique($clarnumber);
$clarinc = $clarnumber;
} else {
$sql = "select * from clartable as t where t.contestnumber=$contest and " .
@@ -338,11 +338,14 @@ function DBNewClar($param,$c=null) {
$ret=1;
if($insert) {
if($clarinc >= $clarnumber) {
- while(!DBExecNonStop($c, "INSERT INTO clartable (contestnumber, clarsitenumber, clarnumber, usernumber, clardate, " .
- "clardatediff, clardatediffans, clarproblem, clardata, claranswer, clarjudge, clarjudgesite, clarstatus, updatetime) VALUES " .
- "($contest, $site, $clarnumber, $user, $clardate, $clardatediff, $clardatediffans, $problem, '$question', " .
- "'$claranswer', $clarjudge, $clarjudgesite, '$clarstatus', $updatetime)",
- "DBNewClar(insert clar)")) {
+ while(true) {
+ DBExec($c,"SAVEPOINT sp" . $clarnumber,"DBNewClar(insert clar sp)");
+ if(DBExecNonStop($c, "INSERT INTO clartable (contestnumber, clarsitenumber, clarnumber, usernumber, clardate, " .
+ "clardatediff, clardatediffans, clarproblem, clardata, claranswer, clarjudge, clarjudgesite, clarstatus, updatetime) VALUES " .
+ "($contest, $site, $clarnumber, $user, $clardate, $clardatediff, $clardatediffans, $problem, '$question', " .
+ "'$claranswer', $clarjudge, $clarjudgesite, '$clarstatus', $updatetime)",
+ "DBNewClar(insert clar)")) break;
+ DBExec($c,"ROLLBACK TO SAVEPOINT sp" . $clarnumber,"DBNewClar(insert clar sp rollback)");
$clarnumber++;
if($clarnumber > $clarinc + 3) break;
}