From: Matteo Nastasi (mop) Date: Fri, 16 Oct 2015 16:31:49 +0000 (+0200) Subject: increment game and match counter at the end of a game X-Git-Tag: v5.0.0~15 X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=commitdiff_plain;h=fd07ee7fe6eb1e0193fe878bfc49a9071f1ad8d2;p=brisk.git increment game and match counter at the end of a game --- diff --git a/web/Obj/dbase_pgsql.phh b/web/Obj/dbase_pgsql.phh index f7cb1a9..f9f6888 100644 --- a/web/Obj/dbase_pgsql.phh +++ b/web/Obj/dbase_pgsql.phh @@ -709,6 +709,7 @@ class BriskDB /* * matches management */ + $codes_where = ""; $mtc_sql = sprintf("UPDATE %sbin5_matches SET (mazzo_next, mult_next) = (%d, %d) WHERE ttok = '%s' RETURNING *;", $G_dbpfx, $table->mazzo, $table->mult, $sql_ttok); if (($mtc_pg = $this->query($mtc_sql)) == FALSE || pg_numrows($mtc_pg) != 1) { @@ -729,12 +730,35 @@ class BriskDB log_crit(sprintf("bin5_points_save: failed at insert table order [%s]", $ord_sql)); break; } + $codes_where .= sprintf("%scode = %d", ($i == 0 ? "" : " OR "), $ucodes[$i]); } if ($i < $n) break; + + $cnt_sql = sprintf("UPDATE %susers SET (match_cnt, game_cnt) + = (match_cnt+1, game_cnt+1) WHERE %s;", + $G_dbpfx, $codes_where); + error_log($cnt_sql); + if (($cnt_pg = $this->query($cnt_sql)) == FALSE || pg_affected_rows($cnt_pg) != $n) { + log_crit(sprintf("bin5_points_save: failed increment match and game [%s]", $cnt_sql)); + break; + } } else { $mtc_obj = pg_fetch_object($mtc_pg,0); + + for ($i = 0 ; $i < $n ; $i++) { + $codes_where .= sprintf("%scode = %d", ($i == 0 ? "" : " OR "), $ucodes[$i]); + } + + $cnt_sql = sprintf("UPDATE %susers SET (game_cnt) + = (game_cnt+1) WHERE %s;", + $G_dbpfx, $codes_where); + error_log($cnt_sql); + if (($cnt_pg = $this->query($cnt_sql)) == FALSE || pg_affected_rows($cnt_pg) != $n) { + log_crit(sprintf("bin5_points_save: failed increment game [%s]", $cnt_sql)); + break; + } } /*