You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@grails.apache.org by GitBox <gi...@apache.org> on 2026/10/21 10:02:21 UTC

[GH] (grails-core/fix/gorm-without-tenant-marker-8.0.x): Workflow run "CI" is working again!

The GitHub Actions job "CI" on grails-core.git/fix/gorm-without-tenant-marker-8.0.x has succeeded.
Run started by GitHub user matrei (triggered by matrei).

Head commit for run:
33ce56106e19e19d5a224069d96bfa0f5c59740e / Mattias Reichel <ma...@gmail.com>
Run without a tenant only inside Tenants.withoutId

With DISCRIMINATOR multi-tenancy, only Tenants.withoutId and
@WithoutTenant run without a tenant. A tenant id of default from a
resolver or from withId is a tenant id like any other, and inside
withoutId, Tenants.currentId() returns default while withCurrent and
@CurrentTenant keep running without a tenant. The new
Tenants.isWithoutId(datastore) and Tenants.isWithoutId() tell whether
the current code runs without a tenant id. GormStaticApi.withoutId runs
without a tenant for a multi-tenant datastore and passes a closure the
tenant id and the session, as withId does.

A tenant resolver that returns null causes a TenantNotFoundException.
With a numeric tenant id, only Tenants.withoutId uses the tenant id 0,
and a resolved default fails as it does with GORM for Hibernate.

GORM for Hibernate restricts a collection of a multi-tenant entity to
the current tenant when it is loaded lazily or fetched by join, also
when it is a many-to-many collection or a query fetches it by join
through another association, and load and proxy of a multi-tenant
entity run a query, as get does.

Before a query on an entity that isn't multi-tenant but has a
collection of a multi-tenant entity, criteria queries included, GORM
for Hibernate activates the tenant filter when there is a current
tenant. A query on such an entity that the tenant resolver runs while
GORM resolves the tenant does not call the resolver again.

Report URL: https://github.com/apache/grails-core/actions/runs/39560373100

With regards,
GitHub Actions via GitBox