Something went wrong. Try again.
Rust AppView - highly experimental! forked from parakeet.at/parakeet
Something went wrong. Try again.
12345678910111213141516171819202122-- Insert list_item with natural keys (no synthetic list_id)-- This prevents foreign key violations when indexing list items-- Parameters: $1=actor_id(INT4), $2=subject_actor_id(i32), $3=cid(bytea), $4=rkey,-- $5=list_owner_actor_id(INT4), $6=list_rkey(TEXT)-- Note: created_at is derived from TID rkey-- Note: actor_id is provided by caller after calling get_actor_id (ensures zero sequence waste)INSERT INTO list_items (actor_id, rkey, cid, list_owner_actor_id, list_rkey, subject_actor_id)SELECT $1, -- actor_id (provided by caller) $4, -- rkey (INT8) $3, -- cid (embedded, already bytea) $5, -- list_owner_actor_id (already resolved, may be NULL) $6, -- list_rkey (already resolved, may be NULL) $2::int4 -- subject_actor_id (already resolved, cast to int4)WHERE $1::int4 IS NOT NULL -- Only insert if owner exists AND $2::int4 IS NOT NULL -- Only insert if subject existsON CONFLICT (actor_id, rkey) DO UPDATE SET cid=EXCLUDED.cid, list_owner_actor_id=EXCLUDED.list_owner_actor_id, list_rkey=EXCLUDED.list_rkey, subject_actor_id=EXCLUDED.subject_actor_id