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