txnTieKnot fix (~10% memory reduce) (#483)
* bin: ignore chart and dupes addons * lib: fix txnTieKnot Ensure that postings refers to their transaction rather than original one. This should allow compiler perform destructive update and/or allow garbage collecting old transaction.
This commit is contained in:
parent
d657374ac4
commit
3af81a73ca
2
bin/.gitignore
vendored
2
bin/.gitignore
vendored
@ -1,4 +1,6 @@
|
||||
hledger-chart
|
||||
hledger-check-dates
|
||||
hledger-dupes
|
||||
hledger-equity
|
||||
hledger-print-unique
|
||||
hledger-register-match
|
||||
|
||||
@ -489,7 +489,8 @@ transactionDate2 t = fromMaybe (tdate t) $ tdate2 t
|
||||
-- | Ensure a transaction's postings refer back to it, so that eg
|
||||
-- relatedPostings works right.
|
||||
txnTieKnot :: Transaction -> Transaction
|
||||
txnTieKnot t@Transaction{tpostings=ps} = t{tpostings=map (postingSetTransaction t) ps}
|
||||
txnTieKnot t@Transaction{tpostings=ps} = t' where
|
||||
t' = t{tpostings=map (postingSetTransaction t') ps}
|
||||
|
||||
-- | Ensure a transaction's postings do not refer back to it, so that eg
|
||||
-- recursiveSize and GHCI's :sprint work right.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user