I was able to come up with one solution, which is to change the subquery from:
SELECT
networks.id AS networks_id FROM networks
LEFT OUTER JOIN networkrbacs
ON networks.id = networkrbacs.object_id
WHERE networkrbacs.action = 'access_as_external' AND networkrbacs.target_tenant = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' OR networkrbacs.target_tenant = '*' OR networks.project_id = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' OR networkrbacs.action = 'access_as_shared' AND ( networkrbacs.target_tenant = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' OR networkrbacs.target_tenant = '*'
to:
SELECT
networks.id AS networks_id FROM networks
INNER JOIN networkrbacs
ON networks.id = networkrbacs.object_id
WHERE networkrbacs.action = 'access_as_external' AND networkrbacs.target_tenant = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' OR networkrbacs.target_tenant = '*' OR networkrbacs.action = 'access_as_shared' AND ( networkrbacs.target_tenant = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' OR networkrbacs.target_tenant = '*'
UNION
SELECT
networks.id AS networks_ID FROM networks
WHERE networks.project_id = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
Thinking a little more to see if there is a better way... this feels a bit kludgy.
I was able to come up with one solution, which is to change the subquery from:
SELECT object_ id
networkrbacs. action = 'access_ as_external' AND
networkrbacs. target_ tenant = 'xxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxx' OR
networkrbacs. target_ tenant = '*' OR
networks. project_ id = 'xxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxx' OR
networkrbacs. action = 'access_as_shared' AND (
networkrba cs.target_ tenant = 'xxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxx' OR
networkrba cs.target_ tenant = '*'
networks.id AS networks_id FROM networks
LEFT OUTER JOIN networkrbacs
ON networks.id = networkrbacs.
WHERE
to:
SELECT object_ id
networkrbacs. action = 'access_ as_external' AND
networkrbacs. target_ tenant = 'xxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxx' OR
networkrbacs. target_ tenant = '*' OR
networkrbacs. action = 'access_as_shared' AND (
networkrba cs.target_ tenant = 'xxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxx' OR
networkrba cs.target_ tenant = '*'
networks. project_ id = 'xxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxx'
networks.id AS networks_id FROM networks
INNER JOIN networkrbacs
ON networks.id = networkrbacs.
WHERE
UNION
SELECT
networks.id AS networks_ID FROM networks
WHERE
Thinking a little more to see if there is a better way... this feels a bit kludgy.