]> git.wh0rd.org - tt-rss.git/commitdiff
only update database entries when really needed
authorAndrew Dolgov <fox@madoka.spb.ru>
Mon, 29 Aug 2005 07:49:17 +0000 (08:49 +0100)
committerAndrew Dolgov <fox@madoka.spb.ru>
Mon, 29 Aug 2005 07:49:17 +0000 (08:49 +0100)
functions.php

index 03a10f94560c5c2a710b2c3c4449940f7ef3dbe6..7c5f4084bbd5fc6e8f9efe68793b1e4918dfaee6 100644 (file)
 //                                             print "<p>Update from different feed ($orig_feed_id, $feed): $entry_guid [$entry_title]";
                                                continue;
                                        }
+
+                                       $entry_is_modified = false;
                                        
                                        $orig_timestamp = pg_fetch_result($result, 0, "updated_timestamp");
                                        $orig_content_hash = pg_fetch_result($result, 0, "content_hash");
 //                                             $last_read_qpart = 'last_read = null,';
 //                                     }
                                
-                                       if (UPDATE_POST_ON_CHECKSUM_CHANGE && 
-                                                       $orig_content_hash != $content_hash) {
-                                               $last_read_qpart = 'last_read = null,';
+                                       if ($orig_content_hash != $content_hash) {
+                                               if (UPDATE_POST_ON_CHECKSUM_CHANGE) {
+                                                       $last_read_qpart = 'last_read = null,';
+                                               }
+                                               $entry_is_modified = true;                                              
+                                       }
+
+                                       if ($orig_title != $entry_title) {
+                                               $entry_is_modified = true;
+                                       }
+
+                                       if ($orig_timestamp != $entry_timestamp && !$orig_no_orig_date) {
+                                               $entry_is_modified = true;
                                        }
 
 //                                     if (!$no_orig_date && $orig_timestamp < $entry_timestamp) {
 //                                             $last_read_qpart = 'last_read = null,';
 //                                     }
 
-                                       $entry_comments = pg_escape_string($entry_comments);
-                                       $entry_content = pg_escape_string($entry_content);
-                                       $entry_title = pg_escape_string($entry_title);                                  
-                                       $entry_link = pg_escape_string($entry_link);
-                       
-                                       $query = "UPDATE ttrss_entries 
-                                               SET 
-                                                       $last_read_qpart 
-                                                       title = '$entry_title',
-                                                       link = '$entry_link', 
-                                                       updated = '$entry_timestamp_fmt',
-                                                       content = '$entry_content',
-                                                       comments = '$entry_comments',
-                                                       content_hash = '$content_hash'
-                                               WHERE
-                                                       id = '$orig_entry_id'";
+                                       if ($entry_is_modified) {
 
-                                       $result = pg_query($link, $query);
+                                               $entry_comments = pg_escape_string($entry_comments);
+                                               $entry_content = pg_escape_string($entry_content);
+                                               $entry_title = pg_escape_string($entry_title);                                  
+                                               $entry_link = pg_escape_string($entry_link);
 
+//                                             print "update object $entry_guid<br>";
+
+                                               $query = "UPDATE ttrss_entries 
+                                                       SET 
+                                                               $last_read_qpart 
+                                                               title = '$entry_title',
+                                                               link = '$entry_link', 
+                                                               updated = '$entry_timestamp_fmt',
+                                                               content = '$entry_content',
+                                                               comments = '$entry_comments',
+                                                               content_hash = '$content_hash'
+                                                       WHERE
+                                                               id = '$orig_entry_id'";
+
+                                               $result = pg_query($link, $query);
+                                       }
                                }
                        }