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
14,294
State size
14.1 MiB
Created
2026-08-25 17:02
Initialized
2026-08-25 17:02
Fragment flags
MVIEWSNAPSHOT_BACKFILL_STREAM_SCANSTREAM_SCAN
Actors
ActorFragmentWorkerState
116937 24666 26 running
116938 24666 26 running
116939 24664 26 running
116940 24664 26 running
116941 24663 26 running
116942 24663 26 running
116943 24668 26 running
116944 24668 26 running
116945 24667 26 running
116946 24667 26 running
116947 24665 26 running
116948 24665 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.