Skip to content

fix(neuron-wallet): order the inputs in a tx by its previous output i… - #1064

Merged
Keith-CY merged 1 commit into
nervosnetwork:developfrom
Keith-CY:order-inputs-in-tx
Nov 9, 2019
Merged

fix(neuron-wallet): order the inputs in a tx by its previous output i…#1064
Keith-CY merged 1 commit into
nervosnetwork:developfrom
Keith-CY:order-inputs-in-tx

Conversation

@Keith-CY

@Keith-CY Keith-CY commented Nov 8, 2019

Copy link
Copy Markdown
Contributor

…ndex

image

@Keith-CY
Keith-CY requested review from ashchan and classicalliu and removed request for ashchan and classicalliu November 8, 2019 14:25
@Keith-CY Keith-CY changed the title fix(neuron-wallet): order the inputs in a tx by its previous output i… [HOLD] fix(neuron-wallet): order the inputs in a tx by its previous output i… Nov 8, 2019
nervos-bot[bot]
nervos-bot Bot previously requested changes Nov 8, 2019

@nervos-bot nervos-bot Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hold as requested by @Keith-CY.

@Keith-CY Keith-CY changed the title [HOLD] fix(neuron-wallet): order the inputs in a tx by its previous output i… fix(neuron-wallet): order the inputs in a tx by its previous output i… Nov 8, 2019
@nervos-bot
nervos-bot Bot dismissed their stale review November 8, 2019 15:17

Unhold as requested by @Keith-CY.

@ashchan ashchan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you paste the final SQL for this query s as well as the SQLite explain query plan? Would like to see if there is any performance change.

Update:

SELECT "transaction"."hash" AS "transaction_hash", "transaction"."version" AS "transaction_version", "transaction"."cellDeps" AS "transaction_cellDeps", "transaction"."headerDeps" AS "transaction_headerDeps", "transaction"."witnesses" AS "transaction_witnesses", "transaction"."timestamp" AS "transaction_timestamp", "transaction"."blockNumber" AS "transaction_blockNumber", "transaction"."blockHash" AS "transaction_blockHash", "transaction"."description" AS "transaction_description", "transaction"."status" AS "transaction_status", "transaction"."createdAt" AS "transaction_createdAt", "transaction"."updatedAt" AS "transaction_updatedAt", "transaction"."confirmed" AS "transaction_confirmed", "input"."id" AS "input_id", "input"."outPointTxHash" AS "input_outPointTxHash", "input"."outPointIndex" AS "input_outPointIndex", "input"."since" AS "input_since", "input"."lockHash" AS "input_lockHash", "input"."lock" AS "input_lock", "input"."capacity" AS "input_capacity", "input"."transactionHash" AS "input_transactionHash", "output"."outPointTxHash" AS "output_outPointTxHash", "output"."outPointIndex" AS "output_outPointIndex", "output"."capacity" AS "output_capacity", "output"."lock" AS "output_lock", "output"."lockHash" AS "output_lockHash", "output"."status" AS "output_status", "output"."typeScript" AS "output_typeScript", "output"."hasData" AS "output_hasData", "output"."transactionHash" AS "output_transactionHash" FROM "transaction" "transaction" LEFT JOIN "input" "input" ON "input"."transactionHash"="transaction"."hash"  LEFT JOIN "output" "output" ON "output"."transactionHash"="transaction"."hash" WHERE "transaction"."hash" is"0x829dd45a708853a22c4a39297d2ae089823872c4e5812b8bf6451adc10ef0d7b" ORDER BY "input"."id" ASC

@Keith-CY

Keith-CY commented Nov 9, 2019

Copy link
Copy Markdown
Contributor Author

Could you paste the final SQL for this query s as well as the SQLite explain query plan? Would like to see if there is any performance change.

Update:

SELECT "transaction"."hash" AS "transaction_hash", "transaction"."version" AS "transaction_version", "transaction"."cellDeps" AS "transaction_cellDeps", "transaction"."headerDeps" AS "transaction_headerDeps", "transaction"."witnesses" AS "transaction_witnesses", "transaction"."timestamp" AS "transaction_timestamp", "transaction"."blockNumber" AS "transaction_blockNumber", "transaction"."blockHash" AS "transaction_blockHash", "transaction"."description" AS "transaction_description", "transaction"."status" AS "transaction_status", "transaction"."createdAt" AS "transaction_createdAt", "transaction"."updatedAt" AS "transaction_updatedAt", "transaction"."confirmed" AS "transaction_confirmed", "input"."id" AS "input_id", "input"."outPointTxHash" AS "input_outPointTxHash", "input"."outPointIndex" AS "input_outPointIndex", "input"."since" AS "input_since", "input"."lockHash" AS "input_lockHash", "input"."lock" AS "input_lock", "input"."capacity" AS "input_capacity", "input"."transactionHash" AS "input_transactionHash", "output"."outPointTxHash" AS "output_outPointTxHash", "output"."outPointIndex" AS "output_outPointIndex", "output"."capacity" AS "output_capacity", "output"."lock" AS "output_lock", "output"."lockHash" AS "output_lockHash", "output"."status" AS "output_status", "output"."typeScript" AS "output_typeScript", "output"."hasData" AS "output_hasData", "output"."transactionHash" AS "output_transactionHash" FROM "transaction" "transaction" LEFT JOIN "input" "input" ON "input"."transactionHash"="transaction"."hash"  LEFT JOIN "output" "output" ON "output"."transactionHash"="transaction"."hash" WHERE "transaction"."hash" is"0x829dd45a708853a22c4a39297d2ae089823872c4e5812b8bf6451adc10ef0d7b" ORDER BY "input"."id" ASC

I'm not familiar to the optimization, please update if it does work @classicalliu

@Keith-CY
Keith-CY merged commit 15d1ec6 into nervosnetwork:develop Nov 9, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants