liquid_feedback_core
changeset 65:bdccc56fb705 v1.2.4
lf_update continues on error (but still reports errors)
and version number changed to v1.2.4 (without any other schema changes)
and version number changed to v1.2.4 (without any other schema changes)
author | jbe |
---|---|
date | Sun Aug 15 17:10:47 2010 +0200 (2010-08-15) |
parents | 6dba5c0eb0ec |
children | bdee8dc73a63 |
files | core.sql lf_update.c update/core-update.v1.2.3-v1.2.4.sql |
line diff
1.1 --- a/core.sql Sat Jul 24 16:52:51 2010 +0200 1.2 +++ b/core.sql Sun Aug 15 17:10:47 2010 +0200 1.3 @@ -6,7 +6,7 @@ 1.4 BEGIN; 1.5 1.6 CREATE VIEW "liquid_feedback_version" AS 1.7 - SELECT * FROM (VALUES ('1.2.3', 1, 2, 3)) 1.8 + SELECT * FROM (VALUES ('1.2.4', 1, 2, 4)) 1.9 AS "subquery"("string", "major", "minor", "revision"); 1.10 1.11
2.1 --- a/lf_update.c Sat Jul 24 16:52:51 2010 +0200 2.2 +++ b/lf_update.c Sun Aug 15 17:10:47 2010 +0200 2.3 @@ -6,6 +6,7 @@ 2.4 int main(int argc, char **argv) { 2.5 2.6 // variable declarations: 2.7 + int err = 0; 2.8 int i, count; 2.9 char *conninfo; 2.10 PGconn *db; 2.11 @@ -57,97 +58,105 @@ 2.12 status = PQexec(db, "DELETE FROM \"expired_session\""); 2.13 if (!status) { 2.14 fprintf(stderr, "Error in pqlib while sending SQL command deleting expired sessions\n"); 2.15 - return 1; 2.16 - } 2.17 - if ( 2.18 + err = 1; 2.19 + } else if ( 2.20 PQresultStatus(status) != PGRES_COMMAND_OK && 2.21 PQresultStatus(status) != PGRES_TUPLES_OK 2.22 ) { 2.23 fprintf(stderr, "Error while executing SQL command deleting expired sessions:\n%s", PQresultErrorMessage(status)); 2.24 - return 1; 2.25 + err = 1; 2.26 + PQclear(status); 2.27 + } else { 2.28 + PQclear(status); 2.29 } 2.30 2.31 // calculate member counts: 2.32 status = PQexec(db, "SELECT \"calculate_member_counts\"()"); 2.33 if (!status) { 2.34 fprintf(stderr, "Error in pqlib while sending SQL command calculating member counts\n"); 2.35 - return 1; 2.36 - } 2.37 - if ( 2.38 + err = 1; 2.39 + } else if ( 2.40 PQresultStatus(status) != PGRES_COMMAND_OK && 2.41 PQresultStatus(status) != PGRES_TUPLES_OK 2.42 ) { 2.43 fprintf(stderr, "Error while executing SQL command calculating member counts:\n%s", PQresultErrorMessage(status)); 2.44 - return 1; 2.45 + err = 1; 2.46 + PQclear(status); 2.47 + } else { 2.48 + PQclear(status); 2.49 } 2.50 2.51 // update open issues: 2.52 list = PQexec(db, "SELECT \"id\" FROM \"open_issue\""); 2.53 if (!list) { 2.54 fprintf(stderr, "Error in pqlib while sending SQL command selecting open issues\n"); 2.55 - return 1; 2.56 - } 2.57 - if (PQresultStatus(list) != PGRES_TUPLES_OK) { 2.58 + err = 1; 2.59 + } else if (PQresultStatus(list) != PGRES_TUPLES_OK) { 2.60 fprintf(stderr, "Error while executing SQL command selecting open issues:\n%s", PQresultErrorMessage(list)); 2.61 - return 1; 2.62 + err = 1; 2.63 + PQclear(list); 2.64 + } else { 2.65 + count = PQntuples(list); 2.66 + for (i=0; i<count; i++) { 2.67 + const char *params[1]; 2.68 + params[0] = PQgetvalue(list, i, 0); 2.69 + status = PQexecParams( 2.70 + db, "SELECT \"check_issue\"($1)", 1, NULL, params, NULL, NULL, 0 2.71 + ); 2.72 + if (!status) { 2.73 + fprintf(stderr, "Error in pqlib while sending SQL command to call function \"check_issue\"(...):\n"); 2.74 + err = 1; 2.75 + } else if ( 2.76 + PQresultStatus(status) != PGRES_COMMAND_OK && 2.77 + PQresultStatus(status) != PGRES_TUPLES_OK 2.78 + ) { 2.79 + fprintf(stderr, "Error while calling SQL function \"check_issue\"(...):\n%s", PQresultErrorMessage(status)); 2.80 + err = 1; 2.81 + PQclear(status); 2.82 + } else { 2.83 + PQclear(status); 2.84 + } 2.85 + } 2.86 + PQclear(list); 2.87 } 2.88 - count = PQntuples(list); 2.89 - for (i=0; i<count; i++) { 2.90 - const char *params[1]; 2.91 - params[0] = PQgetvalue(list, i, 0); 2.92 - status = PQexecParams( 2.93 - db, "SELECT \"check_issue\"($1)", 1, NULL, params, NULL, NULL, 0 2.94 - ); 2.95 - if (!status) { 2.96 - fprintf(stderr, "Error in pqlib while sending SQL command to call function \"check_issue\"(...):\n"); 2.97 - return 1; 2.98 - } 2.99 - if ( 2.100 - PQresultStatus(status) != PGRES_COMMAND_OK && 2.101 - PQresultStatus(status) != PGRES_TUPLES_OK 2.102 - ) { 2.103 - fprintf(stderr, "Error while calling SQL function \"check_issue\"(...):\n%s", PQresultErrorMessage(status)); 2.104 - return 1; 2.105 - } 2.106 - PQclear(status); 2.107 - } 2.108 - PQclear(list); 2.109 2.110 // calculate ranks after voting is finished: 2.111 // (NOTE: This is a seperate process to avoid long transactions with locking) 2.112 list = PQexec(db, "SELECT \"id\" FROM \"issue_with_ranks_missing\""); 2.113 if (!list) { 2.114 fprintf(stderr, "Error in pqlib while sending SQL command selecting issues where ranks are missing\n"); 2.115 - return 1; 2.116 - } 2.117 - if (PQresultStatus(list) != PGRES_TUPLES_OK) { 2.118 + err = 1; 2.119 + } else if (PQresultStatus(list) != PGRES_TUPLES_OK) { 2.120 fprintf(stderr, "Error while executing SQL command selecting issues where ranks are missing:\n%s", PQresultErrorMessage(list)); 2.121 - return 1; 2.122 + err = 1; 2.123 + PQclear(list); 2.124 + } else { 2.125 + count = PQntuples(list); 2.126 + for (i=0; i<count; i++) { 2.127 + const char *params[1]; 2.128 + params[0] = PQgetvalue(list, i, 0); 2.129 + status = PQexecParams( 2.130 + db, "SELECT \"calculate_ranks\"($1)", 1, NULL, params, NULL, NULL, 0 2.131 + ); 2.132 + if (!status) { 2.133 + fprintf(stderr, "Error in pqlib while sending SQL command to call function \"calculate_ranks\"(...):\n"); 2.134 + err = 1; 2.135 + } else if ( 2.136 + PQresultStatus(status) != PGRES_COMMAND_OK && 2.137 + PQresultStatus(status) != PGRES_TUPLES_OK 2.138 + ) { 2.139 + fprintf(stderr, "Error while calling SQL function \"calculate_ranks\"(...):\n%s", PQresultErrorMessage(status)); 2.140 + err = 1; 2.141 + PQclear(status); 2.142 + } else { 2.143 + PQclear(status); 2.144 + } 2.145 + } 2.146 + PQclear(list); 2.147 } 2.148 - count = PQntuples(list); 2.149 - for (i=0; i<count; i++) { 2.150 - const char *params[1]; 2.151 - params[0] = PQgetvalue(list, i, 0); 2.152 - status = PQexecParams( 2.153 - db, "SELECT \"calculate_ranks\"($1)", 1, NULL, params, NULL, NULL, 0 2.154 - ); 2.155 - if (!status) { 2.156 - fprintf(stderr, "Error in pqlib while sending SQL command to call function \"calculate_ranks\"(...):\n"); 2.157 - return 1; 2.158 - } 2.159 - if ( 2.160 - PQresultStatus(status) != PGRES_COMMAND_OK && 2.161 - PQresultStatus(status) != PGRES_TUPLES_OK 2.162 - ) { 2.163 - fprintf(stderr, "Error while calling SQL function \"calculate_ranks\"(...):\n%s", PQresultErrorMessage(status)); 2.164 - return 1; 2.165 - } 2.166 - PQclear(status); 2.167 - } 2.168 - PQclear(list); 2.169 2.170 // cleanup and exit 2.171 PQfinish(db); 2.172 - return 0; 2.173 + return err; 2.174 2.175 }
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2 +++ b/update/core-update.v1.2.3-v1.2.4.sql Sun Aug 15 17:10:47 2010 +0200 3.3 @@ -0,0 +1,9 @@ 3.4 +BEGIN; 3.5 + 3.6 +CREATE OR REPLACE VIEW "liquid_feedback_version" AS 3.7 + SELECT * FROM (VALUES ('1.2.4', 1, 2, 4)) 3.8 + AS "subquery"("string", "major", "minor", "revision"); 3.9 + 3.10 +-- no changes in database scheme except version number 3.11 + 3.12 +COMMIT;