From adfddab951677205c7f11395b9d01205cce55cab Mon Sep 17 00:00:00 2001 From: lukinovec Date: Wed, 21 May 2025 13:58:16 +0200 Subject: [PATCH] Make path skipping logic more explicit --- src/RLS/PolicyManagers/TableRLSManager.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/RLS/PolicyManagers/TableRLSManager.php b/src/RLS/PolicyManagers/TableRLSManager.php index fc4dd51c..1998e9ea 100644 --- a/src/RLS/PolicyManagers/TableRLSManager.php +++ b/src/RLS/PolicyManagers/TableRLSManager.php @@ -142,7 +142,10 @@ class TableRLSManager implements RLSPolicyManager $pathExplicitlySkipped = $foreignKey['comment'] === 'no-rls'; $pathImplicitlySkipped = ! static::$scopeByDefault && ( ! isset($foreignKey['comment']) || - (is_string($foreignKey['comment']) && ! Str::startsWith($foreignKey['comment'], 'rls')) + (is_string($foreignKey['comment']) && ! ( + Str::is($foreignKey['comment'], 'rls') || // Explicit RLS + Str::startsWith($foreignKey['comment'], 'rls ') // Comment constraint + )) ); return $pathExplicitlySkipped || $pathImplicitlySkipped; @@ -169,7 +172,7 @@ class TableRLSManager implements RLSPolicyManager // Validate comment constraint format if (count($constraint) !== 2 || empty($constraint[0]) || empty($constraint[1])) { - throw new RLSCommentConstraintException("Incorrectly formatted comment constraint on {$tableName}.{$column['name']}: '{$column['comment']}'"); + throw new RLSCommentConstraintException("Malformed comment constraint on {$tableName}.{$column['name']}: '{$column['comment']}'"); } $foreignTable = $constraint[0];