]> git.wh0rd.org - tt-rss.git/commitdiff
offline: properly close resultsets with rs.close()
authorAndrew Dolgov <fox@bah.org.ru>
Wed, 4 Feb 2009 11:20:25 +0000 (14:20 +0300)
committerAndrew Dolgov <fox@bah.org.ru>
Wed, 4 Feb 2009 11:20:25 +0000 (14:20 +0300)
offline.js
viewfeed.js

index 8358bc47981f03f26c12ede39ef776f946d09904..dbf1170edbca5c5c40a25d62799512f63e46cd0a 100644 (file)
@@ -51,6 +51,8 @@ function view_offline(id, feed_id) {
                        update_local_feedlist_counters();
                }
 
+               rs.close();
+
                return false;
 
        } catch (e) {
@@ -141,8 +143,6 @@ function viewfeed_offline(feed_id, subop, is_cat, subop_param, skip_history, off
                        
                        }
        
-                       var rs;
-
                        var limit = 30;
                
                        var toolbar_form = document.forms["main_toolbar_form"];
@@ -252,6 +252,8 @@ function viewfeed_offline(feed_id, subop, is_cat, subop_param, skip_history, off
                                rs.next();
                                line_num++;
                        }
+
+                       rs.close();
        
                        if (offset == 0) {
                                tmp += "</table>";
@@ -333,6 +335,8 @@ function render_offline_feedlist() {
                        rs.next();
                }
 
+               rs.close();
+
                tmp += "</ul>";
 
                render_feedlist(tmp);
@@ -449,6 +453,7 @@ function update_offline_data(stage) {
                var query = "backend.php?op=rpc&subop=download&stage=" + stage;
 
                var rs = db.execute("SELECT MAX(id), MIN(id) FROM articles");
+
                if (rs.isValidRow() && rs.field(0)) {
                        var offline_dl_max_id = rs.field(0);
                        var offline_dl_min_id = rs.field(1);
@@ -457,6 +462,8 @@ function update_offline_data(stage) {
                        query = query + "&cidb=" + offline_dl_min_id;
                }
 
+               rs.close();
+
                new Ajax.Request(query, {
                        onComplete: function(transport) { 
                                offline_download_parse(stage, transport);                               
@@ -530,6 +537,8 @@ function update_local_feedlist_counters() {
                        rs.next();
                }
 
+               rs.close();
+
                set_feedlist_counter(-4, get_local_feed_unread(-4));
                set_feedlist_counter(-1, get_local_feed_unread(-1));
 
@@ -555,12 +564,18 @@ function get_local_feed_unread(id) {
                        rs = db.execute("SELECT SUM(unread) FROM articles WHERE feed_id = ?", [id]);
                }
 
+               var a = false;
+
                if (rs.isValidRow()) {
-                       return rs.field(0);
+                       a = rs.field(0);
                } else {
-                       return 0;
+                       a = 0;
                }
 
+               rs.close();
+
+               return a;
+
        } catch (e) {
                exception_error("get_local_feed_unread", e);
        }
index 7aaa7f77bc912a0d264c31db7dc0dd384f2e14ea..d4967aefa4b30108ad0a8d67f729211b4f298aef 100644 (file)
@@ -1520,11 +1520,16 @@ function cache_find(id) {
 
        if (db) {
                var rs = db.execute("SELECT article FROM cache WHERE id = ?", [id]);
+               var a = false;
 
                if (rs.isValidRow()) {
-                       return rs.field(0);
+                       var a = rs.field(0);                    
                }
 
+               rs.close();
+
+               return a;
+
        } else {
                for (var i = 0; i < article_cache.length; i++) {
                        if (article_cache[i]["id"] == id) {
@@ -1540,11 +1545,16 @@ function cache_find_param(id, param) {
        if (db) {
                var rs = db.execute("SELECT article FROM cache WHERE id = ? AND param = ?",
                        [id, param]);
+               var a = false;
 
                if (rs.isValidRow()) {
-                       return rs.field(0);
+                       a = rs.field(0);
                }
 
+               rs.close();
+
+               return a;
+
        } else {
                for (var i = 0; i < article_cache.length; i++) {
                        if (article_cache[i]["id"] == id && article_cache[i]["param"] == param) {
@@ -1560,11 +1570,16 @@ function cache_check(id) {
        if (db) {
                var rs = db.execute("SELECT COUNT(*) AS c FROM cache WHERE id = ?",
                        [id]);
+               var a = false;
 
                if (rs.isValidRow()) {
-                       return rs.field(0) != "0";
+                        a = rs.field(0) != "0";
                }
 
+               rs.close();
+
+               return a;
+
        } else {
                for (var i = 0; i < article_cache.length; i++) {
                        if (article_cache[i]["id"] == id) {
@@ -1580,11 +1595,16 @@ function cache_check_param(id, param) {
        if (db) {
                var rs = db.execute("SELECT COUNT(*) AS c FROM cache WHERE id = ? AND param = ?",
                        [id, param]);
+               var a = false;
 
                if (rs.isValidRow()) {
-                       return rs.field(0) != "0";
+                       a = rs.field(0) != "0";
                }
 
+               rs.close();
+
+               return a;
+
        } else {
                for (var i = 0; i < article_cache.length; i++) {
                        if (article_cache[i]["id"] == id && article_cache[i]["param"] == param) {