# HG changeset patch # User jbe # Date 1381693343 -7200 # Node ID c67971a3adaac3961cec28dac7c269b76616f10c # Parent 236cabef04d2e07f23fd06155d39d32a713f2a41 lf_update_issue_order.c: Insert "issue_order" rows for all issues in the area diff -r 236cabef04d2 -r c67971a3adaa lf_update_issue_order.c --- a/lf_update_issue_order.c Sun Oct 13 21:37:24 2013 +0200 +++ b/lf_update_issue_order.c Sun Oct 13 21:42:23 2013 +0200 @@ -206,7 +206,7 @@ PGresult *res; char *cmd; int i; - if (asprintf(&cmd, "BEGIN; DELETE FROM \"issue_order\" USING \"issue\" WHERE \"issue_order\".\"id\" = \"issue\".\"id\" AND \"issue\".\"area_id\" = %s", escaped_area_id) < 0) { + if (asprintf(&cmd, "BEGIN; DELETE FROM \"issue_order\" USING \"issue\" WHERE \"issue_order\".\"id\" = \"issue\".\"id\" AND \"issue\".\"area_id\" = %s; INSERT INTO \"issue_order\" (\"id\") SELECT \"id\" FROM \"issue\" WHERE \"area_id\" = %s", escaped_area_id, escaped_area_id) < 0) { fprintf(stderr, "Could not prepare query string in memory.\n"); abort(); } @@ -232,7 +232,7 @@ fprintf(stderr, "Could not escape literal in memory.\n"); abort(); } - if (asprintf(&cmd, "INSERT INTO \"issue_order\" (\"id\", \"order_in_admission_state\") VALUES (%s, %i)", escaped_issue_id, candidates[i].seat) < 0) { + if (asprintf(&cmd, "UPDATE \"issue_order\" SET \"order_in_admission_state\" = %i WHERE \"id\" = %s", candidates[i].seat, escaped_issue_id) < 0) { fprintf(stderr, "Could not prepare query string in memory.\n"); abort(); } @@ -240,12 +240,12 @@ res = PQexec(db, cmd); free(cmd); if (!res) { - fprintf(stderr, "Error in pqlib while sending SQL command to insert issue order.\n"); + fprintf(stderr, "Error in pqlib while sending SQL command to update issue order in admission state.\n"); } else if ( PQresultStatus(res) != PGRES_COMMAND_OK && PQresultStatus(res) != PGRES_TUPLES_OK ) { - fprintf(stderr, "Error while executing SQL command to insert issue order:\n%s", PQresultErrorMessage(res)); + fprintf(stderr, "Error while executing SQL command to update issue order in admission state:\n%s", PQresultErrorMessage(res)); PQclear(res); } else { PQclear(res); @@ -316,12 +316,12 @@ res = PQexec(db, cmd); free(cmd); if (!res) { - fprintf(stderr, "Error in pqlib while sending SQL command to update issue order.\n"); + fprintf(stderr, "Error in pqlib while sending SQL command to update issue order in open states.\n"); } else if ( PQresultStatus(res) != PGRES_COMMAND_OK && PQresultStatus(res) != PGRES_TUPLES_OK ) { - fprintf(stderr, "Error while executing SQL command to update issue order:\n%s", PQresultErrorMessage(res)); + fprintf(stderr, "Error while executing SQL command to update issue order in open states:\n%s", PQresultErrorMessage(res)); PQclear(res); } else { PQclear(res);