Examples of ForeignKeyInfo


Examples of liquibase.database.structure.ForeignKeyInfo

   * 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;
  }
View Full Code Here

Examples of net.sourceforge.squirrel_sql.fw.sql.ForeignKeyInfo

      ForeignKeyInfo[] fks = iTableInfo.getExportedKeys();
      if (fks != null && fks.length > 0)
      {
        for (int i = 0; i < fks.length; i++)
        {
          ForeignKeyInfo info = fks[i];
          String fkName = info.getForeignKeyName();
          String fkTable = info.getForeignKeyTableName();
          StringBuilder tmp = new StringBuilder();
          tmp.append("ALTER TABLE ");
          tmp.append(fkTable);
          tmp.append(" DROP CONSTRAINT ");
          tmp.append(fkName);
View Full Code Here

Examples of net.sourceforge.squirrel_sql.fw.sql.ForeignKeyInfo

      return result;
   }

   public static ForeignKeyInfo[] getEasyMockForeignKeyInfos(String fkName,
         String ctab, String ccol, String ptab, String pcol) {
      ForeignKeyInfo result = createMock(ForeignKeyInfo.class);
      expect(result.getSimpleName()).andReturn(fkName).anyTimes();
      expect(result.getForeignKeyColumnName()).andReturn(ccol).anyTimes();
      expect(result.getPrimaryKeyColumnName()).andReturn(pcol).anyTimes();
      expect(result.getForeignKeyTableName()).andReturn(ctab).anyTimes();
      expect(result.getPrimaryKeyTableName()).andReturn(ptab).anyTimes();
      expect(result.getDeleteRule()).andReturn(DatabaseMetaData.importedKeyCascade)
                                    .anyTimes();
      expect(result.getUpdateRule()).andReturn(DatabaseMetaData.importedKeyCascade)
                                    .anyTimes();
      expect(result.getForeignKeySchemaName()).andStubReturn("TestSchema");
      expect(result.getPrimaryKeySchemaName()).andStubReturn("TestSchema");
     
      ForeignKeyColumnInfo mockForeignKeyColumnInfo = createMock("mockForeignKeyColumnInfo", ForeignKeyColumnInfo.class);
      expect(mockForeignKeyColumnInfo.getForeignKeyColumnName()).andStubReturn(ccol);
      expect(mockForeignKeyColumnInfo.getPrimaryKeyColumnName()).andStubReturn(pcol);
      expect(mockForeignKeyColumnInfo.getKeySequence()).andStubReturn(0);
     
     
      expect(result.getForeignKeyColumnInfo()).andStubReturn(new ForeignKeyColumnInfo[] { mockForeignKeyColumnInfo });
     
      replay(mockForeignKeyColumnInfo);
      replay(result);
      return new ForeignKeyInfo[] { result };
   }
View Full Code Here

Examples of org.datanucleus.store.rdbms.schema.ForeignKeyInfo

        RDBMSTableFKInfo fkInfo = (RDBMSTableFKInfo)handler.getSchemaData(conn, "foreign-keys",
            new Object[] {this});
        Iterator iter = fkInfo.getChildren().iterator();
        while (iter.hasNext())
        {
            ForeignKeyInfo fki = (ForeignKeyInfo)iter.next();
            // JDBC drivers can return null names for foreign keys, so we then skip the DROP CONSTRAINT.
            String fkName = (String)fki.getProperty("fk_name");
            if (fkName != null)
            {
                fkNames.add(fkName);
            }
        }
View Full Code Here

Examples of org.datanucleus.store.rdbms.schema.ForeignKeyInfo

            RDBMSTableFKInfo tableFkInfo = (RDBMSTableFKInfo)handler.getSchemaData(conn, "foreign-keys",
                new Object[] {this});
            Iterator fksIter = tableFkInfo.getChildren().iterator();
            while (fksIter.hasNext())
            {
                ForeignKeyInfo fkInfo = (ForeignKeyInfo)fksIter.next();
                DatastoreIdentifier fkIdentifier;
                String fkName = (String)fkInfo.getProperty("fk_name");
                if (fkName == null)
                {
                    fkIdentifier = idFactory.newForeignKeyIdentifier(this, foreignKeysByName.size());
                }
                else
                {
                    fkIdentifier = idFactory.newIdentifier(IdentifierType.FOREIGN_KEY, fkName);
                }
   
                short deferrability = ((Short)fkInfo.getProperty("deferrability")).shortValue();
                boolean initiallyDeferred = deferrability == DatabaseMetaData.importedKeyInitiallyDeferred;
                ForeignKey fk = (ForeignKey) foreignKeysByName.get(fkIdentifier);
                if (fk == null)
                {
                    fk = new ForeignKey(initiallyDeferred);
                    fk.setName(fkIdentifier.getIdentifierName());
                    foreignKeysByName.put(fkIdentifier, fk);
                }
   
                String pkTableName = (String)fkInfo.getProperty("pk_table_name");
                AbstractTable refTable = (AbstractTable)storeMgr.getDatastoreClass(
                    idFactory.newDatastoreContainerIdentifier(pkTableName));
                if (refTable != null)
                {
                    String fkColumnName = (String)fkInfo.getProperty("fk_column_name");
                    String pkColumnName = (String)fkInfo.getProperty("pk_column_name");
                    DatastoreIdentifier colName = idFactory.newIdentifier(IdentifierType.COLUMN, fkColumnName);
                    DatastoreIdentifier refColName = idFactory.newIdentifier(IdentifierType.COLUMN, pkColumnName);
                    DatastoreField col = columnsByName.get(colName);
                    DatastoreField refCol = refTable.columnsByName.get(refColName);
                    if (col != null && refCol != null)
View Full Code Here

Examples of org.datanucleus.store.rdbms.schema.ForeignKeyInfo

     * @param rs The result set returned from DatabaseMetaData.get??portedKeys()
     * @return The foreign key info
     */
    public ForeignKeyInfo newFKInfo(ResultSet rs)
    {
        return new ForeignKeyInfo(rs);
    }
View Full Code Here

Examples of org.jpox.store.rdbms.typeinfo.ForeignKeyInfo

        ResultSet rs = conn.getMetaData().getImportedKeys(catalogName, schemaName, tableName);
        try
        {
            while (rs.next())
            {
                ForeignKeyInfo fki = dba.newForeignKeyInfo(rs);

                // Some RDBMS (e.g PostgreSQL) returns duplicate rows from getImportedKeys().
                if (!fk_cols.contains(fki))
                {
                    fk_cols.add(fki);
View Full Code Here

Examples of org.jpox.store.rdbms.typeinfo.ForeignKeyInfo

     * @param rs The result set returned from DatabaseMetaData.get??portedKeys()
     * @return The foreign key info
     */
    public ForeignKeyInfo newForeignKeyInfo(ResultSet rs)
    {
        return new ForeignKeyInfo(rs);
    }
View Full Code Here

Examples of org.jpox.store.rdbms.typeinfo.ForeignKeyInfo

         */
        HashSet fkNames = new HashSet();
        Iterator i = RDBMSStoreHelper.getForeignKeyInfoForTable(storeMgr, this, conn).iterator();
        while (i.hasNext())
        {
            ForeignKeyInfo fki = (ForeignKeyInfo) i.next();
            /*
             * Legally, JDBC drivers are allowed to return null names for
             * foreign keys. If they do, we simply have to skip DROP CONSTRAINT.
             */
            if (fki.fkName != null)
View Full Code Here

Examples of org.jpox.store.rdbms.typeinfo.ForeignKeyInfo

        Iterator i = RDBMSStoreHelper.getForeignKeyInfoForTable(storeMgr, this, conn).iterator();
        while (i.hasNext())
        {
            RDBMSIdentifierFactory idFactory = (RDBMSIdentifierFactory)storeMgr.getIdentifierFactory();
            DatastoreIdentifier fkName;
            ForeignKeyInfo fki = (ForeignKeyInfo) i.next();
            if (fki.fkName == null)
            {
                fkName = idFactory.newForeignKeyIdentifier(this, foreignKeysByName.size());
            }
            else
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.