diff --git a/checkin_notes b/checkin_notes index 413502cd9f..af3206c9ab 100755 --- a/checkin_notes +++ b/checkin_notes @@ -5384,3 +5384,10 @@ Karl 2003/07/24 release 1.07. client/* + +Karl 2003/07/25 + added client_version_num (e.g. 105) field to RESULT table + + db/* + sched/* + py/* diff --git a/db/boinc_db.C b/db/boinc_db.C index eab720cce4..c86fc5f0e2 100644 --- a/db/boinc_db.C +++ b/db/boinc_db.C @@ -2,18 +2,18 @@ // Version 1.0 (the "License"); you may not use this file except in // compliance with the License. You may obtain a copy of the License at // http://boinc.berkeley.edu/license_1.0.txt -// +// // Software distributed under the License is distributed on an "AS IS" // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the // License for the specific language governing rights and limitations -// under the License. -// -// The Original Code is the Berkeley Open Infrastructure for Network Computing. -// +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// // The Initial Developer of the Original Code is the SETI@home project. // Portions created by the SETI@home project are Copyright (C) 2002 -// University of California at Berkeley. All Rights Reserved. -// +// University of California at Berkeley. All Rights Reserved. +// // Contributor(s): // @@ -570,7 +570,7 @@ void DB_WORKUNIT::db_print(char* buf){ "workseq_next=%d, opaque=%d", id, create_time, appid, name, xml_doc, batch, - rsc_fpops, rsc_iops, rsc_memory, rsc_disk, + rsc_fpops, rsc_iops, rsc_memory, rsc_disk, need_validate, canonical_resultid, canonical_credit, timeout_check_time, delay_bound, @@ -607,21 +607,23 @@ void DB_WORKUNIT::db_parse(MYSQL_ROW &r) { void DB_RESULT::db_print(char* buf){ escape_single_quotes(xml_doc_out); escape_single_quotes(stderr_out); - sprintf(buf, + sprintf( + buf, "id=%d, create_time=%d, workunitid=%d, " "server_state=%d, outcome=%d, client_state=%d, " "hostid=%d, report_deadline=%d, sent_time=%d, received_time=%d, " "name='%s', cpu_time=%f, " "xml_doc_in='%s', xml_doc_out='%s', stderr_out='%s', " "batch=%d, file_delete_state=%d, validate_state=%d, " - "claimed_credit=%f, granted_credit=%f, opaque=%d, random=%d", + "claimed_credit=%f, granted_credit=%f, opaque=%d, random=%d, " + "client_version_num=%d", id, create_time, workunitid, server_state, outcome, client_state, hostid, report_deadline, sent_time, received_time, name, cpu_time, xml_doc_in, xml_doc_out, stderr_out, batch, file_delete_state, validate_state, - claimed_credit, granted_credit, opaque, random + claimed_credit, granted_credit, opaque, random, client_version_num ); unescape_single_quotes(xml_doc_out); unescape_single_quotes(stderr_out); @@ -652,6 +654,7 @@ void DB_RESULT::db_parse(MYSQL_ROW &r) { granted_credit = atof(r[i++]); opaque = atoi(r[i++]); random = atoi(r[i++]); + client_version_num = atoi(r[i++]); } void DB_WORKSEQ::db_print(char* buf){ diff --git a/db/boinc_db.h b/db/boinc_db.h index 12e3f2cb72..2512d64db6 100755 --- a/db/boinc_db.h +++ b/db/boinc_db.h @@ -2,18 +2,18 @@ // Version 1.0 (the "License"); you may not use this file except in // compliance with the License. You may obtain a copy of the License at // http://boinc.berkeley.edu/license_1.0.txt -// +// // Software distributed under the License is distributed on an "AS IS" // basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the // License for the specific language governing rights and limitations -// under the License. -// -// The Original Code is the Berkeley Open Infrastructure for Network Computing. -// +// under the License. +// +// The Original Code is the Berkeley Open Infrastructure for Network Computing. +// // The Initial Developer of the Original Code is the SETI@home project. // Portions created by the SETI@home project are Copyright (C) 2002 -// University of California at Berkeley. All Rights Reserved. -// +// University of California at Berkeley. All Rights Reserved. +// // Contributor(s): // @@ -351,6 +351,7 @@ struct RESULT { double granted_credit; // == canonical credit of WU int opaque; // project-specific; usually external ID int random; // determines send order + int client_version_num; // the following not used in the DB char wu_name[256]; diff --git a/db/schema.sql b/db/schema.sql index 600a93db16..3b377fac0f 100644 --- a/db/schema.sql +++ b/db/schema.sql @@ -170,6 +170,7 @@ CREATE TABLE `result` ( `granted_credit` double NOT NULL default '0', `opaque` int(11) NOT NULL default '0', `random` int(11) NOT NULL default '0', + `client_version_num` int(11) NOT NULL default '0', PRIMARY KEY (`id`), UNIQUE KEY `name` (`name`), KEY `res_wuid` (`workunitid`), diff --git a/py/boinc.py b/py/boinc.py index 47732c90e6..efadff4608 100644 --- a/py/boinc.py +++ b/py/boinc.py @@ -111,7 +111,7 @@ def my_symlink(src,dest): try: os.symlink(src,dest) except OSError, e: - e.filename = dest + e.filename = src + ' -> ' + dest raise def my_link(src,dest): @@ -119,7 +119,7 @@ def my_link(src,dest): try: os.link(src,dest) except OSError, e: - e.filename = dest + e.filename = src + ' -> ' + dest raise # install = options.install_function diff --git a/sched/handle_request.C b/sched/handle_request.C index 25d98d61c4..cdb323f1e2 100644 --- a/sched/handle_request.C +++ b/sched/handle_request.C @@ -475,6 +475,8 @@ int handle_results( for (i=0; iclient_version_num = + sreq.core_client_major_version*100 + sreq.core_client_minor_version; // acknowledge the result even if we couldn't find it -- // don't want it to keep coming back diff --git a/test/testbase.py b/test/testbase.py index 2686e8aa97..028ada16a6 100644 --- a/test/testbase.py +++ b/test/testbase.py @@ -472,8 +472,12 @@ class ResultMeter: if self.pid: atexit.register(self.stop) return + prev_s = None while True: - verbose_echo(1, apply(func, args)) + s = apply(func, args) + if s != prev_s: + verbose_echo(1, s) + prev_s = s time.sleep(delay) def stop(self): if self.pid: