From 945c582b179bc0cb4b7a95a134526eb4fb8c792d Mon Sep 17 00:00:00 2001 From: Dmitry Maranik <40249835+dmitrymaranik@users.noreply.github.com> Date: Fri, 3 Jul 2026 19:36:10 -0700 Subject: [PATCH] perf(rls): wrap current_setting() in the generated tenant policy for per-statement eval --- src/RLS/PolicyManagers/TraitRLSManager.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/RLS/PolicyManagers/TraitRLSManager.php b/src/RLS/PolicyManagers/TraitRLSManager.php index 52ed15ea..f6cb5060 100644 --- a/src/RLS/PolicyManagers/TraitRLSManager.php +++ b/src/RLS/PolicyManagers/TraitRLSManager.php @@ -67,7 +67,7 @@ class TraitRLSManager implements RLSPolicyManager return <<getForeignKeyName()} IN ( SELECT {$parent->getKeyName()} FROM {$parent->getTable()} - WHERE {$tenantKeyColumn}::text = current_setting('{$sessionTenantKey}') + WHERE {$tenantKeyColumn}::text = (select current_setting('{$sessionTenantKey}')) ) ); SQL;