@Override public String getWriteLockString(String aliases, int timeout) { if ( timeout == LockOptions.NO_WAIT ) { return getForUpdateNowaitString(aliases); } else if ( timeout == LockOptions.SKIP_LOCKED ) { return getForUpdateSkipLockedString(aliases); } return super.getWriteLockString( aliases, timeout ); }
@Override public String getWriteLockString(int timeout) { if ( timeout == LockOptions.SKIP_LOCKED ) { return getForUpdateSkipLockedString(); } else { return super.getWriteLockString( timeout ); } }
@Override public LimitHandler getLimitHandler() { if ( isLegacyLimitHandlerBehaviorEnabled() ) { return super.getLimitHandler(); } return limitHandler; }
/** * Get the string to append to SELECT statements to acquire WRITE locks * for this dialect. Location of the of the returned string is treated * the same as getForUpdateString. * * @param timeout in milliseconds, -1 for indefinite wait and 0 for no wait. * @return The appropriate <tt>LOCK</tt> clause string. */ public String getWriteLockString(int timeout) { return getForUpdateString(); }
public boolean isMatch(Dialect dialect) { return dialect.supportsValuesList() && dialect.supportsRowValueConstructorSyntaxInInList(); } }
@Override public String getWriteLockString(int timeout) { if ( timeout == LockOptions.SKIP_LOCKED ) { return getForUpdateSkipLockedString(); } else { return super.getWriteLockString( timeout ); } }
@Override public String getWriteLockString(String aliases, int timeout) { if ( timeout > 0 ) { return getForUpdateString( aliases ) + " wait " + getLockWaitTimeoutInSeconds( timeout ); } else if ( timeout == 0 ) { return getForUpdateNowaitString( aliases ); } else { return getForUpdateString( aliases ); } }
@Override public String getTableTypeString() { return storageEngine.getTableTypeString( getEngineKeyword()); }
/** * Constructs a DerbyTenSevenDialect */ public DerbyTenSevenDialect() { super(); registerColumnType( Types.BOOLEAN, "boolean" ); }
@Override public String getWriteLockString(int timeout) { if ( timeout == LockOptions.NO_WAIT ) { return getForUpdateNowaitString(); } if ( timeout > 0 ) { return getForUpdateString() + " wait " + timeout; } return getForUpdateString(); }
@Override protected SqlTypeDescriptor getSqlTypeDescriptorOverride(int sqlCode) { switch (sqlCode) { case Types.BLOB: return BlobTypeDescriptor.PRIMITIVE_ARRAY_BINDING; case Types.CLOB: // Some Sybase drivers cannot support getClob. See HHH-7889 return ClobTypeDescriptor.STREAM_BINDING_EXTRACTING; default: return super.getSqlTypeDescriptorOverride( sqlCode ); } }
@Override @SuppressWarnings("deprecation") public boolean supportsLimitOffset() { return isTenPointFiveReleaseOrNewer(); }
/** * Determine the cast target for {@link Types#FLOAT} and {@link Types#REAL} (DOUBLE) * * @return The proper cast target type. */ protected String floatingPointNumberCastTarget() { // MySQL does not allow casting to DOUBLE nor FLOAT, so we have to cast these as DECIMAL. // MariaDB does allow casting to DOUBLE, although not FLOAT. return fixedPointNumberCastTarget(); }
@Override public LimitHandler getLimitHandler() { if ( isLegacyLimitHandlerBehaviorEnabled() ) { return LegacyFirstLimitHandler.INSTANCE; } return FirstLimitHandler.INSTANCE; }
@Override public SequenceInformationExtractor getSequenceInformationExtractor() { if ( getQuerySequencesString() == null ) { return SequenceInformationExtractorNoOpImpl.INSTANCE; } else { return SequenceInformationExtractorDB2DatabaseImpl.INSTANCE; } }
@Override public OutputStream setBinaryStream(long pos) throws SQLException { return new ByteArrayOutputStream() { { this.buf = getBytes(); } }; }
/** * Get the <tt>FOR UPDATE OF column_list NOWAIT</tt> fragment appropriate * for this dialect given the aliases of the columns to be write locked. * * @param aliases The columns to be write locked. * @return The appropriate <tt>FOR UPDATE OF colunm_list NOWAIT</tt> clause string. */ public String getForUpdateNowaitString(String aliases) { return getForUpdateString( aliases ); }
@Override public String getWriteLockString(int timeout) { if ( timeout == LockOptions.NO_WAIT ) { return getForUpdateNowaitString(); } else if ( timeout == LockOptions.SKIP_LOCKED ) { return getForUpdateSkipLockedString(); } return super.getWriteLockString( timeout ); }
@Override public String getWriteLockString(String aliases, int timeout) { if ( timeout == LockOptions.SKIP_LOCKED ) { return getForUpdateSkipLockedString( aliases ); } else { return super.getWriteLockString( aliases, timeout ); } }
@Override public String getWriteLockString(String aliases, int timeout) { if ( timeout == LockOptions.SKIP_LOCKED ) { return getForUpdateSkipLockedString( aliases ); } else { return super.getWriteLockString( aliases, timeout ); } }