diff --git a/hive/indexer/blocks.py b/hive/indexer/blocks.py index 6085b27ef63f437d60b585cf70b72a2f81856bd3..ceb9c3e5fdf68d6fb2a7b35bac85473582051d3a 100644 --- a/hive/indexer/blocks.py +++ b/hive/indexer/blocks.py @@ -207,7 +207,7 @@ class Blocks: if not is_initial_sync: Accounts.dirty(op['author']) # lite - rep Accounts.dirty(op['voter']) # lite - stats - Votes.vote_op(op) + Votes.vote_op(op, cls._head_block_date) # misc ops elif op_type == 'transfer_operation': diff --git a/hive/indexer/posts.py b/hive/indexer/posts.py index 10b1da8dde28153b14fd6d7fb541a2aeaafdcbb9..f3d29a051ce5fd91e0f78475a2e910112250156c 100644 --- a/hive/indexer/posts.py +++ b/hive/indexer/posts.py @@ -161,7 +161,6 @@ class Posts: payout = COALESCE( CAST( data_source.payout as DECIMAL ), ihp.payout ), pending_payout = COALESCE( CAST( data_source.pending_payout as DECIMAL ), ihp.pending_payout ), payout_at = COALESCE( CAST( data_source.payout_at as TIMESTAMP ), ihp.payout_at ), - updated_at = data_source.updated_at, last_payout = COALESCE( CAST( data_source.last_payout as TIMESTAMP ), ihp.last_payout ), cashout_time = COALESCE( CAST( data_source.cashout_time as TIMESTAMP ), ihp.cashout_time ), is_paidout = COALESCE( CAST( data_source.is_paidout as BOOLEAN ), ihp.is_paidout ) @@ -177,7 +176,6 @@ class Posts: t.payout, t.pending_payout, t.payout_at, - t.updated_at, t.last_payout, t.cashout_time, t.is_paidout @@ -196,7 +194,6 @@ class Posts: payout, pending_payout, payout_at, - updated_at, last_payout, cashout_time, is_paidout) @@ -323,7 +320,6 @@ class Posts: "NULL" if ( pending_payout is None ) else pending_payout, "NULL" if ( payout_at is None ) else ( "'{}'::timestamp".format( payout_at ) ), - date,#updated_at "NULL" if ( last_payout is None ) else ( "'{}'::timestamp".format( last_payout ) ), "NULL" if ( cashout_time is None ) else ( "'{}'::timestamp".format( cashout_time ) ), diff --git a/hive/indexer/votes.py b/hive/indexer/votes.py index 63b7d019f0c8c14b554534f4004844d5eccfa35a..175c8ae1fb85d651196edabea1d1652aea8ccda0 100644 --- a/hive/indexer/votes.py +++ b/hive/indexer/votes.py @@ -49,11 +49,12 @@ class Votes: inside_flush = False @classmethod - def vote_op(cls, vop): + def vote_op(cls, vote_operation, date): """ Process vote_operation """ - voter = vop['voter'] - author = vop['author'] - permlink = vop['permlink'] + voter = vote_operation['voter'] + author = vote_operation['author'] + permlink = vote_operation['permlink'] + weight = vote_operation['weight'] if(cls.inside_flush): log.info("Adding new vote-info into '_votes_data' dict") @@ -64,10 +65,10 @@ class Votes: cls._votes_data[key] = dict(voter=voter, author=author, permlink=permlink, - vote_percent=0, + vote_percent=weight, weight=0, rshares=0, - last_update="1969-12-31T23:59:59") + last_update=date) @classmethod def effective_comment_vote_op(cls, key, vop, date): @@ -79,7 +80,6 @@ class Votes: assert key in cls._votes_data - cls._votes_data[key]["vote_percent"] = vop["vote_percent"] cls._votes_data[key]["weight"] = vop["weight"] cls._votes_data[key]["rshares"] = vop["rshares"] cls._votes_data[key]["last_update"] = date @@ -106,6 +106,7 @@ class Votes: INNER JOIN hive_accounts ha_a ON ha_a.name = t.author INNER JOIN hive_permlink_data hpd_p ON hpd_p.permlink = t.permlink INNER JOIN hive_posts hp ON hp.author_id = ha_a.id AND hp.permlink_id = hpd_p.id + WHERE NOT hp.is_paidout ) as data_source(post_id, voter_id, author_id, permlink_id, weight, rshares, vote_percent, last_update) ON CONFLICT ON CONSTRAINT hive_votes_ux1 DO UPDATE