BlockBuilder should use underlying slice size
Implement simple version of greatest/least

Only 2-arg versions for common types: double, bigint, timestamp (with tz), date

Once we support varargs we'll replace them with a generic version.
Minor cleanup and (potential) optimization in compiler

Currently, the code generates calls to getCursor for every channel from 0 up to the
max channel referenced in filters/projections. With this change, the code now only
calls getCursor on channels that are actually needed for evaluation.
Rename getHandle() to getSignature() in FunctionInfo
Revert "Minor cleanup and (potential) optimization in compiler"

This change introduced a bug but didn't cause unit tests to fail due to
automatic fallback to interpreter if compilation doesn't work.

This reverts commit 59e0cbabf465563c111350de9896e7019a81f01b.
Add config option to disable interpreter fallback

The option is compiler.interpreter-enabled. When set to false, if the engine
fails to compile an expression to bytecode, the query will abort instead of
falling back to interpreted mode.

LocalQueryRunner and DistributedQueryRunner are now configured with that option
off so that we can catch certain subtle bugs in the compiler during unit testing .
Minor cleanup and (potential) optimization in compiler

Currently, the code generates calls to getCursor for every channel from 0 up to the
max channel referenced in filters/projections. With this change, the code now only
calls getCursor on channels that are actually needed for evaluation.

This is a re-do of 59e0cbabf465563c111350de9896e7019a81f01b (reverted in 87981e7bccfabacb001973193c4b7f120cc308a5)
with the bug fixed.
Consolidate FunctionInfo and OperatorInfo

This is a precursor to the new expression tree. The goal is that
at the core, operators and functions are both represented in the
same way and only the sql metadata layer is aware of the distinction
between them.
Remove unused methods
DriverContext.getOperatorPreAllocatedMemory uses parent context's getOperatorPreAllocatedMemory
Disable dependency version check in presto-server

The dependency checker is incorrectly looking at depencies of
bundled plugins
Update to airlift 0.89-SNAPSHOT
Use TimeStat for measuring times

TimeStat allows controlling the unit used to display the measurements
via JMX and exposes the unit as another mbean attribute

This fixes the issue where pXX stats show -Long.MAX_VALUE when there are no
measurements. It now displays NaN, instead.
Add support for optimistic splitting in hive connector
Add implicit coercion from date to timestamp (with time zone)
Fix IntelliJ warnings
Remove unused/implemented "full" parameter from task resource
Only transfer summarized stats to coordinator
Update to airbase 0.21-SNAPSHOT
Simplify SortedRangeSet.Builder and add benchmark

Collect ranges and do one pass at the end to merge adjacent and overlapping ranges.

This improves performance for this class by about 6x for a synthetic benchmark with 10000 ranges

        Benchmark                                            Mode   Samples   Mean  Mean error   Units
Before: c.f.p.s.BenchmarkSortedRangeSet.benchmarkBuilder     avgt        10  5.416       0.150   ms/op
After:  c.f.p.s.BenchmarkSortedRangeSet.benchmarkBuilder     avgt        10  0.867       0.016   ms/op