[MONDRIAN-1837] fixed issue with ignore unrelated dimensions when
unrelated dimension appears in slicer.
[PSW-199] Allow Redshift Tables and Columns to appear in PSW by catching
foreign key exception.
[PSW-192] removed 'outdated and grossly incomplete' schema_workbench docs
Merge pull request #207 from wgorman/MONDRIAN-1837

[MONDRIAN-1837] fixed issue with ignore unrelated dimensions when
Merge pull request #313 from smaring/master

[PSW-192] removed 'outdated and grossly incomplete' schema_workbench doc
[MONDRIAN-2047] Small tweak to the properties docs.

The default solve order should be 'absolute' instead of 'scoped'.
[MONDRIAN-1869] - avg measures need to be aggregated in SQL similar to distinct-count.  You cannot aggregate avg from separate queries because the count for the denominator is lost by then.
Merge pull request #320 from kurtwalker/MONDRIAN-1869

[MONDRIAN-1869] - avg measures need to be aggregated in SQL similar to d...
Merge pull request #305 from wgorman/PSW-199

[PSW-199] Allow Redshift Tables and Columns to appear in PSW by catching
[CLEANUP] The ESAPI dependency is for the schema workbench only, not mondrian core.
[MONDRIAN-1519]  Median from set of one member is returned as 50% from measure value.

In the case of single value arrays, the percentile function was returning p*value, which is inconsistent with most other implementations of Percentile (e.g. Excel's).
Merge pull request #323 from mkambol/mondrian-1519

[MONDRIAN-1519]  Median from set of one member is returned as 50% from m...
[MONDRIAN-1998] Followup to the previous commits of this case. It was later found that the problem isn't about whether we delete the index from the registry or not at the end of the life of a schema, but rather a cache miss. It is perfectly fine to base the key of the registry off the schema's checksum, as it is also preferable. When we bring a schema offline, we already clean all the finished segments and also use the deletion flag to do a graceful recovery for the segments that were still loading at the time. Deleting the index prevents this graceful shutdown and causes the user thread to hang, as we sometimes delete the index from the registry before all of the queries are terminated. By the time they finish, the star was re-created and doesn't have the same object ident anymore, so we can't notify the user threads that the query has finished.
[MONDRIAN-2081] Native sets evaluated with a compound slicer in context are were formerly cached w/o the compound slicer info, hence different compound slicers could
 result in the cached value being incorrectly picked up.

 There was formerly logic which removed multiposition slicers from the cache key altogether, which was likely a carry-over from before we started supporting
 compound slicers in some native eval cases.
Merge pull request #326 from mkambol/mon-2081

[MONDRIAN-2081] Native sets evaluated with a compound slicer in context ...
[MONDRIAN-1998] Final fix for this case. We can (and should) safely change back the segment converter's pointers to the measures to hard references. When a RolapSchema gets cleaned by the GC (or it gets evicted from the pool), we cleanup all of the segments from the index. Once the straggling queries finish executing, the index entries are cleaned and the RolapSchema gets correctly picked by the GC. This was tested throughly via a profiler.
[MONDRIAN-2072]  When a virtual cube uses a compound slicer with unrelated dimensions, invalid results occur

This change is a merge of Will's commit (https://github.com/wgorman/mondrian/commit/953037d879bba35a31f330d8e71d6fbab5b3ae50),
plus tests to verify functionality.  The commit also addresses the case where a measure is present in the slicer, which was
not covered by Will's original commit.
[CLEANUP]  Removing a redundant tearDown() call in a test class.
Merge pull request #327 from mkambol/mondrian-2072

[MONDRIAN-2072]  When a virtual cube uses a compound slicer with unrelat...
[MONDRIAN-2107]  Incorrect segment rollup with overlapping segments.

There was the possiblity of creating invalid segments if rolled up segments overlapped and/or were unconstrained for one or more columns.
This commit adds checks for cases where more than one segment has an unconstrained column (i.e. requestedValues=null) and merges the value sets.  This avoids
"losing" values.  Also added verification that cells being added to a rollup haven't already been added (if there's an overlap).