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

← cluster adib_rm objects sdk_home_overview_party_mv
Overview Objects Graph History
materialized view · adib_rm.sdk_home_overview_party_mv Explain plan ▶
Parallelism
2
Actors
48 / 48
running
Distribution
HASH
Rows
497
State size
781.4 KiB
Created
2026-08-26 08:42
Initialized
2026-08-26 08:42
Fragment flags
MVIEWSNAPSHOT_BACKFILL_STREAM_SCANSTREAM_SCAN
Actors
ActorFragmentWorkerState
133754 26164 26 running
133755 26164 26 running
133756 26166 26 running
133757 26166 26 running
133758 26157 26 running
133759 26157 26 running
133760 26155 26 running
133761 26155 26 running
133762 26154 26 running
133763 26154 26 running
133764 26153 26 running
133765 26153 26 running
+ 36 more actor(s) (48 running)
sql · adib_rm.sdk_home_overview_party_mv — click to expand
CREATE MATERIALIZED VIEW adib_rm.sdk_home_overview_party_mv AS
WITH party_lifecycle AS (
  SELECT
    cr.party_id,
    MIN(lp.base_currency_code) AS base_currency_code
  FROM party.customer_relationships AS cr
  JOIN party.lifecycle_profiles AS lp
    ON lp.customer_relationship_id = cr.id AND lp.disabled_at IS NULL
  WHERE
    cr.type = 'CUSTOMER' AND cr.status = 'ACTIVE' AND cr.disabled_at IS NULL
  GROUP BY
    cr.party_id
)
SELECT
  p.id AS party_id,
  pl.base_currency_code,
  COALESCE(ips.market_value, lab.market_value) AS total_market_value,
  CASE
    WHEN NOT ips.market_value IS NULL
    THEN ips.market_value_system_currency
    ELSE lab.market_value_system_currency
  END AS total_market_value_system_currency,
  JSONB_BUILD_OBJECT(
    'value',
    JSONB_BUILD_OBJECT(
      'amount',
      CASE
        WHEN NOT ips.market_value IS NULL
        THEN CAST((
          ips.market_value - ips.total_average_cost
        ) AS VARCHAR)
        ELSE CAST(pnl.unrealized_gain_loss AS VARCHAR)
      END,
      'currencyCode',
      pl.base_currency_code
    ),
    'percentage',
    CASE
      WHEN NOT ips.market_value IS NULL
      THEN CASE
        WHEN ips.total_average_cost IS NULL OR ips.total_average_cost = 0
        THEN NULL
        ELSE CAST((
          (
            ips.market_value - ips.total_average_cost
          ) / ips.total_average_cost
        ) AS VARCHAR)
      END
      ELSE CASE
        WHEN pnl.total_average_cost IS NULL OR pnl.total_average_cost = 0
        THEN NULL
        ELSE CAST((
          pnl.unrealized_gain_loss / pnl.total_average_cost
        ) AS VARCHAR)
      END
    END
  ) AS unrealized_gain_loss,
  COALESCE(pf.portfolios, CAST('[]' AS JSONB)) AS portfolios,
  COALESCE(ct.cash_tiles, CAST('[]' AS JSONB)) AS cash_tiles,
  CAST('[]' AS JSONB) AS favourites,
  COALESCE(ta.top_allocations, CAST('[]' AS JSONB)) AS top_allocations,
  COALESCE(taty.top_allocations_asset_type, CAST('[]' AS JSONB)) AS top_allocations_asset_type,
  COALESCE(ts.top_allocations_sector, CAST('[]' AS JSONB)) AS top_allocations_sector
FROM party.parties AS p
JOIN party_lifecycle AS pl
  ON pl.party_id = p.id
LEFT JOIN insights.party_to_account_groups_mv AS pag
  ON pag.party_id = p.id AND pag.type = 'all'
LEFT JOIN insights.position_snapshot_mv AS lab
  ON pag.account_group_id = lab.account_group_id
  AND lab.position_type = 'POSITION'
  AND lab.currency_code = pl.base_currency_code
LEFT JOIN adib_rm.pnl_snapshot_mv AS pnl
  ON pag.account_group_id = pnl.account_group_id
  AND pnl.position_type = 'POSITION'
  AND pnl.currency_code = pl.base_currency_code
LEFT JOIN insights.intraday_position_summary_mv AS ips
  ON pag.account_group_id = ips.account_group_id
  AND ips.position_type = 'POSITION'
  AND ips.currency_code = pl.base_currency_code
LEFT JOIN adib_rm.party_portfolios_mv AS pf
  ON pf.party_id = p.id
LEFT JOIN adib_rm.party_cash_tiles_mv AS ct
  ON ct.party_id = p.id
LEFT JOIN adib_rm.party_top_allocations_mv AS ta
  ON ta.party_id = p.id AND ta.account_group_type = 'all'
LEFT JOIN adib_rm.party_top_allocations_by_asset_type_mv AS taty
  ON taty.party_id = p.id AND taty.account_group_type = 'all'
LEFT JOIN adib_rm.party_top_allocations_by_sector_mv AS ts
  ON ts.party_id = p.id AND ts.account_group_type = 'all'
WHERE
  p.disabled_at IS NULL
Lineage · adib_rm.sdk_home_overview_party_mv 14 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.