Files
marc 1cf23c37ce
release / release (push) Canceled after 0s
fix: is_allowed_nocache resolves roles once per org, not per rule
Steps 1, 2, 4 and 5 called get_comprehensive_roles() for every row of
morbac.rules (and org_in_scope() per row), so a decision cost grew with
every tenant's rules: ~240 ms with 2376 rules across 27 orgs. Roles are now
resolved once per org where the user can hold one and that has a rule for
the request, rules are read through those (org, role) pairs, and
org_in_scope() runs once per (org, scope) pair. Decisions are unchanged.

Release 1.0.1 with the 1.0.0 -> 1.0.1 upgrade script. Test 17 compares
every decision with the 1.0.0 body on a seeded random fixture and checks
the cost no longer follows unrelated tenants' rules. bump_version.sh no
longer rewrites the PGXN meta-spec version.
2026-10-14 23:41:00 +02:00

26 lines
300 B
Plaintext

# Generated files
pgmorbac.sql
pgmorbac--*.sql
# Test database dumps
*.dump
*.backup
# OS files
.DS_Store
Thumbs.db
# Editor files
*.swp
*.swo
*~
.vscode/
.idea/
# Release tooling
node_modules/
dist/
package-lock.json
# Upgrade scripts are sources, not build output
!src/upgrades/pgmorbac--*.sql