PERF: only update etag when it changes

PERF: only update etag when it changes

Previously when synchronizing upload etags we would update every single one regardless of change.

diff --git a/lib/s3_inventory.rb b/lib/s3_inventory.rb
index 295e6cf..06265ff 100644
--- a/lib/s3_inventory.rb
+++ b/lib/s3_inventory.rb
@@ -58,8 +58,9 @@ class S3Inventory
             connection.async_exec("UPDATE #{model.table_name}
               SET etag = #{table_name}.etag
               FROM #{table_name}
-              WHERE #{model.table_name}.etag IS NULL
-                AND #{model.table_name}.url = #{table_name}.url")
+              WHERE #{model.table_name}.etag IS NULL AND
+                #{model.table_name}.etag <> #{table_name}.etag AND
+                #{model.table_name}.url = #{table_name}.url")
 
             list_missing_post_uploads if type == "original"
 

GitHub sha: 31976ecf

1 Like