Thu Mar 17 19:43:33 PST 2005
- Previous message: [Slony1-commit] By smsimms: Added a "-c" to execute_script.pl, a la psql.
- Next message: [Slony1-commit] By darcyb: Update sigaction flags to conform to POSIX standard.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Log Message: ----------- cleanup thread uses Slony-I stored procedure getMinXid() instead of trying to draw it out of pg_locks, eliminating the need to compare values. Modified Files: -------------- slony1-engine/src/slon: cleanup_thread.c (r1.22 -> r1.23) -------------- next part -------------- Index: cleanup_thread.c =================================================================== RCS file: /usr/local/cvsroot/slony1/slony1-engine/src/slon/cleanup_thread.c,v retrieving revision 1.22 retrieving revision 1.23 diff -Lsrc/slon/cleanup_thread.c -Lsrc/slon/cleanup_thread.c -u -w -r1.22 -r1.23 --- src/slon/cleanup_thread.c +++ src/slon/cleanup_thread.c @@ -260,40 +260,23 @@ pthread_exit(NULL); } +/* "_T1".getMinXid(); */ static unsigned long get_earliest_xid (PGconn *dbconn) { - unsigned long lo = 2147483647; - unsigned long minhi = -1; - unsigned long minlo = lo; - unsigned long xid; + long long xid; long n,t; PGresult *res; SlonDString query1; dstring_init(&query1); - slon_mkquery(&query1, "select transaction from pg_catalog.pg_locks where transaction is not null;"); + slon_mkquery(&query1, "select %s.getMinXid();", rtcfg_namespace); res = PQexec(dbconn, dstring_data(&query1)); if (PQresultStatus(res) != PGRES_TUPLES_OK) { slon_log(SLON_FATAL, "cleanupThread: could not read locks from pg_locks!"); PQclear(res); slon_abort(); return -1; - } else { - n = PQntuples(res); - for (t = 0; t < n; t++) { - xid = atoi(PQgetvalue(res, t, 0)); - printf ("xid: %d\n", xid); - if (xid > lo) { - if (xid < minlo) - minlo = xid; - } else { - if (xid < minhi) - minhi = xid; } - } - } - printf("minhi: %d minlo: %d\n", minlo, minhi); - if ((minhi - lo) < minlo) - return minlo; - else - return minhi; + xid = strtoll(PQgetvalue(res, 0, 0), NULL, 10); + slon_log(SLON_DEBUG3, "cleanupThread: minxid: %d\n", xid); + return (unsigned long) xid; }
- Previous message: [Slony1-commit] By smsimms: Added a "-c" to execute_script.pl, a la psql.
- Next message: [Slony1-commit] By darcyb: Update sigaction flags to conform to POSIX standard.
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Slony1-commit mailing list