Program: 84207
Project: 84207
Buggy source:
@Test public void createTable_deferrableForeignKeyColumn() throws Exception {
  new DatabaseTestTemplate().testOnAvailableDatabases(new DatabaseTest(){
    public void performTest(    Database database) throws JDBCException {
      if (!database.supportsInitiallyDeferrableColumns()) {
        return;
      }
      String foreignKeyName="String_Node_Str";
      ForeignKeyConstraint fkConstraint=new ForeignKeyConstraint(foreignKeyName,TABLE_NAME + "String_Node_Str");
      fkConstraint.setDeferrable(true);
      fkConstraint.setInitiallyDeferred(true);
      CreateTableStatement statement=new CreateTableStatement(TABLE_NAME).addPrimaryKeyColumn("String_Node_Str","String_Node_Str",false).addColumn("String_Node_Str","String_Node_Str").addColumn("String_Node_Str","String_Node_Str",fkConstraint);
      new JdbcTemplate(database).execute(statement);
      DatabaseSnapshot snapshot=new DatabaseSnapshot(database);
      Table table=snapshot.getTable(TABLE_NAME);
      assertEquals(TABLE_NAME.toUpperCase(),table.getName().toUpperCase());
      assertNotNull(table.getColumn("String_Node_Str"));
      ForeignKey foundForeignKey=snapshot.getForeignKey(foreignKeyName);
      assertNotNull(foundForeignKey);
      assertEquals(TABLE_NAME,foundForeignKey.getPrimaryKeyTable().getName().toUpperCase());
      assertEquals("String_Node_Str",foundForeignKey.getPrimaryKeyColumn().toUpperCase());
      assertEquals(TABLE_NAME,foundForeignKey.getForeignKeyTable().getName().toUpperCase());
      assertEquals("String_Node_Str",foundForeignKey.getForeignKeyColumn().toUpperCase());
      assertTrue(foundForeignKey.isDeferrable());
      assertTrue(foundForeignKey.isInitiallyDeferred());
    }
  }
);
}

Fixed version (ground truth):
@Test public void createTable_deferrableForeignKeyColumn() throws Exception {
  new DatabaseTestTemplate().testOnAvailableDatabases(new DatabaseTest(){
    public void performTest(    Database database) throws JDBCException {
      if (!database.supportsInitiallyDeferrableColumns()) {
        return;
      }
      String foreignKeyName="String_Node_Str";
      ForeignKeyConstraint fkConstraint=new ForeignKeyConstraint(foreignKeyName,TABLE_NAME + "String_Node_Str");
      fkConstraint.setDeferrable(true);
      fkConstraint.setInitiallyDeferred(true);
      CreateTableStatement statement=new CreateTableStatement(TABLE_NAME).addPrimaryKeyColumn("String_Node_Str","String_Node_Str").addColumn("String_Node_Str","String_Node_Str").addColumn("String_Node_Str","String_Node_Str",fkConstraint);
      new JdbcTemplate(database).execute(statement);
      DatabaseSnapshot snapshot=new DatabaseSnapshot(database);
      Table table=snapshot.getTable(TABLE_NAME);
      assertEquals(TABLE_NAME.toUpperCase(),table.getName().toUpperCase());
      assertNotNull(table.getColumn("String_Node_Str"));
      ForeignKey foundForeignKey=snapshot.getForeignKey(foreignKeyName);
      assertNotNull(foundForeignKey);
      assertEquals(TABLE_NAME,foundForeignKey.getPrimaryKeyTable().getName().toUpperCase());
      assertEquals("String_Node_Str",foundForeignKey.getPrimaryKeyColumn().toUpperCase());
      assertEquals(TABLE_NAME,foundForeignKey.getForeignKeyTable().getName().toUpperCase());
      assertEquals("String_Node_Str",foundForeignKey.getForeignKeyColumn().toUpperCase());
      assertTrue(foundForeignKey.isDeferrable());
      assertTrue(foundForeignKey.isInitiallyDeferred());
    }
  }
);
}