Fix for MONDRIAN-1133. RolapNativeFilter was forcing a join on fact tables despite the fact that the evaluator might not contains other members than 'all members'. This fix makes it check the evaluator context as well as its super class to determine if it can optimize the query and skip the join to the fact table.
(cherry picked from commit f37603f)
A better fix for MONDRIAN-1133 and fixes regressions MONDRIAN-1248 and MONDRIAN-1246. When deciding whether or not to join the fact table, the RolapNativeFilter was not very smart. I've used a MdxVisitor to go through the filter expression and spot all measures. If one is present, we have to join on the fact table. Additionally, this fix introduced a regression when Role objects come in after the fact and added more conditionals. They were presuming that the fact table was already part of the query but they were not mandatory anymore. They will now join correctly to the required tables according to the graph.
(cherry picked from commit 2abe132)
[MONDRIAN-1133] Fixing a test failure introduced with merge of 2abe132 and f37603f.
Merge pull request #171 from mkambol/1694

[MONDRIAN-1133] Merging missed commits from master into lagunitas, required before merging changes for [MONDRIAN-1694].
[MONDRIAN-1766]  Role restrictions are not honored in some cases if the number of MemberGrants exceeds the maxconstraints property value

This change introduces a final pass filter of the tuple list generated by NativeSet to assure that all items in the list are accessible.  Since this could be costly,
it short-circuits the checks except where one or more hierarchies actually have a role restriction defined.
(cherry picked from commit ca9b1f3)

The merge brought NativeSetEvaluationTest from master.  Most tests are currently disabled, pending MONDRIAN-1461 and MONDRIAN-1420,
[MONDRIAN-1694]  Mondrian applies non empty to native filter when "matches" is used.

This change adds a check for NonEmpty prior to applying a context constraint when evaluating a native filter.  A SqlContextConstraint forces a join to the fact table,
which will drop any tuples not associated with fact data.
(cherry picked from commit 9f5891c)
Merge pull request #173 from mkambol/1694

[MONDRIAN-1694][MONDRIAN-1766]  Merge of commits from master to lagunitas.
[MONDRIAN-1696] Makes the mondrian version a generated class.
[MONDRIAN-1696] One small tweak to support TRUNK-SNAPSHOT as a version string.
Added a comment to a test which will not actually exercise native execution until MONDRIAN-1461 is addressed.
Merge pull request #174 from mkambol/1694

Added a comment to a test which will not actually exercise native execution until MONDRIAN-1461 is addressed.
MONDRIAN-1770] Merge the SQL-92 branch into the lagunitas branch.

This merges Julian's queryBuilder branch back to lagunitas, which primarily consisted of changes in commits 89aed08 and 8e2d4f78.
Merge pull request #177 from mkambol/qbMerge

[MONDRIAN-1770] Merge the SQL-92 branch into the lagunitas branch.
[MONDRIAN-1770] Missed 2 added files with queryBuilder merge.
Merge pull request #178 from mkambol/qbMerge

[MONDRIAN-1770] Missed 2 added files with queryBuilder merge.
[MONDRIAN-1770] Addressed issue with dimensions with no key defined in the schema.  Omitting the key is valid in the case of degenerate dimensions, in which case
there should be one dimension attribute.
[MONDRIAN-1770] Externalized message from previous commit.
[MONDRIAN-1770] Removed RolapUtil.Semaphore in favor of java.util.concurrent.Semaphore.
Merge pull request #184 from mkambol/semaphoreLag

[MONDRIAN-1770] Removed RolapUtil.Semaphore in favor of java.util.concurrent.Semaphore.
Merge pull request #179 from mkambol/qbMerge

[MONDRIAN-1770] Addressed issue with dimensions with no key defined in t...