BUGFIX: error in card dealing routine
authorArun Persaud <arun@nubati.net>
Sun, 18 Jan 2009 20:01:24 +0000 (12:01 -0800)
committerArun Persaud <arun@nubati.net>
Sun, 18 Jan 2009 20:01:24 +0000 (12:01 -0800)
same hand got dealt twice due to an error in the new routine. Fixed it, but slowed it down
again to roughly 2s per request.

include/db.php

index 6d4080c26ceefaa17232503a9e49e82af096b8a3..6e1af93c31faa2c64fd5a000467eade4bc5d8143 100644 (file)
@@ -820,7 +820,7 @@ function DB_get_unused_randomnumbers($userstr)
   */
   DB_query("DROP   TEMPORARY TABLE IF EXISTS gametmp;");
   DB_query("CREATE TEMPORARY TABLE gametmp SELECT id,randomnumbers FROM Game;");
-  DB_query("DELETE FROM gametmp WHERE id IN (SELECT game_id FROM Hand WHERE user_id IN (".$userstr."));");
+  DB_query("DELETE FROM gametmp WHERE randomnumbers IN (SELECT randomnumbers FROM Hand LEFT JOIN Game ON Game.id=game_id WHERE user_id IN (".$userstr."));");
 
   $r = DB_query_array("SELECT randomnumbers FROM gametmp LIMIT 1;");
   DB_query("DROP   TEMPORARY TABLE IF EXISTS gametmp;");