Skip to content

Add LQL function bodies and current setting builtin#45

Merged
MelbourneDeveloper merged 1 commit intomainfrom
lql-function-body-current-setting
May 6, 2026
Merged

Add LQL function bodies and current setting builtin#45
MelbourneDeveloper merged 1 commit intomainfrom
lql-function-body-current-setting

Conversation

@MelbourneDeveloper
Copy link
Copy Markdown
Collaborator

Summary

  • add bodyLql support for PostgreSQL functions, including YAML validation, DDL generation, and diff idempotence
  • add PostgreSQL current_setting('key') support in LQL policy predicates and function bodies
  • add broad NAP-shaped tests covering session keys, casts, helper functions, exists pipelines, and real Postgres RLS behavior

Validation

  • dotnet csharpier check .
  • make lint
  • dotnet test Lql/Nimblesite.Lql.Tests --configuration Release --verbosity minimal
  • dotnet test Migration/Nimblesite.DataProvider.Migration.Tests/Nimblesite.DataProvider.Migration.Tests.csproj --configuration Release --no-build --verbosity minimal
  • dotnet test Migration/Nimblesite.DataProvider.Migration.Tests/Nimblesite.DataProvider.Migration.Tests.csproj --filter "FullyQualifiedName~RlsCurrentSettingLqlTests|FullyQualifiedName~PostgresFunctionBodyLqlTests|FullyQualifiedName~PostgresFunctionBodyLqlE2ETests" --configuration Release --verbosity minimal
  • dotnet test Sync/Nimblesite.Sync.Tests --configuration Release --no-build --verbosity minimal
  • dotnet test Sync/Nimblesite.Sync.SQLite.Tests --configuration Release --no-build --verbosity minimal
  • dotnet test Sync/Nimblesite.Sync.Postgres.Tests --configuration Release --no-build --verbosity minimal
  • dotnet test Sync/Nimblesite.Sync.Integration.Tests --configuration Release --no-build --verbosity minimal
  • dotnet test Sync/Nimblesite.Sync.Http.Tests --configuration Release --no-build --verbosity minimal
  • dotnet test Reporting/Nimblesite.Reporting.Tests --configuration Release --no-build --verbosity minimal
  • dotnet test Lql/Nimblesite.Lql.TypeProvider.FSharp.Tests --configuration Release --no-build --verbosity minimal

Notes

  • make test was not used for the final pass because the Nimblesite.DataProvider.Example.Tests make target hung in nested build startup locally; the same test project passed when rerun directly with --no-build earlier in this branch.
  • Reporting.Integration.Tests initially needed the local Playwright Chromium install; after install, the run hit existing .report-* DOM timeouts unrelated to the LQL/Migration changes and was stopped.

@MelbourneDeveloper MelbourneDeveloper merged commit 90919b0 into main May 6, 2026
3 checks passed
@MelbourneDeveloper MelbourneDeveloper deleted the lql-function-body-current-setting branch May 6, 2026 00:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant