RWM Console cluster: risingwave-adib.adib-rw.svc.cluster.local

← cluster adib_rm objects investment_account_balance_snapshot_mv
Overview Objects Graph History
materialized view · adib_rm.investment_account_balance_snapshot_mv Explain plan ▶
Parallelism
2
Actors
10 / 10
running
Distribution
HASH
Rows
5,758
State size
404.2 KiB
Created
2026-07-05 15:44
Initialized
2026-07-05 15:44
Fragment flags
MVIEWSNAPSHOT_BACKFILL_STREAM_SCANSTREAM_SCAN
Actors
ActorFragmentWorkerState
99049 8144 26 running
99050 8144 26 running
99055 8140 26 running
99056 8140 26 running
99062 8141 26 running
99063 8141 26 running
99430 8142 26 running
99431 8142 26 running
99467 8143 26 running
99468 8143 26 running
sql · adib_rm.investment_account_balance_snapshot_mv — click to expand
CREATE MATERIALIZED VIEW adib_rm.investment_account_balance_snapshot_mv AS
WITH settled_latest AS (
  SELECT
    account_id,
    asset_id,
    market_value,
    dim_value_date AS as_of_date
  FROM (
    SELECT
      account_id,
      asset_id,
      market_value,
      dim_value_date,
      ROW_NUMBER() OVER (
        PARTITION BY account_id, asset_id
        ORDER BY (
          m_is_stub IS TRUE
        ), dim_value_date DESC, type
      ) AS rn
    FROM olap.holding_values_raw_ft
  ) AS ranked
  WHERE
    rn = 1
), intraday_latest AS (
  SELECT
    account_id,
    asset_id,
    market_value,
    as_of_date
  FROM (
    SELECT
      account_id,
      asset_id,
      market_value,
      CAST(holding_timestamp AS DATE) AS as_of_date,
      ROW_NUMBER() OVER (PARTITION BY account_id, asset_id ORDER BY holding_timestamp DESC) AS rn
    FROM olap.holding_values_intraday_ft
    WHERE
      disabled_at IS NULL
  ) AS ranked
  WHERE
    rn = 1
), live AS (
  SELECT
    s.account_id,
    CASE
      WHEN NOT i.account_id IS NULL AND i.as_of_date >= s.as_of_date
      THEN i.market_value
      ELSE s.market_value
    END AS market_value,
    CASE
      WHEN NOT i.account_id IS NULL AND i.as_of_date >= s.as_of_date
      THEN i.as_of_date
      ELSE s.as_of_date
    END AS as_of_date
  FROM settled_latest AS s
  LEFT JOIN intraday_latest AS i
    ON i.account_id = s.account_id AND i.asset_id = s.asset_id
)
SELECT
  live.account_id,
  SUM(live.market_value) AS available_balance,
  MAX(live.as_of_date) AS fact_date
FROM live
JOIN olap.accounts_dm AS a
  ON a.account_id = live.account_id AND a.disabled_at IS NULL
GROUP BY
  live.account_id
Lineage · adib_rm.investment_account_balance_snapshot_mv 4 objects
Direct (1-hop) dependencies from rw_depend, across schemas. Click a neighbor to expand its dependencies; ⌘/Ctrl-click opens its page. Drag to pan, scroll to zoom. External source/sink endpoints (Kafka, Iceberg) are not shown.