@@ -465,13 +465,20 @@ func getTableMetadataBaseQuery(userName string) *safesql.Query {
465465 FROM system.table_metadata tbm,
466466 (SELECT "sql.stats.automatic_collection.enabled" as auto_stats_enabled
467467 FROM [SHOW CLUSTER SETTING sql.stats.automatic_collection.enabled]) csc
468- LEFT JOIN system.role_members rm ON rm.role = 'admin' AND member = $
469- WHERE (rm.role = 'admin' OR tbm.db_name IN (
468+ WHERE (
469+ EXISTS (
470+ SELECT 1
471+ FROM system.role_members rm
472+ WHERE rm.member = $
473+ AND rm.role = 'admin'
474+ )
475+ OR tbm.db_name IN (
470476 SELECT cdp.database_name
471477 FROM "".crdb_internal.cluster_database_privileges cdp
472478 WHERE (grantee = $ OR grantee = 'public')
473479 AND privilege_type = 'CONNECT'
474- ))
480+ )
481+ )
475482 AND tbm.table_type = 'TABLE'
476483 ` , userName , userName )
477484
@@ -859,19 +866,26 @@ func getDatabaseMetadataBaseQuery(userName string) *safesql.Query {
859866 COALESCE(s.store_ids, ARRAY[]) as store_ids,
860867 count(*) OVER() as total_row_count
861868 FROM system.namespace n
862- LEFT JOIN system.table_metadata tbm ON n.id = tbm.db_id
863- LEFT JOIN system.role_members rm ON rm.role = 'admin' AND member = $
869+ LEFT JOIN system.table_metadata tbm ON n.id = tbm.db_id
864870 LEFT JOIN (
865871 SELECT db_id, array_agg(DISTINCT unnested_ids) as store_ids
866872 FROM system.table_metadata, unnest(store_ids) as unnested_ids
867873 GROUP BY db_id
868874 ) s ON s.db_id = tbm.db_id
869- WHERE (rm.role = 'admin' OR n.name IN (
870- SELECT cdp.database_name
871- FROM "".crdb_internal.cluster_database_privileges cdp
872- WHERE (grantee = $ OR grantee = 'public')
873- AND privilege_type = 'CONNECT'
874- ))
875+ WHERE (
876+ EXISTS (
877+ SELECT 1
878+ FROM system.role_members rm
879+ WHERE rm.member = $
880+ AND rm.role = 'admin'
881+ )
882+ OR n.name IN (
883+ SELECT cdp.database_name
884+ FROM "".crdb_internal.cluster_database_privileges AS cdp
885+ WHERE (cdp.grantee = $ OR cdp.grantee = 'public')
886+ AND cdp.privilege_type = 'CONNECT'
887+ )
888+ )
875889 AND n."parentID" = 0
876890 AND n."parentSchemaID" = 0
877891` , userName , userName )
0 commit comments