-- Performance composite indexes za Company tabelu.
--
-- Cilj: ubrzati hot query patterns iz `listPublicDirectory` (home top,
-- listing strane sa filter + sort kombinacijama). Bez ovih, Postgres
-- BitmapAnd-uje 3-4 single-column indexa što je sporo na 1k+ row-ova.
-- Composite pokriva common WHERE+ORDER kombinacije u jednom seek-u.
--
-- ⚡ Apply pattern: CREATE INDEX IF NOT EXISTS — idempotent, sigurno
-- za rerun. Ne koristimo CONCURRENTLY jer Prisma migration wrap-uje
-- statements u transaction (CONCURRENTLY ne radi u transaction).
-- Company tabela ima ~10k row-ova → indeks build < 5s, lock-uje samo
-- WRITE operacije (SELECT ostaje dostupan), idealno za off-hours apply.

CREATE INDEX IF NOT EXISTS "Company_status_type_isVerified_tier_idx"
  ON "Company"("status", "type", "isVerified", "tier");

CREATE INDEX IF NOT EXISTS "Company_status_type_isFeatured_idx"
  ON "Company"("status", "type", "isFeatured");

CREATE INDEX IF NOT EXISTS "Company_status_type_cityId_idx"
  ON "Company"("status", "type", "cityId");

CREATE INDEX IF NOT EXISTS "Company_status_type_reputationScore_idx"
  ON "Company"("status", "type", "reputationScore" DESC);

CREATE INDEX IF NOT EXISTS "Company_status_type_trustScore_idx"
  ON "Company"("status", "type", "trustScore" DESC);

CREATE INDEX IF NOT EXISTS "Company_status_type_planValidTo_idx"
  ON "Company"("status", "type", "planValidTo");

CREATE INDEX IF NOT EXISTS "Company_status_type_createdAt_idx"
  ON "Company"("status", "type", "createdAt" DESC);
