mirror of
https://github.com/archtechx/tenancy.git
synced 2026-08-06 06:54:03 +00:00
perf(rls): wrap current_setting() in the generated tenant policy for per-statement eval
This commit is contained in:
parent
3156c87ee3
commit
945c582b17
1 changed files with 2 additions and 2 deletions
|
|
@ -67,7 +67,7 @@ class TraitRLSManager implements RLSPolicyManager
|
||||||
|
|
||||||
return <<<SQL
|
return <<<SQL
|
||||||
CREATE POLICY {$table}_rls_policy ON {$table} USING (
|
CREATE POLICY {$table}_rls_policy ON {$table} USING (
|
||||||
{$tenantKeyColumn}::text = current_setting('{$sessionTenantKey}')
|
{$tenantKeyColumn}::text = (select current_setting('{$sessionTenantKey}'))
|
||||||
);
|
);
|
||||||
SQL;
|
SQL;
|
||||||
}
|
}
|
||||||
|
|
@ -87,7 +87,7 @@ class TraitRLSManager implements RLSPolicyManager
|
||||||
{$parentRelationship->getForeignKeyName()} IN (
|
{$parentRelationship->getForeignKeyName()} IN (
|
||||||
SELECT {$parent->getKeyName()}
|
SELECT {$parent->getKeyName()}
|
||||||
FROM {$parent->getTable()}
|
FROM {$parent->getTable()}
|
||||||
WHERE {$tenantKeyColumn}::text = current_setting('{$sessionTenantKey}')
|
WHERE {$tenantKeyColumn}::text = (select current_setting('{$sessionTenantKey}'))
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
SQL;
|
SQL;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue