From 7a1a2162ac8a5f48baf92d2cdb155d924ba803ca Mon Sep 17 00:00:00 2001 From: Dmitry Maranik <40249835+dmitrymaranik@users.noreply.github.com> Date: Fri, 3 Jul 2026 19:36:11 -0700 Subject: [PATCH] perf(rls): wrap current_setting() in the generated tenant policy for per-statement eval --- src/RLS/PolicyManagers/TableRLSManager.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/RLS/PolicyManagers/TableRLSManager.php b/src/RLS/PolicyManagers/TableRLSManager.php index 3f87bf3e..64b0334c 100644 --- a/src/RLS/PolicyManagers/TableRLSManager.php +++ b/src/RLS/PolicyManagers/TableRLSManager.php @@ -528,7 +528,7 @@ class TableRLSManager implements RLSPolicyManager if ($table === tenancy()->model()->getTable()) { // Convert tenant key to text to match the session variable type - $query .= "{$column}::text = current_setting('{$sessionTenantKey}')\n"; + $query .= "{$column}::text = (select current_setting('{$sessionTenantKey}'))\n"; continue; }