Skip to content

Commit

Permalink
MONDRIAN: Fix bug MONDRIAN-704, "MDSCHEMA_PROPERTIES should not retur…
Browse files Browse the repository at this point in the history
…n internal

    properties".

[git-p4: depot-paths = "//open/mondrian-release/3.2/": change = 13409]
  • Loading branch information
julianhyde committed Feb 23, 2010
1 parent 2038348 commit bf6b1aa
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 126 deletions.
3 changes: 3 additions & 0 deletions src/main/mondrian/xmla/RowsetDefinition.java
Expand Up @@ -6608,6 +6608,9 @@ private void populateLevel(
{
Property[] properties = level.getProperties();
for (Property property : properties) {
if (property.isInternal()) {
continue;
}
if (propertyNameRT.passes(property.getName())) {
outputProperty(
schemaReader, property,
Expand Down
8 changes: 8 additions & 0 deletions testsrc/main/mondrian/xmla/XmlaBasicTest.java
Expand Up @@ -600,6 +600,14 @@ protected String filter(
" sql:field=\"Day\" type=\"xsd:integer\"");
break;
case ACCESS:
content = Util.replace(
content,
" sql:field=\"Week\" type=\"xsd:decimal\"",
" sql:field=\"Week\" type=\"xsd:double\"");
content = Util.replace(
content,
" sql:field=\"Day\" type=\"xsd:decimal\"",
" sql:field=\"Day\" type=\"xsd:integer\"");
break;
}
}
Expand Down
64 changes: 4 additions & 60 deletions testsrc/main/mondrian/xmla/XmlaBasicTest.ref.xml
Expand Up @@ -10761,20 +10761,6 @@ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<row>
<CATALOG_NAME>FoodMart</CATALOG_NAME>
<SCHEMA_NAME>FoodMart</SCHEMA_NAME>
<CUBE_NAME>HR</CUBE_NAME>
<DIMENSION_UNIQUE_NAME>[Time]</DIMENSION_UNIQUE_NAME>
<HIERARCHY_UNIQUE_NAME>[Time]</HIERARCHY_UNIQUE_NAME>
<LEVEL_UNIQUE_NAME>[Time].[Month]</LEVEL_UNIQUE_NAME>
<PROPERTY_NAME>$name</PROPERTY_NAME>
<PROPERTY_CAPTION>$name</PROPERTY_CAPTION>
<PROPERTY_TYPE>1</PROPERTY_TYPE>
<DATA_TYPE>130</DATA_TYPE>
<PROPERTY_CONTENT_TYPE>0</PROPERTY_CONTENT_TYPE>
<DESCRIPTION>HR Cube - Time Hierarchy - Month Level - $name Property</DESCRIPTION>
</row>
<row>
<CATALOG_NAME>FoodMart</CATALOG_NAME>
<SCHEMA_NAME>FoodMart</SCHEMA_NAME>
Expand Down Expand Up @@ -10887,20 +10873,6 @@ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
<PROPERTY_CONTENT_TYPE>0</PROPERTY_CONTENT_TYPE>
<DESCRIPTION>HR Cube - Store Hierarchy - Store Name Level - Street address Property</DESCRIPTION>
</row>
<row>
<CATALOG_NAME>FoodMart</CATALOG_NAME>
<SCHEMA_NAME>FoodMart</SCHEMA_NAME>
<CUBE_NAME>HR</CUBE_NAME>
<DIMENSION_UNIQUE_NAME>[Employees]</DIMENSION_UNIQUE_NAME>
<HIERARCHY_UNIQUE_NAME>[Employees]</HIERARCHY_UNIQUE_NAME>
<LEVEL_UNIQUE_NAME>[Employees].[Employee Id]</LEVEL_UNIQUE_NAME>
<PROPERTY_NAME>$name</PROPERTY_NAME>
<PROPERTY_CAPTION>$name</PROPERTY_CAPTION>
<PROPERTY_TYPE>1</PROPERTY_TYPE>
<DATA_TYPE>130</DATA_TYPE>
<PROPERTY_CONTENT_TYPE>0</PROPERTY_CONTENT_TYPE>
<DESCRIPTION>HR Cube - Employees Hierarchy - Employee Id Level - $name Property</DESCRIPTION>
</row>
<row>
<CATALOG_NAME>FoodMart</CATALOG_NAME>
<SCHEMA_NAME>FoodMart</SCHEMA_NAME>
Expand Down Expand Up @@ -11097,20 +11069,6 @@ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
<PROPERTY_CONTENT_TYPE>0</PROPERTY_CONTENT_TYPE>
<DESCRIPTION>Sales Cube - Store Hierarchy - Store Name Level - Street address Property</DESCRIPTION>
</row>
<row>
<CATALOG_NAME>FoodMart</CATALOG_NAME>
<SCHEMA_NAME>FoodMart</SCHEMA_NAME>
<CUBE_NAME>Sales</CUBE_NAME>
<DIMENSION_UNIQUE_NAME>[Customers]</DIMENSION_UNIQUE_NAME>
<HIERARCHY_UNIQUE_NAME>[Customers]</HIERARCHY_UNIQUE_NAME>
<LEVEL_UNIQUE_NAME>[Customers].[Name]</LEVEL_UNIQUE_NAME>
<PROPERTY_NAME>$name</PROPERTY_NAME>
<PROPERTY_CAPTION>$name</PROPERTY_CAPTION>
<PROPERTY_TYPE>1</PROPERTY_TYPE>
<DATA_TYPE>130</DATA_TYPE>
<PROPERTY_CONTENT_TYPE>0</PROPERTY_CONTENT_TYPE>
<DESCRIPTION>Sales Cube - Customers Hierarchy - Name Level - $name Property</DESCRIPTION>
</row>
<row>
<CATALOG_NAME>FoodMart</CATALOG_NAME>
<SCHEMA_NAME>FoodMart</SCHEMA_NAME>
Expand Down Expand Up @@ -11559,20 +11517,6 @@ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
<PROPERTY_CONTENT_TYPE>0</PROPERTY_CONTENT_TYPE>
<DESCRIPTION>Warehouse Cube - Store Hierarchy - Store Name Level - Street address Property</DESCRIPTION>
</row>
<row>
<CATALOG_NAME>FoodMart</CATALOG_NAME>
<SCHEMA_NAME>FoodMart</SCHEMA_NAME>
<CUBE_NAME>Warehouse and Sales</CUBE_NAME>
<DIMENSION_UNIQUE_NAME>[Customers]</DIMENSION_UNIQUE_NAME>
<HIERARCHY_UNIQUE_NAME>[Customers]</HIERARCHY_UNIQUE_NAME>
<LEVEL_UNIQUE_NAME>[Customers].[Name]</LEVEL_UNIQUE_NAME>
<PROPERTY_NAME>$name</PROPERTY_NAME>
<PROPERTY_CAPTION>$name</PROPERTY_CAPTION>
<PROPERTY_TYPE>1</PROPERTY_TYPE>
<DATA_TYPE>130</DATA_TYPE>
<PROPERTY_CONTENT_TYPE>0</PROPERTY_CONTENT_TYPE>
<DESCRIPTION>Warehouse and Sales Cube - Customers Hierarchy - Name Level - $name Property</DESCRIPTION>
</row>
<row>
<CATALOG_NAME>FoodMart</CATALOG_NAME>
<SCHEMA_NAME>FoodMart</SCHEMA_NAME>
Expand Down Expand Up @@ -14413,9 +14357,9 @@ xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
<xsd:element minOccurs="0" name="Month"
sql:field="Month" type="xsd:integer"/>
<xsd:element minOccurs="0" name="Week"
sql:field="Week" type="xsd:integer"/>
sql:field="Week" type="xsd:decimal"/>
<xsd:element minOccurs="0" name="Day"
sql:field="Day" type="xsd:integer"/>
sql:field="Day" type="xsd:decimal"/>
<xsd:element minOccurs="0"
name="Product_x0020_Family"
sql:field="Product Family" type="xsd:string"/>
Expand Down Expand Up @@ -14682,9 +14626,9 @@ FROM Sales
<xsd:element minOccurs="0" name="Month"
sql:field="Month" type="xsd:integer"/>
<xsd:element minOccurs="0" name="Week"
sql:field="Week" type="xsd:integer"/>
sql:field="Week" type="xsd:decimal"/>
<xsd:element minOccurs="0" name="Day"
sql:field="Day" type="xsd:integer"/>
sql:field="Day" type="xsd:decimal"/>
<xsd:element minOccurs="0"
name="Product_x0020_Family"
sql:field="Product Family" type="xsd:string"/>
Expand Down
42 changes: 36 additions & 6 deletions testsrc/main/mondrian/xmla/XmlaExcel2007Test.java
Expand Up @@ -58,18 +58,48 @@ protected String filter(
Dialect dialect = TestContext.instance().getDialect();
switch (dialect.getDatabaseProduct()) {
case MYSQL:
final String start = "<Has_x0020_coffee_x0020_bar>";
final String end = "</Has_x0020_coffee_x0020_bar>";
content = Util.replace(
content, start + "1" + end, start + "true" + end);
content = Util.replace(
content, start + "0" + end, start + "false" + end);
content =
foo(content, "Has_x0020_coffee_x0020_bar", "1", "true");
content =
foo(content, "Has_x0020_coffee_x0020_bar", "0", "false");
break;
case ACCESS:
content =
foo(content, "Has_x0020_coffee_x0020_bar", "1", "true");
content =
foo(content, "Has_x0020_coffee_x0020_bar", "0", "false");
content =
foo(content, "Store_x0020_Sqft", "23688", "23688.0");
content = foo(
content, "Grocery_x0020_Sqft", "15337",
"15336.753169821777");
content = foo(
content, "Frozen_x0020_Sqft", "5011", "5010.748098106934");
content = foo(
content, "Meat_x0020_Sqft", "3340", "3340.4987320712894");
content = foo(content, "Store_x0020_Sqft", "23598", "23598.0");
content = foo(
content, "Grocery_x0020_Sqft", "14210",
"14210.378025591175");
content = foo(
content, "Frozen_x0020_Sqft", "5633", "5632.5731846452945");
content = foo(
content, "Meat_x0020_Sqft", "3755", "3755.0487897635303");
break;
}
}
return content;
}

private String foo(String content, String tag, String from, String to) {
String start = "<" + tag + ">";
String end = "</" + tag + ">";
final String s = Util.replace(
content, start + from + end, start + to + end);
assert !s.contains(start + from + end);
return s;
}

/**
* <p>Testcase for <a href="http://jira.pentaho.com/browse/MONDRIAN-679">
* bug MONDRIAN-679, "VisualTotals gives ClassCastException when called via
Expand Down
60 changes: 0 additions & 60 deletions testsrc/main/mondrian/xmla/XmlaExcel2007Test.ref.xml
Expand Up @@ -798,21 +798,6 @@ where [Measures].[Unit Sales]
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
<row>
<CATALOG_NAME>FoodMart</CATALOG_NAME>
<SCHEMA_NAME>FoodMart</SCHEMA_NAME>
<CUBE_NAME>HR</CUBE_NAME>
<DIMENSION_UNIQUE_NAME>[Time]</DIMENSION_UNIQUE_NAME>
<HIERARCHY_UNIQUE_NAME>[Time]</HIERARCHY_UNIQUE_NAME>
<LEVEL_UNIQUE_NAME>[Time].[Month]</LEVEL_UNIQUE_NAME>
<PROPERTY_NAME>$name</PROPERTY_NAME>
<PROPERTY_CAPTION>$name</PROPERTY_CAPTION>
<PROPERTY_TYPE>1</PROPERTY_TYPE>
<DATA_TYPE>130</DATA_TYPE>
<PROPERTY_CONTENT_TYPE>0</PROPERTY_CONTENT_TYPE>
<DESCRIPTION>HR Cube - Time Hierarchy - Month
Level - $name Property</DESCRIPTION>
</row>
<row>
<CATALOG_NAME>FoodMart</CATALOG_NAME>
<SCHEMA_NAME>FoodMart</SCHEMA_NAME>
Expand Down Expand Up @@ -933,21 +918,6 @@ where [Measures].[Unit Sales]
<DESCRIPTION>HR Cube - Store Hierarchy - Store
Name Level - Street address Property</DESCRIPTION>
</row>
<row>
<CATALOG_NAME>FoodMart</CATALOG_NAME>
<SCHEMA_NAME>FoodMart</SCHEMA_NAME>
<CUBE_NAME>HR</CUBE_NAME>
<DIMENSION_UNIQUE_NAME>[Employees]</DIMENSION_UNIQUE_NAME>
<HIERARCHY_UNIQUE_NAME>[Employees]</HIERARCHY_UNIQUE_NAME>
<LEVEL_UNIQUE_NAME>[Employees].[Employee Id]</LEVEL_UNIQUE_NAME>
<PROPERTY_NAME>$name</PROPERTY_NAME>
<PROPERTY_CAPTION>$name</PROPERTY_CAPTION>
<PROPERTY_TYPE>1</PROPERTY_TYPE>
<DATA_TYPE>130</DATA_TYPE>
<PROPERTY_CONTENT_TYPE>0</PROPERTY_CONTENT_TYPE>
<DESCRIPTION>HR Cube - Employees Hierarchy -
Employee Id Level - $name Property</DESCRIPTION>
</row>
<row>
<CATALOG_NAME>FoodMart</CATALOG_NAME>
<SCHEMA_NAME>FoodMart</SCHEMA_NAME>
Expand Down Expand Up @@ -1158,21 +1128,6 @@ where [Measures].[Unit Sales]
<DESCRIPTION>Sales Cube - Store Hierarchy -
Store Name Level - Street address Property</DESCRIPTION>
</row>
<row>
<CATALOG_NAME>FoodMart</CATALOG_NAME>
<SCHEMA_NAME>FoodMart</SCHEMA_NAME>
<CUBE_NAME>Sales</CUBE_NAME>
<DIMENSION_UNIQUE_NAME>[Customers]</DIMENSION_UNIQUE_NAME>
<HIERARCHY_UNIQUE_NAME>[Customers]</HIERARCHY_UNIQUE_NAME>
<LEVEL_UNIQUE_NAME>[Customers].[Name]</LEVEL_UNIQUE_NAME>
<PROPERTY_NAME>$name</PROPERTY_NAME>
<PROPERTY_CAPTION>$name</PROPERTY_CAPTION>
<PROPERTY_TYPE>1</PROPERTY_TYPE>
<DATA_TYPE>130</DATA_TYPE>
<PROPERTY_CONTENT_TYPE>0</PROPERTY_CONTENT_TYPE>
<DESCRIPTION>Sales Cube - Customers Hierarchy -
Name Level - $name Property</DESCRIPTION>
</row>
<row>
<CATALOG_NAME>FoodMart</CATALOG_NAME>
<SCHEMA_NAME>FoodMart</SCHEMA_NAME>
Expand Down Expand Up @@ -1653,21 +1608,6 @@ where [Measures].[Unit Sales]
<DESCRIPTION>Warehouse Cube - Store Hierarchy -
Store Name Level - Street address Property</DESCRIPTION>
</row>
<row>
<CATALOG_NAME>FoodMart</CATALOG_NAME>
<SCHEMA_NAME>FoodMart</SCHEMA_NAME>
<CUBE_NAME>Warehouse and Sales</CUBE_NAME>
<DIMENSION_UNIQUE_NAME>[Customers]</DIMENSION_UNIQUE_NAME>
<HIERARCHY_UNIQUE_NAME>[Customers]</HIERARCHY_UNIQUE_NAME>
<LEVEL_UNIQUE_NAME>[Customers].[Name]</LEVEL_UNIQUE_NAME>
<PROPERTY_NAME>$name</PROPERTY_NAME>
<PROPERTY_CAPTION>$name</PROPERTY_CAPTION>
<PROPERTY_TYPE>1</PROPERTY_TYPE>
<DATA_TYPE>130</DATA_TYPE>
<PROPERTY_CONTENT_TYPE>0</PROPERTY_CONTENT_TYPE>
<DESCRIPTION>Warehouse and Sales Cube -
Customers Hierarchy - Name Level - $name Property</DESCRIPTION>
</row>
<row>
<CATALOG_NAME>FoodMart</CATALOG_NAME>
<SCHEMA_NAME>FoodMart</SCHEMA_NAME>
Expand Down

0 comments on commit bf6b1aa

Please sign in to comment.