Fix NPE when executing a DatabaseMetaData method that returns the empty set (e.g. getPrimaryKeys).
Enable version numbers based on build number.
Release 0.3.1; depends on linq4j 0.1.1.
Revert to snapshot version number.
Add PushJoinThroughJoinRule. Fix RexPermuteInputsShuttle.visitCall. Add various convenience methods to RelOptUtil and Mappings.
Rename ENUMERABLE_ARRAY_TO_CUSTOM_RULE to ENUMERABLE_ARRAY_FROM_CUSTOM_RULE (the name was misleading). Similarly ENUMERABLE_CUSTOM_TO_ARRAY_RULE.
Rename ENUMERABLE_ARRAY_TO_CUSTOM_RULE to ENUMERABLE_ARRAY_FROM_CUSTOM_RULE (the name was misleading). Similarly ENUMERABLE_CUSTOM_TO_ARRAY_RULE.
Version 0.3.2.
Revert to snapshot version number.
Extend the set of types that can be used in fields of relations and schemas that are discovered via reflection. For relations, allow iterables (including collections and lists), enumerables, and arrays including primitive arrays. If a schema field is not one of these types, just ignore it.

Factor tests concerned with reflective schemas from JdbcTest into new ReflectiveSchemaTest.

Allow table fields of type java.util.Date (maps to TIMESTAMP), and java.sql.{Date,Time,Timestamp}. The internal representation of DATE and TIME is still int, and of TIMESTAMP is still long, but we can read from these object types also. To do this, we add "internalClass" field to ColumnMetaData.
Allow more than one planner to be applied to a given query. This mechanism would allow, for instance, you to try a quick-and-dirty planner with a limited rule set first, and fall back to a more complex planner for more complex queries.

When planner can't find a plan, throws a RelOptPlanner.CannotPlanException (a sub-type of RuntimeException) that contains a dump of the planner state.
Fix JDK 1.6 compilation error.
Enable SqlParserTest. Negative tests are disabled.
Progress towards allowing parenthesized "(a JOIN (b JOIN c) ...)" in FROM clause.
Formatting & newlines in strings. Cosmetic changes only.
Enable negative tests in SqlParserTest. To get these to work, I had to back out changes for <parenthesized join table> and also downgrade JavaCC from 5.0 to 4.0 (downgrade maven plugin from 2.6 to 2.4).
Fix AssertionError caused by representing date/time values as Integer and Long internally.
Version 0.3.3.
Revert version to TRUNK-SNAPSHOT.
Fix issue where tables are based on records of different classes but classes have same name/type of fields. Also, when doing INSERT into a collection, convert the objects so they are correct type for the collection.