The MANUAL arm of bankAccountView — accounts an operator
registered, with balances implied from the bank_transaction feed.
Anti-joined against virtual_account, which a manual registration does not
outrank: it is the provider's system of record, and a hand-typed row that
shadowed one would present an operator's transcription as authoritative.
Victor's core accounts are rows here (provider = 'VICTOR'), so they
surface through this arm. A numberless row a virtual account names (a
RouteFusion wallet) is left to the VIRTUAL_ACCOUNT arm, which carries the
account's numbers. The inferred arms anti-join this TABLE rather than the
reverse — a human confirmation outranks an inference. See § 4.7.
bank_name prefers the joined partner bank and falls back to the free-text
column, the only name a bank with no b2b.bank row has.
The balance lateral correlates on the account alone, never on this arm's
memo, and that is deliberate rather than an oversight. A memo here is an
operator's label for a slice of a shared account — not the metcap FFC key
that data -> 'methodData' ->> 'ffcMemo' carries — so narrowing by it would
return zero for every registration that has one. The memo still participates
in key, so two memo'd registrations of one account stay distinct rows that
report the same account-level balance.
dbmate owns the DDL: the body below is mirrored by
20261017164913_bank_account_view_search_text.sql.
The
MANUALarm of bankAccountView — accounts an operator registered, with balances implied from thebank_transactionfeed.Anti-joined against
virtual_account, which a manual registration does not outrank: it is the provider's system of record, and a hand-typed row that shadowed one would present an operator's transcription as authoritative. Victor's core accounts are rows here (provider = 'VICTOR'), so they surface through this arm. A numberless row a virtual account names (a RouteFusion wallet) is left to theVIRTUAL_ACCOUNTarm, which carries the account's numbers. The inferred arms anti-join this TABLE rather than the reverse — a human confirmation outranks an inference. See § 4.7.bank_nameprefers the joined partner bank and falls back to the free-text column, the only name a bank with nob2b.bankrow has.The balance lateral correlates on the account alone, never on this arm's
memo, and that is deliberate rather than an oversight. A memo here is an operator's label for a slice of a shared account — not the metcap FFC key thatdata -> 'methodData' ->> 'ffcMemo'carries — so narrowing by it would return zero for every registration that has one. The memo still participates inkey, so two memo'd registrations of one account stay distinct rows that report the same account-level balance.dbmate owns the DDL: the body below is mirrored by
20261017164913_bank_account_view_search_text.sql.