From f58b19d94071daf912ab83479fb411aca8224833 Mon Sep 17 00:00:00 2001 From: Tavis Ormandy Date: Tue, 18 Apr 2023 20:23:40 -0700 Subject: fix #2220, bucket transactions ignored with reg --related This adds a new item flag, `ITEM_INFERRED`, that differentiates generated items from bucket items. This makes them show up as related items in reports. --- src/item.h | 1 + src/xact.cc | 2 +- test/regress/issue2220.test | 8 ++++++++ 3 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 test/regress/issue2220.test diff --git a/src/item.h b/src/item.h index c21450e8..84f062ab 100644 --- a/src/item.h +++ b/src/item.h @@ -86,6 +86,7 @@ public: #define ITEM_GENERATED 0x01 // posting was not found in a journal #define ITEM_TEMP 0x02 // posting is a managed temporary #define ITEM_NOTE_ON_NEXT_LINE 0x04 // did we see a note on the next line? +#define ITEM_INFERRED 0x08 // bucketed item enum state_t { UNCLEARED = 0, CLEARED, PENDING }; diff --git a/src/xact.cc b/src/xact.cc index 961ff010..55e816cb 100644 --- a/src/xact.cc +++ b/src/xact.cc @@ -210,7 +210,7 @@ bool xact_base_t::finalize() // been set. if (journal && journal->bucket && posts.size() == 1 && ! balance.is_null()) { - null_post = new post_t(journal->bucket, ITEM_GENERATED); + null_post = new post_t(journal->bucket, ITEM_INFERRED); null_post->_state = (*posts.begin())->_state; add_post(null_post); } diff --git a/test/regress/issue2220.test b/test/regress/issue2220.test new file mode 100644 index 00000000..095d0f63 --- /dev/null +++ b/test/regress/issue2220.test @@ -0,0 +1,8 @@ +bucket Liabilities:CreditCard + +2023/01/01 * Payment + Assets:Checking $-34.86 + +test reg --monthly --related ^Assets:Checking +23-Jan-01 - 23-Jan-31 Liabilities:CreditCard $34.86 $34.86 +end test -- cgit v1.2.3 From dbb350aed2e050662ebd8d746714e5d459d0587e Mon Sep 17 00:00:00 2001 From: Tavis Ormandy Date: Wed, 19 Apr 2023 06:30:45 -0700 Subject: Add NEWS entry for bucket transactions fix --- NEWS.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/NEWS.md b/NEWS.md index 1bc29b57..07cad014 100644 --- a/NEWS.md +++ b/NEWS.md @@ -9,6 +9,8 @@ - Include contrib files in distribution +- Fix related reports when using bucket transactions (ledger/ledger#2220) + ## 3.3.2 (2023-03-30) - Fix divide by zero (ledger/ledger#777, ledger/ledger#2207) -- cgit v1.2.3