From 9d19e272d672ffc224dfed2799f8e480ecb583e4 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Thu, 17 Dec 2009 21:16:51 -0800 Subject: [PATCH] Convert some database queries. --- modules/gallery/helpers/gallery_event.php | 25 +++++++++++------------ modules/gallery/helpers/module.php | 23 ++++++++++++++++----- 2 files changed, 30 insertions(+), 18 deletions(-) diff --git a/modules/gallery/helpers/gallery_event.php b/modules/gallery/helpers/gallery_event.php index 37f39d1504..301432d442 100644 --- a/modules/gallery/helpers/gallery_event.php +++ b/modules/gallery/helpers/gallery_event.php @@ -49,19 +49,18 @@ static function user_deleted($user) { static function identity_provider_changed($old_provider, $new_provider) { $admin = identity::admin_user(); - $db = Database::instance(); - $db->from("tasks") - ->set(array("owner_id" => $admin->id)) - ->where("1", "=", "1") // @todo why do we need this? - ->update(); - $db->from("items") - ->set(array("owner_id" => $admin->id)) - ->where("1", "=", "1") // @todo why do we need this? - ->update(); - $db->from("logs") - ->set(array("user_id" => $admin->id)) - ->where("1", "=", "1") // @todo why do we need this? - ->update(); + db::build() + ->update("tasks") + ->set("owner_id", $admin->id) + ->execute(); + db::build() + ->update("items") + ->set("owner_id", $admin->id) + ->execute(); + db::build() + ->update("logs") + ->set("user_id", $admin->id) + ->execute(); } static function group_created($group) { diff --git a/modules/gallery/helpers/module.php b/modules/gallery/helpers/module.php index b8928f7b70..71c4efa0b8 100644 --- a/modules/gallery/helpers/module.php +++ b/modules/gallery/helpers/module.php @@ -432,17 +432,30 @@ static function set_var($module_name, $name, $value) { /** * Increment the value of a variable for this module + * + * Note: Frequently updating counters is very inefficient because it invalidates the cache value + * which has to be rebuilt every time we make a change. + * + * @todo Get rid of this and find an alternate approach for all callers (currently only Akismet) + * + * @deprecated * @param string $module_name * @param string $name * @param string $increment (optional, default is 1) */ static function incr_var($module_name, $name, $increment=1) { - Database::instance()->query( - "UPDATE {vars} SET `value` = `value` + $increment " . - "WHERE `module_name` = '$module_name' " . - "AND `name` = '$name'"); + db::build() + ->update("vars") + ->set("value", new Database_Expression("`value` + $increment")) + ->where("module_name", "=", $module_name) + ->where("name", "=", $name) + ->execute(); - Database::instance()->delete("vars", array("module_name" => "gallery", "name" => "_cache")); + db::build() + ->delete("vars") + ->where("module_name", "=", "gallery") + ->where("name", "=", "_cache") + ->execute(); self::$var_cache = null; }