if ( LockMode.READ.lessThan( lockMode ) ) { final String tableAlias = ( String ) me.getKey(); if ( dialect.forUpdateOfColumns() ) {
if ( dialect.forUpdateOfColumns() ) { keyColumnNames = new HashMap(); for ( int i = 0; i < names.length; i++ ) {
final Map<String, String[]> keyColumnNames = dialect.forUpdateOfColumns() ? new HashMap<>() : null;
locks.setTimeOut( lockOptions.getTimeOut()); final Map<String,String[]> keyColumnNames = dialect.forUpdateOfColumns() ? new HashMap() : null; final String[] drivingSqlAliases = getAliases(); for ( int i = 0; i < drivingSqlAliases.length; i++ ) {
@Override public boolean forUpdateOfColumns() { return delegate.forUpdateOfColumns(); }
@Override public boolean forUpdateOfColumns() { return delegate.forUpdateOfColumns(); }
@Override public boolean forUpdateOfColumns() { return delegate.forUpdateOfColumns(); }
@Override public boolean forUpdateOfColumns() { return delegate.forUpdateOfColumns(); }
@Override public boolean forUpdateOfColumns() { return delegate.forUpdateOfColumns(); }
@Override public boolean forUpdateOfColumns() { return delegate.forUpdateOfColumns(); }
@Override public boolean forUpdateOfColumns() { return delegate.forUpdateOfColumns(); }
@Override public boolean forUpdateOfColumns() { return delegate.forUpdateOfColumns(); }
@Override public boolean forUpdateOfColumns() { return delegate.forUpdateOfColumns(); }
@Override public boolean forUpdateOfColumns() { return delegate.forUpdateOfColumns(); }
@Override public boolean forUpdateOfColumns() { return delegate.forUpdateOfColumns(); }
protected String applyLocks(String sql, Map lockModes, Dialect dialect) throws QueryException { // can't cache this stuff either (per-invocation) final String result; if ( lockModes == null || lockModes.size() == 0 ) { result = sql; } else { Map aliasedLockModes = new HashMap(); Iterator iter = lockModes.entrySet().iterator(); while ( iter.hasNext() ) { Map.Entry me = ( Map.Entry ) iter.next(); aliasedLockModes.put( getAliasName( ( String ) me.getKey() ), me.getValue() ); } Map keyColumnNames = null; if ( dialect.forUpdateOfColumns() ) { keyColumnNames = new HashMap(); for ( int i = 0; i < names.length; i++ ) { keyColumnNames.put( names[i], persisters[i].getIdentifierColumnNames() ); } } result = sql + new ForUpdateFragment( dialect, aliasedLockModes, keyColumnNames ).toFragmentString(); } logQuery( queryString, result ); return result; }
protected String applyLocks(String sqlSelectString, Map lockModes, Dialect dialect) throws QueryException { if ( lockModes==null || lockModes.size()==0 ) { return sqlSelectString; } else { Map keyColumnNames = null; Loadable[] persisters = getEntityPersisters(); String[] entityAliases = getAliases(); if ( dialect.forUpdateOfColumns() ) { keyColumnNames = new HashMap(); for ( int i=0; i<entityAliases.length; i++ ) { keyColumnNames.put( entityAliases[i], persisters[i].getIdentifierColumnNames() ); } } return sqlSelectString + new ForUpdateFragment(dialect, lockModes, keyColumnNames).toFragmentString(); } }
protected String applyLocks(String sqlSelectString, Map lockModes, Dialect dialect) throws QueryException { if ( lockModes==null || lockModes.size()==0 ) { return sqlSelectString; } else { Map keyColumnNames = null; Loadable[] persisters = getEntityPersisters(); String[] entityAliases = getAliases(); if ( dialect.forUpdateOfColumns() ) { keyColumnNames = new HashMap(); for ( int i=0; i<entityAliases.length; i++ ) { keyColumnNames.put( entityAliases[i], persisters[i].getIdentifierColumnNames() ); } } return sqlSelectString + new ForUpdateFragment(dialect, lockModes, keyColumnNames).toFragmentString(); } }
protected String applyLocks(String sqlSelectString, LockOptions lockOptions, Dialect dialect) throws QueryException { if ( lockOptions == null || ( lockOptions.getLockMode() == LockMode.NONE && lockOptions.getAliasLockCount() == 0 ) ) { return sqlSelectString; } final LockOptions locks = new LockOptions(lockOptions.getLockMode()); locks.setScope( lockOptions.getScope()); locks.setTimeOut( lockOptions.getTimeOut()); final Map keyColumnNames = dialect.forUpdateOfColumns() ? new HashMap() : null; final String[] drivingSqlAliases = getAliases(); for ( int i = 0; i < drivingSqlAliases.length; i++ ) { final LockMode lockMode = lockOptions.getAliasSpecificLockMode( drivingSqlAliases[i] ); if ( lockMode != null ) { final Lockable drivingPersister = ( Lockable ) getEntityPersisters()[i]; final String rootSqlAlias = drivingPersister.getRootTableAlias( drivingSqlAliases[i] ); locks.setAliasSpecificLockMode( rootSqlAlias, lockMode ); if ( keyColumnNames != null ) { keyColumnNames.put( rootSqlAlias, drivingPersister.getRootTableIdentifierColumnNames() ); } } } return dialect.applyLocksToSql( sqlSelectString, locks, keyColumnNames ); }
protected String applyLocks(String sqlSelectString, LockOptions lockOptions, Dialect dialect) throws QueryException { if ( lockOptions == null || ( lockOptions.getLockMode() == LockMode.NONE && lockOptions.getAliasLockCount() == 0 ) ) { return sqlSelectString; } final LockOptions locks = new LockOptions(lockOptions.getLockMode()); locks.setScope( lockOptions.getScope()); locks.setTimeOut( lockOptions.getTimeOut()); final Map keyColumnNames = dialect.forUpdateOfColumns() ? new HashMap() : null; final String[] drivingSqlAliases = getAliases(); for ( int i = 0; i < drivingSqlAliases.length; i++ ) { final LockMode lockMode = lockOptions.getAliasSpecificLockMode( drivingSqlAliases[i] ); if ( lockMode != null ) { final Lockable drivingPersister = ( Lockable ) getEntityPersisters()[i]; final String rootSqlAlias = drivingPersister.getRootTableAlias( drivingSqlAliases[i] ); locks.setAliasSpecificLockMode( rootSqlAlias, lockMode ); if ( keyColumnNames != null ) { keyColumnNames.put( rootSqlAlias, drivingPersister.getRootTableIdentifierColumnNames() ); } } } return dialect.applyLocksToSql( sqlSelectString, locks, keyColumnNames ); }