Top Constructors Methods
org.hibernate.query.sqm.mutation.internal.temptable

public Class RestrictedDeleteExecutionDelegate

extends AbstractDeleteExecutionDelegate
Class Inheritance
Imports
java.util.ArrayList, .Collections, .IdentityHashMap, .LinkedHashMap, .List, .Map, java.util.function.Consumer, .Function, .Supplier, org.hibernate.dialect.temptable.TemporaryTable, org.hibernate.engine.jdbc.spi.JdbcServices, org.hibernate.engine.spi.LoadQueryInfluencers, .SessionFactoryImplementor, .SharedSessionContractImplementor, org.hibernate.internal.util.MutableBoolean, .MutableInteger, org.hibernate.metamodel.mapping.EntityMappingType, .ForeignKeyDescriptor, .MappingModelExpressible, .SelectableConsumer, org.hibernate.metamodel.mapping.internal.MappingModelCreationHelper, org.hibernate.persister.entity.EntityPersister, .Joinable, org.hibernate.query.spi.DomainQueryExecutionContext, .QueryOptions, .QueryParameterBindings, org.hibernate.query.sqm.internal.DomainParameterXref, .SqmJdbcExecutionContextAdapter, .SqmUtil, org.hibernate.query.sqm.mutation.internal.SqmMutationStrategyHelper, .TableKeyExpressionCollector, org.hibernate.query.sqm.spi.SqmParameterMappingModelResolutionAccess, org.hibernate.query.sqm.tree.delete.SqmDeleteStatement, org.hibernate.query.sqm.tree.expression.SqmParameter, org.hibernate.spi.NavigablePath, org.hibernate.sql.ast.spi.SqlExpressionResolver, org.hibernate.sql.ast.tree.delete.DeleteStatement, org.hibernate.sql.ast.tree.expression.ColumnReference, .Expression, .JdbcParameter, .SqlTuple, org.hibernate.sql.ast.tree.from.MutatingTableReferenceGroupWrapper, .NamedTableReference, .TableGroup, .TableReference, .UnionTableReference, org.hibernate.sql.ast.tree.predicate.InSubQueryPredicate, .Predicate, .PredicateCollector, org.hibernate.sql.ast.tree.select.QuerySpec, org.hibernate.sql.exec.spi.ExecutionContext, .JdbcOperationQueryMutation, .JdbcParameterBindings

Author
Steve Ebersole

Constructor Summary

AccessConstructor and Description
public
RestrictedDeleteExecutionDelegate(EntityMappingType entityDescriptor, TemporaryTable idTable, AfterUseAction afterUseAction, SqmDeleteStatement<?> sqmDelete, DomainParameterXref domainParameterXref, QueryOptions queryOptions, LoadQueryInfluencers loadQueryInfluencers, QueryParameterBindings queryParameterBindings, Function<SharedSessionContractImplementor, String> sessionUidAccess, SessionFactoryImplementor sessionFactory)

Deprecated as a consequence of SessionFactoryImplementor being deprecated.

Method Summary

Modifier and TypeMethod and Description
private int
deleteFromNonRootTableWithoutIdTable(NamedTableReference targetTableReference, Supplier<Consumer<SelectableConsumer>> tableKeyColumnVisitationSupplier, SqlExpressionResolver sqlExpressionResolver, TableGroup rootTableGroup, QuerySpec matchingIdSubQuerySpec, JdbcParameterBindings jdbcParameterBindings, ExecutionContext executionContext)

private int
deleteFromRootTableWithoutIdTable(NamedTableReference rootTableReference, Predicate predicate, JdbcParameterBindings jdbcParameterBindings, ExecutionContext executionContext)

private void
deleteFromTableUsingIdTable(String tableExpression, Supplier<Consumer<SelectableConsumer>> tableKeyColumnVisitationSupplier, QuerySpec idTableSubQuery, ExecutionContext executionContext)

public int
private static int
executeSqlDelete(DeleteStatement sqlAst, JdbcParameterBindings jdbcParameterBindings, ExecutionContext executionContext)

private int
executeUsingIdTable(Predicate predicate, ExecutionContext executionContext, JdbcParameterBindings jdbcParameterBindings)

private int
executeWithIdTable(Predicate predicate, TableGroup deletingTableGroup, Map<SqmParameter<?>, List<List<JdbcParameter>>> restrictionSqmParameterResolutions, Map<SqmParameter<?>, MappingModelExpressible<?>> paramTypeResolutions, ExecutionContext executionContext)

private int
executeWithoutIdTable(Predicate suppliedPredicate, TableGroup tableGroup, Map<SqmParameter<?>, List<List<JdbcParameter>>> restrictionSqmParameterResolutions, Map<SqmParameter<?>, MappingModelExpressible<?>> paramTypeResolutions, SqlExpressionResolver sqlExpressionResolver, ExecutionContext executionContext)

Inherited from org.hibernate.query.sqm.mutation.internal.temptable.AbstractDeleteExecutionDelegate:
getAfterUseActiongetConvertergetDomainParameterXrefgetEntityDescriptorgetIdTablegetSessionFactorygetSessionUidAccessgetSqmDelete

Constructor Detail

RestrictedDeleteExecutionDelegateback to summary
public RestrictedDeleteExecutionDelegate(EntityMappingType entityDescriptor, TemporaryTable idTable, AfterUseAction afterUseAction, SqmDeleteStatement<?> sqmDelete, DomainParameterXref domainParameterXref, QueryOptions queryOptions, LoadQueryInfluencers loadQueryInfluencers, QueryParameterBindings queryParameterBindings, Function<SharedSessionContractImplementor, String> sessionUidAccess, SessionFactoryImplementor sessionFactory)

Deprecated

as a consequence of SessionFactoryImplementor being deprecated. See corresponding docs for further information.

Method Detail

deleteFromNonRootTableWithoutIdTableback to summary
private int deleteFromNonRootTableWithoutIdTable(NamedTableReference targetTableReference, Supplier<Consumer<SelectableConsumer>> tableKeyColumnVisitationSupplier, SqlExpressionResolver sqlExpressionResolver, TableGroup rootTableGroup, QuerySpec matchingIdSubQuerySpec, JdbcParameterBindings jdbcParameterBindings, ExecutionContext executionContext)
deleteFromRootTableWithoutIdTableback to summary
private int deleteFromRootTableWithoutIdTable(NamedTableReference rootTableReference, Predicate predicate, JdbcParameterBindings jdbcParameterBindings, ExecutionContext executionContext)
deleteFromTableUsingIdTableback to summary
private void deleteFromTableUsingIdTable(String tableExpression, Supplier<Consumer<SelectableConsumer>> tableKeyColumnVisitationSupplier, QuerySpec idTableSubQuery, ExecutionContext executionContext)
executeback to summary
public int execute(DomainQueryExecutionContext executionContext)

Implements org.hibernate.query.sqm.mutation.internal.temptable.TableBasedDeleteHandler.ExecutionDelegate.execute.

Annotations
@Override
executeSqlDeleteback to summary
private static int executeSqlDelete(DeleteStatement sqlAst, JdbcParameterBindings jdbcParameterBindings, ExecutionContext executionContext)
executeUsingIdTableback to summary
private int executeUsingIdTable(Predicate predicate, ExecutionContext executionContext, JdbcParameterBindings jdbcParameterBindings)
executeWithIdTableback to summary
private int executeWithIdTable(Predicate predicate, TableGroup deletingTableGroup, Map<SqmParameter<?>, List<List<JdbcParameter>>> restrictionSqmParameterResolutions, Map<SqmParameter<?>, MappingModelExpressible<?>> paramTypeResolutions, ExecutionContext executionContext)
executeWithoutIdTableback to summary
private int executeWithoutIdTable(Predicate suppliedPredicate, TableGroup tableGroup, Map<SqmParameter<?>, List<List<JdbcParameter>>> restrictionSqmParameterResolutions, Map<SqmParameter<?>, MappingModelExpressible<?>> paramTypeResolutions, SqlExpressionResolver sqlExpressionResolver, ExecutionContext executionContext)