/* * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package liquibase.database.core; import java.sql.DatabaseMetaData; import java.sql.ResultSet; import java.sql.SQLException; import liquibase.database.Database; import liquibase.database.structure.ForeignKeyInfo; import liquibase.exception.DatabaseException; import liquibase.snapshot.DatabaseSnapshot; import liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator; /** * Snapshot generator for CUBRID. * * @author Matt * @author JunHo Yoon * @since 3.0 */ public class CUBRIDDatabaseSnapshotGenerator extends JdbcDatabaseSnapshotGenerator { /* * (non-Javadoc) * * @see * liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator#fillForeignKeyInfo * (java.sql.ResultSet) */ @Override protected ForeignKeyInfo fillForeignKeyInfo(ResultSet rs) throws DatabaseException, SQLException { ForeignKeyInfo fkInfo = super.fillForeignKeyInfo(rs); if (fkInfo.getKeySeq() == 0) { fkInfo.setReferencesUniqueColumn(true); } return fkInfo; } /* * (non-Javadoc) * * @see * liquibase.snapshot.DatabaseSnapshotGenerator#supports(liquibase.database * .Database) */ @Override public boolean supports(Database database) { return database instanceof CUBRIDDatabase; } /* * (non-Javadoc) * * @see * liquibase.snapshot.DatabaseSnapshotGenerator#getPriority(liquibase.database * .Database) */ @Override public int getPriority(Database database) { return PRIORITY_DATABASE; } /* * (non-Javadoc) * * @see * liquibase.snapshot.jvm.JdbcDatabaseSnapshotGenerator#readSequences(liquibase * .snapshot. DatabaseSnapshot, java.lang.String, java.sql.DatabaseMetaData) */ @Override protected void readSequences(DatabaseSnapshot snapshot, String schema, DatabaseMetaData databaseMetaData) throws DatabaseException { } }