diff options
| author | Cassio de Campos <cassiopc@gmail.com> | 2017-11-06 08:16:09 +0000 |
|---|---|---|
| committer | Cassio de Campos <cassiopc@gmail.com> | 2017-11-06 08:16:09 +0000 |
| commit | d05950d6b7a6f15abc90fb3999fa151125ec7023 (patch) | |
| tree | ca41ede0997eaa63391119dae241ed96de7ee6c1 | |
| parent | 1184838f1f5289ef7135de4b566f78aa4a41af4a (diff) | |
| download | boca-d05950d6b7a6f15abc90fb3999fa151125ec7023.tar.gz boca-d05950d6b7a6f15abc90fb3999fa151125ec7023.zip | |
clars must propagate regardless, runs only if not new
| -rw-r--r-- | src/fextdata.php | 5 | ||||
| -rw-r--r-- | src/frun.php | 13 |
2 files changed, 15 insertions, 3 deletions
diff --git a/src/fextdata.php b/src/fextdata.php index 2b2d007..ca66a45 100644 --- a/src/fextdata.php +++ b/src/fextdata.php @@ -558,7 +558,8 @@ function importFromXML($ar,$contest,$site,$tomain=false,$uptime=0,$mainsite=-1) if(isset($param['usersitenumber']) && !isset($param['sitenumber'])) $param['sitenumber']=$param['usersitenumber']; if(isset($param['clarsitenumber']) && !isset($param['sitenumber'])) $param['sitenumber']=$param['clarsitenumber']; if(isset($param['runsitenumber']) && !isset($param['sitenumber'])) $param['sitenumber']=$param['runsitenumber']; - if(!isset($param['sitenumber']) || ($param['sitenumber'] != $site && $param['sitenumber'] != $mainsite)) { + if(!isset($param['sitenumber']) || ($param['sitenumber'] != $site && ($param['sitenumber'] != $mainsite || $tomain) && + ($table != 'clartable' || $tomain))) { $logstr .= "$serv - site mismatch should be [$site] and is [" . $param['sitenumber'] . "]\n"; LOGError("importFromXML: site mismatch should be [$site] and is [" . $param['sitenumber'] . "]"); continue; @@ -635,7 +636,7 @@ function importFromXML($ar,$contest,$site,$tomain=false,$uptime=0,$mainsite=-1) } } if($table == "runtable") { - if(($ret=DBNewRun ($param, $conn))) { + if(($ret=DBNewRun ($param, $conn, $tomain))) { if($ret==2) { $logstr .= "$serv - Run " . $param['runnumber'] ."/".$param['sitenumber']." updated\n"; LOGInfo("importFromXML: Run " . $param['runnumber'] ."/".$param['sitenumber']." updated"); diff --git a/src/frun.php b/src/frun.php index ed7f1b4..d920e74 100644 --- a/src/frun.php +++ b/src/frun.php @@ -644,7 +644,7 @@ function DBOpenRunsSNS($contest,$site,$st,$order='run') { $a[$i] = DBRow($r,$i); return $a; } -function DBNewRun($param,$c=null) { +function DBNewRun($param,$c=null,$allowinsert=true) { if(isset($param['contestnumber']) && !isset($param['contest'])) $param['contest']=$param['contestnumber']; if(isset($param['sitenumber']) && !isset($param['site'])) $param['site']=$param['sitenumber']; if(isset($param['runsitenumber']) && !isset($param['site'])) $param['site']=$param['runsitenumber']; @@ -760,9 +760,20 @@ function DBNewRun($param,$c=null) { $oid1 = $lr['autostdout']; if(isset($lr['autostderr'])) $oid2 = $lr['autostderr']; + } else { + if(!$allowinsert) { + if($cw) + DBExec($c, "rollback work", "DBNewRun(rollback-noinsert)"); + return -1; + } } $runinc = $runnumber - 1; } else { + if(!$allowinsert) { + if($cw) + DBExec($c, "rollback work", "DBNewRun(rollback-noinsert)"); + return -1; + } $runnumber = $a["nextrun"] + 1; DBExec($c, "update sitetable set sitenextrun=$runnumber" . " where sitenumber=$site and contestnumber=$contest and sitenextrun<$runnumber", "DBNewRun(update site)"); |