awx icon indicating copy to clipboard operation
awx copied to clipboard

Slow queries trying to view related activity stream for objects as normal user

Open AlanCoding opened this issue 3 years ago • 0 comments

Please confirm the following

  • [X] I agree to follow this project's code of conduct.
  • [X] I have checked the current issues for duplicates.
  • [X] I understand that AWX is open source software provided for free and that I might not receive a timely response.

Bug Summary

If you try to visit the activity stream for an object like /api/v2/execution_environments/3/activity_stream/, the request will take a long time due to postgres activity.

AWX version

devel

Select the relevant components

  • [ ] UI
  • [X] API
  • [ ] Docs
  • [ ] Collection
  • [ ] CLI
  • [ ] Other

Installation method

docker development environment

Modifications

no

Ansible version

N/A

Operating system

N/A

Web browser

Chrome

Steps to reproduce

Even with very few objects loaded into the system (3 EEs, just about 20 JTs, 80 jobs) visit the related activity_stream endpoint mentioned as a user who:

  • is not an org admin
  • had admin_role to 1 job template
  • member of Default organization

Expected results

Takes less than 1 second DB time.

Actual results

tools_postgres_1 | 2022-09-12 20:17:33.655 UTC [3568] LOG:  duration: 7350.087 ms

Additional information

the query:

SELECT Count(*)
FROM   (SELECT DISTINCT "main_activitystream"."id"                       AS Col1
                        ,
"main_activitystream"."actor_id"                 AS Col2
,
"main_activitystream"."operation"                AS Col3,
"main_activitystream"."timestamp"                AS Col4,
"main_activitystream"."changes"                  AS Col5,
"main_activitystream"."deleted_actor"            AS Col6,
"main_activitystream"."action_node"              AS Col7,
"main_activitystream"."object_relationship_type" AS Col8,
"main_activitystream"."object1"                  AS Col9,
"main_activitystream"."object2"                  AS Col10,
"main_activitystream"."setting"                  AS Col11
FROM   "main_activitystream"
LEFT OUTER JOIN "main_activitystream_ad_hoc_command"
ON ( "main_activitystream"."id" =
"main_activitystream_ad_hoc_command"."activitystream_id" )
LEFT OUTER JOIN "main_adhoccommand"
ON ( "main_activitystream_ad_hoc_command"."adhoccommand_id"
=
"main_adhoccommand"."unifiedjob_ptr_id" )
LEFT OUTER JOIN "main_activitystream_o_auth2_application"
ON ( "main_activitystream"."id" =
"main_activitystream_o_auth2_application"."activitystream_id" )
LEFT OUTER JOIN "main_activitystream_o_auth2_access_token"
ON ( "main_activitystream"."id" =
"main_activitystream_o_auth2_access_token"."activitystream_id" )
LEFT OUTER JOIN "main_activitystream_user"
ON ( "main_activitystream"."id" =
"main_activitystream_user"."activitystream_id" )
LEFT OUTER JOIN "main_activitystream_organization"
ON ( "main_activitystream"."id" =
"main_activitystream_organization"."activitystream_id" )
LEFT OUTER JOIN "main_activitystream_inventory"
ON ( "main_activitystream"."id" =
"main_activitystream_inventory"."activitystream_id" )
LEFT OUTER JOIN "main_activitystream_host"
ON ( "main_activitystream"."id" =
"main_activitystream_host"."activitystream_id" )
LEFT OUTER JOIN "main_host"
ON ( "main_activitystream_host"."host_id" = "main_host"."id" )
LEFT OUTER JOIN "main_activitystream_group"
ON ( "main_activitystream"."id" =
"main_activitystream_group"."activitystream_id" )
LEFT OUTER JOIN "main_group"
ON ( "main_activitystream_group"."group_id" = "main_group"."id" )
LEFT OUTER JOIN "main_activitystream_inventory_source"
ON ( "main_activitystream"."id" =
"main_activitystream_inventory_source"."activitystream_id" )
LEFT OUTER JOIN "main_inventorysource"
ON ( "main_activitystream_inventory_source"."inventorysource_id" =
"main_inventorysource"."unifiedjobtemplate_ptr_id" )
LEFT OUTER JOIN "main_activitystream_inventory_update"
ON ( "main_activitystream"."id" =
"main_activitystream_inventory_update"."activitystream_id" )
LEFT OUTER JOIN "main_inventoryupdate"
ON ( "main_activitystream_inventory_update"."inventoryupdate_id" =
"main_inventoryupdate"."unifiedjob_ptr_id" )
LEFT OUTER JOIN "main_inventorysource" T26
ON ( "main_inventoryupdate"."inventory_source_id" =
T26."unifiedjobtemplate_ptr_id" )
LEFT OUTER JOIN "main_activitystream_credential"
ON ( "main_activitystream"."id" =
"main_activitystream_credential"."activitystream_id" )
LEFT OUTER JOIN "main_activitystream_team"
ON ( "main_activitystream"."id" =
"main_activitystream_team"."activitystream_id" )
LEFT OUTER JOIN "main_activitystream_project"
ON ( "main_activitystream"."id" =
"main_activitystream_project"."activitystream_id" )
LEFT OUTER JOIN "main_activitystream_project_update"
ON ( "main_activitystream"."id" =
"main_activitystream_project_update"."activitystream_id" )
LEFT OUTER JOIN "main_projectupdate"
ON ( "main_activitystream_project_update"."projectupdate_id" =
"main_projectupdate"."unifiedjob_ptr_id" )
LEFT OUTER JOIN "main_activitystream_job_template"
ON ( "main_activitystream"."id" =
"main_activitystream_job_template"."activitystream_id" )
LEFT OUTER JOIN "main_activitystream_job"
ON ( "main_activitystream"."id" =
"main_activitystream_job"."activitystream_id" )
LEFT OUTER JOIN "main_job"
ON ( "main_activitystream_job"."job_id" =
"main_job"."unifiedjob_ptr_id" )
LEFT OUTER JOIN "main_activitystream_workflow_job_template"
ON ( "main_activitystream"."id" =
"main_activitystream_workflow_job_template"."activitystream_id" )
LEFT OUTER JOIN "main_activitystream_workflow_job_template_node"
ON ( "main_activitystream"."id" =
"main_activitystream_workflow_job_template_node"."activitystream_id" )
LEFT OUTER JOIN "main_workflowjobtemplatenode"
ON (
"main_activitystream_workflow_job_template_node"."workflowjobtemplatenode_id"
=
"main_workflowjobtemplatenode"."id" )
LEFT OUTER JOIN "main_activitystream_workflow_job"
ON ( "main_activitystream"."id" =
"main_activitystream_workflow_job"."activitystream_id" )
LEFT OUTER JOIN "main_workflowjob"
ON ( "main_activitystream_workflow_job"."workflowjob_id" =
"main_workflowjob"."unifiedjob_ptr_id" )
LEFT OUTER JOIN "main_activitystream_notification_template"
ON ( "main_activitystream"."id" =
"main_activitystream_notification_template"."activitystream_id" )
LEFT OUTER JOIN "main_notificationtemplate"
ON (
"main_activitystream_notification_template"."notificationtemplate_id" =
"main_notificationtemplate"."id" )
LEFT OUTER JOIN "main_activitystream_notification"
ON ( "main_activitystream"."id" =
"main_activitystream_notification"."activitystream_id" )
LEFT OUTER JOIN "main_notification"
ON ( "main_activitystream_notification"."notification_id" =
"main_notification"."id" )
LEFT OUTER JOIN "main_notificationtemplate" T55
ON ( "main_notification"."notification_template_id" = T55."id" )
LEFT OUTER JOIN "main_activitystream_label"
ON ( "main_activitystream"."id" =
"main_activitystream_label"."activitystream_id" )
LEFT OUTER JOIN "main_label"
ON ( "main_activitystream_label"."label_id" = "main_label"."id" )
LEFT OUTER JOIN "main_activitystream_role"
ON ( "main_activitystream"."id" =
"main_activitystream_role"."activitystream_id" )
INNER JOIN "main_activitystream_execution_environment"
ON ( "main_activitystream"."id" =
"main_activitystream_execution_environment"."activitystream_id" )
WHERE  ( ( "main_adhoccommand"."inventory_id" IN (SELECT W0."id"
          FROM   "main_inventory" W0
          WHERE
W0."id" IN (SELECT DISTINCT
V0."object_id"
FROM   "main_rbac_role_ancestors" V0
WHERE  ( V0."ancestor_id" IN (SELECT U0."id"
                         FROM
    "main_rbac_roles" U0
    INNER JOIN
    "main_rbac_roles_members" U1
            ON ( U0."id" =
               U1."role_id" )
                         WHERE
    U1."user_id" = 4)
    AND V0."content_type_id" = 34
    AND V0."role_field" = 'read_role' )
))
OR "main_activitystream_o_auth2_application"."oauth2application_id"
IN
(SELECT X0."id"
FROM
"main_oauth2application" X0
WHERE
X0."organization_id" IN (SELECT W0."id"
    FROM   "main_organization" W0
    WHERE
W0."id" IN (SELECT DISTINCT
V0."object_id"
FROM   "main_rbac_role_ancestors" V0
WHERE  ( V0."ancestor_id" IN (SELECT
U0."id"
                     FROM
"main_rbac_roles" U0
INNER JOIN
"main_rbac_roles_members"
U1
        ON (
U0."id" = U1."role_id" )
        WHERE
U1."user_id" = 4)
AND V0."content_type_id" =
    37
AND V0."role_field" =
    'member_role' ))))
OR
"main_activitystream_o_auth2_access_token"."oauth2accesstoken_id" IN
(SELECT V0."id"
FROM
"main_oauth2accesstoken" V0
LEFT OUTER JOIN "main_oauth2application" V1
ON ( V0."application_id" = V1."id" )
WHERE
(
V1."organization_id" IN (SELECT U0."id"
FROM   "main_organization" U0
LEFT OUTER JOIN "main_rbac_roles" U1
        ON ( U0."admin_role_id"
             =
           U1."id" )
LEFT OUTER JOIN "main_rbac_roles_members" U2
ON ( U1."id" = U2."role_id" )
LEFT OUTER JOIN "main_rbac_roles" U4
ON ( U0."auditor_role_id" =
U4."id" )
LEFT OUTER JOIN "main_rbac_roles_members" U5
ON ( U4."id" = U5."role_id" )
WHERE  ( U2."user_id" = 4
OR U5."user_id" = 4 ))
OR V0."user_id" = 4 ))
OR "main_activitystream_user"."user_id" IN
(SELECT DISTINCT W2."user_id"
FROM   "main_organization" W0
LEFT OUTER JOIN "main_rbac_roles" W1
ON ( W0."member_role_id" = W1."id" )
LEFT OUTER JOIN "main_rbac_roles_members" W2
ON ( W1."id" = W2."role_id" )
                WHERE  (
W0."id" IN (SELECT DISTINCT
V0."object_id"
FROM   "main_rbac_role_ancestors" V0
WHERE  ( V0."ancestor_id" IN
(SELECT U0."id"
 FROM
"main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members" U1
        ON ( U0."id" = U1."role_id" )
                     WHERE
U1."user_id" = 4)
AND V0."content_type_id" = 37
AND V0."role_field" = 'admin_role' ))
OR W0."id" IN (SELECT DISTINCT V0."object_id"
FROM   "main_rbac_role_ancestors" V0
WHERE  ( V0."ancestor_id" IN (SELECT U0."id"
                         FROM
    "main_rbac_roles" U0
    INNER JOIN
    "main_rbac_roles_members" U1
            ON ( U0."id" =
               U1."role_id" )
                         WHERE
    U1."user_id" = 4)
    AND V0."content_type_id" = 37
    AND V0."role_field" =
        'auditor_role' )) ))
OR "main_activitystream_user"."user_id" = 4
OR "main_activitystream_organization"."organization_id" IN
(SELECT DISTINCT W0."id"
FROM
"main_organization" W0
                                WHERE
(
W0."id" IN (SELECT DISTINCT V0."object_id"
FROM   "main_rbac_role_ancestors" V0
WHERE  ( V0."ancestor_id" IN
(SELECT U0."id"
 FROM
"main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members" U1
        ON ( U0."id" = U1."role_id" )
                     WHERE
U1."user_id" = 4)
AND V0."content_type_id" = 37
AND V0."role_field" = 'admin_role' ))
OR W0."id" IN (SELECT DISTINCT V0."object_id"
FROM   "main_rbac_role_ancestors" V0
WHERE  ( V0."ancestor_id" IN (SELECT U0."id"
                         FROM
    "main_rbac_roles" U0
    INNER JOIN
    "main_rbac_roles_members" U1
            ON ( U0."id" =
               U1."role_id" )
                         WHERE
    U1."user_id" = 4)
    AND V0."content_type_id" = 37
    AND V0."role_field" =
        'auditor_role' )) ))
OR "main_activitystream_inventory"."inventory_id" IN
(SELECT W0."id"
FROM
"main_inventory" W0
                          WHERE
W0."id" IN (SELECT DISTINCT V0."object_id"
FROM   "main_rbac_role_ancestors" V0
WHERE  ( V0."ancestor_id" IN
(SELECT U0."id"
 FROM
"main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members" U1
        ON ( U0."id" = U1."role_id" )
                     WHERE
U1."user_id" = 4)
AND V0."content_type_id" = 34
AND V0."role_field" = 'read_role' )))
OR "main_host"."inventory_id" IN (SELECT W0."id"
      FROM   "main_inventory" W0
      WHERE
W0."id" IN (SELECT DISTINCT V0."object_id"
FROM   "main_rbac_role_ancestors" V0
WHERE  ( V0."ancestor_id" IN
(SELECT U0."id"
 FROM
"main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members" U1
        ON ( U0."id" = U1."role_id" )
                     WHERE
U1."user_id" = 4)
AND V0."content_type_id" = 34
AND V0."role_field" = 'read_role' )))
OR "main_group"."inventory_id" IN (SELECT W0."id"
       FROM   "main_inventory" W0
       WHERE
W0."id" IN (SELECT DISTINCT
V0."object_id"
FROM   "main_rbac_role_ancestors" V0
WHERE  ( V0."ancestor_id" IN
(SELECT U0."id"
 FROM
"main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members" U1
        ON ( U0."id" = U1."role_id" )
                     WHERE
U1."user_id" = 4)
AND V0."content_type_id" = 34
AND V0."role_field" = 'read_role' )))
OR "main_inventorysource"."inventory_id" IN (SELECT W0."id"
                 FROM
"main_inventory" W0
                 WHERE
W0."id" IN (SELECT DISTINCT
V0."object_id"
FROM   "main_rbac_role_ancestors" V0
WHERE  ( V0."ancestor_id" IN
(SELECT U0."id"
 FROM
"main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members" U1
        ON ( U0."id" = U1."role_id" )
                     WHERE
U1."user_id" = 4)
AND V0."content_type_id" = 34
AND V0."role_field" = 'read_role' )))
OR T26."inventory_id" IN (SELECT W0."id"
FROM   "main_inventory" W0
WHERE
W0."id" IN (SELECT DISTINCT V0."object_id"
FROM   "main_rbac_role_ancestors"
V0
WHERE  ( V0."ancestor_id" IN (
SELECT
U0."id"
                 FROM
"main_rbac_roles" U0
INNER JOIN
"main_rbac_roles_members"
U1
    ON (
U0."id" = U1."role_id" )
    WHERE
U1."user_id" =
4)
AND V0."content_type_id"
= 34
AND V0."role_field" =
'read_role' )))
OR "main_activitystream_credential"."credential_id" IN
(SELECT W0."id"
FROM
"main_credential" W0
                            WHERE
W0."id" IN (SELECT DISTINCT V0."object_id"
FROM   "main_rbac_role_ancestors" V0
WHERE  ( V0."ancestor_id" IN
(SELECT U0."id"
 FROM
"main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members" U1
        ON ( U0."id" = U1."role_id" )
                     WHERE
U1."user_id" = 4)
AND V0."content_type_id" = 29
AND V0."role_field" = 'read_role' )))
OR "main_activitystream_team"."team_id" IN (SELECT W0."id"
                FROM   "main_team" W0
                WHERE
W0."id" IN (SELECT DISTINCT
V0."object_id"
FROM   "main_rbac_role_ancestors" V0
WHERE  ( V0."ancestor_id" IN
(SELECT U0."id"
 FROM
"main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members" U1
        ON ( U0."id" = U1."role_id" )
                     WHERE
U1."user_id" = 4)
AND V0."content_type_id" = 40
AND V0."role_field" = 'read_role' )))
OR "main_activitystream_project"."project_id" IN
(SELECT W0."unifiedjobtemplate_ptr_id"
FROM   "main_project" W0
WHERE
W0."unifiedjobtemplate_ptr_id" IN
(SELECT DISTINCT V0."object_id"
FROM
"main_rbac_role_ancestors" V0
              WHERE  (
V0."ancestor_id" IN (SELECT U0."id"
        FROM   "main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members"
U1
ON ( U0."id" =
U1."role_id" )
        WHERE  U1."user_id" = 4)
AND V0."content_type_id" = 5
AND V0."role_field" = 'read_role' )))
OR "main_projectupdate"."project_id" IN
(SELECT W0."unifiedjobtemplate_ptr_id"
FROM   "main_project" W0
WHERE
W0."unifiedjobtemplate_ptr_id" IN
(SELECT DISTINCT V0."object_id"
FROM
"main_rbac_role_ancestors" V0
              WHERE  (
V0."ancestor_id" IN (SELECT U0."id"
        FROM   "main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members"
U1
ON ( U0."id" =
U1."role_id" )
        WHERE  U1."user_id" = 4)
AND V0."content_type_id" = 5
AND V0."role_field" = 'read_role' )))
OR "main_activitystream_job_template"."jobtemplate_id" IN
(SELECT W0."unifiedjobtemplate_ptr_id"
FROM
"main_jobtemplate" W0
                               WHERE
W0."unifiedjobtemplate_ptr_id" IN
(SELECT DISTINCT V0."object_id"
FROM
"main_rbac_role_ancestors" V0
              WHERE  (
V0."ancestor_id" IN (SELECT U0."id"
        FROM   "main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members"
U1
ON ( U0."id" =
U1."role_id" )
        WHERE  U1."user_id" = 4)
AND V0."content_type_id" = 4
AND V0."role_field" = 'read_role' )))
OR "main_job"."job_template_id" IN
(SELECT W0."unifiedjobtemplate_ptr_id"
FROM   "main_jobtemplate" W0
WHERE
W0."unifiedjobtemplate_ptr_id" IN
(SELECT DISTINCT V0."object_id"
FROM
"main_rbac_role_ancestors" V0
              WHERE  (
V0."ancestor_id" IN (SELECT U0."id"
        FROM   "main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members"
U1
ON ( U0."id" =
U1."role_id" )
        WHERE  U1."user_id" = 4)
AND V0."content_type_id" = 4
AND V0."role_field" = 'read_role' )))
OR
"main_activitystream_workflow_job_template"."workflowjobtemplate_id" IN
(
SELECT
W0."unifiedjobtemplate_ptr_id"
FROM
"main_workflowjobtemplate" W0
WHERE
W0."unifiedjobtemplate_ptr_id" IN (SELECT DISTINCT V0."object_id"
FROM
"main_rbac_role_ancestors" V0
WHERE  (
V0."ancestor_id" IN (SELECT U0."id"
FROM   "main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members"
U1
ON ( U0."id" =
U1."role_id" )
WHERE  U1."user_id" = 4)
AND V0."content_type_id" = 6
AND V0."role_field" = 'read_role' )))
OR "main_workflowjobtemplatenode"."workflow_job_template_id" IN
(SELECT W0."unifiedjobtemplate_ptr_id"
FROM
"main_workflowjobtemplate" W0
WHERE
W0."unifiedjobtemplate_ptr_id" IN
(SELECT DISTINCT V0."object_id"
FROM
"main_rbac_role_ancestors" V0
              WHERE  (
V0."ancestor_id" IN (SELECT U0."id"
        FROM   "main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members"
U1
ON ( U0."id" =
U1."role_id" )
        WHERE  U1."user_id" = 4)
AND V0."content_type_id" = 6
AND V0."role_field" = 'read_role' )))
OR "main_workflowjob"."workflow_job_template_id" IN
(SELECT W0."unifiedjobtemplate_ptr_id"
FROM
"main_workflowjobtemplate" W0
                         WHERE
W0."unifiedjobtemplate_ptr_id" IN
(SELECT DISTINCT V0."object_id"
FROM
"main_rbac_role_ancestors" V0
              WHERE  (
V0."ancestor_id" IN (SELECT U0."id"
        FROM   "main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members"
U1
ON ( U0."id" =
U1."role_id" )
        WHERE  U1."user_id" = 4)
AND V0."content_type_id" = 6
AND V0."role_field" = 'read_role' )))
OR "main_notificationtemplate"."organization_id" IN
(SELECT DISTINCT W0."id"
FROM
"main_organization" W0
                         WHERE  (
W0."id" IN (SELECT DISTINCT V0."object_id"
FROM   "main_rbac_role_ancestors" V0
WHERE  ( V0."ancestor_id" IN
(SELECT U0."id"
 FROM
"main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members" U1
        ON ( U0."id" = U1."role_id" )
                     WHERE
U1."user_id" = 4)
AND V0."content_type_id" = 37
AND V0."role_field" = 'admin_role' ))
OR W0."id" IN (SELECT DISTINCT V0."object_id"
FROM   "main_rbac_role_ancestors" V0
WHERE  ( V0."ancestor_id" IN (SELECT U0."id"
                         FROM
    "main_rbac_roles" U0
    INNER JOIN
    "main_rbac_roles_members" U1
            ON ( U0."id" =
               U1."role_id" )
                         WHERE
    U1."user_id" = 4)
    AND V0."content_type_id" = 37
    AND V0."role_field" =
        'auditor_role' )) ))
OR T55."organization_id" IN (SELECT DISTINCT W0."id"
 FROM   "main_organization" W0
 WHERE  ( W0."id" IN
          (SELECT DISTINCT
          V0."object_id"
           FROM
          "main_rbac_role_ancestors"
          V0
                      WHERE
          ( V0."ancestor_id"
            IN
            (
            SELECT
          U0."id"
                               FROM
                     "main_rbac_roles"
                     U0
                               INNER
                     JOIN
"main_rbac_roles_members" U1
                     ON (
                               U0."id"
                        =
U1."role_id" )
WHERE
U1."user_id" = 4
)
AND
V0."content_type_id"
= 37
AND
V0."role_field"
=
'admin_role' ))
OR W0."id" IN
(SELECT DISTINCT
V0."object_id"
FROM
"main_rbac_role_ancestors" V0
WHERE
( V0."ancestor_id"
IN
(SELECT U0."id"
FROM
"main_rbac_roles" U0
INNER JOIN
"main_rbac_roles_members" U1
ON
(
U0."id" = U1."role_id" )
WHERE
U1."user_id" =
4)
AND
V0."content_type_id" =
37
AND
V0."role_field"
= 'auditor_role'
)) ))
OR "main_label"."organization_id" IN (SELECT DISTINCT W0."id"
FROM   "main_organization" W0
WHERE  (
W0."id" IN (SELECT DISTINCT
V0."object_id"
FROM   "main_rbac_role_ancestors" V0
WHERE  ( V0."ancestor_id" IN (SELECT U0."id"
FROM
"main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members" U1
ON ( U0."id" = U1."role_id" )
WHERE  U1."user_id" = 4)
AND V0."content_type_id" = 37
AND V0."role_field" = 'admin_role' ))
OR W0."id" IN (SELECT DISTINCT V0."object_id"
FROM   "main_rbac_role_ancestors" V0
WHERE  ( V0."ancestor_id" IN (SELECT U0."id"
FROM
"main_rbac_roles" U0
INNER JOIN "main_rbac_roles_members" U1
ON ( U0."id" = U1."role_id" )
WHERE
U1."user_id" = 4)
AND V0."content_type_id" = 37
AND V0."role_field" = 'auditor_role' )) ))
)
AND "main_activitystream_execution_environment"."executionenvironment_id" = 3 ))
subquery 

AlanCoding avatar Sep 12 '22 20:09 AlanCoding