Browse Source

ckdb - update code docs/TODOs

master
kanoi 10 years ago
parent
commit
be97523bfc
  1. 35
      src/ckdb.c

35
src/ckdb.c

@ -1043,7 +1043,7 @@ static K_LIST *optioncontrol_free;
static K_STORE *optioncontrol_store;
*/
// TODO: aging/discarding workinfo,shares
// TODO: discarding workinfo,shares
// WORKINFO workinfo.id.json={...}
typedef struct workinfo {
int64_t workinfoid;
@ -3158,7 +3158,7 @@ static bool payments_fill(PGconn *conn)
LOGDEBUG("%s(): select", __func__);
// TODO: handle selecting a subset, eg 20 per web page
// TODO: handle selecting a subset, eg 20 per web page (in blocklist also)
sel = "select "
"userid,paydate,payaddress,originaltxn,amount,committxn,commitblockhash"
HISTORYDATECONTROL
@ -3481,20 +3481,6 @@ static bool _sharesummary_update(PGconn *conn, SHARES *s_row, SHAREERRORS *e_row
static cmp_t cmp_sharesummary_workinfoid(K_ITEM *a, K_ITEM *b);
static cmp_t cmp_shares(K_ITEM *a, K_ITEM *b);
/* N.B. a DB check can be done to find sharesummaries that have missed being
* aged (and a possible problem with the aging process):
* e.g. for a date D in the past of at least a few hours
* select count(*) from sharesummary where createdate<'D' and complete='n';
* and can be easily corrected:
* update sharesummary set complete='a' where createdate<'D' and complete='n';
* It's important to make sure the D value is far enough in the past such that
* all the matching sharesummary records in ckdb have certainly completed
* ckdb would need to restart to get the updated DB information though it would
* not affect current ckdb code
* TODO: This will happen until auto aging is added here - since ckpool can not reliably
* age all workinfo that was active when it exits (e.g. a crash) so best to not
* try, but get ckdb to auto age old unaged data
*/
static bool workinfo_age(PGconn *conn, int64_t workinfoid, char *poolinstance,
char *by, char *code, char *inet, tv_t *cd,
tv_t *ss_first, tv_t *ss_last, int64_t *ss_count,
@ -4097,9 +4083,6 @@ unitem:
static bool shares_fill()
{
// TODO: reload shares from workinfo from log file
// and verify workinfo while doing that
return true;
}
@ -4234,9 +4217,6 @@ unitem:
static bool shareerrors_fill()
{
// TODO: reload shareerrors from workinfo from log file
// and verify workinfo while doing that
return true;
}
@ -5704,7 +5684,7 @@ static bool auths_fill(PGconn *conn)
LOGDEBUG("%s(): select", __func__);
// TODO: keep last x - since a user may login and mine for 100 days
// TODO: add/update a (single) fake auth every ~10min or 10min after the last one?
sel = "select "
"authid,userid,workername,clientid,enonce1,useragent"
HISTORYDATECONTROL
@ -6810,7 +6790,6 @@ static void clean_up(ckpool_t *ckp)
fclose(ckp->logfp);
}
// TODO: skip ones not needed for confirm_summaries()
static void alloc_storage()
{
workqueue_free = k_new_list("WorkQueue", sizeof(WORKQUEUE),
@ -8509,6 +8488,7 @@ static K_TREE *upd_add_mu(K_TREE *mu_root, K_STORE *mu_store, int64_t userid, in
The value of diff_want defaults to the block's network difficulty
(block_ndiff) but can be changed with diff_times and diff_add to:
block_ndiff * diff_times + diff_add
N.B. diff_times and diff_add can be zero, positive or negative
The pplns_elapsed time of the shares is from the createdate of the
begin_workinfoid that has shares accounted to the total,
up to the createdate of the last share
@ -10411,11 +10391,8 @@ static void confirm_reload()
/* The last workinfo we should process
* The reason for going past the last 'a' up to before
* the first 'n' is in case there were shares missed between them -
* but that should only be the case with a code bug - so it checks that
* TODO: auto aging will clear 'n' sections inside the 'a's that
* will always occur when ckpool restarts, since ckpool will never
* send workinfo age records for workinfo that's active at shutdown -
* Aging these can (for now) easily be done manually in psql */
* but that should only be the case with a code bug -
* so it checks that */
if (dbstatus.newest_workinfoid_a > 0) {
confirm_last_workinfoid = dbstatus.newest_workinfoid_a;
last_reason = "newest aged";

Loading…
Cancel
Save