PgHero
2 long running queries
Connections healthy 66
Vacuuming healthy
No columns near integer overflow
No invalid indexes or constraints
16 duplicate indexes
No suggested indexes
28 slow queries

Long Running Queries

We recommend setting a statement timeout on all non-superusers with:

ALTER ROLE <user> SET statement_timeout TO '60s';
Pid Duration State
2180686 01:19:44 active
api-service postgres
SELECT t.id, t.title, t.scheduled_at, t.done_at, t.priority, t.owned_by_user_id,
            u.display_name as owned_by_user_display_name,
            COALESCE(
              (SELECT json_agg(json_build_object('id', m.id, 'targetId', m.target_id, 'targetType', m.target_type))
               FROM mentions m WHERE m.source_id = t.id AND m.source_type = 'todos' AND m.deleted_at IS NULL),
              '[]'::json
            ) as mentions
     FROM todos t
     LEFT JOIN auth.users u ON u.id = t.owned_by_user_id
     WHERE t.title ILIKE $1 AND t.deleted_at IS NULL AND t.group_id = $2::uuid
       AND NOT EXISTS (
         SELECT 1 FROM mentions m
         JOIN profiles p ON p.id = m.target_id
         WHERE m.source_id = t.id AND m.source_type = 'todos' AND m.target_type = 'profiles'
           AND m.deleted_at IS NULL AND p.deleted_at IS NOT NULL
       )
     ORDER BY t.scheduled_at DESC NULLS LAST
     LIMIT $3
2196289 01:08:36 idle in transaction
api-service postgres
begin 

Duplicate Indexes

These indexes exist, but aren’t needed. Remove them for faster writes.

rails generate migration remove_unneeded_indexes

And paste

remove_index :email_addresses, name: "email_addresses_profile_id", column: :profile_id
remove_index :groups_sources, name: "idx_groups_sources_group_id", column: :group_id
remove_index :historyentries, name: "historyentries_profile_id_idx", column: :profile_id
remove_index :jarvi_event_pages, name: "idx_jarvi_event_pages_slug", column: :slug
remove_index :jarvi_event_registrations, name: "idx_jarvi_event_registrations_event_page_id", column: :event_page_id
remove_index :notifications, name: "notifications_unicity_key_idx", column: :unicity_key
remove_index :presets, name: "presets_group_id_idx", column: :group_id
remove_index :profiles_duplicates, name: "profiles_duplicates_group_id_idx", column: :group_id
remove_index :profiles_ratings, name: "profiles_ratings_poc_project_id_idx", column: :project_id
remove_index :projects, name: "idx_projects_external_id", column: :external_id
remove_index :projects, name: "projects_group_id_idx", column: :group_id
remove_index :statuses, name: "statuses_status_parent_id_idx", column: :parent_id
remove_index :threads, name: "threads_user_id_index", column: :user_id
remove_index :users_chats, name: "users_chats_user_id_index", column: :user_id
remove_index :users_variables, name: "users_variables_user_id_idx", column: :user_id
remove_index :wrapped_2025, name: "idx_wrapped_2025_user_id", column: :user_id
Details
On email_addresses
email_addresses_profile_id (profile_id)
is covered by
email_addresses_source_email_profile_id_key (profile_id, email, source)
On groups_sources
idx_groups_sources_group_id (group_id)
is covered by
groups_sources_group_id_source_value_key (group_id, source_value)
On historyentries
historyentries_profile_id_idx (profile_id)
is covered by
historyentries_profile_id_type_index (profile_id, type)
On jarvi_event_pages
idx_jarvi_event_pages_slug (slug)
is covered by
jarvi_event_pages_slug_key (slug)
On jarvi_event_registrations
idx_jarvi_event_registrations_event_page_id (event_page_id)
is covered by
jarvi_event_registrations_event_page_id_email_key (event_page_id, email)
On notifications
notifications_unicity_key_idx (unicity_key)
is covered by
notifications_unicity_key_key (unicity_key)
On presets
presets_group_id_idx (group_id)
is covered by
presets_group_id_name_key (group_id, name)
On profiles_duplicates
profiles_duplicates_group_id_idx (group_id)
is covered by
profiles_duplicates_group_ai_analyzed_at_idx (group_id, ai_analyzed_at)
On profiles_ratings
profiles_ratings_poc_project_id_idx (project_id)
is covered by
profiles_ratings_poc_project_profile_idx (project_id, profile_id)
On projects
idx_projects_external_id (external_id)
is covered by
projects_external_id_group_id_key (external_id, group_id)
On projects
projects_group_id_idx (group_id)
is covered by
projects_group_id_reference_id_key (group_id, reference_id)
On statuses
statuses_status_parent_id_idx (parent_id)
is covered by
statuses_parent_id (parent_id)
On threads
threads_user_id_index (user_id)
is covered by
threads_user_id_external_id_trigger_profile_significant_identif (user_id, external_id, trigger_profile_significant_identifier)
On users_chats
users_chats_user_id_index (user_id)
is covered by
users_chats_user_id_type_users_oauth_id_external_chat_id_key (user_id, type, users_oauth_id, external_chat_id)
On users_variables
users_variables_user_id_idx (user_id)
is covered by
users_variables_user_id_group_variable_name_id_key (user_id, group_variable_name_id)
On wrapped_2025
idx_wrapped_2025_user_id (user_id)
is covered by
idx_wrapped_2025_user_group (user_id, group_id)

Slow Queries

Slow queries take 20 ms or more on average and have been called at least 100 times.

Explain queries to see where to add indexes.

Total Time Average Time Calls
6,132 min 37% 69 ms 5,298,782 nhost_hasura
SELECT  coalesce(json_agg("root" ), $4 ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.base"."id" AS "id", "_root.base"."priority" AS "priority", "_root.base"."created_at" AS "createdAt", "_root.base"."updated_at" AS "updatedAt", "_root.base"."deleted_at" AS "deletedAt", "_root.base"."done_at" AS "doneAt", "_root.base"."cancel_at" AS "cancelAt", "_root.base"."user_id" AS "userId", "_root.base"."group_id" AS "groupId", "_root.base"."linkedin_seat_id" AS "linkedinSeatId", "_root.base"."type" AS "type", "_root.base"."status" AS "status", "_root.base"."since" AS "since", "_root.base"."retries" AS "retries", "_root.base"."parameters" AS "parameters", "_root.base"."profile_id" AS "profileId", "_root.base"."version" AS "version", "_root.base"."duration" AS "duration", "_root.or.profile"."profile" AS "profile", "_root.base"."trigger_id" AS "triggerId", "_root.or.trigger"."trigger" AS "trigger", "_root.base"."dashboard_id" AS "dashboardId", "_root.base"."project_id" AS "projectId", "_root.or.project"."project" AS "project", "_root.base"."recording_id" AS "recordingId", "_root.base"."historyentry_id" AS "historyEntryId", "_root.or.historyEntry"."historyEntry" AS "historyEntry", "_root.or.user"."user" AS "user", "_root.base"."file_id" AS "fileId", "_root.base"."email_address" AS "emailAddress", "_root.base"."phone_number_provider_id" AS "phoneNumberProviderId", "_root.base"."message_scheduled_id" AS "messageScheduledId", "_root.base"."external_id" AS "externalId", "_root.base"."return" AS "return", "_root.base"."return_status_code" AS "returnStatusCode", "_root.base"."oauth_account_id" AS "oAuthAccountId", "_root.or.typeComment"."typeComment" AS "typeComment", "_root.base"."retry_at" AS "retryAt", "_root.base"."resume_when" AS "resumeWhen", $5 AS "__typename"       ) AS "_e"      ) ) AS "root" FROM  (SELECT  *  FROM "public"."get_task_and_set_as_doing"($1, ($2)::text, "max_tasks" => ($3)::integer) AS "_get_task_and_set_as_doing" WHERE ($6)     ) AS "_root.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.trigger.base"."name" AS "name", "_root.or.trigger.base"."user_id" AS "userId", "_root.or.trigger.base"."updated_at" AS "updatedAt", "_root.or.trigger.base"."id" AS "id", "_root.or.trigger.base"."group_id" AS "groupId", "_root.or.trigger.base"."targeted_entity" AS "targetedEntity", "_root.or.trigger.base"."event_types" AS "eventTypes", "_root.or.trigger.base"."event_table_name" AS "eventTableName", "_root.or.trigger.base"."event_projects_ids" AS "eventProjectsIds", "_root.or.trigger.base"."event_statuses_ids" AS "eventStatusesIds", "_root.or.trigger.base"."deleted_at" AS "deletedAt", "_root.or.trigger.base"."disabled_at" AS "disabledAt", "_root.or.trigger.base"."created_at" AS "createdAt", "_root.or.trigger.base"."conditions" AS "conditions", "_root.or.trigger.base"."cancel_if_status_changes_to_archived" AS "cancelIfStatusChangesToArchived", "_root.or.trigger.base"."cancel_if_status_changes" AS "cancelIfStatusChanges", "_root.or.trigger.base"."cancel_if_new_message_received" AS "cancelIfNewMessageReceived", "_root.or.trigger.base"."cancel_if_new_event_scheduled" AS "cancelIfNewEventScheduled", "_root.or.trigger.base"."action_task_parameters" AS "actionTaskParameters", "_root.or.trigger.base"."restricted_to_users_ids" AS "restrictedToUsersIds", "_root.or.trigger.base"."ai_legal_validated_at" AS "aiLegalValidatedAt", "_root.or.trigger.base"."ai_legal_validated_by" AS "aiLegalValidatedBy", $7 AS "__typename"       ) AS "_e"      ) ) AS "trigger" FROM  (SELECT  *  FROM "public"."triggers"  WHERE (("_root.base"."trigger_id") = ("id"))    LIMIT $8 ) AS "_root.or.trigger.base"      ) AS "_root.or.trigger" ON ($9) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.typeComment.base"."comment" AS "comment", $10 AS "__typename"       ) AS "_e"      ) ) AS "typeComment" FROM  (SELECT  *  FROM "public"."tasks_types"  WHERE (("_root.base"."type") = ("value"))    LIMIT $11 ) AS "_root.or.typeComment.base"      ) AS "_root.or.typeComment" ON ($12) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.project.base"."id" AS "id", "_root.or.project.base"."name" AS "name", "_root.or.project.base"."reference_id" AS "referenceId", "_root.or.project.base"."linkedin_id" AS "linkedinId", "_root.or.project.base"."linkedin_id_type" AS "linkedinIdType", "_root.or.project.base"."is_made_for_sales" AS "isMadeForSales", "_root.or.project.base"."is_made_for_recruitment" AS "isMadeForRecruitment", "_root.or.project.or.status"."status" AS "status", "_root.or.project.or.company"."company" AS "company", $13 AS "__typename"       ) AS "_e"      ) ) AS "project" FROM  (SELECT  *  FROM "public"."projects"  WHERE (("_root.base"."project_id") = ("id"))    LIMIT $14 ) AS "_root.or.project.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.project.or.company.base"."id" AS "id", "_root.or.project.or.company.base"."description" AS "description", "_root.or.project.or.company.or.linkedinCompanyData"."linkedinCompanyData" AS "linkedinCompanyData", $15 AS "__typename"       ) AS "_e"      ) ) AS "company" FROM  (SELECT  *  FROM "public"."companies"  WHERE (("_root.or.project.base"."company_id") = ("id"))    LIMIT $16 ) AS "_root.or.project.or.company.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.project.or.company.or.linkedinCompanyData.base"."id" AS "id", "_root.or.project.or.company.or.linkedinCompanyData.base"."name" AS "name", $17 AS "__typename"       ) AS "_e"      ) ) AS "linkedinCompanyData" FROM  (SELECT  *  FROM "public"."linkedin_companies_data"  WHERE (("_root.or.project.or.company.base"."linkedin_company_id") = ("id"))    LIMIT $18 ) AS "_root.or.project.or.company.or.linkedinCompanyData.base"      ) AS "_root.or.project.or.company.or.linkedinCompanyData" ON ($19)      ) AS "_root.or.project.or.company" ON ($20) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.project.or.status.base"."title" AS "title", "_root.or.project.or.status.base"."id" AS "id", $21 AS "__typename"       ) AS "_e"      ) ) AS "status" FROM  (SELECT  *  FROM "public"."statuses"  WHERE (("_root.or.project.base"."status_id") = ("id"))    LIMIT $22 ) AS "_root.or.project.or.status.base"      ) AS "_root.or.project.or.status" ON ($23)      ) AS "_root.or.project" ON ($24) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.profile.base"."id" AS "id", "_root.or.profile.base"."trigger_first_name" AS "firstName", "_root.or.profile.base"."trigger_last_name" AS "lastName", "_root.or.profile.base"."talent_identifier" AS "talentIdentifier", "_root.or.profile.base"."linkedin_sales_navigator_identifier" AS "linkedinSalesNavigatorIdentifier", "_root.or.profile.base"."linkedin_id" AS "linkedinId", "_root.or.profile.base"."trigger_linkedin_significant_identifier" AS "linkedinSignificantIdentifier", "_root.or.profile.base"."member_id" AS "memberId", "_root.or.profile.base"."public_identifier" AS "publicIdentifier", "_root.or.profile.base"."external_id" AS "externalId", "_root.or.profile.base"."is_contact" AS "isContact", "_root.or.profile.base"."is_talent" AS "isTalent", "_root.or.profile.base"."deleted_at" AS "deletedAt", $25 AS "__typename"       ) AS "_e"      ) ) AS "profile" FROM  (SELECT  *  FROM "public"."profiles"  WHERE (("_root.base"."profile_id") = ("id"))    LIMIT $26 ) AS "_root.or.profile.base"      ) AS "_root.or.profile" ON ($27) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.user.base"."id" AS "id", "_root.or.user.base"."display_name" AS "displayName", "_root.or.user.base"."email" AS "email", $28 AS "__typename"       ) AS "_e"      ) ) AS "user" FROM  (SELECT  *  FROM "auth"."users"  WHERE (("_root.base"."user_id") = ("id"))    LIMIT $29 ) AS "_root.or.user.base"      ) AS "_root.or.user" ON ($30) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.historyEntry.base"."id" AS "id", "_root.or.historyEntry.base"."created_at" AS "createdAt", "_root.or.historyEntry.base"."event_start_at" AS "eventStartAt", "_root.or.historyEntry.base"."event_end_at" AS "eventEndAt", "_root.or.historyEntry.base"."type" AS "type", "_root.or.historyEntry.or.sender"."sender" AS "sender", "_root.or.historyEntry.base"."subject" AS "subject", "_root.or.historyEntry.base"."message" AS "message", $31 AS "__typename"       ) AS "_e"      ) ) AS "historyEntry" FROM  (SELECT  *  FROM "public"."historyentries"  WHERE (("_root.base"."historyentry_id") = ("id"))    LIMIT $32 ) AS "_root.or.historyEntry.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.historyEntry.or.sender.base"."id" AS "id", "_root.or.historyEntry.or.sender.base"."display_name" AS "displayName", $33 AS "__typename"       ) AS "_e"      ) ) AS "sender" FROM  (SELECT  *  FROM "auth"."users"  WHERE (("_root.or.historyEntry.base"."sender_user_id") = ("id"))    LIMIT $34 ) AS "_root.or.historyEntry.or.sender.base"      ) AS "_root.or.historyEntry.or.sender" ON ($35)      ) AS "_root.or.historyEntry" ON ($36)      ) AS "_root"
698 min 4% 602 ms 69,638 nhost_hasura
SELECT  coalesce(json_agg("root" ), $8 ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.base"."id" AS "id", "_root.base"."trigger_short_id" AS "shortId", "_root.base"."added_at" AS "addedAt", "_root.base"."birthday" AS "birthday", "_root.base"."can_send_inmail" AS "canSendInMail", "_root.base"."trigger_count_connexions_with_this_profile" AS "countConnexionsWithThisProfile", "_root.base"."trigger_count_invitations_scheduled_to_this_profile" AS "countInvitationsScheduledToThisProfile", "_root.base"."trigger_count_invitations_sent_to_this_profile" AS "countInvitationsSentToThisProfile", "_root.base"."trigger_count_applications_from_this_profile" AS "countApplicationsFromThisProfile", "_root.base"."trigger_count_messages_received_from_this_profile" AS "countMessagesReceivedFromThisProfile", "_root.base"."trigger_count_messages_scheduled_to_this_profile" AS "countMessagesScheduledToThisProfile", "_root.base"."trigger_count_messages_sent_to_this_profile" AS "countMessagesSentToThisProfile", "_root.base"."trigger_count_attached_files" AS "countAttachedFiles", "_root.base"."created_at" AS "createdAt", "_root.base"."created_by_userid" AS "createdByUserId", "_root.base"."deleted_at" AS "deletedAt", "_root.base"."network_distance_level" AS "distance", "_root.base"."external_id" AS "externalId", "_root.base"."trigger_first_interaction_date" AS "firstInteractionDate", "_root.base"."trigger_first_name" AS "firstName", "_root.base"."first_name_parsed" AS "firstNameParsed", "_root.base"."first_name_manual" AS "firstNameManual", "_root.base"."group_id" AS "groupId", "_root.base"."trigger_count_resumes" AS "countResumes", "_root.base"."headline" AS "headline", "_root.base"."image_id" AS "imageId", "_root.base"."is_talent" AS "isTalent", "_root.base"."is_contact" AS "isContact", "_root.base"."is_hiring" AS "isHiring", "_root.base"."is_open_to_new_opportunities" AS "isOpenToNewOpportunities", "_root.base"."is_influencer" AS "isInfluencer", "_root.base"."is_premium" AS "isPremium", "_root.base"."trigger_last_interaction_date" AS "lastInteractionDate", "_root.base"."trigger_last_past_interaction_date" AS "lastPastInteractionDate", "_root.base"."trigger_last_interaction_type" AS "lastInteractionType", "_root.base"."last_resume_updated_at" AS "lastResumeUpdatedAt", "_root.base"."trigger_last_name" AS "lastName", "_root.base"."last_name_parsed" AS "lastNameParsed", "_root.base"."last_name_manual" AS "lastNameManual", "_root.base"."linkedin_id" AS "linkedinId", "_root.base"."member_id" AS "memberId", "_root.base"."profile_url" AS "profileUrl", "_root.base"."public_identifier" AS "publicIdentifier", "_root.base"."primary_locale" AS "primaryLocale", "_root.base"."search_string" AS "searchString", "_root.base"."source" AS "source", "_root.base"."status_id" AS "statusId", "_root.base"."talent_identifier" AS "talentIdentifier", "_root.base"."linkedin_sales_navigator_identifier" AS "linkedinSalesNavigatorIdentifier", "_root.base"."trigger_linkedin_significant_identifier" AS "linkedinSignificantIdentifier", "_root.base"."summary" AS "summary", "_root.base"."updated_at" AS "updatedAt", "_root.ar.root.pendingExecuteTriggerTasks"."pendingExecuteTriggerTasks" AS "pendingExecuteTriggerTasks", "_root.ar.root.unreadMessagesNotifications"."unreadMessagesNotifications" AS "unreadMessagesNotifications", "_root.ar.root.protectedCompaniesWorksIn"."protectedCompaniesWorksIn" AS "protectedCompaniesWorksIn", "_root.or.createdBy"."createdBy" AS "createdBy", "_root.or.image"."image" AS "image", "_root.ar.root.locations"."locations" AS "locations", "_root.ar.root.files"."files" AS "files", "_root.or.lastPosition"."lastPosition" AS "lastPosition", "_root.ar.root.positions"."positions" AS "positions", "_root.ar.root.manualHistoryEntries"."manualHistoryEntries" AS "manualHistoryEntries", "_root.ar.root.lastMessages"."lastMessages" AS "lastMessages", "_root.ar.root.locales"."locales" AS "locales", "_root.ar.root.educations"."educations" AS "educations", "_root.ar.root.skills"."skills" AS "skills", "_root.ar.root.fieldsValues"."fieldsValues" AS "fieldsValues", "_root.ar.root.emailAddresses"."emailAddresses" AS "emailAddresses", "_root.ar.root.phoneNumbers"."phoneNumbers" AS "phoneNumbers", "_root.ar.root.assignees"."assignees" AS "assignees", "_root.or.status"."status" AS "status", "_root.ar.root.associations"."associations" AS "associations", $9 AS "__typename"       ) AS "_e"      ) ) AS "root" FROM  (SELECT  *  FROM "public"."profiles"  WHERE (((("public"."profiles"."group_id") = ((($1->>$10))::uuid)) OR ((("public"."profiles"."group_id") IS NULL) AND (((($1->>$11))::uuid) IS NULL))) AND (("public"."profiles"."id") = ANY(($7)::uuid[])))     ) AS "_root.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.createdBy.base"."display_name" AS "displayName", "_root.or.createdBy.base"."id" AS "id", $12 AS "__typename"       ) AS "_e"      ) ) AS "createdBy" FROM  (SELECT  *  FROM "auth"."users"  WHERE ((("_root.base"."created_by_userid") = ("id")) AND ((EXISTS  (SELECT  $13  FROM "public"."users_groups" AS "__be_0_users_groups" WHERE (((("__be_0_users_groups"."user_id") = ("auth"."users"."id")) AND ($14)) AND (($15) AND (((("__be_0_users_groups"."group_id") = ((($1->>$16))::uuid)) AND ($17)) AND ($18))))     )) OR (("auth"."users"."id") = ((($1->>$19))::uuid))))    LIMIT $20 ) AS "_root.or.createdBy.base"      ) AS "_root.or.createdBy" ON ($21) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "public"."images_public_url"("_root.or.image.base")  AS "publicUrl", $22 AS "__typename"       ) AS "_e"      ) ) AS "image" FROM  (SELECT  *  FROM "public"."images"  WHERE (("_root.base"."image_id") = ("id"))    LIMIT $23 ) AS "_root.or.image.base"      ) AS "_root.or.image" ON ($24) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.status.base"."title" AS "title", "_root.or.status.base"."color_id" AS "colorId", "_root.or.status.base"."is_auto" AS "isAuto", "_root.or.status.base"."id" AS "id", "_root.or.status.base"."is_protected" AS "isProtected", $25 AS "__typename"       ) AS "_e"      ) ) AS "status" FROM  (SELECT  *  FROM "public"."statuses"  WHERE ((("_root.base"."status_id") = ("id")) AND (((("public"."statuses"."group_id") = ((($1->>$26))::uuid)) OR ((("public"."statuses"."group_id") IS NULL) AND (((($1->>$27))::uuid) IS NULL))) OR (("public"."statuses"."group_id") IS NULL)))    LIMIT $28 ) AS "_root.or.status.base"      ) AS "_root.or.status" ON ($29) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.lastPosition.base"."id" AS "id", "_root.or.lastPosition.base"."start_date" AS "startDate", "_root.or.lastPosition.base"."end_date" AS "endDate", "_root.or.lastPosition.base"."title" AS "title", "_root.or.lastPosition.base"."source" AS "source", "_root.or.lastPosition.base"."company_name" AS "companyName", "_root.or.lastPosition.base"."linkedin_company_id" AS "linkedinCompanyId", "_root.or.lastPosition.or.linkedinCompanyData"."linkedinCompanyData" AS "linkedinCompanyData", $30 AS "__typename"       ) AS "_e"      ) ) AS "lastPosition" FROM  (SELECT  *  FROM "public"."profiles_positions_last_view"  WHERE ((("_root.base"."id") = ("profile_id")) AND ((("public"."profiles_positions_last_view"."group_id") = ((($1->>$31))::uuid)) OR ((("public"."profiles_positions_last_view"."group_id") IS NULL) AND (((($1->>$32))::uuid) IS NULL))))    LIMIT $33 ) AS "_root.or.lastPosition.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.lastPosition.or.linkedinCompanyData.base"."id" AS "id", "_root.or.lastPosition.or.linkedinCompanyData.base"."name" AS "name", "_root.or.lastPosition.or.linkedinCompanyData.or.image"."image" AS "image", $34 AS "__typename"       ) AS "_e"      ) ) AS "linkedinCompanyData" FROM  (SELECT  *  FROM "public"."linkedin_companies_data"  WHERE (("_root.or.lastPosition.base"."linkedin_company_id") = ("id"))    LIMIT $35 ) AS "_root.or.lastPosition.or.linkedinCompanyData.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "public"."images_public_url"("_root.or.lastPosition.or.linkedinCompanyData.or.image.base")  AS "publicUrl", $36 AS "__typename"       ) AS "_e"      ) ) AS "image" FROM  (SELECT  *  FROM "public"."images"  WHERE (("_root.or.lastPosition.or.linkedinCompanyData.base"."image_id") = ("id"))    LIMIT $37 ) AS "_root.or.lastPosition.or.linkedinCompanyData.or.image.base"      ) AS "_root.or.lastPosition.or.linkedinCompanyData.or.image" ON ($38)      ) AS "_root.or.lastPosition.or.linkedinCompanyData" ON ($39)      ) AS "_root.or.lastPosition" ON ($40) LEFT OUTER JOIN LATERAL (SELECT  coalesce(json_agg("files" ORDER BY "root.ar.root.files.pg.created_at" DESC NULLS FIRST), $41 ) AS "files" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.ar.root.files.base"."file_id" AS "fileId", "_root.ar.root.files.base"."created_at" AS "createdAt", "_root.ar.root.files.base"."updated_at" AS "updatedAt", "_root.ar.root.files.base"."should_be_parsed" AS "shouldBeParsed", "_root.ar.root.files.base"."parsed_at" AS "parsedAt", "_root.ar.root.files.base"."text_content" AS "textContent", "_root.ar.root.files.or.file"."file" AS "file", $42 AS "__typename"       ) AS "_e"      ) ) AS "files", "_root.ar.root.files.base"."created_at" AS "root.ar.root.files.pg.created_at" FROM  (SELECT  *  FROM "public"."profiles_files"  WHERE ((("_root.base"."id") = ("profile_id")) AND ((EXISTS  (SELECT  $43  FROM "public"."profiles" AS "__be_0_profiles" WHERE (((("__be_0_profiles"."id") = ("public"."profiles_files"."profile_id")) AND ($44)) AND (($45) AND ((((("__be_0_profiles"."group_id") = ((($1->>$46))::uuid)) OR ((("__be_0_profiles"."group_id") IS NULL) AND (((($1->>$47))::uuid) IS NULL))) AND ($48)) AND ($49))))     )) AND (("public"."profiles_files"."deleted_at") IS NULL)))   ORDER BY "created_at" DESC NULLS FIRST  ) AS "_root.ar.root.files.base" LEFT OUTER 
219 min 1% 37 ms 350,951 nhost_hasura
SELECT  coalesce(json_agg("root" ), $6 ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.base"."id" AS "id", "_root.base"."public_identifier" AS "publicIdentifier", "_root.base"."talent_identifier" AS "talentIdentifier", "_root.base"."linkedin_sales_navigator_identifier" AS "linkedinSalesNavigatorIdentifier", "_root.base"."member_id" AS "memberId", "_root.base"."linkedin_id" AS "linkedinId", "_root.base"."external_id" AS "externalId", "_root.base"."deleted_at" AS "deletedAt", "_root.base"."trigger_linkedin_significant_identifier" AS "linkedinSignificantIdentifier", $7 AS "__typename"       ) AS "_e"      ) ) AS "root" FROM  (SELECT  *  FROM "public"."profiles"  WHERE (((("public"."profiles"."group_id") = ((($1->>$8))::uuid)) OR ((("public"."profiles"."group_id") IS NULL) AND (((($1->>$9))::uuid) IS NULL))) AND ((("public"."profiles"."public_identifier") = ANY(($2)::text[])) OR ((("public"."profiles"."member_id") = ANY(($3)::text[])) OR ((("public"."profiles"."linkedin_id") = ANY(($4)::integer[])) OR (("public"."profiles"."trigger_linkedin_significant_identifier") = ANY(($5)::text[]))))))     ) AS "_root.base"      ) AS "_root"
68 min 0.4% 22 ms 184,242 nhost_hasura
WITH "_mra__threads" AS (INSERT INTO "public"."threads" ( "user_id", "last_event_at", "linkedin_seat_id", "type", "profile_talent_identifier", "external_id" ) VALUES (($1)::uuid, ($2)::timestamptz, ($3)::integer, ($4)::text, ($5)::text, ($6)::text), (($7)::uuid, ($8)::timestamptz, ($9)::integer, ($10)::text, ($11)::text, ($12)::text), (($13)::uuid, ($14)::timestamptz, ($15)::integer, ($16)::text, ($17)::text, ($18)::text), (($19)::uuid, ($20)::timestamptz, ($21)::integer, ($22)::text, ($23)::text, ($24)::text), (($25)::uuid, ($26)::timestamptz, ($27)::integer, ($28)::text, ($29)::text, ($30)::text), (($31)::uuid, ($32)::timestamptz, ($33)::integer, ($34)::text, ($35)::text, ($36)::text), (($37)::uuid, ($38)::timestamptz, ($39)::integer, ($40)::text, ($41)::text, ($42)::text), (($43)::uuid, ($44)::timestamptz, ($45)::integer, ($46)::text, ($47)::text, ($48)::text), (($49)::uuid, ($50)::timestamptz, ($51)::integer, ($52)::text, ($53)::text, ($54)::text), (($55)::uuid, ($56)::timestamptz, ($57)::integer, ($58)::text, ($59)::text, ($60)::text), (($61)::uuid, ($62)::timestamptz, ($63)::integer, ($64)::text, ($65)::text, ($66)::text), (($67)::uuid, ($68)::timestamptz, ($69)::integer, ($70)::text, ($71)::text, ($72)::text), (($73)::uuid, ($74)::timestamptz, ($75)::integer, ($76)::text, ($77)::text, ($78)::text), (($79)::uuid, ($80)::timestamptz, ($81)::integer, ($82)::text, ($83)::text, ($84)::text), (($85)::uuid, ($86)::timestamptz, ($87)::integer, ($88)::text, ($89)::text, ($90)::text) ON CONFLICT ON CONSTRAINT "threads_user_id_external_id_trigger_profile_significant_identif" DO UPDATE SET "profile_member_id" = EXCLUDED."profile_member_id","last_event_at" = EXCLUDED."last_event_at","email_address" = EXCLUDED."email_address","linkedin_seat_id" = EXCLUDED."linkedin_seat_id","type" = EXCLUDED."type","oauth_account_id" = EXCLUDED."oauth_account_id","profile_talent_identifier" = EXCLUDED."profile_talent_identifier","profile_sales_navigator_identifier" = EXCLUDED."profile_sales_navigator_identifier" WHERE ((((("public"."threads"."user_id") = (($91)::uuid)) AND ($92)) AND ($93)) AND ($94)) RETURNING * , CASE WHEN ("public"."threads"."xmax") = ($95) THEN ($96)::boolean ELSE (((("public"."threads"."user_id") = (($97)::uuid)) AND ($98)) AND ($99))::boolean END AS "check__constraint"), "_aca__threads" AS (SELECT  "id" , "created_at" , "updated_at" , "user_id" , "external_id" , "linkedin_seat_id" , "last_event_at" , "type" , "profile_linkedin_id" , "profile_talent_identifier" , "profile_sales_navigator_identifier" , "trigger_profile_significant_identifier" , "profile_member_id" , "email_address" , "oauth_account_id" , "canonical_phone_number"  FROM "_mra__threads"      ) SELECT  json_build_object($100, (SELECT  coalesce(json_agg("root" ), $101 ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.base"."id" AS "id", $102 AS "__typename"       ) AS "_e"      ) ) AS "root" FROM  (SELECT  *  FROM "_aca__threads" WHERE ($103)     ) AS "_root.base"      ) AS "_root"      ), $104, $105 ) , (SELECT  coalesce(bool_and("check__constraint" ), $106 )  FROM "_mra__threads"      )
68 min 0.4% 266 ms 15,236 nhost_hasura
SELECT  coalesce(json_agg("root" ), $3 ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.base"."id" AS "id", "_root.base"."count_unread_messages" AS "countUnreadMessages", "_root.base"."count_in_process_for_a_long_time" AS "countInProcessForALongTime", "_root.base"."count_possible_reminders" AS "countPossibleReminders", "_root.base"."count_profiles_with_history_before_this_project" AS "countProfilesWithHistoryBeforeThisProject", "_root.base"."count_applicants" AS "countApplicants", $4 AS "__typename"       ) AS "_e"      ) ) AS "root" FROM  (SELECT  *  FROM "public"."projects_metrics"  WHERE (("public"."projects_metrics"."id") = ANY(($2)::uuid[]))     ) AS "_root.base"      ) AS "_root"
67 min 0.4% 30 ms 134,204 nhost_hasura
SELECT  coalesce(json_agg("root" ), $5 ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.base"."id" AS "id", "_root.base"."profile_id" AS "profileId", "_root.base"."external_id" AS "externalId", $6 AS "__typename"       ) AS "_e"      ) ) AS "root" FROM  (SELECT  *  FROM "public"."historyentries"  WHERE ((((("public"."historyentries"."group_id") = ((($1->>$7))::uuid)) OR ((("public"."historyentries"."group_id") IS NULL) AND (((($1->>$8))::uuid) IS NULL))) AND (("public"."historyentries"."trigger_is_confidentiality_forced") = (($9)::boolean))) AND ((("public"."historyentries"."profile_id") = ANY(($2)::uuid[])) AND ((("public"."historyentries"."type") = (($3)::text)) AND ((("public"."historyentries"."user_id") = (($4)::uuid)) AND (("public"."historyentries"."deleted_at") IS NULL)))))    LIMIT $10 ) AS "_root.base"      ) AS "_root"
59 min 0.4% 36 ms 99,769 nhost_hasura
SELECT  coalesce(json_agg("root" ), $3 ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.base"."id" AS "id", "_root.base"."trigger_short_id" AS "shortId", "_root.base"."added_at" AS "addedAt", "_root.base"."birthday" AS "birthday", "_root.base"."can_send_inmail" AS "canSendInMail", "_root.base"."created_at" AS "createdAt", "_root.base"."created_by_userid" AS "createdByUserId", "_root.base"."deleted_at" AS "deletedAt", "_root.base"."network_distance_level" AS "distance", "_root.base"."external_id" AS "externalId", "_root.base"."trigger_first_name" AS "firstName", "_root.base"."first_name_parsed" AS "firstNameParsed", "_root.base"."first_name_manual" AS "firstNameManual", "_root.base"."group_id" AS "groupId", "_root.base"."headline" AS "headline", "_root.base"."image_id" AS "imageId", "_root.base"."is_talent" AS "isTalent", "_root.base"."is_contact" AS "isContact", "_root.base"."is_hiring" AS "isHiring", "_root.base"."is_open_to_new_opportunities" AS "isOpenToNewOpportunities", "_root.base"."is_influencer" AS "isInfluencer", "_root.base"."is_premium" AS "isPremium", "_root.base"."last_resume_updated_at" AS "lastResumeUpdatedAt", "_root.base"."trigger_last_interaction_date" AS "lastInteractionDate", "_root.base"."trigger_last_interaction_type" AS "lastInteractionType", "_root.base"."trigger_last_name" AS "lastName", "_root.base"."last_name_parsed" AS "lastNameParsed", "_root.base"."last_name_manual" AS "lastNameManual", "_root.base"."linkedin_id" AS "linkedinId", "_root.base"."member_id" AS "memberId", "_root.base"."profile_url" AS "profileUrl", "_root.base"."public_identifier" AS "publicIdentifier", "_root.base"."primary_locale" AS "primaryLocale", "_root.base"."search_string" AS "searchString", "_root.base"."source" AS "source", "_root.base"."status_id" AS "statusId", "_root.base"."talent_identifier" AS "talentIdentifier", "_root.base"."linkedin_sales_navigator_identifier" AS "linkedinSalesNavigatorIdentifier", "_root.base"."trigger_linkedin_significant_identifier" AS "linkedinSignificantIdentifier", "_root.base"."summary" AS "summary", "_root.base"."updated_at" AS "updatedAt", "_root.base"."trigger_count_connexions_with_this_profile" AS "countConnexionsWithThisProfile", "_root.base"."trigger_count_invitations_scheduled_to_this_profile" AS "countInvitationsScheduledToThisProfile", "_root.base"."trigger_count_invitations_sent_to_this_profile" AS "countInvitationsSentToThisProfile", "_root.base"."trigger_count_applications_from_this_profile" AS "countApplicationsFromThisProfile", "_root.base"."trigger_count_messages_received_from_this_profile" AS "countMessagesReceivedFromThisProfile", "_root.base"."trigger_count_messages_scheduled_to_this_profile" AS "countMessagesScheduledToThisProfile", "_root.base"."trigger_count_messages_sent_to_this_profile" AS "countMessagesSentToThisProfile", "_root.base"."trigger_count_resumes" AS "countResumes", "_root.base"."trigger_count_attached_files" AS "countAttachedFiles", "_root.base"."trigger_last_past_interaction_date" AS "lastPastInteractionDate", "_root.or.createdBy"."createdBy" AS "createdBy", "_root.or.image"."image" AS "image", "_root.ar.root.locations"."locations" AS "locations", "_root.ar.root.files"."files" AS "files", "_root.or.lastPosition"."lastPosition" AS "lastPosition", "_root.ar.root.locales"."locales" AS "locales", "_root.ar.root.educations"."educations" AS "educations", "_root.ar.root.fieldsValues"."fieldsValues" AS "fieldsValues", "_root.ar.root.emailAddresses"."emailAddresses" AS "emailAddresses", "_root.ar.root.phoneNumbers"."phoneNumbers" AS "phoneNumbers", "_root.ar.root.assignees"."assignees" AS "assignees", "_root.or.status"."status" AS "status", "_root.ar.root.associations"."associations" AS "associations", $4 AS "__typename"       ) AS "_e"      ) ) AS "root" FROM  (SELECT  *  FROM "public"."profiles"  WHERE (((("public"."profiles"."group_id") = ((($1->>$5))::uuid)) OR ((("public"."profiles"."group_id") IS NULL) AND (((($1->>$6))::uuid) IS NULL))) AND (("public"."profiles"."id") = ANY(($2)::uuid[])))     ) AS "_root.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.createdBy.base"."display_name" AS "displayName", "_root.or.createdBy.base"."id" AS "id", $7 AS "__typename"       ) AS "_e"      ) ) AS "createdBy" FROM  (SELECT  *  FROM "auth"."users"  WHERE ((("_root.base"."created_by_userid") = ("id")) AND ((EXISTS  (SELECT  $8  FROM "public"."users_groups" AS "__be_0_users_groups" WHERE (((("__be_0_users_groups"."user_id") = ("auth"."users"."id")) AND ($9)) AND (($10) AND (((("__be_0_users_groups"."group_id") = ((($1->>$11))::uuid)) AND ($12)) AND ($13))))     )) OR (("auth"."users"."id") = ((($1->>$14))::uuid))))    LIMIT $15 ) AS "_root.or.createdBy.base"      ) AS "_root.or.createdBy" ON ($16) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "public"."images_public_url"("_root.or.image.base")  AS "publicUrl", $17 AS "__typename"       ) AS "_e"      ) ) AS "image" FROM  (SELECT  *  FROM "public"."images"  WHERE (("_root.base"."image_id") = ("id"))    LIMIT $18 ) AS "_root.or.image.base"      ) AS "_root.or.image" ON ($19) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.status.base"."title" AS "title", "_root.or.status.base"."color_id" AS "colorId", "_root.or.status.base"."is_auto" AS "isAuto", "_root.or.status.base"."id" AS "id", "_root.or.status.base"."is_protected" AS "isProtected", $20 AS "__typename"       ) AS "_e"      ) ) AS "status" FROM  (SELECT  *  FROM "public"."statuses"  WHERE ((("_root.base"."status_id") = ("id")) AND (((("public"."statuses"."group_id") = ((($1->>$21))::uuid)) OR ((("public"."statuses"."group_id") IS NULL) AND (((($1->>$22))::uuid) IS NULL))) OR (("public"."statuses"."group_id") IS NULL)))    LIMIT $23 ) AS "_root.or.status.base"      ) AS "_root.or.status" ON ($24) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.lastPosition.base"."id" AS "id", "_root.or.lastPosition.base"."start_date" AS "startDate", "_root.or.lastPosition.base"."end_date" AS "endDate", "_root.or.lastPosition.base"."title" AS "title", "_root.or.lastPosition.base"."source" AS "source", "_root.or.lastPosition.base"."company_name" AS "companyName", "_root.or.lastPosition.base"."linkedin_company_id" AS "linkedinCompanyId", "_root.or.lastPosition.or.linkedinCompanyData"."linkedinCompanyData" AS "linkedinCompanyData", $25 AS "__typename"       ) AS "_e"      ) ) AS "lastPosition" FROM  (SELECT  *  FROM "public"."profiles_positions_last_view"  WHERE ((("_root.base"."id") = ("profile_id")) AND ((("public"."profiles_positions_last_view"."group_id") = ((($1->>$26))::uuid)) OR ((("public"."profiles_positions_last_view"."group_id") IS NULL) AND (((($1->>$27))::uuid) IS NULL))))    LIMIT $28 ) AS "_root.or.lastPosition.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.lastPosition.or.linkedinCompanyData.base"."id" AS "id", "_root.or.lastPosition.or.linkedinCompanyData.base"."name" AS "name", "_root.or.lastPosition.or.linkedinCompanyData.or.image"."image" AS "image", $29 AS "__typename"       ) AS "_e"      ) ) AS "linkedinCompanyData" FROM  (SELECT  *  FROM "public"."linkedin_companies_data"  WHERE (("_root.or.lastPosition.base"."linkedin_company_id") = ("id"))    LIMIT $30 ) AS "_root.or.lastPosition.or.linkedinCompanyData.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "public"."images_public_url"("_root.or.lastPosition.or.linkedinCompanyData.or.image.base")  AS "publicUrl", $31 AS "__typename"       ) AS "_e"      ) ) AS "image" FROM  (SELECT  *  FROM "public"."images"  WHERE (("_root.or.lastPosition.or.linkedinCompanyData.base"."image_id") = ("id"))    LIMIT $32 ) AS "_root.or.lastPosition.or.linkedinCompanyData.or.image.base"      ) AS "_root.or.lastPosition.or.linkedinCompanyData.or.image" ON ($33)      ) AS "_root.or.lastPosition.or.linkedinCompanyData" ON ($34)      ) AS "_root.or.lastPosition" ON ($35) LEFT OUTER JOIN LATERAL (SELECT  coalesce(json_agg("files" ORDER BY "root.ar.root.files.pg.created_at" DESC NULLS FIRST), $36 ) AS "files" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.ar.root.files.base"."file_id" AS "fileId", "_root.ar.root.files.base"."created_at" AS "createdAt", "_root.ar.root.files.base"."updated_at" AS "updatedAt", "_root.ar.root.files.base"."should_be_parsed" AS "shouldBeParsed", "_root.ar.root.files.base"."parsed_at" AS "parsedAt", "_root.ar.root.files.base"."profile_id" AS "profileId", "_root.ar.root.files.or.file"."file" AS "file", $37 AS "__typename"       ) AS "_e"      ) ) AS "files", "_root.ar.root.files.base"."created_at" AS "root.ar.root.files.pg.created_at" FROM  (SELECT  *  FROM "public"."profiles_files"  WHERE ((("_root.base"."id") = ("profile_id")) AND ((EXISTS  (SELECT  $38  FROM "public"."profiles" AS "__be_0_profiles" WHERE (((("__be_0_profiles"."id") = ("public"."profiles_files"."profile_id")) AND ($39)) AND (($40) AND ((((("__be_0_profiles"."group_id") = ((($1->>$41))::uuid)) OR ((("__be_0_profiles"."group_id") IS NULL) AND (((($1->>$42))::uuid) IS NULL))) AND ($43)) AND ($44))))     )) AND (("public"."profiles_files"."deleted_at") IS NULL)))   ORDER BY "created_at" DESC NULLS FIRST  ) AS "_root.ar.root.files.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.ar.root.files.or.file.base"."id" AS "id", "_root.ar.root.files.or.file.base"."name" AS "name", "_root.ar.root.files.or.file.base"."etag" AS "etag", "_root.ar.root.files.or.file.base"."mime_type" AS "mimeType", $45 AS "__typename"       ) AS "_e"      ) ) AS "file" FROM  (SELECT  *  FROM "storage"."files"  WHERE (("_root.ar.root.files.base"."file_id") = ("id"))    LIMIT $46 ) AS "_root.ar.root.files.or.file.base"      ) AS "_root.ar.root.files.or.file" ON ($47)    ORDER BY "root.ar.root.files.pg.created_at" DESC NULLS FIRST  ) AS "_root.ar.root.files"      ) AS "_root.a
39 min 0.2% 46 ms 50,531 nhost_hasura
SELECT  coalesce(json_agg("root" ORDER BY "root.pg.enabled_at" DESC NULLS FIRST), $3 ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.base"."enabled_at" AS "enabledAt", "_root.or.project"."project" AS "project", $4 AS "__typename"       ) AS "_e"      ) ) AS "root", "_root.base"."enabled_at" AS "root.pg.enabled_at" FROM  (SELECT  *  FROM "public"."projects_jobboards"  WHERE ((EXISTS  (SELECT  $5  FROM "public"."projects" AS "__be_0_projects" WHERE (((("__be_0_projects"."id") = ("public"."projects_jobboards"."project_id")) AND ($6)) AND (($7) AND ((((("__be_0_projects"."group_id") = ((($1->>$8))::uuid)) OR ((("__be_0_projects"."group_id") IS NULL) AND (((($1->>$9))::uuid) IS NULL))) AND ($10)) AND ($11))))     )) AND ((("public"."projects_jobboards"."jobboard_id") = (($2)::uuid)) AND ((EXISTS  (SELECT  $12  FROM "public"."projects" AS "__be_1_projects" WHERE (((("__be_1_projects"."id") = ("public"."projects_jobboards"."project_id")) AND ($13)) AND (((((("__be_1_projects"."group_id") = ((($1->>$14))::uuid)) OR ((("__be_1_projects"."group_id") IS NULL) AND (((($1->>$15))::uuid) IS NULL))) AND ($16)) AND ($17)) AND (((((("__be_1_projects"."deleted_at") IS NULL) AND ($18)) AND ($19)) AND (($20) AND ($21))) AND ($22))))     )) AND (("public"."projects_jobboards"."enabled_at") IS NOT NULL))))   ORDER BY "enabled_at" DESC NULLS FIRST LIMIT $23 OFFSET $24) AS "_root.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.project.base"."id" AS "id", "_root.or.project.base"."created_at" AS "createdAt", "_root.or.project.base"."updated_at" AS "updatedAt", "_root.or.project.base"."external_id" AS "externalId", "_root.or.project.base"."reference_id" AS "referenceId", "_root.or.project.base"."trigger_short_id" AS "shortId", "_root.or.project.base"."name" AS "name", "_root.or.project.ar.project.fieldsValues"."fieldsValues" AS "fieldsValues", "_root.or.project.ar.project.assignees"."assignees" AS "assignees", $25 AS "__typename"       ) AS "_e"      ) ) AS "project" FROM  (SELECT  *  FROM "public"."projects"  WHERE ((("_root.base"."project_id") = ("id")) AND ((("public"."projects"."group_id") = ((($1->>$26))::uuid)) OR ((("public"."projects"."group_id") IS NULL) AND (((($1->>$27))::uuid) IS NULL))))    LIMIT $28 ) AS "_root.or.project.base" LEFT OUTER JOIN LATERAL (SELECT  coalesce(json_agg("assignees" ), $29 ) AS "assignees" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.project.ar.project.assignees.base"."id" AS "id", "_root.or.project.ar.project.assignees.or.user"."user" AS "user", $30 AS "__typename"       ) AS "_e"      ) ) AS "assignees" FROM  (SELECT  *  FROM "public"."projects_assignees"  WHERE ((("_root.or.project.base"."id") = ("project_id")) AND (("public"."projects_assignees"."deleted_at") IS NULL))     ) AS "_root.or.project.ar.project.assignees.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.project.ar.project.assignees.or.user.base"."display_name" AS "displayName", "_root.or.project.ar.project.assignees.or.user.base"."email" AS "email", "_root.or.project.ar.project.assignees.or.user.base"."id" AS "id", $31 AS "__typename"       ) AS "_e"      ) ) AS "user" FROM  (SELECT  *  FROM "auth"."users"  WHERE ((("_root.or.project.ar.project.assignees.base"."user_id") = ("id")) AND ((EXISTS  (SELECT  $32  FROM "public"."users_groups" AS "__be_0_users_groups" WHERE (((("__be_0_users_groups"."user_id") = ("auth"."users"."id")) AND ($33)) AND (($34) AND (((("__be_0_users_groups"."group_id") = ((($1->>$35))::uuid)) AND ($36)) AND ($37))))     )) OR (("auth"."users"."id") = ((($1->>$38))::uuid))))    LIMIT $39 ) AS "_root.or.project.ar.project.assignees.or.user.base"      ) AS "_root.or.project.ar.project.assignees.or.user" ON ($40)      ) AS "_root.or.project.ar.project.assignees"      ) AS "_root.or.project.ar.project.assignees" ON ($41) LEFT OUTER JOIN LATERAL (SELECT  coalesce(json_agg("fieldsValues" ), $42 ) AS "fieldsValues" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.project.ar.project.fieldsValues.base"."id" AS "id", "_root.or.project.ar.project.fieldsValues.or.field"."field" AS "field", "_root.or.project.ar.project.fieldsValues.or.fieldValue"."fieldValue" AS "fieldValue", "_root.or.project.ar.project.fieldsValues.or.location"."location" AS "location", "_root.or.project.ar.project.fieldsValues.base"."value" AS "value", $43 AS "__typename"       ) AS "_e"      ) ) AS "fieldsValues" FROM  (SELECT  *  FROM "public"."projects_fieldsvalues"  WHERE ((("_root.or.project.base"."id") = ("project_id")) AND ((("public"."projects_fieldsvalues"."group_id") = ((($1->>$44))::uuid)) AND ((("public"."projects_fieldsvalues"."deleted_at") IS NULL) AND (((("public"."projects_fieldsvalues"."fieldvalue_id") IS NULL) OR (EXISTS  (SELECT  $45  FROM "public"."fieldsvalues" AS "__be_0_fieldsvalues" WHERE (((("__be_0_fieldsvalues"."id") = ("public"."projects_fieldsvalues"."fieldvalue_id")) AND ($46)) AND (($47) AND (((("__be_0_fieldsvalues"."deleted_at") IS NULL) AND ($48)) AND ($49))))     ))) AND (EXISTS  (SELECT  $50  FROM "public"."fields" AS "__be_1_fields" WHERE (((("__be_1_fields"."id") = ("public"."projects_fieldsvalues"."field_id")) AND ($51)) AND (((((("__be_1_fields"."group_id") = ((($1->>$52))::uuid)) OR ((("__be_1_fields"."group_id") IS NULL) AND (((($1->>$53))::uuid) IS NULL))) AND ($54)) AND ($55)) AND (((("__be_1_fields"."deleted_at") IS NULL) AND ($56)) AND ($57))))     ))))))     ) AS "_root.or.project.ar.project.fieldsValues.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.project.ar.project.fieldsValues.or.fieldValue.base"."id" AS "id", "_root.or.project.ar.project.fieldsValues.or.fieldValue.base"."name" AS "name", "_root.or.project.ar.project.fieldsValues.or.fieldValue.base"."technical_value" AS "technicalValue", $58 AS "__typename"       ) AS "_e"      ) ) AS "fieldValue" FROM  (SELECT  *  FROM "public"."fieldsvalues"  WHERE (("_root.or.project.ar.project.fieldsValues.base"."fieldvalue_id") = ("id"))    LIMIT $59 ) AS "_root.or.project.ar.project.fieldsValues.or.fieldValue.base"      ) AS "_root.or.project.ar.project.fieldsValues.or.fieldValue" ON ($60) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.project.ar.project.fieldsValues.or.location.base"."id" AS "id", "_root.or.project.ar.project.fieldsValues.or.location.base"."search" AS "search", "_root.or.project.ar.project.fieldsValues.or.location.base"."locality" AS "locality", "_root.or.project.ar.project.fieldsValues.or.location.base"."postal_code" AS "postalCode", "_root.or.project.ar.project.fieldsValues.or.location.base"."administrative_area_level_2" AS "administrativeAreaLevel2", "_root.or.project.ar.project.fieldsValues.or.location.base"."administrative_area_level_1" AS "administrativeAreaLevel1", "_root.or.project.ar.project.fieldsValues.or.location.base"."country_name" AS "countryName", "_root.or.project.ar.project.fieldsValues.or.location.base"."country_short_name" AS "countryShortName", "_root.or.project.ar.project.fieldsValues.or.location.base"."formatted_address" AS "formattedAddress", $61 AS "__typename"       ) AS "_e"      ) ) AS "location" FROM  (SELECT  *  FROM "public"."locations"  WHERE (("_root.or.project.ar.project.fieldsValues.base"."location_id") = ("id"))    LIMIT $62 ) AS "_root.or.project.ar.project.fieldsValues.or.location.base"      ) AS "_root.or.project.ar.project.fieldsValues.or.location" ON ($63) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.project.ar.project.fieldsValues.or.field.base"."id" AS "id", "_root.or.project.ar.project.fieldsValues.or.field.base"."type" AS "type", "_root.or.project.ar.project.fieldsValues.or.field.base"."name" AS "name", "_root.or.project.ar.project.fieldsValues.or.field.base"."purpose" AS "purpose", "_root.or.project.ar.project.fieldsValues.or.field.base"."is_public" AS "isPublic", "_root.or.project.ar.project.fieldsValues.or.field.base"."order" AS "order", $64 AS "__typename"       ) AS "_e"      ) ) AS "field" FROM  (SELECT  *  FROM "public"."fields"  WHERE ((("_root.or.project.ar.project.fieldsValues.base"."field_id") = ("id")) AND ((("public"."fields"."group_id") = ((($1->>$65))::uuid)) OR ((("public"."fields"."group_id") IS NULL) AND (((($1->>$66))::uuid) IS NULL))))    LIMIT $67 ) AS "_root.or.project.ar.project.fieldsValues.or.field.base"      ) AS "_root.or.project.ar.project.fieldsValues.or.field" ON ($68)      ) AS "_root.or.project.ar.project.fieldsValues"      ) AS "_root.or.project.ar.project.fieldsValues" ON ($69)      ) AS "_root.or.project" ON ($70)    ORDER BY "root.pg.enabled_at" DESC NULLS FIRST  ) AS "_root"
22 min 0.1% 37 ms 35,701 nhost_hasura
WITH "_cte_notifications_count_0" AS (SELECT 
($2)::uuid::uuid as "groupId",
($3)::uuid::uuid as "userId",
LEAST($11, COALESCE((
    SELECT COUNT(*)
    FROM (
        SELECT $12
        FROM notifications n
        INNER JOIN historyentries h ON h.id = n.historyentry_id AND h.deleted_at IS NULL AND h.type = $13
        WHERE n.deleted_at IS NULL
        AND n.type = $14
        AND n.read_at IS NULL
        AND n.group_id = ($4)::uuid::uuid
        AND (
                -- Direct notifications to user with project_id IS NULL
                (
                  n.user_id = ($5)::uuid::uuid
                  AND h.project_id IS NULL
                )
            OR ( -- project is assigned to the user and is not deleted
                EXISTS (
                    SELECT $15
                    FROM projects_assignees pa
                    WHERE pa.project_id = h.project_id
                    AND pa.deleted_at IS NULL
                    AND pa.user_id = ($6)::uuid::uuid
                )
                AND NOT EXISTS (
                    SELECT $16
                    FROM projects pj
                    WHERE pj.id = h.project_id
                    AND pj.deleted_at IS NOT NULL
                )
            )
        )
        AND NOT EXISTS (
            SELECT $17
            FROM profiles p
            WHERE p.id = n.profile_id
            AND p.deleted_at IS NOT NULL
        )
        LIMIT $18
    ) sub1
), $19)) as "jobApplicationsNotificationsCount",

-- Messages count (limité à 100) - Version ultra-optimisée
LEAST($20, COALESCE((
    SELECT COUNT(*)
    FROM (
        SELECT $21
            FROM notifications n
            WHERE n.deleted_at IS NULL
            AND n.type = $22
            AND n.read_at IS NULL
            AND n.user_id = ($7)::uuid::uuid
            AND NOT EXISTS (
                SELECT $23
                FROM profiles p
                WHERE p.id = n.profile_id
                AND p.deleted_at IS NOT NULL
            )
            AND NOT EXISTS (
                SELECT $24
                FROM historyentries h
                WHERE h.id = n.historyentry_id
                AND h.deleted_at IS NOT NULL
            )
            AND NOT EXISTS (
                SELECT $25
                FROM historyentries h
                WHERE h.id = n.historyentry_id
                AND h.trigger_is_confidentiality_forced
            )
        LIMIT $26
    ) sub3
), $27)) as "messagesNotificationsCount",

-- Todos count (limité à 100) - Version ultra-optimisée
LEAST($28, COALESCE((
    SELECT COUNT(*)
    FROM (
        SELECT DISTINCT t.id
        FROM todos t
        WHERE t.group_id = ($8)::uuid::uuid
          AND t.deleted_at IS NULL
          AND t.done_at IS NULL
          AND (t.scheduled_at IS NULL OR t.scheduled_at <= NOW())
          AND (
              -- User owns the todo and no specific assignment
              (t.owned_by_user_id = ($9)::uuid::uuid AND NOT EXISTS (
                  SELECT $29 FROM mentions m WHERE m.source_id = t.id AND m.source_type = $30 AND m.target_type = $31 AND m.deleted_at IS NULL
              ))
              OR
              -- User is specifically assigned
              EXISTS (
                  SELECT $32 FROM mentions m WHERE m.source_id = t.id AND m.source_type = $33 AND m.target_type = $34 AND m.target_id = ($10)::uuid::uuid AND m.deleted_at IS NULL
              )
          )
          AND (
              -- Mention no profiles at all
              NOT EXISTS (
                  SELECT $35 FROM mentions m WHERE m.source_id = t.id AND m.source_type = $36 AND m.target_type = $37
              )
              OR
              -- Or at least one profile mention exists with non-deleted profile
              -- Cause we do not want to show todos for deleted profiles only
              EXISTS (
                  SELECT $38 FROM mentions m 
                  INNER JOIN profiles p ON p.id = m.target_id
                  WHERE m.source_id = t.id AND m.source_type = $39 AND m.target_type = $40 AND m.deleted_at IS NULL AND p.deleted_at IS NULL
              )
          )
        LIMIT $41
    ) sub4
), $42)) as "todosCount"
) SELECT  coalesce(json_agg("root" ), $43 ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.base"."groupId" AS "groupId", "_root.base"."userId" AS "userId", "_root.base"."jobApplicationsNotificationsCount" AS "jobApplicationsNotificationsCount", "_root.base"."messagesNotificationsCount" AS "messagesNotificationsCount", "_root.base"."todosCount" AS "todosCount", $44 AS "__typename"       ) AS "_e"      ) ) AS "root" FROM  (SELECT  *  FROM "_cte_notifications_count_0" WHERE ((("_cte_notifications_count_0"."groupId") = ((($1->>$45))::uuid)) AND (("_cte_notifications_count_0"."userId") = ((($1->>$46))::uuid)))     ) AS "_root.base"      ) AS "_root"
13 min < 0.1% 25 ms 31,932 nhost_hasura
SELECT  coalesce(json_agg("root" ), $3 ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.base"."id" AS "id", "_root.base"."trigger_name" AS "name", "_root.base"."description" AS "description", "_root.base"."website" AS "website", "_root.base"."founded_at" AS "foundedAt", "_root.base"."image_id" AS "imageId", "_root.base"."status_id" AS "statusId", "_root.base"."external_id" AS "externalId", "_root.base"."is_protected_until" AS "isProtectedUntil", "_root.base"."deleted_at" AS "deletedAt", "_root.base"."group_id" AS "groupId", "_root.base"."created_at" AS "createdAt", "_root.base"."updated_at" AS "updatedAt", "_root.base"."parent_id" AS "parentId", "_root.or.parent"."parent" AS "parent", "_root.ar.root.children"."children" AS "children", "_root.ar.root.assignees"."assignees" AS "assignees", "_root.ar.root.projectsCountPerStatusGroup"."projectsCountPerStatusGroup" AS "projectsCountPerStatusGroup", "_root.ar.root.files"."files" AS "files", "_root.or.status"."status" AS "status", "_root.or.legaldata"."legaldata" AS "legaldata", "_root.base"."linkedin_company_id" AS "linkedinCompanyId", "_root.or.linkedinCompanyData"."linkedinCompanyData" AS "linkedinCompanyData", "_root.ar.root.fieldsValues"."fieldsValues" AS "fieldsValues", "_root.ar.root.projects"."projects" AS "projects", "_root.or.image"."image" AS "image", "_root.ar.root.phoneNumbers"."phoneNumbers" AS "phoneNumbers", "_root.ar.root.emailAddresses"."emailAddresses" AS "emailAddresses", $4 AS "__typename"       ) AS "_e"      ) ) AS "root" FROM  (SELECT  *  FROM "public"."companies"  WHERE ((("public"."companies"."group_id") = ((($1->>$5))::uuid)) AND (("public"."companies"."id") = ANY(($2)::uuid[])))    LIMIT $6 ) AS "_root.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.linkedinCompanyData.base"."id" AS "id", "_root.or.linkedinCompanyData.base"."name" AS "name", "_root.or.linkedinCompanyData.base"."description" AS "description", "_root.or.linkedinCompanyData.base"."tagline" AS "tagline", "_root.or.linkedinCompanyData.base"."founded_at" AS "foundedAt", "_root.or.linkedinCompanyData.base"."linkedin_employee_count" AS "linkedinEmployeeCount", "_root.or.linkedinCompanyData.base"."linkedin_employee_start_count" AS "linkedinEmployeeStartCount", "_root.or.linkedinCompanyData.base"."linkedin_employee_end_count" AS "linkedinEmployeeEndCount", "_root.or.linkedinCompanyData.base"."linkedin_url" AS "linkedinUrl", "_root.or.linkedinCompanyData.base"."universal_name" AS "universalName", "_root.or.linkedinCompanyData.base"."linkedin_id" AS "linkedinId", "_root.or.linkedinCompanyData.base"."website" AS "website", "_root.or.linkedinCompanyData.or.image"."image" AS "image", "_root.or.linkedinCompanyData.ar.linkedinCompanyData.industries"."industries" AS "industries", $7 AS "__typename"       ) AS "_e"      ) ) AS "linkedinCompanyData" FROM  (SELECT  *  FROM "public"."linkedin_companies_data"  WHERE (("_root.base"."linkedin_company_id") = ("id"))    LIMIT $8 ) AS "_root.or.linkedinCompanyData.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "public"."images_public_url"("_root.or.linkedinCompanyData.or.image.base")  AS "publicUrl", $9 AS "__typename"       ) AS "_e"      ) ) AS "image" FROM  (SELECT  *  FROM "public"."images"  WHERE (("_root.or.linkedinCompanyData.base"."image_id") = ("id"))    LIMIT $10 ) AS "_root.or.linkedinCompanyData.or.image.base"      ) AS "_root.or.linkedinCompanyData.or.image" ON ($11) LEFT OUTER JOIN LATERAL (SELECT  coalesce(json_agg("industries" ), $12 ) AS "industries" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "md5_139a57d5aa64bc630fd443739d5a04c9__root.or.linkedinCompanyData.ar.linkedinCompanyData.industries.or.industry"."industry" AS "industry", $13 AS "__typename"       ) AS "_e"      ) ) AS "industries" FROM  (SELECT  *  FROM "public"."companies_industries"  WHERE ((("_root.or.linkedinCompanyData.base"."id") = ("company_id")) AND ((("public"."companies_industries"."deleted_at") IS NULL) AND (EXISTS  (SELECT  $14  FROM "public"."industries" AS "__be_0_industries" WHERE (((("__be_0_industries"."id") = ("public"."companies_industries"."industry_id")) AND ($15)) AND (($16) AND (((("__be_0_industries"."deleted_at") IS NULL) AND ($17)) AND ($18))))     ))))     ) AS "md5_4fab47b32c896b024a1e4e822e101b01__root.or.linkedinCompanyData.ar.linkedinCompanyData.industries.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "md5_92af78fe750a4b68254938e0ecf134db__root.or.linkedinCompanyData.ar.linkedinCompanyData.industries.or.industry.base"."name_english" AS "nameEnglish", "md5_92af78fe750a4b68254938e0ecf134db__root.or.linkedinCompanyData.ar.linkedinCompanyData.industries.or.industry.base"."name_french" AS "nameFrench", "md5_92af78fe750a4b68254938e0ecf134db__root.or.linkedinCompanyData.ar.linkedinCompanyData.industries.or.industry.base"."linkedin_id" AS "linkedinId", "md5_92af78fe750a4b68254938e0ecf134db__root.or.linkedinCompanyData.ar.linkedinCompanyData.industries.or.industry.base"."id" AS "id", $19 AS "__typename"       ) AS "_e"      ) ) AS "industry" FROM  (SELECT  *  FROM "public"."industries"  WHERE (("md5_4fab47b32c896b024a1e4e822e101b01__root.or.linkedinCompanyData.ar.linkedinCompanyData.industries.base"."industry_id") = ("id"))    LIMIT $20 ) AS "md5_92af78fe750a4b68254938e0ecf134db__root.or.linkedinCompanyData.ar.linkedinCompanyData.industries.or.industry.base"      ) AS "md5_139a57d5aa64bc630fd443739d5a04c9__root.or.linkedinCompanyData.ar.linkedinCompanyData.industries.or.industry" ON ($21)      ) AS "_root.or.linkedinCompanyData.ar.linkedinCompanyData.industries"      ) AS "_root.or.linkedinCompanyData.ar.linkedinCompanyData.industries" ON ($22)      ) AS "_root.or.linkedinCompanyData" ON ($23) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "public"."images_public_url"("_root.or.image.base")  AS "publicUrl", $24 AS "__typename"       ) AS "_e"      ) ) AS "image" FROM  (SELECT  *  FROM "public"."images"  WHERE (("_root.base"."image_id") = ("id"))    LIMIT $25 ) AS "_root.or.image.base"      ) AS "_root.or.image" ON ($26) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.status.base"."title" AS "title", "_root.or.status.base"."color_id" AS "colorId", "_root.or.status.base"."is_auto" AS "isAuto", "_root.or.status.base"."id" AS "id", $27 AS "__typename"       ) AS "_e"      ) ) AS "status" FROM  (SELECT  *  FROM "public"."statuses"  WHERE ((("_root.base"."status_id") = ("id")) AND (((("public"."statuses"."group_id") = ((($1->>$28))::uuid)) OR ((("public"."statuses"."group_id") IS NULL) AND (((($1->>$29))::uuid) IS NULL))) OR (("public"."statuses"."group_id") IS NULL)))    LIMIT $30 ) AS "_root.or.status.base"      ) AS "_root.or.status" ON ($31) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.parent.base"."id" AS "id", "_root.or.parent.base"."trigger_name" AS "name", "_root.or.parent.or.linkedinCompanyData"."linkedinCompanyData" AS "linkedinCompanyData", "_root.or.parent.or.image"."image" AS "image", $32 AS "__typename"       ) AS "_e"      ) ) AS "parent" FROM  (SELECT  *  FROM "public"."companies"  WHERE ((("_root.base"."parent_id") = ("id")) AND (("public"."companies"."group_id") = ((($1->>$33))::uuid)))    LIMIT $34 ) AS "_root.or.parent.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.parent.or.linkedinCompanyData.base"."name" AS "name", "_root.or.parent.or.linkedinCompanyData.or.image"."image" AS "image", $35 AS "__typename"       ) AS "_e"      ) ) AS "linkedinCompanyData" FROM  (SELECT  *  FROM "public"."linkedin_companies_data"  WHERE (("_root.or.parent.base"."linkedin_company_id") = ("id"))    LIMIT $36 ) AS "_root.or.parent.or.linkedinCompanyData.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "public"."images_public_url"("_root.or.parent.or.linkedinCompanyData.or.image.base")  AS "publicUrl", $37 AS "__typename"       ) AS "_e"      ) ) AS "image" FROM  (SELECT  *  FROM "public"."images"  WHERE (("_root.or.parent.or.linkedinCompanyData.base"."image_id") = ("id"))    LIMIT $38 ) AS "_root.or.parent.or.linkedinCompanyData.or.image.base"      ) AS "_root.or.parent.or.linkedinCompanyData.or.image" ON ($39)      ) AS "_root.or.parent.or.linkedinCompanyData" ON ($40) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "public"."images_public_url"("_root.or.parent.or.image.base")  AS "publicUrl", $41 AS "__typename"       ) AS "_e"      ) ) AS "image" FROM  (SELECT  *  FROM "public"."images"  WHERE (("_root.or.parent.base"."image_id") = ("id"))    LIMIT $42 ) AS "_root.or.parent.or.image.base"      ) AS "_root.or.parent.or.image" ON ($43)      ) AS "_root.or.parent" ON ($44) LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.legaldata.base"."id" AS "id", "_root.or.legaldata.base"."created_at" AS "createdAt", "_root.or.legaldata.base"."deleted_at" AS "deletedAt", "_root.or.legaldata.base"."updated_at" AS "updatedAt", "_root.or.legaldata.base"."legal_name" AS "legalName", "_root.or.legaldata.base"."siren" AS "siren", "_root.or.legaldata.base"."vat_number" AS "vatNumber", "_root.or.legaldata.base"."activity" AS "activity", "_root.or.legaldata.base"."codenaf" AS "codenaf", "_root.or.legaldata.base"."codenaf_title" AS "codenafTitle", "_root.or.legaldata.base"."founded_at" AS "foundedAt", "_root.or.legaldata.ar.legaldata.locations"."locations" AS "locations", $45 AS "__typename"       ) AS "_e"      ) ) AS "legaldata" FROM  (SELECT  *  FROM "public"."companies_legaldata"  WHERE (("_root.base"."id") = ("company_id"))    LIMIT $46 ) AS "_root.or.legaldata.base" LEFT OUTER JOIN LATERAL (SELECT  coalesce(json_agg("locations" ), $47 ) AS "locations" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.legaldata.ar.legaldata.locations.base"."siret" AS "siret", "_root.or.l
11 min < 0.1% 166 ms 3,989 nhost_hasura
SELECT  coalesce(json_agg("root" ORDER BY "root.or.historyEntry.or.project.pg.created_at" DESC NULLS LAST, "root.pg.created_at" DESC NULLS LAST, "root.pg.id" ASC NULLS LAST), $7 ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.base"."id" AS "id", "_root.base"."created_at" AS "createdAt", "_root.base"."updated_at" AS "updatedAt", "_root.base"."deleted_at" AS "deletedAt", "_root.base"."read_at" AS "readAt", "_root.base"."type" AS "type", "_root.base"."user_id" AS "userId", "_root.or.profile"."profile" AS "profile", "_root.or.messageScheduled"."messageScheduled" AS "messageScheduled", "_root.or.historyEntry"."historyEntry" AS "historyEntry", $8 AS "__typename"       ) AS "_e"      ) ) AS "root", "_root.or.historyEntry"."root.or.historyEntry.or.project.pg.created_at" AS "root.or.historyEntry.or.project.pg.created_at", "_root.base"."created_at" AS "root.pg.created_at", "_root.base"."id" AS "root.pg.id" FROM  (SELECT  *  FROM "public"."notifications"  WHERE ((("public"."notifications"."group_id") = ((($1->>$9))::uuid)) AND (((("public"."notifications"."deleted_at") IS NULL) OR (("public"."notifications"."deleted_at") >= (($2)::timestamptz))) AND ((("public"."notifications"."type") = (($3)::text)) AND (((("public"."notifications"."deleted_at") IS NULL) AND (EXISTS  (SELECT  $10  FROM "public"."profiles" AS "__be_0_profiles" WHERE (((("__be_0_profiles"."id") = ("public"."notifications"."profile_id")) AND ($11)) AND (((((("__be_0_profiles"."group_id") = ((($1->>$12))::uuid)) OR ((("__be_0_profiles"."group_id") IS NULL) AND (((($1->>$13))::uuid) IS NULL))) AND ($14)) AND ($15)) AND (((("__be_0_profiles"."deleted_at") IS NULL) AND ($16)) AND ($17))))     ))) AND (((EXISTS  (SELECT  $18  FROM "public"."historyentries" AS "__be_1_historyentries" WHERE (((("__be_1_historyentries"."id") = ("public"."notifications"."historyentry_id")) AND ($19)) AND (((((((("__be_1_historyentries"."group_id") = ((($1->>$20))::uuid)) OR ((("__be_1_historyentries"."group_id") IS NULL) AND (((($1->>$21))::uuid) IS NULL))) AND ($22)) AND ($23)) AND ((((("__be_1_historyentries"."trigger_is_confidentiality_forced") = (($24)::boolean)) AND ($25)) AND ($26)) AND ($27))) AND ($28)) AND (((("__be_1_historyentries"."deleted_at") IS NULL) AND ($29)) AND ((EXISTS  (SELECT  $30  FROM "public"."projects" AS "__be_2_projects" WHERE (((("__be_2_projects"."id") = ("__be_1_historyentries"."project_id")) AND ($31)) AND (((((("__be_2_projects"."group_id") = ((($1->>$32))::uuid)) OR ((("__be_2_projects"."group_id") IS NULL) AND (((($1->>$33))::uuid) IS NULL))) AND ($34)) AND ($35)) AND ((EXISTS  (SELECT  $36  FROM "public"."projects_assignees" AS "__be_3_projects_assignees" WHERE (((("__be_3_projects_assignees"."project_id") = ("__be_2_projects"."id")) AND ($37)) AND (($38) AND (((("__be_3_projects_assignees"."user_id") = (($4)::uuid)) AND ($39)) AND (((("__be_3_projects_assignees"."deleted_at") IS NULL) AND ($40)) AND ($41)))))     )) AND (((("__be_2_projects"."deleted_at") IS NULL) AND ($42)) AND ($43)))))     )) AND ($44)))))     )) OR ((("public"."notifications"."user_id") = (($5)::uuid)) AND (EXISTS  (SELECT  $45  FROM "public"."historyentries" AS "__be_4_historyentries" WHERE (((("__be_4_historyentries"."id") = ("public"."notifications"."historyentry_id")) AND ($46)) AND (((((((("__be_4_historyentries"."group_id") = ((($1->>$47))::uuid)) OR ((("__be_4_historyentries"."group_id") IS NULL) AND (((($1->>$48))::uuid) IS NULL))) AND ($49)) AND ($50)) AND ((((("__be_4_historyentries"."trigger_is_confidentiality_forced") = (($51)::boolean)) AND ($52)) AND ($53)) AND ($54))) AND ($55)) AND (((("__be_4_historyentries"."deleted_at") IS NULL) AND ($56)) AND (((("__be_4_historyentries"."project_id") IS NULL) AND ($57)) AND ($58)))))     )))) AND ((("public"."notifications"."read_at") IS NULL) OR (("public"."notifications"."read_at") >= (($6)::timestamptz))))))))     ) AS "_root.base" LEFT OUTER JOIN LATERAL (SELECT  "_root.or.historyEntry.or.project"."root.or.historyEntry.or.project.pg.created_at" AS "root.or.historyEntry.or.project.pg.created_at", row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.historyEntry.base"."id" AS "id", "_root.or.historyEntry.base"."type" AS "type", "_root.or.historyEntry.base"."trigger_occurred_at" AS "occurredAt", "_root.or.historyEntry.base"."source" AS "source", "public"."historyentries_message_with_confidentiality_settings"("_root.or.historyEntry.base", "hasura_session" => $1)  AS "messageWithConfidentialitySettings", "public"."historyentries_subject_with_confidentiality_settings"("_root.or.historyEntry.base", "hasura_session" => $1)  AS "subjectWithConfidentialitySettings", "_root.or.historyEntry.or.project"."project" AS "project", "_root.or.historyEntry.ar.historyEntry.files"."files" AS "files", $59 AS "__typename"       ) AS "_e"      ) ) AS "historyEntry" FROM  (SELECT  *  FROM "public"."historyentries"  WHERE ((("_root.base"."historyentry_id") = ("id")) AND (((("public"."historyentries"."group_id") = ((($1->>$60))::uuid)) OR ((("public"."historyentries"."group_id") IS NULL) AND (((($1->>$61))::uuid) IS NULL))) AND (("public"."historyentries"."trigger_is_confidentiality_forced") = (($62)::boolean))))    LIMIT $63 ) AS "_root.or.historyEntry.base" LEFT OUTER JOIN LATERAL (SELECT  "_root.or.historyEntry.or.project.base"."created_at" AS "root.or.historyEntry.or.project.pg.created_at", row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.historyEntry.or.project.base"."id" AS "id", "_root.or.historyEntry.or.project.base"."name" AS "name", "_root.or.historyEntry.or.project.or.company"."company" AS "company", $64 AS "__typename"       ) AS "_e"      ) ) AS "project" FROM  (SELECT  *  FROM "public"."projects"  WHERE ((("_root.or.historyEntry.base"."project_id") = ("id")) AND ((("public"."projects"."group_id") = ((($1->>$65))::uuid)) OR ((("public"."projects"."group_id") IS NULL) AND (((($1->>$66))::uuid) IS NULL))))    LIMIT $67 ) AS "_root.or.historyEntry.or.project.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.historyEntry.or.project.or.company.base"."id" AS "id", "md5_077948e7bbff295097ff401783cb3f33__root.or.historyEntry.or.project.or.company.or.linkedinCompanyData"."linkedinCompanyData" AS "linkedinCompanyData", $68 AS "__typename"       ) AS "_e"      ) ) AS "company" FROM  (SELECT  *  FROM "public"."companies"  WHERE ((("_root.or.historyEntry.or.project.base"."company_id") = ("id")) AND (("public"."companies"."group_id") = ((($1->>$69))::uuid)))    LIMIT $70 ) AS "_root.or.historyEntry.or.project.or.company.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "md5_17543089adf72f49b3baaef6b1428de7__root.or.historyEntry.or.project.or.company.or.linkedinCompanyData.base"."id" AS "id", "md5_17543089adf72f49b3baaef6b1428de7__root.or.historyEntry.or.project.or.company.or.linkedinCompanyData.base"."name" AS "name", "md5_842292468fab93732a798efc38bc0209__root.or.historyEntry.or.project.or.company.or.linkedinCompanyData.or.image"."image" AS "image", $71 AS "__typename"       ) AS "_e"      ) ) AS "linkedinCompanyData" FROM  (SELECT  *  FROM "public"."linkedin_companies_data"  WHERE (("_root.or.historyEntry.or.project.or.company.base"."linkedin_company_id") = ("id"))    LIMIT $72 ) AS "md5_17543089adf72f49b3baaef6b1428de7__root.or.historyEntry.or.project.or.company.or.linkedinCompanyData.base" LEFT OUTER JOIN LATERAL (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "md5_ec3723e1a27bd9103837f6711a574140__root.or.historyEntry.or.project.or.company.or.linkedinCompanyData.or.image.base"."id" AS "id", "md5_ec3723e1a27bd9103837f6711a574140__root.or.historyEntry.or.project.or.company.or.linkedinCompanyData.or.image.base"."file_id" AS "fileId", "public"."images_public_url"("md5_ec3723e1a27bd9103837f6711a574140__root.or.historyEntry.or.project.or.company.or.linkedinCompanyData.or.image.base")  AS "publicUrl", $73 AS "__typename"       ) AS "_e"      ) ) AS "image" FROM  (SELECT  *  FROM "public"."images"  WHERE (("md5_17543089adf72f49b3baaef6b1428de7__root.or.historyEntry.or.project.or.company.or.linkedinCompanyData.base"."image_id") = ("id"))    LIMIT $74 ) AS "md5_ec3723e1a27bd9103837f6711a574140__root.or.historyEntry.or.project.or.company.or.linkedinCompanyData.or.image.base"      ) AS "md5_842292468fab93732a798efc38bc0209__root.or.historyEntry.or.project.or.company.or.linkedinCompanyData.or.image" ON ($75)      ) AS "md5_077948e7bbff295097ff401783cb3f33__root.or.historyEntry.or.project.or.company.or.linkedinCompanyData" ON ($76)      ) AS "_root.or.historyEntry.or.project.or.company" ON ($77)      ) AS "_root.or.historyEntry.or.project" ON ($78) LEFT OUTER JOIN LATERAL (SELECT  (SELECT  coalesce(json_agg("_sub_query"."files" ORDER BY "ob_col_1" ASC NULLS LAST), $79 )  FROM  (SELECT  "_unnest_table"."files" AS "files", "_unnest_table"."ob_col_1" AS "ob_col_1" FROM UNNEST(array_agg("files" ), array_agg("root.or.historyEntry.ar.historyEntry.files.pg.created_at" )) AS "_unnest_table"("files", "ob_col_1")    ORDER BY "ob_col_1" ASC NULLS LAST LIMIT $80 ) AS "_sub_query"      ) AS "files" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.or.historyEntry.ar.historyEntry.files.base"."file_id" AS "fileId", "_root.or.historyEntry.ar.historyEntry.files.base"."created_at" AS "createdAt", "_root.or.historyEntry.ar.historyEntry.files.base"."updated_at" AS "updatedAt", "_root.or.historyEntry.ar.historyEntry.files.or.file"."file" AS "file", $81 AS "__typename"       ) AS "_e"      ) ) AS "files", "_root.or.historyEntry.ar.historyEntry.files.base"."created_at" AS "root.or.historyEntry.ar.historyEntry.files.pg.created_at" FROM  (SELECT  *  FROM "public"."historyentries_files"  WHERE ((("_root.or.historyEntry.base"."id") = ("historyentry_id")) AND ((EXISTS  (SELECT  $82  FROM "public"."historyentries" AS "__be_0_historyentries" WHERE (((("__be_0_historyentries"."id") = ("public"."historyentries_files"."historyentry_id")) AND ($83)) AND (($84) AND ((((("
11 min < 0.1% 65 ms 9,738 postgres
SELECT DISTINCT sub.record_id, $1 as rank
FROM (
  SELECT profile_id as record_id
  FROM email_addresses
  WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.term($2, $3), paradedb.term($4, $5), paradedb.term($6, $7)])
    
    AND deleted_at IS NULL
    AND profile_id IS NOT NULL
    
    
  LIMIT $8
) sub
10 min < 0.1% 72 ms 8,389 nhost_hasura
WITH "_mra__historyentries" AS (INSERT INTO "public"."historyentries" ( "user_id", "deleted_at", "id", "linkedin_seat_id", "type", "external_id", "created_at", "subject", "message", "profile_id", "group_id", "external_thread_id" ) VALUES (($1)::uuid, ($2)::timestamptz, ($3)::uuid, ($4)::integer, ($5)::text, ($6)::text, ($7)::timestamptz, ($8)::text, ($9)::text, ($10)::uuid, ($11)::uuid, ($12)::text) ON CONFLICT ON CONSTRAINT "historyentries_external_id_user_id_profile_id_key" DO UPDATE SET "deleted_at" = EXCLUDED."deleted_at","linkedin_seat_id" = EXCLUDED."linkedin_seat_id","type" = EXCLUDED."type","external_id" = EXCLUDED."external_id","created_at" = EXCLUDED."created_at","subject" = EXCLUDED."subject","message" = EXCLUDED."message","profile_id" = EXCLUDED."profile_id","external_thread_id" = EXCLUDED."external_thread_id" WHERE (((((((("public"."historyentries"."group_id") = (($13)::uuid)) OR ((("public"."historyentries"."group_id") IS NULL) AND ((($14)::uuid) IS NULL))) AND ($15)) AND ($16)) AND ((((("public"."historyentries"."trigger_is_confidentiality_forced") = (($17)::boolean)) AND ($18)) AND ($19)) AND ($20))) AND ($21)) AND ($22)) RETURNING * , CASE WHEN ("public"."historyentries"."xmax") = ($23) THEN ((((((("public"."historyentries"."group_id") = (($24)::uuid)) OR ((("public"."historyentries"."group_id") IS NULL) AND ((($25)::uuid) IS NULL))) AND ($26)) AND ($27)) AND (((EXISTS  (SELECT  $28  FROM "public"."profiles" AS "_be_0_profiles" WHERE (((("_be_0_profiles"."id") = ("public"."historyentries"."profile_id")) AND ($29)) AND (($30) AND ((((("_be_0_profiles"."group_id") = (($31)::uuid)) OR ((("_be_0_profiles"."group_id") IS NULL) AND ((($32)::uuid) IS NULL))) AND ($33)) AND ($34))))     )) AND ($35)) AND ($36))) AND ($37))::boolean ELSE ((((("public"."historyentries"."group_id") = (($38)::uuid)) OR ((("public"."historyentries"."group_id") IS NULL) AND ((($39)::uuid) IS NULL))) AND ($40)) AND ($41))::boolean END AS "check__constraint"), "_aca__historyentries" AS (SELECT  "id" , "created_at" , "updated_at" , "deleted_at" , "profile_id" , "user_id" , "type" , "data" , "message" , "metadata" , "subject" , "external_id" , "external_thread_id" , "event_start_at" , "event_end_at" , "emailAddress" , "sender_user_id" , "linkedin_seat_id" , "is_manually_created" , "project_id" , "message_scheduled_id" , "jobboard_offer_id" , "group_id" , "trigger_occurred_at" , "source" , "should_notify_jobboard_on_change" , "sub_type_id" , "tags" , "phone_number" , "is_merged_from_id" , "recording_id" , "draft_created_at" , "oauth_account_id" , "trigger_confidentiality_forced" , "trigger_is_confidentiality_forced"  FROM "_mra__historyentries"      ) SELECT  json_build_object($42, (SELECT  COUNT(*)  FROM "_aca__historyentries"      ), $43, (SELECT  coalesce(json_agg("root" ), $44 ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.base"."id" AS "id", $45 AS "__typename"       ) AS "_e"      ) ) AS "root" FROM  (SELECT  *  FROM "_aca__historyentries" WHERE ($46)     ) AS "_root.base"      ) AS "_root"      ), $47, $48 ) , (SELECT  coalesce(bool_and("check__constraint" ), $49 )  FROM "_mra__historyentries"      )
9 min < 0.1% 229 ms 2,449 postgres
SELECT profile_id as record_id,
       ROW_NUMBER() OVER (ORDER BY best_score DESC, profile_id) as rank
FROM (
  SELECT profile_id, MAX(score * (CASE WHEN end_date IS NULL THEN $1 ELSE GREATEST($2, $3 - EXTRACT($4 FROM AGE(NOW(), end_date)) / $5) END * CASE WHEN start_date IS NOT NULL THEN LEAST($6, $7 + EXTRACT($8 FROM AGE(COALESCE(end_date, NOW()), start_date)) / $9) ELSE $10 END * CASE WHEN source = $11 THEN $12 ELSE $13 END)) as best_score
  FROM (
    SELECT *
    FROM (
      SELECT profile_id, pdb.score(id) as score, end_date, start_date, source
      FROM profiles_positions
      WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($14), paradedb.term($15, $16)])
        
        AND deleted_at IS NULL
        AND profile_id IS NOT NULL
      OFFSET $17
    ) matches
    WHERE $18 
    ORDER BY score DESC
    LIMIT $19
  ) topk
  GROUP BY profile_id
) sub
ORDER BY rank
LIMIT $20
9 min < 0.1% 1,037 ms 501 nhost_hasura
SELECT  coalesce(json_agg("root" ), $4 ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.base"."id" AS "id", "_root.base"."search" AS "search", (ST_AsGeoJSON("_root.base"."center", $5, $6 ))::json AS "center", (ST_AsGeoJSON("_root.base"."boundaries", $7, $8 ))::json AS "boundaries", "_root.base"."formatted_address" AS "formattedAddress", "_root.base"."street_number" AS "streetNumber", "_root.base"."route" AS "route", "_root.base"."locality" AS "locality", "_root.base"."postal_code" AS "postalCode", "_root.base"."administrative_area_level_2" AS "administrativeAreaLevel2", "_root.base"."administrative_area_level_2_code" AS "administrativeAreaLevel2Code", "_root.base"."administrative_area_level_1" AS "administrativeAreaLevel1", "_root.base"."administrative_area_level_1_code" AS "administrativeAreaLevel1Code", "_root.base"."country_name" AS "countryName", "_root.base"."country_short_name" AS "countryShortName", "_root.base"."location_type" AS "locationType", "_root.base"."accuracy_level" AS "accuracyLevel", $9 AS "__typename"       ) AS "_e"      ) ) AS "root" FROM  (SELECT  *  FROM "public"."locations"  WHERE ((("public"."locations"."search") = ANY(($2)::text[])) OR (("public"."locations"."formatted_address") = ANY(($3)::text[])))    LIMIT $10 ) AS "_root.base"      ) AS "_root"
9 min < 0.1% 26 ms 19,668 postgres
SELECT DISTINCT sub.record_id, $1 as rank
FROM (
  SELECT id as record_id
  FROM profiles
  WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.term($2, $3), paradedb.term($4, $5), paradedb.term($6, $7)])
    
    AND deleted_at IS NULL
    
    
    
  LIMIT $8
) sub
8 min < 0.1% 309 ms 1,489 postgres
WITH
all_matched_count AS (
  SELECT count(*) as cnt
  FROM profiles p
  
  
  
  WHERE p.deleted_at IS NULL
  AND p.group_id = $1::uuid
  
  AND EXISTS (SELECT $2 FROM profiles_associations pa WHERE pa.profile_id = p.id AND pa.group_id = $3::uuid AND pa.deleted_at IS NULL AND (pa.company_id = $4::uuid OR pa.project_id IN (SELECT id FROM projects WHERE company_id = $5::uuid AND deleted_at IS NULL)) AND pa.association_type = $6)
  
),
all_matched AS (
  SELECT p.id as id
  FROM profiles p
  
  
  
  WHERE p.deleted_at IS NULL
  AND p.group_id = $7::uuid
  
  AND EXISTS (SELECT $8 FROM profiles_associations pa WHERE pa.profile_id = p.id AND pa.group_id = $9::uuid AND pa.deleted_at IS NULL AND (pa.company_id = $10::uuid OR pa.project_id IN (SELECT id FROM projects WHERE company_id = $11::uuid AND deleted_at IS NULL)) AND pa.association_type = $12)
  
  ORDER BY p.id DESC NULLS LAST, p.id ASC
  LIMIT $13 OFFSET $14
)
SELECT json_build_object(
  $15, (SELECT COALESCE(json_agg(id), $16::json) FROM all_matched),
  $17, (SELECT cnt FROM all_matched_count),
  $18, $19::json
)::text as result
7 min < 0.1% 32 ms 13,261 postgres
SELECT DISTINCT sub.record_id, $1 as rank
FROM (
  SELECT id as record_id
  FROM profiles
  WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.term($2, $3), paradedb.term($4, $5)])
    
    AND deleted_at IS NULL
    
    
    
  LIMIT $6
) sub
6 min < 0.1% 134 ms 2,862 postgres
SELECT DISTINCT sub.record_id, $1 as rank
FROM (
  SELECT profile_id as record_id
  FROM profiles_positions
  WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($2), paradedb.term($3, $4)])
    
    AND deleted_at IS NULL
    AND profile_id IS NOT NULL
    
    
  LIMIT $5
) sub
6 min < 0.1% 55 ms 6,903 nhost_hasura
SELECT  coalesce(json_agg("root" ), $3 ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.base"."id" AS "id", "_root.base"."project_id" AS "projectId", "_root.base"."statuses_metrics" AS "statusesMetrics", $4 AS "__typename"       ) AS "_e"      ) ) AS "root" FROM  (SELECT  *  FROM "public"."projects_statuses_metrics"  WHERE (("public"."projects_statuses_metrics"."id") = (($2)::uuid))    LIMIT $5 ) AS "_root.base"      ) AS "_root"
6 min < 0.1% 47 ms 7,667 postgres
CREATE TEMP TABLE _all_matched ON COMMIT DROP AS SELECT p.id as id,
         ROW_NUMBER() OVER (ORDER BY p.trigger_last_interaction_date DESC NULLS LAST, p.id ASC) as rn
  FROM profiles p
  
  
  
  WHERE p.deleted_at IS NULL
  AND p.group_id = $1::uuid
  
  AND EXISTS (SELECT $2 FROM profiles_statuses_cache psc WHERE psc.profile_id = p.id AND psc.group_id = $3::uuid AND psc.is_talent = $4)
6 min < 0.1% 56 ms 6,293 postgres
SELECT DISTINCT sub.record_id, $1 as rank
FROM (
  SELECT id as record_id
  FROM profiles
  WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($2), paradedb.term($3, $4)])
    
    AND deleted_at IS NULL
    
    
    
  LIMIT $5
) sub
6 min < 0.1% 80 ms 4,134 nhost_hasura
WITH "_mra__historyentries" AS (INSERT INTO "public"."historyentries" ( "user_id", "deleted_at", "id", "type", "oauth_account_id", "project_id", "external_id", "created_at", "subject", "emailAddress", "message_scheduled_id", "message", "profile_id", "group_id", "external_thread_id", "data" ) VALUES (($1)::uuid, ($2)::timestamptz, ($3)::uuid, ($4)::text, ($5)::text, ($6)::uuid, ($7)::text, ($8)::timestamptz, ($9)::text, ($10)::text, ($11)::uuid, ($12)::text, ($13)::uuid, ($14)::uuid, ($15)::text, ($16)::jsonb) ON CONFLICT ON CONSTRAINT "historyentries_external_id_user_id_profile_id_key" DO UPDATE SET "type" = EXCLUDED."type","oauth_account_id" = EXCLUDED."oauth_account_id","project_id" = EXCLUDED."project_id","external_id" = EXCLUDED."external_id","created_at" = EXCLUDED."created_at","subject" = EXCLUDED."subject","emailAddress" = EXCLUDED."emailAddress","message_scheduled_id" = EXCLUDED."message_scheduled_id","message" = EXCLUDED."message","profile_id" = EXCLUDED."profile_id","external_thread_id" = EXCLUDED."external_thread_id","data" = EXCLUDED."data" WHERE (((((((("public"."historyentries"."group_id") = (($17)::uuid)) OR ((("public"."historyentries"."group_id") IS NULL) AND ((($18)::uuid) IS NULL))) AND ($19)) AND ($20)) AND ((((("public"."historyentries"."trigger_is_confidentiality_forced") = (($21)::boolean)) AND ($22)) AND ($23)) AND ($24))) AND ($25)) AND ($26)) RETURNING * , CASE WHEN ("public"."historyentries"."xmax") = ($27) THEN ((((((("public"."historyentries"."group_id") = (($28)::uuid)) OR ((("public"."historyentries"."group_id") IS NULL) AND ((($29)::uuid) IS NULL))) AND ($30)) AND ($31)) AND (((EXISTS  (SELECT  $32  FROM "public"."profiles" AS "_be_0_profiles" WHERE (((("_be_0_profiles"."id") = ("public"."historyentries"."profile_id")) AND ($33)) AND (($34) AND ((((("_be_0_profiles"."group_id") = (($35)::uuid)) OR ((("_be_0_profiles"."group_id") IS NULL) AND ((($36)::uuid) IS NULL))) AND ($37)) AND ($38))))     )) AND ($39)) AND ($40))) AND ($41))::boolean ELSE ((((("public"."historyentries"."group_id") = (($42)::uuid)) OR ((("public"."historyentries"."group_id") IS NULL) AND ((($43)::uuid) IS NULL))) AND ($44)) AND ($45))::boolean END AS "check__constraint"), "_aca__historyentries" AS (SELECT  "id" , "created_at" , "updated_at" , "deleted_at" , "profile_id" , "user_id" , "type" , "data" , "message" , "metadata" , "subject" , "external_id" , "external_thread_id" , "event_start_at" , "event_end_at" , "emailAddress" , "sender_user_id" , "linkedin_seat_id" , "is_manually_created" , "project_id" , "message_scheduled_id" , "jobboard_offer_id" , "group_id" , "trigger_occurred_at" , "source" , "should_notify_jobboard_on_change" , "sub_type_id" , "tags" , "phone_number" , "is_merged_from_id" , "recording_id" , "draft_created_at" , "oauth_account_id" , "trigger_confidentiality_forced" , "trigger_is_confidentiality_forced"  FROM "_mra__historyentries"      ) SELECT  json_build_object($46, (SELECT  COUNT(*)  FROM "_aca__historyentries"      ), $47, (SELECT  coalesce(json_agg("root" ), $48 ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.base"."id" AS "id", $49 AS "__typename"       ) AS "_e"      ) ) AS "root" FROM  (SELECT  *  FROM "_aca__historyentries" WHERE ($50)     ) AS "_root.base"      ) AS "_root"      ), $51, $52 ) , (SELECT  coalesce(bool_and("check__constraint" ), $53 )  FROM "_mra__historyentries"      )
6 min < 0.1% 49 ms 6,679 nhost_hasura
SELECT  coalesce(json_agg("root" ), $3 ) AS "root" FROM  (SELECT  row_to_json((SELECT  "_e"  FROM  (SELECT  "_root.base"."id" AS "id", "_root.base"."project_id" AS "projectId", "_root.base"."statuses_metrics" AS "statusesMetrics", $4 AS "__typename"       ) AS "_e"      ) ) AS "root" FROM  (SELECT  *  FROM "public"."projects_statuses_metrics"  WHERE (("public"."projects_statuses_metrics"."id") = ANY(($2)::uuid[]))     ) AS "_root.base"      ) AS "_root"
5 min < 0.1% 135 ms 2,419 postgres
SELECT id as record_id,
       ROW_NUMBER() OVER (ORDER BY best_score DESC, id) as rank
FROM (
  SELECT id, MAX(score) as best_score
  FROM (
    SELECT id, pdb.score(id) as score
    FROM profiles
    WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($1), paradedb.term($2, $3)])
      
      AND deleted_at IS NULL
      
    OFFSET $4
  ) matches
  GROUP BY id
) matched
WHERE $5 
ORDER BY rank
LIMIT $6
5 min < 0.1% 131 ms 2,413 postgres
SELECT profile_id as record_id,
       ROW_NUMBER() OVER (ORDER BY best_score DESC, profile_id) as rank
FROM (
  SELECT profile_id, MAX(score) as best_score
  FROM (
    SELECT profile_id, pdb.score(id) as score
    FROM profiles_educations
    WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.parse($1), paradedb.term($2, $3)])
      
      AND deleted_at IS NULL
      AND profile_id IS NOT NULL
    OFFSET $4
  ) matches
  GROUP BY profile_id
) matched
WHERE $5 
ORDER BY rank
LIMIT $6
5 min < 0.1% 67 ms 4,460 postgres
SELECT DISTINCT sub.record_id, $1 as rank
FROM (
  SELECT profile_id as record_id
  FROM email_addresses
  WHERE id @@@ paradedb.boolean(must => ARRAY[paradedb.term($2, $3), paradedb.term($4, $5)])
    
    AND deleted_at IS NULL
    AND profile_id IS NOT NULL
    
    
  LIMIT $6
) sub
4 min < 0.1% 71 ms 3,769 nhost_hasura
WITH "_mra__campains_profiles" AS (INSERT INTO "public"."campains_profiles" ( "campain_id", "profile_id" ) VALUES ($1, ($2)::uuid)  RETURNING * , ((((EXISTS  (SELECT  $3  FROM "public"."campains" AS "_be_0_campains" WHERE (((("_be_0_campains"."id") = ("public"."campains_profiles"."campain_id")) AND ($4)) AND (($5) AND ((EXISTS  (SELECT  $6  FROM "auth"."users" AS "_be_1_auth_users" WHERE (((("_be_1_auth_users"."id") = ("_be_0_campains"."user_id")) AND ($7)) AND (($8) AND ((EXISTS  (SELECT  $9  FROM "public"."users_groups" AS "_be_2_users_groups" WHERE (((("_be_2_users_groups"."user_id") = ("_be_1_auth_users"."id")) AND ($10)) AND (($11) AND (((("_be_2_users_groups"."group_id") = (($12)::uuid)) AND ($13)) AND ($14))))     )) AND ($15))))     )) AND ($16))))     )) AND ($17)) AND (((EXISTS  (SELECT  $18  FROM "public"."profiles" AS "_be_3_profiles" WHERE (((("_be_3_profiles"."id") = ("public"."campains_profiles"."profile_id")) AND ($19)) AND (($20) AND ((((("_be_3_profiles"."group_id") = (($21)::uuid)) OR ((("_be_3_profiles"."group_id") IS NULL) AND ((($22)::uuid) IS NULL))) AND ($23)) AND ($24))))     )) AND ($25)) AND ($26))) AND ($27))::boolean AS "check__constraint"), "_aca__campains_profiles" AS (SELECT  "campain_id" , "profile_id" , "created_at" , "updated_at" , "id" , "deleted_at"  FROM "_mra__campains_profiles"      ) SELECT  json_build_object($28, (SELECT  COUNT(*)  FROM "_aca__campains_profiles"      ) ) , (SELECT  coalesce(bool_and("check__constraint" ), $29 )  FROM "_mra__campains_profiles"      )