should log also at the beginning so if the migration fails, we know where
Enhance logger API and DefaultLogger implementation to accept setting of changelog and changeset.
rebased enhancedLogging branch to 3.0.x and had to fix call to LogFactory.
Add a ChangeExecEventListener to UpdateVisitor and RollbackVisitor allowing for finer grained monitoring of change executions.  This could be useful for progress monitors, enhanced logging/debugging, etc.
changeExecEventListener: add willRun method to listener api
changeExecListener: decided I liked fireWillRun and fireRan better for method names
Performance work: Support bulk loading of database objects easily. Database interaction is not the bottleneck now, DatabaseObjectComparatorFactory.isSameObject is
Performance work: Column and Table comparators short circut the rest of the chain to be faster since they already implement the default functionality themselves
Performance work: Added hash function for DatabaseObjects like the java .hashCode() method to avoid calls to isSameObject
Performance work: Optimizing Index handeling and comparision
Exchange class-level PrepareForTest annotation for method-level with more specific classes to speed up tests.
I moved this annotation from the class
@PrepareForTest({SqlGeneratorFactory.class, CheckSum.class})
and used more specific annotations on individual test methods
because SqlGeneratorFactory was scanning classes and interacting
with large numbers of mocked/generated classes with proxied
methods.  The behavior seemed to differ between Linux and Windows.
I don't really know why yet.
Performance work: ObjectComparitors can return multiple hashes when there are multiple ways to compare objects
Schemas can come through in different cases but should always be treated as equal
<where> was showing up as <whereClause> in the docs
Performance: only check autoincrement info if database supports it
Performance work watching queries being made:
- Do not snapshot the entire Schema by default
- Allow getIndex and getForeignKeys to optimize around index names.
- Smarter default and null schema comparision
deprecated getWhereClause() is not a change property
Standardizing on getWhere() not getWhereClause()
Standardizing on getWhere() not getWhereClause()
Some databases (such as sqlserver) need to have the metadata resultsets read before the next one can be called