liquid_feedback_core
changeset 401:ee922d286992
lf_update_issue_order deletes stale entries in "issue_order" that may arise due to missing referential integrity
author | jbe |
---|---|
date | Sat Oct 12 15:48:57 2013 +0200 (2013-10-12) |
parents | 782eb17c7ad9 |
children | 29835e2525bd |
files | lf_update_issue_order.c |
line diff
1.1 --- a/lf_update_issue_order.c Sat Oct 12 15:33:35 2013 +0200 1.2 +++ b/lf_update_issue_order.c Sat Oct 12 15:48:57 2013 +0200 1.3 @@ -605,6 +605,23 @@ 1.4 PQclear(res); 1.5 } 1.6 1.7 + // clean-up entries of deleted issues 1.8 + res = PQexec(db, "DELETE FROM \"issue_order\" USING \"issue_order\" AS \"issue_order2\" NATURAL LEFT JOIN \"issue\" WHERE \"issue_order\".\"id\" = \"issue_order2\".\"id\" AND \"issue\".\"id\" ISNULL"); 1.9 + if (!res) { 1.10 + fprintf(stderr, "Error in pqlib while sending SQL command deleting ordering data of deleted issues.\n"); 1.11 + err = 1; 1.12 + } else if ( 1.13 + PQresultStatus(res) != PGRES_COMMAND_OK && 1.14 + PQresultStatus(res) != PGRES_TUPLES_OK 1.15 + ) { 1.16 + fprintf(stderr, "Error while executing SQL command deleting ordering data of deleted issues:\n%s", PQresultErrorMessage(res)); 1.17 + err = 1; 1.18 + PQclear(res); 1.19 + } else { 1.20 + if (logging) printf("Cleaned up ordering data of %s deleted issues.\n", PQcmdTuples(res)); 1.21 + PQclear(res); 1.22 + } 1.23 + 1.24 // cleanup and exit: 1.25 PQfinish(db); 1.26 if (!err) {