private String getSqlDropStrings(String tableName, ForeignKey foreignKey, Dialect dialect) { final StringBuilder buf = new StringBuilder( dialect.getAlterTableString( tableName ) ); buf.append( dialect.getDropForeignKeyString() ); if ( dialect.supportsIfExistsBeforeConstraintName() ) { buf.append( "if exists " ); } buf.append( dialect.quote( foreignKey.getName() ) ); if ( dialect.supportsIfExistsAfterConstraintName() ) { buf.append( " if exists" ); } return buf.toString(); }
public String sqlDropString(Dialect dialect, String defaultCatalog, String defaultSchema) { String tableName = getTable().getQualifiedName( dialect, defaultCatalog, defaultSchema ); final StringBuilder buf = new StringBuilder( dialect.getAlterTableString( tableName ) ); buf.append( dialect.getDropForeignKeyString() ); if ( dialect.supportsIfExistsBeforeConstraintName() ) { buf.append( "if exists " ); } buf.append( dialect.quote( getName() ) ); if ( dialect.supportsIfExistsAfterConstraintName() ) { buf.append( " if exists" ); } return buf.toString(); }
private boolean isUniqueConstraintGenerated(String tableName, String columnName) throws IOException { boolean matches = false; final String regex = getDialect().getAlterTableString( tableName ) + " add constraint uk_(.)* unique \\(" + columnName + "\\)"; final String fileContent = new String( Files.readAllBytes( output.toPath() ) ).toLowerCase(); final String[] split = fileContent.split( System.lineSeparator() ); Pattern p = Pattern.compile( regex ); for ( String line : split ) { final Matcher matcher = p.matcher( line ); if ( matcher.matches() ) { matches = true; } } return matches; }
public String sqlDropString(Dialect dialect, String defaultCatalog, String defaultSchema) { if ( isGenerated( dialect ) ) { final String tableName = getTable().getQualifiedName( dialect, defaultCatalog, defaultSchema ); return String.format( Locale.ROOT, "%s evictData constraint %s", dialect.getAlterTableString( tableName ), dialect.quote( getName() ) ); } else { return null; } }
@Override public String getAlterTableToDropUniqueKeyCommand(UniqueKey uniqueKey, Metadata metadata) { final JdbcEnvironment jdbcEnvironment = metadata.getDatabase().getJdbcEnvironment(); final String tableName = jdbcEnvironment.getQualifiedObjectNameFormatter().format( uniqueKey.getTable().getQualifiedTableName(), dialect ); final StringBuilder buf = new StringBuilder( dialect.getAlterTableString(tableName) ); buf.append( getDropUnique() ); if ( dialect.supportsIfExistsBeforeConstraintName() ) { buf.append( "if exists " ); } buf.append( dialect.quote( uniqueKey.getName() ) ); if ( dialect.supportsIfExistsAfterConstraintName() ) { buf.append( " if exists" ); } return buf.toString(); }
public String sqlCreateString(Dialect dialect, Mapping p, String defaultCatalog, String defaultSchema) { if ( isGenerated( dialect ) ) { // Certain dialects (ex: HANA) don't support FKs as expected, but other constraints can still be created. // If that's the case, hasAlterTable() will be true, but getAddForeignKeyConstraintString will return // empty string. Prevent blank "alter table" statements. String constraintString = sqlConstraintString( dialect, getName(), defaultCatalog, defaultSchema ); if ( !StringHelper.isEmpty( constraintString ) ) { final String tableName = getTable().getQualifiedName( dialect, defaultCatalog, defaultSchema ); return dialect.getAlterTableString( tableName ) + " " + constraintString; } } return null; }
); StringBuilder root = new StringBuilder( dialect.getAlterTableString( tableName ) ) .append( ' ' ) .append( dialect.getAddColumnString() );
@Override public String getAlterTableToAddUniqueKeyCommand(UniqueKey uniqueKey, Metadata metadata) { final JdbcEnvironment jdbcEnvironment = metadata.getDatabase().getJdbcEnvironment(); final String tableName = jdbcEnvironment.getQualifiedObjectNameFormatter().format( uniqueKey.getTable().getQualifiedTableName(), dialect ); final String constraintName = dialect.quote( uniqueKey.getName() ); return dialect.getAlterTableString( tableName ) + " add constraint " + constraintName + " " + uniqueConstraintSql( uniqueKey ); }
@Override public String getAlterTableToAddUniqueKeyCommand(UniqueKey uniqueKey, Metadata metadata) { // Do this here, rather than allowing UniqueKey/Constraint to do it. // We need full, simplified control over whether or not it happens. final String tableName = metadata.getDatabase().getJdbcEnvironment().getQualifiedObjectNameFormatter().format( uniqueKey.getTable().getQualifiedTableName(), metadata.getDatabase().getJdbcEnvironment().getDialect() ); final String constraintName = dialect.quote( uniqueKey.getName() ); return dialect.getAlterTableString( tableName ) + " add constraint " + uniqueConstraintSql( uniqueKey ) + " constraint " + constraintName; }
private boolean checkDropForeignKeyConstraint(String tableName) throws IOException { boolean matches = false; String regex = getDialect().getAlterTableString( tableName ); regex += getDialect().getDropForeignKeyString(); if ( getDialect().supportsIfExistsBeforeConstraintName() ) { regex += "if exists "; } regex += "fk(.)*"; if ( getDialect().supportsIfExistsAfterConstraintName() ) { regex += " if exists"; } return isMatching( matches, regex.toLowerCase() ); }
); final StringBuilder buffer = new StringBuilder( dialect.getAlterTableString( sourceTableName ) ) .append( foreignKey.getKeyDefinition() != null ?
private String getSqlDropStrings(String tableName, ForeignKey foreignKey, Dialect dialect) { final StringBuilder buf = new StringBuilder( dialect.getAlterTableString( tableName ) ); buf.append( dialect.getDropForeignKeyString() ); if ( dialect.supportsIfExistsBeforeConstraintName() ) { buf.append( "if exists " ); } buf.append( dialect.quote( foreignKey.getName() ) ); if ( dialect.supportsIfExistsAfterConstraintName() ) { buf.append( " if exists" ); } return buf.toString(); }
@Override public String getAlterTableToDropUniqueKeyCommand(UniqueKey uniqueKey, JdbcServices jdbcServices) { final String tableName = jdbcServices .getJdbcEnvironment() .getQualifiedObjectNameFormatter() .format( ( ( ExportableTable) uniqueKey.getTable() ).getQualifiedTableName(), dialect ); final StringBuilder buf = new StringBuilder( dialect.getAlterTableString( tableName )); buf.append(getDropUnique() ); if ( dialect.supportsIfExistsBeforeConstraintName() ) { buf.append( "if exists " ); } buf.append( uniqueKey.getName().render( dialect ) ); if ( dialect.supportsIfExistsAfterConstraintName() ) { buf.append( " if exists" ); } return buf.toString(); }
dialect.getAlterTableString( jdbcEnvironment.getQualifiedObjectNameFormatter().format( table.getQualifiedTableName(), jdbcEnvironment.getDialect()
@Override public String getAlterTableToAddUniqueKeyCommand(UniqueKey uniqueKey, JdbcServices jdbcServices) { final String tableName = jdbcServices .getJdbcEnvironment() .getQualifiedObjectNameFormatter() .format( ( ( ExportableTable) uniqueKey.getTable() ).getQualifiedTableName(), dialect ); final String constraintName = uniqueKey.getName().render( dialect ); return dialect.getAlterTableString( tableName ) + " add constraint " + constraintName + " " + uniqueConstraintSql( uniqueKey ); }
@Override public String getAlterTableToAddUniqueKeyCommand(UniqueKey uniqueKey, JdbcServices jdbcServices) { final JdbcEnvironment jdbcEnvironment = jdbcServices.getJdbcEnvironment(); // Do this here, rather than allowing UniqueKey/Constraint to do it. // We need full, simplified control over whether or not it happens. final String tableName = jdbcEnvironment.getQualifiedObjectNameFormatter().format( ( (ExportableTable) uniqueKey.getTable() ).getQualifiedTableName(), jdbcEnvironment.getDialect() ); final String constraintName = uniqueKey.getName().render( dialect ); return dialect.getAlterTableString( tableName ) + " add constraint " + uniqueConstraintSql( uniqueKey ) + " constraint " + constraintName; }
); final StringBuilder buffer = new StringBuilder( dialect.getAlterTableString( sourceTableName ) ) .append( foreignKey.getKeyDefinition() != null