Class JdbcBasePersistenceImpl
java.lang.Object
org.apache.polaris.persistence.relational.jdbc.JdbcBasePersistenceImpl
- All Implemented Interfaces:
org.apache.polaris.core.persistence.BasePersistence,org.apache.polaris.core.persistence.IntegrationPersistence,org.apache.polaris.core.policy.PolicyMappingPersistence
public class JdbcBasePersistenceImpl
extends Object
implements org.apache.polaris.core.persistence.BasePersistence, org.apache.polaris.core.persistence.IntegrationPersistence
-
Constructor Summary
ConstructorsConstructorDescriptionJdbcBasePersistenceImpl(org.apache.polaris.core.PolarisDiagnostics diagnostics, DatasourceOperations databaseOperations, org.apache.polaris.core.persistence.PrincipalSecretsGenerator secretsGenerator, String realmId, int schemaVersion) -
Method Summary
Modifier and TypeMethodDescription@Nullable org.apache.polaris.core.storage.PolarisStorageIntegrationcreateStorageIntegration(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long catalogId, long entityId, org.apache.polaris.core.storage.PolarisStorageConfigurationInfo polarisStorageConfigurationInfo) voiddeleteAll(@NonNull org.apache.polaris.core.PolarisCallContext callCtx) voiddeleteAllEntityGrantRecords(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull org.apache.polaris.core.entity.PolarisEntityCore entity, @NonNull List<org.apache.polaris.core.entity.PolarisGrantRecord> grantsOnGrantee, @NonNull List<org.apache.polaris.core.entity.PolarisGrantRecord> grantsOnSecurable) voiddeleteAllEntityPolicyMappingRecords(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull org.apache.polaris.core.entity.PolarisBaseEntity entity, @NonNull List<org.apache.polaris.core.policy.PolarisPolicyMappingRecord> mappingOnTarget, @NonNull List<org.apache.polaris.core.policy.PolarisPolicyMappingRecord> mappingOnPolicy) voiddeleteEntity(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull org.apache.polaris.core.entity.PolarisBaseEntity entity) voiddeleteFromGrantRecords(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull org.apache.polaris.core.entity.PolarisGrantRecord grantRec) voiddeleteFromPolicyMappingRecords(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull org.apache.polaris.core.policy.PolarisPolicyMappingRecord record) voiddeletePrincipalSecrets(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull String clientId, long principalId) longgenerateNewId(@NonNull org.apache.polaris.core.PolarisCallContext callCtx) @NonNull org.apache.polaris.core.entity.PolarisPrincipalSecretsgenerateNewPrincipalSecrets(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull String principalName, long principalId) booleanhasChildren(@NonNull org.apache.polaris.core.PolarisCallContext callContext, org.apache.polaris.core.entity.PolarisEntityType optionalEntityType, long catalogId, long parentId) <T extends org.apache.polaris.core.entity.PolarisEntity & org.apache.polaris.core.entity.LocationBasedEntity>
Optional<Optional<String>> hasOverlappingSiblings(@NonNull org.apache.polaris.core.PolarisCallContext callContext, T entity) @NonNull org.apache.polaris.core.persistence.pagination.Page<org.apache.polaris.core.entity.EntityNameLookupRecord> listEntities(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long catalogId, long parentId, @NonNull org.apache.polaris.core.entity.PolarisEntityType entityType, @NonNull org.apache.polaris.core.entity.PolarisEntitySubType entitySubType, @NonNull org.apache.polaris.core.persistence.pagination.PageToken pageToken) <T> @NonNull org.apache.polaris.core.persistence.pagination.Page<T> listFullEntities(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long catalogId, long parentId, @NonNull org.apache.polaris.core.entity.PolarisEntityType entityType, @NonNull org.apache.polaris.core.entity.PolarisEntitySubType entitySubType, @NonNull Predicate<org.apache.polaris.core.entity.PolarisBaseEntity> entityFilter, @NonNull Function<org.apache.polaris.core.entity.PolarisBaseEntity, T> transformer, @NonNull org.apache.polaris.core.persistence.pagination.PageToken pageToken) @NonNull List<org.apache.polaris.core.entity.PolarisGrantRecord> loadAllGrantRecordsOnGrantee(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long granteeCatalogId, long granteeId) @NonNull List<org.apache.polaris.core.entity.PolarisGrantRecord> loadAllGrantRecordsOnSecurable(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long securableCatalogId, long securableId) @NonNull List<org.apache.polaris.core.policy.PolarisPolicyMappingRecord> loadAllPoliciesOnTarget(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long targetCatalogId, long targetId) @NonNull List<org.apache.polaris.core.policy.PolarisPolicyMappingRecord> loadAllTargetsOnPolicy(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long policyCatalogId, long policyId, int policyTypeCode) @NonNull List<org.apache.polaris.core.policy.PolarisPolicyMappingRecord> loadPoliciesOnTargetByType(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long targetCatalogId, long targetId, int policyTypeCode) @Nullable org.apache.polaris.core.entity.PolarisPrincipalSecretsloadPrincipalSecrets(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull String clientId) @NonNull List<org.apache.polaris.core.entity.PolarisBaseEntity> lookupEntities(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, List<org.apache.polaris.core.entity.PolarisEntityId> entityIds) org.apache.polaris.core.entity.PolarisBaseEntitylookupEntity(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long catalogId, long entityId, int typeCode) org.apache.polaris.core.entity.PolarisBaseEntitylookupEntityByName(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long catalogId, long parentId, int typeCode, @NonNull String name) intlookupEntityGrantRecordsVersion(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long catalogId, long entityId) @NonNull List<org.apache.polaris.core.entity.PolarisChangeTrackingVersions> lookupEntityVersions(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, List<org.apache.polaris.core.entity.PolarisEntityId> entityIds) org.apache.polaris.core.entity.PolarisGrantRecordlookupGrantRecord(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long securableCatalogId, long securableId, long granteeCatalogId, long granteeId, int privilegeCode) @Nullable org.apache.polaris.core.policy.PolarisPolicyMappingRecordlookupPolicyMappingRecord(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long targetCatalogId, long targetId, int policyTypeCode, long policyCatalogId, long policyId) voidpersistStorageIntegrationIfNeeded(@NonNull org.apache.polaris.core.PolarisCallContext callContext, @NonNull org.apache.polaris.core.entity.PolarisBaseEntity entity, @Nullable org.apache.polaris.core.storage.PolarisStorageIntegration storageIntegration) @Nullable org.apache.polaris.core.entity.PolarisPrincipalSecretsrotatePrincipalSecrets(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull String clientId, long principalId, boolean reset, @NonNull String oldSecretHash) @Nullable org.apache.polaris.core.entity.PolarisPrincipalSecretsstorePrincipalSecrets(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long principalId, @NonNull String resolvedClientId, String customClientSecret) voidwriteEntities(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull List<org.apache.polaris.core.entity.PolarisBaseEntity> entities, List<org.apache.polaris.core.entity.PolarisBaseEntity> originalEntities) voidwriteEntity(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull org.apache.polaris.core.entity.PolarisBaseEntity entity, boolean nameOrParentChanged, org.apache.polaris.core.entity.PolarisBaseEntity originalEntity) voidwriteEvents(@NonNull List<org.apache.polaris.core.entity.EventEntity> events) voidwriteToGrantRecords(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull org.apache.polaris.core.entity.PolarisGrantRecord grantRec) voidwriteToPolicyMappingRecords(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull org.apache.polaris.core.policy.PolarisPolicyMappingRecord record) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.polaris.core.persistence.BasePersistence
detach, lookupEntityIdAndSubTypeByName
-
Constructor Details
-
JdbcBasePersistenceImpl
public JdbcBasePersistenceImpl(org.apache.polaris.core.PolarisDiagnostics diagnostics, DatasourceOperations databaseOperations, org.apache.polaris.core.persistence.PrincipalSecretsGenerator secretsGenerator, String realmId, int schemaVersion)
-
-
Method Details
-
generateNewId
public long generateNewId(@NonNull org.apache.polaris.core.PolarisCallContext callCtx) - Specified by:
generateNewIdin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
writeEntity
public void writeEntity(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull org.apache.polaris.core.entity.PolarisBaseEntity entity, boolean nameOrParentChanged, org.apache.polaris.core.entity.PolarisBaseEntity originalEntity) - Specified by:
writeEntityin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
writeEntities
public void writeEntities(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull List<org.apache.polaris.core.entity.PolarisBaseEntity> entities, List<org.apache.polaris.core.entity.PolarisBaseEntity> originalEntities) - Specified by:
writeEntitiesin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
writeToGrantRecords
public void writeToGrantRecords(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull org.apache.polaris.core.entity.PolarisGrantRecord grantRec) - Specified by:
writeToGrantRecordsin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
writeEvents
- Specified by:
writeEventsin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
deleteEntity
public void deleteEntity(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull org.apache.polaris.core.entity.PolarisBaseEntity entity) - Specified by:
deleteEntityin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
deleteFromGrantRecords
public void deleteFromGrantRecords(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull org.apache.polaris.core.entity.PolarisGrantRecord grantRec) - Specified by:
deleteFromGrantRecordsin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
deleteAllEntityGrantRecords
public void deleteAllEntityGrantRecords(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull org.apache.polaris.core.entity.PolarisEntityCore entity, @NonNull List<org.apache.polaris.core.entity.PolarisGrantRecord> grantsOnGrantee, @NonNull List<org.apache.polaris.core.entity.PolarisGrantRecord> grantsOnSecurable) - Specified by:
deleteAllEntityGrantRecordsin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
deleteAll
public void deleteAll(@NonNull org.apache.polaris.core.PolarisCallContext callCtx) - Specified by:
deleteAllin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
lookupEntity
public org.apache.polaris.core.entity.PolarisBaseEntity lookupEntity(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long catalogId, long entityId, int typeCode) - Specified by:
lookupEntityin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
lookupEntityByName
public org.apache.polaris.core.entity.PolarisBaseEntity lookupEntityByName(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long catalogId, long parentId, int typeCode, @NonNull String name) - Specified by:
lookupEntityByNamein interfaceorg.apache.polaris.core.persistence.BasePersistence
-
lookupEntities
public @NonNull List<org.apache.polaris.core.entity.PolarisBaseEntity> lookupEntities(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, List<org.apache.polaris.core.entity.PolarisEntityId> entityIds) - Specified by:
lookupEntitiesin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
lookupEntityVersions
public @NonNull List<org.apache.polaris.core.entity.PolarisChangeTrackingVersions> lookupEntityVersions(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, List<org.apache.polaris.core.entity.PolarisEntityId> entityIds) - Specified by:
lookupEntityVersionsin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
listEntities
public @NonNull org.apache.polaris.core.persistence.pagination.Page<org.apache.polaris.core.entity.EntityNameLookupRecord> listEntities(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long catalogId, long parentId, @NonNull org.apache.polaris.core.entity.PolarisEntityType entityType, @NonNull org.apache.polaris.core.entity.PolarisEntitySubType entitySubType, @NonNull org.apache.polaris.core.persistence.pagination.PageToken pageToken) - Specified by:
listEntitiesin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
listFullEntities
public <T> @NonNull org.apache.polaris.core.persistence.pagination.Page<T> listFullEntities(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long catalogId, long parentId, @NonNull org.apache.polaris.core.entity.PolarisEntityType entityType, @NonNull org.apache.polaris.core.entity.PolarisEntitySubType entitySubType, @NonNull Predicate<org.apache.polaris.core.entity.PolarisBaseEntity> entityFilter, @NonNull Function<org.apache.polaris.core.entity.PolarisBaseEntity, T> transformer, @NonNull org.apache.polaris.core.persistence.pagination.PageToken pageToken) - Specified by:
listFullEntitiesin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
lookupEntityGrantRecordsVersion
public int lookupEntityGrantRecordsVersion(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long catalogId, long entityId) - Specified by:
lookupEntityGrantRecordsVersionin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
lookupGrantRecord
public org.apache.polaris.core.entity.PolarisGrantRecord lookupGrantRecord(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long securableCatalogId, long securableId, long granteeCatalogId, long granteeId, int privilegeCode) - Specified by:
lookupGrantRecordin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
loadAllGrantRecordsOnSecurable
public @NonNull List<org.apache.polaris.core.entity.PolarisGrantRecord> loadAllGrantRecordsOnSecurable(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long securableCatalogId, long securableId) - Specified by:
loadAllGrantRecordsOnSecurablein interfaceorg.apache.polaris.core.persistence.BasePersistence
-
loadAllGrantRecordsOnGrantee
public @NonNull List<org.apache.polaris.core.entity.PolarisGrantRecord> loadAllGrantRecordsOnGrantee(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long granteeCatalogId, long granteeId) - Specified by:
loadAllGrantRecordsOnGranteein interfaceorg.apache.polaris.core.persistence.BasePersistence
-
hasChildren
public boolean hasChildren(@NonNull org.apache.polaris.core.PolarisCallContext callContext, org.apache.polaris.core.entity.PolarisEntityType optionalEntityType, long catalogId, long parentId) - Specified by:
hasChildrenin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
hasOverlappingSiblings
public <T extends org.apache.polaris.core.entity.PolarisEntity & org.apache.polaris.core.entity.LocationBasedEntity> Optional<Optional<String>> hasOverlappingSiblings(@NonNull org.apache.polaris.core.PolarisCallContext callContext, T entity) - Specified by:
hasOverlappingSiblingsin interfaceorg.apache.polaris.core.persistence.BasePersistence
-
loadPrincipalSecrets
public @Nullable org.apache.polaris.core.entity.PolarisPrincipalSecrets loadPrincipalSecrets(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull String clientId) - Specified by:
loadPrincipalSecretsin interfaceorg.apache.polaris.core.persistence.IntegrationPersistence
-
generateNewPrincipalSecrets
public @NonNull org.apache.polaris.core.entity.PolarisPrincipalSecrets generateNewPrincipalSecrets(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull String principalName, long principalId) - Specified by:
generateNewPrincipalSecretsin interfaceorg.apache.polaris.core.persistence.IntegrationPersistence
-
storePrincipalSecrets
public @Nullable org.apache.polaris.core.entity.PolarisPrincipalSecrets storePrincipalSecrets(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long principalId, @NonNull String resolvedClientId, String customClientSecret) - Specified by:
storePrincipalSecretsin interfaceorg.apache.polaris.core.persistence.IntegrationPersistence
-
rotatePrincipalSecrets
public @Nullable org.apache.polaris.core.entity.PolarisPrincipalSecrets rotatePrincipalSecrets(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull String clientId, long principalId, boolean reset, @NonNull String oldSecretHash) - Specified by:
rotatePrincipalSecretsin interfaceorg.apache.polaris.core.persistence.IntegrationPersistence
-
deletePrincipalSecrets
public void deletePrincipalSecrets(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull String clientId, long principalId) - Specified by:
deletePrincipalSecretsin interfaceorg.apache.polaris.core.persistence.IntegrationPersistence
-
writeToPolicyMappingRecords
public void writeToPolicyMappingRecords(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull org.apache.polaris.core.policy.PolarisPolicyMappingRecord record) - Specified by:
writeToPolicyMappingRecordsin interfaceorg.apache.polaris.core.policy.PolicyMappingPersistence
-
deleteFromPolicyMappingRecords
public void deleteFromPolicyMappingRecords(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull org.apache.polaris.core.policy.PolarisPolicyMappingRecord record) - Specified by:
deleteFromPolicyMappingRecordsin interfaceorg.apache.polaris.core.policy.PolicyMappingPersistence
-
deleteAllEntityPolicyMappingRecords
public void deleteAllEntityPolicyMappingRecords(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, @NonNull org.apache.polaris.core.entity.PolarisBaseEntity entity, @NonNull List<org.apache.polaris.core.policy.PolarisPolicyMappingRecord> mappingOnTarget, @NonNull List<org.apache.polaris.core.policy.PolarisPolicyMappingRecord> mappingOnPolicy) - Specified by:
deleteAllEntityPolicyMappingRecordsin interfaceorg.apache.polaris.core.policy.PolicyMappingPersistence
-
lookupPolicyMappingRecord
public @Nullable org.apache.polaris.core.policy.PolarisPolicyMappingRecord lookupPolicyMappingRecord(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long targetCatalogId, long targetId, int policyTypeCode, long policyCatalogId, long policyId) - Specified by:
lookupPolicyMappingRecordin interfaceorg.apache.polaris.core.policy.PolicyMappingPersistence
-
loadPoliciesOnTargetByType
public @NonNull List<org.apache.polaris.core.policy.PolarisPolicyMappingRecord> loadPoliciesOnTargetByType(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long targetCatalogId, long targetId, int policyTypeCode) - Specified by:
loadPoliciesOnTargetByTypein interfaceorg.apache.polaris.core.policy.PolicyMappingPersistence
-
loadAllPoliciesOnTarget
public @NonNull List<org.apache.polaris.core.policy.PolarisPolicyMappingRecord> loadAllPoliciesOnTarget(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long targetCatalogId, long targetId) - Specified by:
loadAllPoliciesOnTargetin interfaceorg.apache.polaris.core.policy.PolicyMappingPersistence
-
loadAllTargetsOnPolicy
public @NonNull List<org.apache.polaris.core.policy.PolarisPolicyMappingRecord> loadAllTargetsOnPolicy(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long policyCatalogId, long policyId, int policyTypeCode) - Specified by:
loadAllTargetsOnPolicyin interfaceorg.apache.polaris.core.policy.PolicyMappingPersistence
-
createStorageIntegration
public @Nullable org.apache.polaris.core.storage.PolarisStorageIntegration createStorageIntegration(@NonNull org.apache.polaris.core.PolarisCallContext callCtx, long catalogId, long entityId, org.apache.polaris.core.storage.PolarisStorageConfigurationInfo polarisStorageConfigurationInfo) - Specified by:
createStorageIntegrationin interfaceorg.apache.polaris.core.persistence.IntegrationPersistence
-
persistStorageIntegrationIfNeeded
public void persistStorageIntegrationIfNeeded(@NonNull org.apache.polaris.core.PolarisCallContext callContext, @NonNull org.apache.polaris.core.entity.PolarisBaseEntity entity, @Nullable org.apache.polaris.core.storage.PolarisStorageIntegration storageIntegration) - Specified by:
persistStorageIntegrationIfNeededin interfaceorg.apache.polaris.core.persistence.IntegrationPersistence
-