Performance issue when using native top count with multiple levels - use unique level when possible instead of all the levels
Fix for MONDRIAN-1161. The executors API in Java requires the queues to be either blocking or fully synchronous. The API was hiding the decision to use whichever queue behind its API, so now the mondrian.olap.Util class builds its own ThreadPoolExecutor which it customizes as needed. This is what is recommended in the JDK's API. We now use a synchronous queue. This has the side effect of also enforcing better thread management. I've added a parameter to the util class, a RejectionExecutionHandler, which allows the calling code to perform whatever is necessary when the pool is depleted. The executors API proposes different strategies (Fail hard / Caller executes on his own thread / Arbitrary code) but for now I've set it up so that it fails hard, thus preventing DDOS attacks and such.

Conflicts:

	src/main/mondrian/rolap/agg/SegmentCacheManager.java
	testsrc/main/mondrian/test/BasicQueryTest.java
	testsrc/main/mondrian/test/ParentChildHierarchyTest.java
Merge branch 'master' of git://github.com/pentaho/mondrian
Fix for MONDRIAN-1168. Union of roles would return wrong level restrictions.
Fixes ANALYZER-1277 and ESR-1937. Wraps all calls to evaluator.restore() inside of a finally block so that exceptions encountered while evaluating members and tuples do not affect subsequent passes. This was particularily problematic with CellRequestQuantumExceededExceptions, which extend RuntimeException and are not always catched properly. I went over every single one of the calls to restore() and made sure everything was as it should. In the case related above, encountering a cell limit while evaluating a nonemptycrossjoin would return empty or weird random values on the first pass, but would succeed if the query was re-sent right back.
Register Hive dialect in services file, and recognize Hive connection based on its JDBC metadata. Should improve MONDRIAN-789, "Hive dialect for Mondrian" if it doesn't fix it outright.
Test case for issue on developers list which involves a named set and a range in the WHERE clause. Current Mondrian behavior appears to be correct.
Test case now reproduces bug. (See 'if (false)'; no bug number yet.)

Rename class 'AxisMember' to 'AxisMemberList' for clarity.
Merge branch 'master' of git://github.com/pentaho/mondrian
Upgrade to versions of eigenbase-properties, eigenbase-xom and eigenbase-resgen stored in github and built using maven.
BISERVER-7348 Add workbench.jar publishing to repo to mondrian build
Merge pull request #12 from lgrill-pentaho/master

BISERVER-7348 Add workbench.jar publishing to repo to mondrian build
Allow native topcount/filter for partial rollups (full rollups
continue to use non-native rollup).
Fix native topcount/filter to handle role access control with multiple members.
Fix cache handling of native topcount/filter to handle role filtering.
Fixes a bunch of test failures. Also fixes a problem with SqlStatement; if an exception was encountered while closing the DB resources, there would be connections and statements left opened.
Fixes a lot of failures in DBMSs which don't support JDBC's getIndexInfo method for null catalogs, like Oracle. The JdbcStatisticsProvider was throwing an exception instead of returning -1, as required by the API. This was preventing the statistics manager from trying the next statistics providers down the chain.
Woopsie.
[MONDRIAN-1199] Adds an object called MemberGrant which caches the results of parent-child lookups. This speeds up vastly the queries where partial rollup policies are used, so we don't lookup all the parents of a given member grant for each member we substitute in RoleImpl.
Merge branch 'master' of git://github.com/pentaho/mondrian
- Fix for MONDRIAN-1200 - UdfResolver wasn't setting the Calc correctly into the Calcs[] obj
Fix for MONDRIAN-1201 - NativeTopCount does not handle multiple members in role-based access control.