Interface RowLevelSecurity
Defines the database capabilities, schema DDL, and connection operation used for database-native row-level security.
Implement this contract with immutable, thread-safe state. Inspect only the
ephemeral RowLevelSecurityDdlRequest supplied for the current table,
return declarative DDL descriptors, and do not retain the request.
- Since:
- 8.0
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionDescribe, in deterministic order, the schema commands required for the supplied tenant table.voidsetTenantIdentifier(Connection connection, String tenantIdentifier, boolean root) Apply the current tenant identifier to the JDBC connection.booleanReport whether this strategy supports database-native row-level security.booleanReport whether policies may obtain the tenant identifier from the specified database-side source.
-
Method Details
-
supportsRowLevelSecurity
boolean supportsRowLevelSecurity()Report whether this strategy supports database-native row-level security. -
supportsTenantIdentifierSource
Report whether policies may obtain the tenant identifier from the specified database-side source. -
getTenantTableDdl
Describe, in deterministic order, the schema commands required for the supplied tenant table. Use all rendered names in the request verbatim and return an immutable list. -
setTenantIdentifier
void setTenantIdentifier(Connection connection, String tenantIdentifier, boolean root) throws SQLException Apply the current tenant identifier to the JDBC connection. Implementations supporting onlyTenantIdentifierSource.DATABASE_USERmay make this a no-op.- Throws:
SQLException
-