Commits

Tuukka Norri committed d29cbd1

Schema changes
- Changed modification table cleanup so that connections may mark their own changes if they claim not to have an ongoing transaction. This was required for removing the optimization in change notification.

Comments (0)

Files changed (1)

Framework/Sources/PGTSModificationNotifier.m

     if (YES == rval && nil == [self lastCheckForTable: notificationName])
     {
 		log4AssertValueReturn (nil != connection, nil, @"Expected to have a connection.");
+        id isIdle = [NSNumber numberWithBool: PQTRANS_IDLE == [connection transactionStatus]];
         PGTSResultSet* res = [connection executeQuery: 
-            @"SELECT " PGTS_SCHEMA_NAME ".ModificationTableCleanup ();"
+            @"SELECT " PGTS_SCHEMA_NAME ".ModificationTableCleanup ($1);"
              "SELECT COALESCE (MAX (" PGTS_SCHEMA_NAME "_modification_timestamp), CURRENT_TIMESTAMP)::TIMESTAMP (3) WITHOUT TIME ZONE AS date "
-             " FROM " PGTS_SCHEMA_NAME ".Modification;"];
+             " FROM " PGTS_SCHEMA_NAME ".Modification;" parameters: isIdle];
         [res advanceRow];
         [self setLastCheck: [res valueForKey: @"date"] forTable: [notificationNames objectAtIndex: [tableInfo oid]]];
     }
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.