CodeChain-io / codechain-indexer

A blockchain data indexing tool for CodeChain
Apache License 2.0
21 stars 15 forks source link

Make the AggsUTXOs table migration script insert rows that have 0 quantity value #357

Open majecty opened 5 years ago

majecty commented 5 years ago

Here is the AggsUTXOs table's migration script.

INSERT INTO "AggsUTXOs"("assetType", "address", "totalAssetQuantity", "utxoQuantity", "createdAt", "updatedAt")
                SELECT "assetType", "address", SUM("quantity") as "totalAssetQuantity", COUNT(*) as "utxoQuantity", NOW(), NOW()
                FROM "UTXOs" WHERE "usedBlockNumber" IS NULL GROUP BY "assetType", "address"

To ignore used UTXOs, the migration script filters the used UTXOs using the where clause. If a user sent all assets they have to another user, the quantity column value of the AggsUTXOs table's row will be zero. The migration script above does not insert the row that has the zero value in the quantity column.

This behavior is subtle. And can be ignored.