ColumnLoader: fix issues with nulls, and add tests.

ResultSetMetaData: don't ask for precision of a String column.

Add class Ord, like Util.zip but each record has an index.

Implement VALUES operator. Add EnumerableValuesRel. Implements Values in Enumerable calling convention.

Fix translation to Java of BigDecimal literal.
CallingConvention class is now obsolete; new code should use Convention. (CallingConvention contains obsolete conventions such as JAVA.)

Convention is now pluggable. Your convention does not need to be defined in an enum or have a globally-unique ordinal.
Fix result for testCase.
Abstract the representation of a row in Java (as a primitive value, an object array or, shortly, as a synthetic object) as a new class PhysType.

Also: Rename AggregateImplementor2 to AggImplementor2. And various tweaks involving IntList.
Add PhysType, which allows Java relational expressions to have multiple ways of representing a row in Java. Currently a row can be an empty list (if there are 0 fields) a scalar (if there is 1 field), a synthetic class or an array of Objects (if there are more than 1 field). Of the last 2, the synthetic class is preferred, because it uses primitive values and therefore avoids boxing if the value is not nullable.

Also add ModifiableTable, which permits implementation of INSERT.

Remove mergeTraitsAndConvert method. (It was more verbose than the code inside it.)
Update spell-check dictionary.
RexToLixTranslator now takes a callback that determines how input records & fields are converted to expressions. It also takes a BlockBuilder, rather than a list of Statement, and the BlockBuilder takes more of the responsibility for assigning common expressions to variables. Move functionality from PhysType into JavaRowFormat.

Make UnregisteredDriver.JdbcVersion a bit more public.

Fix Utilities for JDK 1.6.
Better support for INSERT. Implement Statement.executeUpdate().

More flexible with respect to CUSTOM or ARRAY returned from cursor.

Deduce that some operators, for instance IS TRUE and IS NULL are always NOT NULL. (More NOT NULL optimizations of conditions in WHERE clause to come.)
Deploy to conjars.
Don't track .idea files or settings.xml.
Add information schema (aka data dictionary). It is called "metadata" and contains tables called "TABLES" and "COLUMNS". You can use them in SQL queries.
Remove common sub-expression elimination code from RexToLixTranslator. BlockBuilder now does this.
Move org.eigenbase.util.Ord to net.hydromatic.linq4j.Ord.
Fix SqlToRelConverterTest reference log.
Add OptiqSqlOperatorTest (disabled, because 96 failures at present). Rename SqlOperatorTests to SqlOperatorBaseTest.
Implement IS (NOT) TRUE/FALSE/NULL. Factor RexImpTable out of RexToLixTranslator as top-level class.
Null semantics and logical operators.
For INSERT, convert Java-based type to SQL-based type before checking type-compatibility.
Depends on linq4j 0.1, not 0.1-SNAPSHOT.
A few more SQL operators and fixes.