Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 3.9.1 GA (4.8.0 GA Suite Release)
-
Component/s: None
-
Labels:None
-
QA Validation Status:Validated by QA
Description
When creating a Mondrian connection, PRD only uses some of the properties in the catalog string.
With the addition of the jdbcConnectionUID feature, PRD should allow all of the properties to go through to mondrian.
Requirements:
Re-purpose the existing "Security" button. Rename to "Properties". see attached screenshot of button to re-purpose.
Add the value pair table UI with add and remove. see attached screenshot of table.
Test Case: JDBCConnectionUUID
1. Enable sql logging in the log4j.xml file on the BA Server.
<!-- ========================================================= -->
<!-- Special Log File specifically for Mondrian MDX Statements -->
<!-- ========================================================= -->
<appender name="MDXLOG" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_mdx.log"/>
<param name="Append" value="false"/>
<param name="MaxFileSize" value="500KB"/>
<param name="MaxBackupIndex" value="1"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
</layout>
</appender>
<category name="mondrian.mdx">
<priority value="DEBUG"/>
<appender-ref ref="MDXLOG"/>
</category>
<!-- ========================================================= -->
<!-- Special Log File specifically for Mondrian SQL Statements -->
<!-- ========================================================= -->
<appender name="SQLLOG" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_sql.log"/>
<param name="Append" value="false"/>
<param name="MaxFileSize" value="500KB"/>
<param name="MaxBackupIndex" value="1"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
</layout>
</appender>
<category name="mondrian.sql">
<priority value="DEBUG"/>
<appender-ref ref="SQLLOG"/>
</category>
2. Add a JDBC Connection UUID on the server.
<Catalog name="SteelWheels" <DataSourceInfo>Provider=mondrian;DataSource=SampleData;UseContentChecksum=true;JdbcConnectionUuid=SampleDataUUID</DataSourceInfo>
<Definition>solution:steel-wheels/analysis/steelwheels.mondrian.xml</Definition>
</Catalog>
3. Run the attached Analyzer report (.xanalyzer) which contains the query:
With
Set [*NATIVE_CJ_SET] as 'Filter([*BASE_MEMBERS_Markets], Not IsEmpty ([Measures].[Quantity]))'
Set [*SORTED_ROW_AXIS] as 'Order([*CJ_ROW_AXIS],[Markets].CurrentMember.OrderKey,BASC)'
Set [*BASE_MEMBERS_Markets] as '[Markets].[Territory].Members'
Set [*BASE_MEMBERS_Measures] as '{[Measures].[*FORMATTED_MEASURE_0]}'
Set [*CJ_ROW_AXIS] as 'Generate([*NATIVE_CJ_SET], {([Markets].currentMember)})'
Set [*CJ_COL_AXIS] as '[*NATIVE_CJ_SET]'
Member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Quantity]', FORMAT_STRING = '#,###', SOLVE_ORDER=400
Select
[*BASE_MEMBERS_Measures] on columns,
[*SORTED_ROW_AXIS] on rows
From [SteelWheelsSales]
4. Run the attached .prpt which contains the following connection properties defined:
UseContentChecksum=true
JdbcConnectionUuid=SampleDataUUID
and the same query as the Analyzer report in step 3.
RESULTS: PASSED.
I see one SQL entry in the log file ...
2012-10-15 11:09:10,720 DEBUG [mondrian.sql] 0: HighCardSqlTupleReader.readTuples [[Markets].[Territory]]: executing sql [select "CUSTOMER_W_TER"."TERRITORY" as "c0" from "CUSTOMER_W_TER" as "CUSTOMER_W_TER", "ORDERFACT" as "ORDERFACT" where "ORDERFACT"."CUSTOMERNUMBER" = "CUSTOMER_W_TER"."CUSTOMERNUMBER" group by "CUSTOMER_W_TER"."TERRITORY" having NOT((sum("ORDERFACT"."QUANTITYORDERED") is null)) order by CASE WHEN "CUSTOMER_W_TER"."TERRITORY" IS NULL THEN 1 ELSE 0 END, "CUSTOMER_W_TER"."TERRITORY" ASC]
2012-10-15 11:09:10,851 DEBUG [mondrian.sql] 0: , exec 123 ms
2012-10-15 11:09:10,870 DEBUG [mondrian.sql] 0: , exec+fetch 148 ms, 4 rows
2012-10-15 11:09:10,962 DEBUG [mondrian.sql] 1: SqlStatisticsProvider.getColumnCardinality: executing sql [select count(distinct "TERRITORY") from "CUSTOMER_W_TER"]
2012-10-15 11:09:10,981 DEBUG [mondrian.sql] 1: , exec 12 ms
2012-10-15 11:09:10,997 DEBUG [mondrian.sql] 1: , exec+fetch 30 ms, 1 rows
2012-10-15 11:09:11,116 DEBUG [mondrian.sql] 2: Segment.load: executing sql [select "CUSTOMER_W_TER"."TERRITORY" as "c0", sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "CUSTOMER_W_TER" as "CUSTOMER_W_TER", "ORDERFACT" as "ORDERFACT" where "ORDERFACT"."CUSTOMERNUMBER" = "CUSTOMER_W_TER"."CUSTOMERNUMBER" group by "CUSTOMER_W_TER"."TERRITORY"]
2012-10-15 11:09:11,297 DEBUG [mondrian.sql] 2: , exec 169 ms
2012-10-15 11:09:11,335 DEBUG [mondrian.sql] 2: , exec+fetch 208 ms, 4 rows
Two MDX logged for each report ( Analyzer and Reporting (.prpt))
2012-10-15 11:09:10,536 DEBUG [mondrian.mdx] 44: with set [*NATIVE_CJ_SET] as 'Filter([*BASE_MEMBERS_Markets], (NOT IsEmpty([Measures].[Quantity])))'
set [*SORTED_ROW_AXIS] as 'Order([*CJ_ROW_AXIS], [Markets].CurrentMember.OrderKey, BASC)'
set [*BASE_MEMBERS_Markets] as '[Markets].[Territory].Members'
set [*BASE_MEMBERS_Measures] as '{[Measures].[*FORMATTED_MEASURE_0]}'
set [*CJ_ROW_AXIS] as 'Generate([*NATIVE_CJ_SET], {[Markets].CurrentMember})'
set [*CJ_COL_AXIS] as '[*NATIVE_CJ_SET]'
member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Quantity]', FORMAT_STRING = "#,###", SOLVE_ORDER = 400
select [*BASE_MEMBERS_Measures] ON COLUMNS,
[*SORTED_ROW_AXIS] ON ROWS
from [SteelWheelsSales]
2012-10-15 11:09:11,340 DEBUG [mondrian.mdx] 44: exec: 801 ms
2012-10-15 11:10:40,667 DEBUG [mondrian.mdx] 102: with set [*NATIVE_CJ_SET] as 'Filter([*BASE_MEMBERS_Markets], (NOT IsEmpty([Measures].[Quantity])))'
set [*SORTED_ROW_AXIS] as 'Order([*CJ_ROW_AXIS], [Markets].CurrentMember.OrderKey, BASC)'
set [*BASE_MEMBERS_Markets] as '[Markets].[Territory].Members'
set [*BASE_MEMBERS_Measures] as '{[Measures].[*FORMATTED_MEASURE_0]}'
set [*CJ_ROW_AXIS] as 'Generate([*NATIVE_CJ_SET], {[Markets].CurrentMember})'
set [*CJ_COL_AXIS] as '[*NATIVE_CJ_SET]'
member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Quantity]', FORMAT_STRING = "#,###", SOLVE_ORDER = 400
select [*BASE_MEMBERS_Measures] ON COLUMNS,
[*SORTED_ROW_AXIS] ON ROWS
from [SteelWheelsSales]
2012-10-15 11:10:40,675 DEBUG [mondrian.mdx] 102: exec: 8 ms
With the addition of the jdbcConnectionUID feature, PRD should allow all of the properties to go through to mondrian.
Requirements:
Re-purpose the existing "Security" button. Rename to "Properties". see attached screenshot of button to re-purpose.
Add the value pair table UI with add and remove. see attached screenshot of table.
Test Case: JDBCConnectionUUID
1. Enable sql logging in the log4j.xml file on the BA Server.
<!-- ========================================================= -->
<!-- Special Log File specifically for Mondrian MDX Statements -->
<!-- ========================================================= -->
<appender name="MDXLOG" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_mdx.log"/>
<param name="Append" value="false"/>
<param name="MaxFileSize" value="500KB"/>
<param name="MaxBackupIndex" value="1"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
</layout>
</appender>
<category name="mondrian.mdx">
<priority value="DEBUG"/>
<appender-ref ref="MDXLOG"/>
</category>
<!-- ========================================================= -->
<!-- Special Log File specifically for Mondrian SQL Statements -->
<!-- ========================================================= -->
<appender name="SQLLOG" class="org.apache.log4j.RollingFileAppender">
<param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_sql.log"/>
<param name="Append" value="false"/>
<param name="MaxFileSize" value="500KB"/>
<param name="MaxBackupIndex" value="1"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
</layout>
</appender>
<category name="mondrian.sql">
<priority value="DEBUG"/>
<appender-ref ref="SQLLOG"/>
</category>
2. Add a JDBC Connection UUID on the server.
<Catalog name="SteelWheels" <DataSourceInfo>Provider=mondrian;DataSource=SampleData;UseContentChecksum=true;JdbcConnectionUuid=SampleDataUUID</DataSourceInfo>
<Definition>solution:steel-wheels/analysis/steelwheels.mondrian.xml</Definition>
</Catalog>
3. Run the attached Analyzer report (.xanalyzer) which contains the query:
With
Set [*NATIVE_CJ_SET] as 'Filter([*BASE_MEMBERS_Markets], Not IsEmpty ([Measures].[Quantity]))'
Set [*SORTED_ROW_AXIS] as 'Order([*CJ_ROW_AXIS],[Markets].CurrentMember.OrderKey,BASC)'
Set [*BASE_MEMBERS_Markets] as '[Markets].[Territory].Members'
Set [*BASE_MEMBERS_Measures] as '{[Measures].[*FORMATTED_MEASURE_0]}'
Set [*CJ_ROW_AXIS] as 'Generate([*NATIVE_CJ_SET], {([Markets].currentMember)})'
Set [*CJ_COL_AXIS] as '[*NATIVE_CJ_SET]'
Member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Quantity]', FORMAT_STRING = '#,###', SOLVE_ORDER=400
Select
[*BASE_MEMBERS_Measures] on columns,
[*SORTED_ROW_AXIS] on rows
From [SteelWheelsSales]
4. Run the attached .prpt which contains the following connection properties defined:
UseContentChecksum=true
JdbcConnectionUuid=SampleDataUUID
and the same query as the Analyzer report in step 3.
RESULTS: PASSED.
I see one SQL entry in the log file ...
2012-10-15 11:09:10,720 DEBUG [mondrian.sql] 0: HighCardSqlTupleReader.readTuples [[Markets].[Territory]]: executing sql [select "CUSTOMER_W_TER"."TERRITORY" as "c0" from "CUSTOMER_W_TER" as "CUSTOMER_W_TER", "ORDERFACT" as "ORDERFACT" where "ORDERFACT"."CUSTOMERNUMBER" = "CUSTOMER_W_TER"."CUSTOMERNUMBER" group by "CUSTOMER_W_TER"."TERRITORY" having NOT((sum("ORDERFACT"."QUANTITYORDERED") is null)) order by CASE WHEN "CUSTOMER_W_TER"."TERRITORY" IS NULL THEN 1 ELSE 0 END, "CUSTOMER_W_TER"."TERRITORY" ASC]
2012-10-15 11:09:10,851 DEBUG [mondrian.sql] 0: , exec 123 ms
2012-10-15 11:09:10,870 DEBUG [mondrian.sql] 0: , exec+fetch 148 ms, 4 rows
2012-10-15 11:09:10,962 DEBUG [mondrian.sql] 1: SqlStatisticsProvider.getColumnCardinality: executing sql [select count(distinct "TERRITORY") from "CUSTOMER_W_TER"]
2012-10-15 11:09:10,981 DEBUG [mondrian.sql] 1: , exec 12 ms
2012-10-15 11:09:10,997 DEBUG [mondrian.sql] 1: , exec+fetch 30 ms, 1 rows
2012-10-15 11:09:11,116 DEBUG [mondrian.sql] 2: Segment.load: executing sql [select "CUSTOMER_W_TER"."TERRITORY" as "c0", sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "CUSTOMER_W_TER" as "CUSTOMER_W_TER", "ORDERFACT" as "ORDERFACT" where "ORDERFACT"."CUSTOMERNUMBER" = "CUSTOMER_W_TER"."CUSTOMERNUMBER" group by "CUSTOMER_W_TER"."TERRITORY"]
2012-10-15 11:09:11,297 DEBUG [mondrian.sql] 2: , exec 169 ms
2012-10-15 11:09:11,335 DEBUG [mondrian.sql] 2: , exec+fetch 208 ms, 4 rows
Two MDX logged for each report ( Analyzer and Reporting (.prpt))
2012-10-15 11:09:10,536 DEBUG [mondrian.mdx] 44: with set [*NATIVE_CJ_SET] as 'Filter([*BASE_MEMBERS_Markets], (NOT IsEmpty([Measures].[Quantity])))'
set [*SORTED_ROW_AXIS] as 'Order([*CJ_ROW_AXIS], [Markets].CurrentMember.OrderKey, BASC)'
set [*BASE_MEMBERS_Markets] as '[Markets].[Territory].Members'
set [*BASE_MEMBERS_Measures] as '{[Measures].[*FORMATTED_MEASURE_0]}'
set [*CJ_ROW_AXIS] as 'Generate([*NATIVE_CJ_SET], {[Markets].CurrentMember})'
set [*CJ_COL_AXIS] as '[*NATIVE_CJ_SET]'
member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Quantity]', FORMAT_STRING = "#,###", SOLVE_ORDER = 400
select [*BASE_MEMBERS_Measures] ON COLUMNS,
[*SORTED_ROW_AXIS] ON ROWS
from [SteelWheelsSales]
2012-10-15 11:09:11,340 DEBUG [mondrian.mdx] 44: exec: 801 ms
2012-10-15 11:10:40,667 DEBUG [mondrian.mdx] 102: with set [*NATIVE_CJ_SET] as 'Filter([*BASE_MEMBERS_Markets], (NOT IsEmpty([Measures].[Quantity])))'
set [*SORTED_ROW_AXIS] as 'Order([*CJ_ROW_AXIS], [Markets].CurrentMember.OrderKey, BASC)'
set [*BASE_MEMBERS_Markets] as '[Markets].[Territory].Members'
set [*BASE_MEMBERS_Measures] as '{[Measures].[*FORMATTED_MEASURE_0]}'
set [*CJ_ROW_AXIS] as 'Generate([*NATIVE_CJ_SET], {[Markets].CurrentMember})'
set [*CJ_COL_AXIS] as '[*NATIVE_CJ_SET]'
member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Quantity]', FORMAT_STRING = "#,###", SOLVE_ORDER = 400
select [*BASE_MEMBERS_Measures] ON COLUMNS,
[*SORTED_ROW_AXIS] ON ROWS
from [SteelWheelsSales]
2012-10-15 11:10:40,675 DEBUG [mondrian.mdx] 102: exec: 8 ms
Issue Links
- relates to
-
MONDRIAN-1231
Add JdbcConnectionUuid connect string parameter
-
Activity
Will Gorman
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Status | Open [ 1 ] | Open [ 1 ] |
| Assignee | Triage [ project admin ] | Pedro Vale [ pamval ] |
| Fix Version/s | 3.9.1 GA (4.8.0 GA Suite Release) [ 11455 ] |
Pedro Vale
made changes -
| Status | Open [ 1 ] | In Progress [ 3 ] |
Pedro Vale
made changes -
| Status | In Progress [ 3 ] | Open [ 1 ] |
Pedro Vale
made changes -
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Resolution | Fixed [ 1 ] |
Brandon Bruce
made changes -
| Assignee | Pedro Vale [ pamval ] | Brandon Bruce [ bbruce ] |
Will Gorman
made changes -
| Assignee | Brandon Bruce [ bbruce ] | Will Gorman [ wgorman ] |
Will Gorman
made changes -
| Resolution | Fixed [ 1 ] | |
| Status | Resolved [ 5 ] | Reopened [ 4 ] |
Will Gorman
made changes -
| Assignee | Will Gorman [ wgorman ] | Pedro Vale [ pamval ] |
Will Gorman
made changes -
| Assignee | Pedro Vale [ pamval ] | Will Gorman [ wgorman ] |
Will Gorman
made changes -
| Assignee | Will Gorman [ wgorman ] | Kurtis Cruzada [ kcruzada ] |
Kurtis Cruzada
made changes -
| Attachment | screenshot-1.jpg [ 36016 ] |
Kurtis Cruzada
made changes -
| Attachment | screenshot-2.jpg [ 36024 ] |
Kurtis Cruzada
made changes -
| Description |
When creating a Mondrian connection, PRD only uses some of the properties in the catalog string. With the addition of the jdbcConnectionUID feature, PRD should allow all of the properties to go through to mondrian. |
When creating a Mondrian connection, PRD only uses some of the properties in the catalog string.
With the addition of the jdbcConnectionUID feature, PRD should allow all of the properties to go through to mondrian. Requirements: Re-purpose the existing "Security" button. Rename to "Properties". see attached screenshot of button to re-purpose. Add the value pair table UI with add and remove. see attached screenshot of table. |
Kurtis Cruzada
made changes -
| Status | Reopened [ 4 ] | Open [ 1 ] |
| Assignee | Kurtis Cruzada [ kcruzada ] | Sulaiman Karmali [ skarmali ] |
Kurtis Cruzada
made changes -
| Attachment | mockup.jpg [ 36025 ] |
Kurtis Cruzada
made changes -
| Attachment | screenshot-2.jpg [ 36024 ] |
Sulaiman Karmali
made changes -
| Status | Open [ 1 ] | In Progress [ 3 ] |
Sulaiman Karmali
made changes -
| Status | In Progress [ 3 ] | Resolved [ 5 ] |
Sulaiman Karmali
made changes -
| Assignee | Sulaiman Karmali [ skarmali ] | Kurtis Cruzada [ kcruzada ] |
Kurtis Cruzada
made changes -
| Resolution | Fixed [ 1 ] | |
| Status | Resolved [ 5 ] | Reopened [ 4 ] |
Kurtis Cruzada
made changes -
| Status | Reopened [ 4 ] | Open [ 1 ] |
| Description |
When creating a Mondrian connection, PRD only uses some of the properties in the catalog string. With the addition of the jdbcConnectionUID feature, PRD should allow all of the properties to go through to mondrian. Requirements: Re-purpose the existing "Security" button. Rename to "Properties". see attached screenshot of button to re-purpose. Add the value pair table UI with add and remove. see attached screenshot of table. |
When creating a Mondrian connection, PRD only uses some of the properties in the catalog string. With the addition of the jdbcConnectionUID feature, PRD should allow all of the properties to go through to mondrian. Requirements: Re-purpose the existing "Security" button. Rename to "Properties". see attached screenshot of button to re-purpose. Add the value pair table UI with add and remove. see attached screenshot of table. To test whether the connection JDBCConnectionUUID is working: BA Server Requirements: 1. Enable sql logging in the log4j.xml file on the BA Server. <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian MDX Statements --> <!-- ========================================================= --> <appender name="MDXLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_mdx.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.mdx"> <priority value="DEBUG"/> <appender-ref ref="MDXLOG"/> </category> <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian SQL Statements --> <!-- ========================================================= --> <appender name="SQLLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_sql.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.sql"> <priority value="DEBUG"/> <appender-ref ref="SQLLOG"/> </category> 2. Add a JDBC Connection UUID on the server. <Catalog name="SteelWheels" <DataSourceInfo>Provider=mondrian;DataSource=SampleData;UseContentChecksum=true;JdbcConnectionUuid=SampleDataUUID</DataSourceInfo> <Definition>solution:steel-wheels/analysis/steelwheels.mondrian.xml</Definition> </Catalog> Create a report using a mdx query (JPivot) from Steel Wheels and run it inside the ba-server. select NON EMPTY {[Measures].[Quantity]} ON COLUMNS, NON EMPTY {([Markets].[All Markets], [Customers].[All Customers], [Product].[All Products], [Time].[All Years], [Order Status].[All Status Types])} ON ROWS from [SteelWheelsSales] 3. Run the attached .prpt which contains the following connection properties defined: UseContentChecksum=true JdbcConnectionUuid=SampleDataUUID 4. You should only see one SQL entry in the log file according to the Brandon in comments. Something like this... 2012-10-12 12:44:13,129 DEBUG [mondrian.sql] 0: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:13,193 DEBUG [mondrian.sql] 0: , exec 58 ms 2012-10-12 12:44:13,212 DEBUG [mondrian.sql] 0: , exec+fetch 82 ms, 1 rows However, I saw two entries after I launched jPivot and the .prpt. 2012-10-12 12:44:13,129 DEBUG [mondrian.sql] 0: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:13,193 DEBUG [mondrian.sql] 0: , exec 58 ms 2012-10-12 12:44:13,212 DEBUG [mondrian.sql] 0: , exec+fetch 82 ms, 1 rows 2012-10-12 12:44:37,085 DEBUG [mondrian.sql] 1: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:37,095 DEBUG [mondrian.sql] 1: , exec 9 ms 2012-10-12 12:44:37,095 DEBUG [mondrian.sql] 1: , exec+fetch 10 ms, 1 rows Additional notes: It appears that it is per content type. If I launch JPivot multiple times, I don't get any additional queries in the sql log and likewise for the .prpt. |
Kurtis Cruzada
made changes -
| Status | Open [ 1 ] | Open [ 1 ] |
| Description |
When creating a Mondrian connection, PRD only uses some of the properties in the catalog string. With the addition of the jdbcConnectionUID feature, PRD should allow all of the properties to go through to mondrian. Requirements: Re-purpose the existing "Security" button. Rename to "Properties". see attached screenshot of button to re-purpose. Add the value pair table UI with add and remove. see attached screenshot of table. To test whether the connection JDBCConnectionUUID is working: BA Server Requirements: 1. Enable sql logging in the log4j.xml file on the BA Server. <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian MDX Statements --> <!-- ========================================================= --> <appender name="MDXLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_mdx.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.mdx"> <priority value="DEBUG"/> <appender-ref ref="MDXLOG"/> </category> <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian SQL Statements --> <!-- ========================================================= --> <appender name="SQLLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_sql.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.sql"> <priority value="DEBUG"/> <appender-ref ref="SQLLOG"/> </category> 2. Add a JDBC Connection UUID on the server. <Catalog name="SteelWheels" <DataSourceInfo>Provider=mondrian;DataSource=SampleData;UseContentChecksum=true;JdbcConnectionUuid=SampleDataUUID</DataSourceInfo> <Definition>solution:steel-wheels/analysis/steelwheels.mondrian.xml</Definition> </Catalog> Create a report using a mdx query (JPivot) from Steel Wheels and run it inside the ba-server. select NON EMPTY {[Measures].[Quantity]} ON COLUMNS, NON EMPTY {([Markets].[All Markets], [Customers].[All Customers], [Product].[All Products], [Time].[All Years], [Order Status].[All Status Types])} ON ROWS from [SteelWheelsSales] 3. Run the attached .prpt which contains the following connection properties defined: UseContentChecksum=true JdbcConnectionUuid=SampleDataUUID 4. You should only see one SQL entry in the log file according to the Brandon in comments. Something like this... 2012-10-12 12:44:13,129 DEBUG [mondrian.sql] 0: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:13,193 DEBUG [mondrian.sql] 0: , exec 58 ms 2012-10-12 12:44:13,212 DEBUG [mondrian.sql] 0: , exec+fetch 82 ms, 1 rows However, I saw two entries after I launched jPivot and the .prpt. 2012-10-12 12:44:13,129 DEBUG [mondrian.sql] 0: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:13,193 DEBUG [mondrian.sql] 0: , exec 58 ms 2012-10-12 12:44:13,212 DEBUG [mondrian.sql] 0: , exec+fetch 82 ms, 1 rows 2012-10-12 12:44:37,085 DEBUG [mondrian.sql] 1: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:37,095 DEBUG [mondrian.sql] 1: , exec 9 ms 2012-10-12 12:44:37,095 DEBUG [mondrian.sql] 1: , exec+fetch 10 ms, 1 rows Additional notes: It appears that it is per content type. If I launch JPivot multiple times, I don't get any additional queries in the sql log and likewise for the .prpt. |
When creating a Mondrian connection, PRD only uses some of the properties in the catalog string. With the addition of the jdbcConnectionUID feature, PRD should allow all of the properties to go through to mondrian. Requirements: Re-purpose the existing "Security" button. Rename to "Properties". see attached screenshot of button to re-purpose. Add the value pair table UI with add and remove. see attached screenshot of table. To test whether the connection JDBCConnectionUUID is working: Test Case: 1. Enable sql logging in the log4j.xml file on the BA Server. <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian MDX Statements --> <!-- ========================================================= --> <appender name="MDXLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_mdx.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.mdx"> <priority value="DEBUG"/> <appender-ref ref="MDXLOG"/> </category> <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian SQL Statements --> <!-- ========================================================= --> <appender name="SQLLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_sql.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.sql"> <priority value="DEBUG"/> <appender-ref ref="SQLLOG"/> </category> 2. Add a JDBC Connection UUID on the server. <Catalog name="SteelWheels" <DataSourceInfo>Provider=mondrian;DataSource=SampleData;UseContentChecksum=true;JdbcConnectionUuid=SampleDataUUID</DataSourceInfo> <Definition>solution:steel-wheels/analysis/steelwheels.mondrian.xml</Definition> </Catalog> Create a report using a mdx query (JPivot) from Steel Wheels and run it inside the ba-server. select NON EMPTY {[Measures].[Quantity]} ON COLUMNS, NON EMPTY {([Markets].[All Markets], [Customers].[All Customers], [Product].[All Products], [Time].[All Years], [Order Status].[All Status Types])} ON ROWS from [SteelWheelsSales] 3. Run the attached .prpt which contains the following connection properties defined: UseContentChecksum=true JdbcConnectionUuid=SampleDataUUID 4. You should only see one SQL entry in the log file according to the Brandon in comments. Something like this... 2012-10-12 12:44:13,129 DEBUG [mondrian.sql] 0: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:13,193 DEBUG [mondrian.sql] 0: , exec 58 ms 2012-10-12 12:44:13,212 DEBUG [mondrian.sql] 0: , exec+fetch 82 ms, 1 rows However, I saw two entries after I launched jPivot and the .prpt. 2012-10-12 12:44:13,129 DEBUG [mondrian.sql] 0: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:13,193 DEBUG [mondrian.sql] 0: , exec 58 ms 2012-10-12 12:44:13,212 DEBUG [mondrian.sql] 0: , exec+fetch 82 ms, 1 rows 2012-10-12 12:44:37,085 DEBUG [mondrian.sql] 1: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:37,095 DEBUG [mondrian.sql] 1: , exec 9 ms 2012-10-12 12:44:37,095 DEBUG [mondrian.sql] 1: , exec+fetch 10 ms, 1 rows Additional notes: It appears that it is per content type. If I launch JPivot multiple times, I don't get any additional queries in the sql log and likewise for the .prpt. |
Kurtis Cruzada
made changes -
| Attachment | Test Connection Properties.analysisview.xaction [ 36228 ] | |
| Attachment | Test Connection Properties.prpt [ 36229 ] |
Kurtis Cruzada
made changes -
| Description |
When creating a Mondrian connection, PRD only uses some of the properties in the catalog string. With the addition of the jdbcConnectionUID feature, PRD should allow all of the properties to go through to mondrian. Requirements: Re-purpose the existing "Security" button. Rename to "Properties". see attached screenshot of button to re-purpose. Add the value pair table UI with add and remove. see attached screenshot of table. To test whether the connection JDBCConnectionUUID is working: Test Case: 1. Enable sql logging in the log4j.xml file on the BA Server. <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian MDX Statements --> <!-- ========================================================= --> <appender name="MDXLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_mdx.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.mdx"> <priority value="DEBUG"/> <appender-ref ref="MDXLOG"/> </category> <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian SQL Statements --> <!-- ========================================================= --> <appender name="SQLLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_sql.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.sql"> <priority value="DEBUG"/> <appender-ref ref="SQLLOG"/> </category> 2. Add a JDBC Connection UUID on the server. <Catalog name="SteelWheels" <DataSourceInfo>Provider=mondrian;DataSource=SampleData;UseContentChecksum=true;JdbcConnectionUuid=SampleDataUUID</DataSourceInfo> <Definition>solution:steel-wheels/analysis/steelwheels.mondrian.xml</Definition> </Catalog> Create a report using a mdx query (JPivot) from Steel Wheels and run it inside the ba-server. select NON EMPTY {[Measures].[Quantity]} ON COLUMNS, NON EMPTY {([Markets].[All Markets], [Customers].[All Customers], [Product].[All Products], [Time].[All Years], [Order Status].[All Status Types])} ON ROWS from [SteelWheelsSales] 3. Run the attached .prpt which contains the following connection properties defined: UseContentChecksum=true JdbcConnectionUuid=SampleDataUUID 4. You should only see one SQL entry in the log file according to the Brandon in comments. Something like this... 2012-10-12 12:44:13,129 DEBUG [mondrian.sql] 0: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:13,193 DEBUG [mondrian.sql] 0: , exec 58 ms 2012-10-12 12:44:13,212 DEBUG [mondrian.sql] 0: , exec+fetch 82 ms, 1 rows However, I saw two entries after I launched jPivot and the .prpt. 2012-10-12 12:44:13,129 DEBUG [mondrian.sql] 0: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:13,193 DEBUG [mondrian.sql] 0: , exec 58 ms 2012-10-12 12:44:13,212 DEBUG [mondrian.sql] 0: , exec+fetch 82 ms, 1 rows 2012-10-12 12:44:37,085 DEBUG [mondrian.sql] 1: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:37,095 DEBUG [mondrian.sql] 1: , exec 9 ms 2012-10-12 12:44:37,095 DEBUG [mondrian.sql] 1: , exec+fetch 10 ms, 1 rows Additional notes: It appears that it is per content type. If I launch JPivot multiple times, I don't get any additional queries in the sql log and likewise for the .prpt. |
When creating a Mondrian connection, PRD only uses some of the properties in the catalog string.
With the addition of the jdbcConnectionUID feature, PRD should allow all of the properties to go through to mondrian. Requirements: Re-purpose the existing "Security" button. Rename to "Properties". see attached screenshot of button to re-purpose. Add the value pair table UI with add and remove. see attached screenshot of table. Test Case: JDBCConnectionUUID 1. Enable sql logging in the log4j.xml file on the BA Server. <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian MDX Statements --> <!-- ========================================================= --> <appender name="MDXLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_mdx.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.mdx"> <priority value="DEBUG"/> <appender-ref ref="MDXLOG"/> </category> <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian SQL Statements --> <!-- ========================================================= --> <appender name="SQLLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_sql.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.sql"> <priority value="DEBUG"/> <appender-ref ref="SQLLOG"/> </category> 2. Add a JDBC Connection UUID on the server. <Catalog name="SteelWheels" <DataSourceInfo>Provider=mondrian;DataSource=SampleData;UseContentChecksum=true;JdbcConnectionUuid=SampleDataUUID</DataSourceInfo> <Definition>solution:steel-wheels/analysis/steelwheels.mondrian.xml</Definition> </Catalog> Create a report using a mdx query (JPivot) from Steel Wheels and run it inside the ba-server. select NON EMPTY {[Measures].[Quantity]} ON COLUMNS, NON EMPTY {([Markets].[All Markets], [Customers].[All Customers], [Product].[All Products], [Time].[All Years], [Order Status].[All Status Types])} ON ROWS from [SteelWheelsSales] 3. Run the attached .prpt which contains the following connection properties defined: UseContentChecksum=true JdbcConnectionUuid=SampleDataUUID 4. You should only see one SQL entry in the log file according to the Brandon in comments. Something like this... 2012-10-12 12:44:13,129 DEBUG [mondrian.sql] 0: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:13,193 DEBUG [mondrian.sql] 0: , exec 58 ms 2012-10-12 12:44:13,212 DEBUG [mondrian.sql] 0: , exec+fetch 82 ms, 1 rows However, I saw two entries after I launched jPivot and the .prpt. 2012-10-12 12:44:13,129 DEBUG [mondrian.sql] 0: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:13,193 DEBUG [mondrian.sql] 0: , exec 58 ms 2012-10-12 12:44:13,212 DEBUG [mondrian.sql] 0: , exec+fetch 82 ms, 1 rows 2012-10-12 12:44:37,085 DEBUG [mondrian.sql] 1: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:37,095 DEBUG [mondrian.sql] 1: , exec 9 ms 2012-10-12 12:44:37,095 DEBUG [mondrian.sql] 1: , exec+fetch 10 ms, 1 rows Additional notes: It appears that it is per content type. If I launch JPivot multiple times, I don't get any additional queries in the sql log and likewise for the .prpt. |
Kurtis Cruzada
made changes -
| Status | Open [ 1 ] | Open [ 1 ] |
| Description |
When creating a Mondrian connection, PRD only uses some of the properties in the catalog string.
With the addition of the jdbcConnectionUID feature, PRD should allow all of the properties to go through to mondrian. Requirements: Re-purpose the existing "Security" button. Rename to "Properties". see attached screenshot of button to re-purpose. Add the value pair table UI with add and remove. see attached screenshot of table. Test Case: JDBCConnectionUUID 1. Enable sql logging in the log4j.xml file on the BA Server. <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian MDX Statements --> <!-- ========================================================= --> <appender name="MDXLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_mdx.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.mdx"> <priority value="DEBUG"/> <appender-ref ref="MDXLOG"/> </category> <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian SQL Statements --> <!-- ========================================================= --> <appender name="SQLLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_sql.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.sql"> <priority value="DEBUG"/> <appender-ref ref="SQLLOG"/> </category> 2. Add a JDBC Connection UUID on the server. <Catalog name="SteelWheels" <DataSourceInfo>Provider=mondrian;DataSource=SampleData;UseContentChecksum=true;JdbcConnectionUuid=SampleDataUUID</DataSourceInfo> <Definition>solution:steel-wheels/analysis/steelwheels.mondrian.xml</Definition> </Catalog> Create a report using a mdx query (JPivot) from Steel Wheels and run it inside the ba-server. select NON EMPTY {[Measures].[Quantity]} ON COLUMNS, NON EMPTY {([Markets].[All Markets], [Customers].[All Customers], [Product].[All Products], [Time].[All Years], [Order Status].[All Status Types])} ON ROWS from [SteelWheelsSales] 3. Run the attached .prpt which contains the following connection properties defined: UseContentChecksum=true JdbcConnectionUuid=SampleDataUUID 4. You should only see one SQL entry in the log file according to the Brandon in comments. Something like this... 2012-10-12 12:44:13,129 DEBUG [mondrian.sql] 0: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:13,193 DEBUG [mondrian.sql] 0: , exec 58 ms 2012-10-12 12:44:13,212 DEBUG [mondrian.sql] 0: , exec+fetch 82 ms, 1 rows However, I saw two entries after I launched jPivot and the .prpt. 2012-10-12 12:44:13,129 DEBUG [mondrian.sql] 0: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:13,193 DEBUG [mondrian.sql] 0: , exec 58 ms 2012-10-12 12:44:13,212 DEBUG [mondrian.sql] 0: , exec+fetch 82 ms, 1 rows 2012-10-12 12:44:37,085 DEBUG [mondrian.sql] 1: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:37,095 DEBUG [mondrian.sql] 1: , exec 9 ms 2012-10-12 12:44:37,095 DEBUG [mondrian.sql] 1: , exec+fetch 10 ms, 1 rows Additional notes: It appears that it is per content type. If I launch JPivot multiple times, I don't get any additional queries in the sql log and likewise for the .prpt. |
When creating a Mondrian connection, PRD only uses some of the properties in the catalog string. With the addition of the jdbcConnectionUID feature, PRD should allow all of the properties to go through to mondrian. Requirements: Re-purpose the existing "Security" button. Rename to "Properties". see attached screenshot of button to re-purpose. Add the value pair table UI with add and remove. see attached screenshot of table. Test Case: JDBCConnectionUUID 1. Enable sql logging in the log4j.xml file on the BA Server. <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian MDX Statements --> <!-- ========================================================= --> <appender name="MDXLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_mdx.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.mdx"> <priority value="DEBUG"/> <appender-ref ref="MDXLOG"/> </category> <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian SQL Statements --> <!-- ========================================================= --> <appender name="SQLLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_sql.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.sql"> <priority value="DEBUG"/> <appender-ref ref="SQLLOG"/> </category> 2. Add a JDBC Connection UUID on the server. <Catalog name="SteelWheels" <DataSourceInfo>Provider=mondrian;DataSource=SampleData;UseContentChecksum=true;JdbcConnectionUuid=SampleDataUUID</DataSourceInfo> <Definition>solution:steel-wheels/analysis/steelwheels.mondrian.xml</Definition> </Catalog> 3. Run the attached JPivot report (.xaction) which contains the query: select NON EMPTY {[Measures].[Quantity]} ON COLUMNS, NON EMPTY {([Markets].[All Markets], [Customers].[All Customers], [Product].[All Products], [Time].[All Years], [Order Status].[All Status Types])} ON ROWS from [SteelWheelsSales] 4. Run the attached .prpt which contains the following connection properties defined: UseContentChecksum=true JdbcConnectionUuid=SampleDataUUID and the same query as the JPivot report in step 3. RESULTS: You should only see one SQL entry in the log file according to the Brandon in comments. Something like this... 2012-10-12 12:44:13,129 DEBUG [mondrian.sql] 0: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:13,193 DEBUG [mondrian.sql] 0: , exec 58 ms 2012-10-12 12:44:13,212 DEBUG [mondrian.sql] 0: , exec+fetch 82 ms, 1 rows However, I saw two entries after I launched jPivot and the .prpt. 2012-10-12 12:44:13,129 DEBUG [mondrian.sql] 0: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:13,193 DEBUG [mondrian.sql] 0: , exec 58 ms 2012-10-12 12:44:13,212 DEBUG [mondrian.sql] 0: , exec+fetch 82 ms, 1 rows 2012-10-12 12:44:37,085 DEBUG [mondrian.sql] 1: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:37,095 DEBUG [mondrian.sql] 1: , exec 9 ms 2012-10-12 12:44:37,095 DEBUG [mondrian.sql] 1: , exec+fetch 10 ms, 1 rows Additional notes: It appears that it is per content type. If I launch JPivot multiple times, I don't get any additional queries in the sql log and likewise for the .prpt. |
Kurtis Cruzada
made changes -
| Status | Open [ 1 ] | Open [ 1 ] |
| Assignee | Kurtis Cruzada [ kcruzada ] | Unassigned User [ unassigned ] |
Sulaiman Karmali
made changes -
| Assignee | Unassigned User [ unassigned ] | Sulaiman Karmali [ skarmali ] |
Sulaiman Karmali
made changes -
| Link |
This issue relates to |
Sulaiman Karmali
made changes -
| Status | Open [ 1 ] | In Progress [ 3 ] |
Sulaiman Karmali
made changes -
| Attachment | mondrian-ds.xml [ 36238 ] |
Sulaiman Karmali
made changes -
| Assignee | Sulaiman Karmali [ skarmali ] | Kurtis Cruzada [ kcruzada ] |
Kurtis Cruzada
made changes -
| Attachment | Test Connection Properties.analysisview.xaction [ 36228 ] |
Kurtis Cruzada
made changes -
| Attachment | Test Connection Properties.prpt [ 36229 ] |
Kurtis Cruzada
made changes -
| Attachment | Test Connection Properties.prpt [ 36248 ] | |
| Attachment | Test Connection.xanalyzer [ 36249 ] | |
| Attachment | mondrian_mdx.log [ 36250 ] | |
| Attachment | mondrian_sql.log [ 36251 ] | |
| Attachment | pentaho.log [ 36252 ] |
Kurtis Cruzada
made changes -
| Description |
When creating a Mondrian connection, PRD only uses some of the properties in the catalog string. With the addition of the jdbcConnectionUID feature, PRD should allow all of the properties to go through to mondrian. Requirements: Re-purpose the existing "Security" button. Rename to "Properties". see attached screenshot of button to re-purpose. Add the value pair table UI with add and remove. see attached screenshot of table. Test Case: JDBCConnectionUUID 1. Enable sql logging in the log4j.xml file on the BA Server. <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian MDX Statements --> <!-- ========================================================= --> <appender name="MDXLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_mdx.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.mdx"> <priority value="DEBUG"/> <appender-ref ref="MDXLOG"/> </category> <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian SQL Statements --> <!-- ========================================================= --> <appender name="SQLLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_sql.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.sql"> <priority value="DEBUG"/> <appender-ref ref="SQLLOG"/> </category> 2. Add a JDBC Connection UUID on the server. <Catalog name="SteelWheels" <DataSourceInfo>Provider=mondrian;DataSource=SampleData;UseContentChecksum=true;JdbcConnectionUuid=SampleDataUUID</DataSourceInfo> <Definition>solution:steel-wheels/analysis/steelwheels.mondrian.xml</Definition> </Catalog> 3. Run the attached JPivot report (.xaction) which contains the query: select NON EMPTY {[Measures].[Quantity]} ON COLUMNS, NON EMPTY {([Markets].[All Markets], [Customers].[All Customers], [Product].[All Products], [Time].[All Years], [Order Status].[All Status Types])} ON ROWS from [SteelWheelsSales] 4. Run the attached .prpt which contains the following connection properties defined: UseContentChecksum=true JdbcConnectionUuid=SampleDataUUID and the same query as the JPivot report in step 3. RESULTS: You should only see one SQL entry in the log file according to the Brandon in comments. Something like this... 2012-10-12 12:44:13,129 DEBUG [mondrian.sql] 0: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:13,193 DEBUG [mondrian.sql] 0: , exec 58 ms 2012-10-12 12:44:13,212 DEBUG [mondrian.sql] 0: , exec+fetch 82 ms, 1 rows However, I saw two entries after I launched jPivot and the .prpt. 2012-10-12 12:44:13,129 DEBUG [mondrian.sql] 0: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:13,193 DEBUG [mondrian.sql] 0: , exec 58 ms 2012-10-12 12:44:13,212 DEBUG [mondrian.sql] 0: , exec+fetch 82 ms, 1 rows 2012-10-12 12:44:37,085 DEBUG [mondrian.sql] 1: Segment.load: executing sql [select sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "ORDERFACT" as "ORDERFACT"] 2012-10-12 12:44:37,095 DEBUG [mondrian.sql] 1: , exec 9 ms 2012-10-12 12:44:37,095 DEBUG [mondrian.sql] 1: , exec+fetch 10 ms, 1 rows Additional notes: It appears that it is per content type. If I launch JPivot multiple times, I don't get any additional queries in the sql log and likewise for the .prpt. |
When creating a Mondrian connection, PRD only uses some of the properties in the catalog string.
With the addition of the jdbcConnectionUID feature, PRD should allow all of the properties to go through to mondrian. Requirements: Re-purpose the existing "Security" button. Rename to "Properties". see attached screenshot of button to re-purpose. Add the value pair table UI with add and remove. see attached screenshot of table. Test Case: JDBCConnectionUUID 1. Enable sql logging in the log4j.xml file on the BA Server. <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian MDX Statements --> <!-- ========================================================= --> <appender name="MDXLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_mdx.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.mdx"> <priority value="DEBUG"/> <appender-ref ref="MDXLOG"/> </category> <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian SQL Statements --> <!-- ========================================================= --> <appender name="SQLLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_sql.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.sql"> <priority value="DEBUG"/> <appender-ref ref="SQLLOG"/> </category> 2. Add a JDBC Connection UUID on the server. <Catalog name="SteelWheels" <DataSourceInfo>Provider=mondrian;DataSource=SampleData;UseContentChecksum=true;JdbcConnectionUuid=SampleDataUUID</DataSourceInfo> <Definition>solution:steel-wheels/analysis/steelwheels.mondrian.xml</Definition> </Catalog> 3. Run the attached Analyzer report (.xanalyzer) which contains the query: With Set [*NATIVE_CJ_SET] as 'Filter([*BASE_MEMBERS_Markets], Not IsEmpty ([Measures].[Quantity]))' Set [*SORTED_ROW_AXIS] as 'Order([*CJ_ROW_AXIS],[Markets].CurrentMember.OrderKey,BASC)' Set [*BASE_MEMBERS_Markets] as '[Markets].[Territory].Members' Set [*BASE_MEMBERS_Measures] as '{[Measures].[*FORMATTED_MEASURE_0]}' Set [*CJ_ROW_AXIS] as 'Generate([*NATIVE_CJ_SET], {([Markets].currentMember)})' Set [*CJ_COL_AXIS] as '[*NATIVE_CJ_SET]' Member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Quantity]', FORMAT_STRING = '#,###', SOLVE_ORDER=400 Select [*BASE_MEMBERS_Measures] on columns, [*SORTED_ROW_AXIS] on rows From [SteelWheelsSales] 4. Run the attached .prpt which contains the following connection properties defined: UseContentChecksum=true JdbcConnectionUuid=SampleDataUUID and the same query as the Analyzer report in step 3. RESULTS: I see one SQL entry in the log file ... 2012-10-15 11:09:10,720 DEBUG [mondrian.sql] 0: HighCardSqlTupleReader.readTuples [[Markets].[Territory]]: executing sql [select "CUSTOMER_W_TER"."TERRITORY" as "c0" from "CUSTOMER_W_TER" as "CUSTOMER_W_TER", "ORDERFACT" as "ORDERFACT" where "ORDERFACT"."CUSTOMERNUMBER" = "CUSTOMER_W_TER"."CUSTOMERNUMBER" group by "CUSTOMER_W_TER"."TERRITORY" having NOT((sum("ORDERFACT"."QUANTITYORDERED") is null)) order by CASE WHEN "CUSTOMER_W_TER"."TERRITORY" IS NULL THEN 1 ELSE 0 END, "CUSTOMER_W_TER"."TERRITORY" ASC] 2012-10-15 11:09:10,851 DEBUG [mondrian.sql] 0: , exec 123 ms 2012-10-15 11:09:10,870 DEBUG [mondrian.sql] 0: , exec+fetch 148 ms, 4 rows 2012-10-15 11:09:10,962 DEBUG [mondrian.sql] 1: SqlStatisticsProvider.getColumnCardinality: executing sql [select count(distinct "TERRITORY") from "CUSTOMER_W_TER"] 2012-10-15 11:09:10,981 DEBUG [mondrian.sql] 1: , exec 12 ms 2012-10-15 11:09:10,997 DEBUG [mondrian.sql] 1: , exec+fetch 30 ms, 1 rows 2012-10-15 11:09:11,116 DEBUG [mondrian.sql] 2: Segment.load: executing sql [select "CUSTOMER_W_TER"."TERRITORY" as "c0", sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "CUSTOMER_W_TER" as "CUSTOMER_W_TER", "ORDERFACT" as "ORDERFACT" where "ORDERFACT"."CUSTOMERNUMBER" = "CUSTOMER_W_TER"."CUSTOMERNUMBER" group by "CUSTOMER_W_TER"."TERRITORY"] 2012-10-15 11:09:11,297 DEBUG [mondrian.sql] 2: , exec 169 ms 2012-10-15 11:09:11,335 DEBUG [mondrian.sql] 2: , exec+fetch 208 ms, 4 rows Two MDX logged for each report ( Analyzer and Reporting (.prpt)) 2012-10-15 11:09:10,536 DEBUG [mondrian.mdx] 44: with set [*NATIVE_CJ_SET] as 'Filter([*BASE_MEMBERS_Markets], (NOT IsEmpty([Measures].[Quantity])))' set [*SORTED_ROW_AXIS] as 'Order([*CJ_ROW_AXIS], [Markets].CurrentMember.OrderKey, BASC)' set [*BASE_MEMBERS_Markets] as '[Markets].[Territory].Members' set [*BASE_MEMBERS_Measures] as '{[Measures].[*FORMATTED_MEASURE_0]}' set [*CJ_ROW_AXIS] as 'Generate([*NATIVE_CJ_SET], {[Markets].CurrentMember})' set [*CJ_COL_AXIS] as '[*NATIVE_CJ_SET]' member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Quantity]', FORMAT_STRING = "#,###", SOLVE_ORDER = 400 select [*BASE_MEMBERS_Measures] ON COLUMNS, [*SORTED_ROW_AXIS] ON ROWS from [SteelWheelsSales] 2012-10-15 11:09:11,340 DEBUG [mondrian.mdx] 44: exec: 801 ms 2012-10-15 11:10:40,667 DEBUG [mondrian.mdx] 102: with set [*NATIVE_CJ_SET] as 'Filter([*BASE_MEMBERS_Markets], (NOT IsEmpty([Measures].[Quantity])))' set [*SORTED_ROW_AXIS] as 'Order([*CJ_ROW_AXIS], [Markets].CurrentMember.OrderKey, BASC)' set [*BASE_MEMBERS_Markets] as '[Markets].[Territory].Members' set [*BASE_MEMBERS_Measures] as '{[Measures].[*FORMATTED_MEASURE_0]}' set [*CJ_ROW_AXIS] as 'Generate([*NATIVE_CJ_SET], {[Markets].CurrentMember})' set [*CJ_COL_AXIS] as '[*NATIVE_CJ_SET]' member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Quantity]', FORMAT_STRING = "#,###", SOLVE_ORDER = 400 select [*BASE_MEMBERS_Measures] ON COLUMNS, [*SORTED_ROW_AXIS] ON ROWS from [SteelWheelsSales] 2012-10-15 11:10:40,675 DEBUG [mondrian.mdx] 102: exec: 8 ms |
Kurtis Cruzada
made changes -
| Summary | PRD should allow all Mondrian connection properties to go through to Mondrian | PRD should allow all Mondrian connection properties to go through to Mondrian, particularly JDBCConnectionUUID, which would allow reporting and analysis to share the same SQL cache. |
Kurtis Cruzada
made changes -
| Description |
When creating a Mondrian connection, PRD only uses some of the properties in the catalog string.
With the addition of the jdbcConnectionUID feature, PRD should allow all of the properties to go through to mondrian. Requirements: Re-purpose the existing "Security" button. Rename to "Properties". see attached screenshot of button to re-purpose. Add the value pair table UI with add and remove. see attached screenshot of table. Test Case: JDBCConnectionUUID 1. Enable sql logging in the log4j.xml file on the BA Server. <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian MDX Statements --> <!-- ========================================================= --> <appender name="MDXLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_mdx.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.mdx"> <priority value="DEBUG"/> <appender-ref ref="MDXLOG"/> </category> <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian SQL Statements --> <!-- ========================================================= --> <appender name="SQLLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_sql.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.sql"> <priority value="DEBUG"/> <appender-ref ref="SQLLOG"/> </category> 2. Add a JDBC Connection UUID on the server. <Catalog name="SteelWheels" <DataSourceInfo>Provider=mondrian;DataSource=SampleData;UseContentChecksum=true;JdbcConnectionUuid=SampleDataUUID</DataSourceInfo> <Definition>solution:steel-wheels/analysis/steelwheels.mondrian.xml</Definition> </Catalog> 3. Run the attached Analyzer report (.xanalyzer) which contains the query: With Set [*NATIVE_CJ_SET] as 'Filter([*BASE_MEMBERS_Markets], Not IsEmpty ([Measures].[Quantity]))' Set [*SORTED_ROW_AXIS] as 'Order([*CJ_ROW_AXIS],[Markets].CurrentMember.OrderKey,BASC)' Set [*BASE_MEMBERS_Markets] as '[Markets].[Territory].Members' Set [*BASE_MEMBERS_Measures] as '{[Measures].[*FORMATTED_MEASURE_0]}' Set [*CJ_ROW_AXIS] as 'Generate([*NATIVE_CJ_SET], {([Markets].currentMember)})' Set [*CJ_COL_AXIS] as '[*NATIVE_CJ_SET]' Member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Quantity]', FORMAT_STRING = '#,###', SOLVE_ORDER=400 Select [*BASE_MEMBERS_Measures] on columns, [*SORTED_ROW_AXIS] on rows From [SteelWheelsSales] 4. Run the attached .prpt which contains the following connection properties defined: UseContentChecksum=true JdbcConnectionUuid=SampleDataUUID and the same query as the Analyzer report in step 3. RESULTS: I see one SQL entry in the log file ... 2012-10-15 11:09:10,720 DEBUG [mondrian.sql] 0: HighCardSqlTupleReader.readTuples [[Markets].[Territory]]: executing sql [select "CUSTOMER_W_TER"."TERRITORY" as "c0" from "CUSTOMER_W_TER" as "CUSTOMER_W_TER", "ORDERFACT" as "ORDERFACT" where "ORDERFACT"."CUSTOMERNUMBER" = "CUSTOMER_W_TER"."CUSTOMERNUMBER" group by "CUSTOMER_W_TER"."TERRITORY" having NOT((sum("ORDERFACT"."QUANTITYORDERED") is null)) order by CASE WHEN "CUSTOMER_W_TER"."TERRITORY" IS NULL THEN 1 ELSE 0 END, "CUSTOMER_W_TER"."TERRITORY" ASC] 2012-10-15 11:09:10,851 DEBUG [mondrian.sql] 0: , exec 123 ms 2012-10-15 11:09:10,870 DEBUG [mondrian.sql] 0: , exec+fetch 148 ms, 4 rows 2012-10-15 11:09:10,962 DEBUG [mondrian.sql] 1: SqlStatisticsProvider.getColumnCardinality: executing sql [select count(distinct "TERRITORY") from "CUSTOMER_W_TER"] 2012-10-15 11:09:10,981 DEBUG [mondrian.sql] 1: , exec 12 ms 2012-10-15 11:09:10,997 DEBUG [mondrian.sql] 1: , exec+fetch 30 ms, 1 rows 2012-10-15 11:09:11,116 DEBUG [mondrian.sql] 2: Segment.load: executing sql [select "CUSTOMER_W_TER"."TERRITORY" as "c0", sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "CUSTOMER_W_TER" as "CUSTOMER_W_TER", "ORDERFACT" as "ORDERFACT" where "ORDERFACT"."CUSTOMERNUMBER" = "CUSTOMER_W_TER"."CUSTOMERNUMBER" group by "CUSTOMER_W_TER"."TERRITORY"] 2012-10-15 11:09:11,297 DEBUG [mondrian.sql] 2: , exec 169 ms 2012-10-15 11:09:11,335 DEBUG [mondrian.sql] 2: , exec+fetch 208 ms, 4 rows Two MDX logged for each report ( Analyzer and Reporting (.prpt)) 2012-10-15 11:09:10,536 DEBUG [mondrian.mdx] 44: with set [*NATIVE_CJ_SET] as 'Filter([*BASE_MEMBERS_Markets], (NOT IsEmpty([Measures].[Quantity])))' set [*SORTED_ROW_AXIS] as 'Order([*CJ_ROW_AXIS], [Markets].CurrentMember.OrderKey, BASC)' set [*BASE_MEMBERS_Markets] as '[Markets].[Territory].Members' set [*BASE_MEMBERS_Measures] as '{[Measures].[*FORMATTED_MEASURE_0]}' set [*CJ_ROW_AXIS] as 'Generate([*NATIVE_CJ_SET], {[Markets].CurrentMember})' set [*CJ_COL_AXIS] as '[*NATIVE_CJ_SET]' member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Quantity]', FORMAT_STRING = "#,###", SOLVE_ORDER = 400 select [*BASE_MEMBERS_Measures] ON COLUMNS, [*SORTED_ROW_AXIS] ON ROWS from [SteelWheelsSales] 2012-10-15 11:09:11,340 DEBUG [mondrian.mdx] 44: exec: 801 ms 2012-10-15 11:10:40,667 DEBUG [mondrian.mdx] 102: with set [*NATIVE_CJ_SET] as 'Filter([*BASE_MEMBERS_Markets], (NOT IsEmpty([Measures].[Quantity])))' set [*SORTED_ROW_AXIS] as 'Order([*CJ_ROW_AXIS], [Markets].CurrentMember.OrderKey, BASC)' set [*BASE_MEMBERS_Markets] as '[Markets].[Territory].Members' set [*BASE_MEMBERS_Measures] as '{[Measures].[*FORMATTED_MEASURE_0]}' set [*CJ_ROW_AXIS] as 'Generate([*NATIVE_CJ_SET], {[Markets].CurrentMember})' set [*CJ_COL_AXIS] as '[*NATIVE_CJ_SET]' member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Quantity]', FORMAT_STRING = "#,###", SOLVE_ORDER = 400 select [*BASE_MEMBERS_Measures] ON COLUMNS, [*SORTED_ROW_AXIS] ON ROWS from [SteelWheelsSales] 2012-10-15 11:10:40,675 DEBUG [mondrian.mdx] 102: exec: 8 ms |
When creating a Mondrian connection, PRD only uses some of the properties in the catalog string.
With the addition of the jdbcConnectionUID feature, PRD should allow all of the properties to go through to mondrian. Requirements: Re-purpose the existing "Security" button. Rename to "Properties". see attached screenshot of button to re-purpose. Add the value pair table UI with add and remove. see attached screenshot of table. Test Case: JDBCConnectionUUID 1. Enable sql logging in the log4j.xml file on the BA Server. <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian MDX Statements --> <!-- ========================================================= --> <appender name="MDXLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_mdx.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.mdx"> <priority value="DEBUG"/> <appender-ref ref="MDXLOG"/> </category> <!-- ========================================================= --> <!-- Special Log File specifically for Mondrian SQL Statements --> <!-- ========================================================= --> <appender name="SQLLOG" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="/Applications/pentaho48/server/biserver-ee/logs/mondrian_sql.log"/> <param name="Append" value="false"/> <param name="MaxFileSize" value="500KB"/> <param name="MaxBackupIndex" value="1"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d %-5p [%c] %m%n"/> </layout> </appender> <category name="mondrian.sql"> <priority value="DEBUG"/> <appender-ref ref="SQLLOG"/> </category> 2. Add a JDBC Connection UUID on the server. <Catalog name="SteelWheels" <DataSourceInfo>Provider=mondrian;DataSource=SampleData;UseContentChecksum=true;JdbcConnectionUuid=SampleDataUUID</DataSourceInfo> <Definition>solution:steel-wheels/analysis/steelwheels.mondrian.xml</Definition> </Catalog> 3. Run the attached Analyzer report (.xanalyzer) which contains the query: With Set [*NATIVE_CJ_SET] as 'Filter([*BASE_MEMBERS_Markets], Not IsEmpty ([Measures].[Quantity]))' Set [*SORTED_ROW_AXIS] as 'Order([*CJ_ROW_AXIS],[Markets].CurrentMember.OrderKey,BASC)' Set [*BASE_MEMBERS_Markets] as '[Markets].[Territory].Members' Set [*BASE_MEMBERS_Measures] as '{[Measures].[*FORMATTED_MEASURE_0]}' Set [*CJ_ROW_AXIS] as 'Generate([*NATIVE_CJ_SET], {([Markets].currentMember)})' Set [*CJ_COL_AXIS] as '[*NATIVE_CJ_SET]' Member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Quantity]', FORMAT_STRING = '#,###', SOLVE_ORDER=400 Select [*BASE_MEMBERS_Measures] on columns, [*SORTED_ROW_AXIS] on rows From [SteelWheelsSales] 4. Run the attached .prpt which contains the following connection properties defined: UseContentChecksum=true JdbcConnectionUuid=SampleDataUUID and the same query as the Analyzer report in step 3. RESULTS: PASSED. I see one SQL entry in the log file ... 2012-10-15 11:09:10,720 DEBUG [mondrian.sql] 0: HighCardSqlTupleReader.readTuples [[Markets].[Territory]]: executing sql [select "CUSTOMER_W_TER"."TERRITORY" as "c0" from "CUSTOMER_W_TER" as "CUSTOMER_W_TER", "ORDERFACT" as "ORDERFACT" where "ORDERFACT"."CUSTOMERNUMBER" = "CUSTOMER_W_TER"."CUSTOMERNUMBER" group by "CUSTOMER_W_TER"."TERRITORY" having NOT((sum("ORDERFACT"."QUANTITYORDERED") is null)) order by CASE WHEN "CUSTOMER_W_TER"."TERRITORY" IS NULL THEN 1 ELSE 0 END, "CUSTOMER_W_TER"."TERRITORY" ASC] 2012-10-15 11:09:10,851 DEBUG [mondrian.sql] 0: , exec 123 ms 2012-10-15 11:09:10,870 DEBUG [mondrian.sql] 0: , exec+fetch 148 ms, 4 rows 2012-10-15 11:09:10,962 DEBUG [mondrian.sql] 1: SqlStatisticsProvider.getColumnCardinality: executing sql [select count(distinct "TERRITORY") from "CUSTOMER_W_TER"] 2012-10-15 11:09:10,981 DEBUG [mondrian.sql] 1: , exec 12 ms 2012-10-15 11:09:10,997 DEBUG [mondrian.sql] 1: , exec+fetch 30 ms, 1 rows 2012-10-15 11:09:11,116 DEBUG [mondrian.sql] 2: Segment.load: executing sql [select "CUSTOMER_W_TER"."TERRITORY" as "c0", sum("ORDERFACT"."QUANTITYORDERED") as "m0" from "CUSTOMER_W_TER" as "CUSTOMER_W_TER", "ORDERFACT" as "ORDERFACT" where "ORDERFACT"."CUSTOMERNUMBER" = "CUSTOMER_W_TER"."CUSTOMERNUMBER" group by "CUSTOMER_W_TER"."TERRITORY"] 2012-10-15 11:09:11,297 DEBUG [mondrian.sql] 2: , exec 169 ms 2012-10-15 11:09:11,335 DEBUG [mondrian.sql] 2: , exec+fetch 208 ms, 4 rows Two MDX logged for each report ( Analyzer and Reporting (.prpt)) 2012-10-15 11:09:10,536 DEBUG [mondrian.mdx] 44: with set [*NATIVE_CJ_SET] as 'Filter([*BASE_MEMBERS_Markets], (NOT IsEmpty([Measures].[Quantity])))' set [*SORTED_ROW_AXIS] as 'Order([*CJ_ROW_AXIS], [Markets].CurrentMember.OrderKey, BASC)' set [*BASE_MEMBERS_Markets] as '[Markets].[Territory].Members' set [*BASE_MEMBERS_Measures] as '{[Measures].[*FORMATTED_MEASURE_0]}' set [*CJ_ROW_AXIS] as 'Generate([*NATIVE_CJ_SET], {[Markets].CurrentMember})' set [*CJ_COL_AXIS] as '[*NATIVE_CJ_SET]' member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Quantity]', FORMAT_STRING = "#,###", SOLVE_ORDER = 400 select [*BASE_MEMBERS_Measures] ON COLUMNS, [*SORTED_ROW_AXIS] ON ROWS from [SteelWheelsSales] 2012-10-15 11:09:11,340 DEBUG [mondrian.mdx] 44: exec: 801 ms 2012-10-15 11:10:40,667 DEBUG [mondrian.mdx] 102: with set [*NATIVE_CJ_SET] as 'Filter([*BASE_MEMBERS_Markets], (NOT IsEmpty([Measures].[Quantity])))' set [*SORTED_ROW_AXIS] as 'Order([*CJ_ROW_AXIS], [Markets].CurrentMember.OrderKey, BASC)' set [*BASE_MEMBERS_Markets] as '[Markets].[Territory].Members' set [*BASE_MEMBERS_Measures] as '{[Measures].[*FORMATTED_MEASURE_0]}' set [*CJ_ROW_AXIS] as 'Generate([*NATIVE_CJ_SET], {[Markets].CurrentMember})' set [*CJ_COL_AXIS] as '[*NATIVE_CJ_SET]' member [Measures].[*FORMATTED_MEASURE_0] as '[Measures].[Quantity]', FORMAT_STRING = "#,###", SOLVE_ORDER = 400 select [*BASE_MEMBERS_Measures] ON COLUMNS, [*SORTED_ROW_AXIS] ON ROWS from [SteelWheelsSales] 2012-10-15 11:10:40,675 DEBUG [mondrian.mdx] 102: exec: 8 ms |
Kurtis Cruzada
made changes -
| Status | In Progress [ 3 ] | Resolved [ 5 ] |
Kurtis Cruzada
made changes -
| Status | Resolved [ 5 ] | Closed [ 6 ] |
| QA Validation Status | Not Yet Validated | Validated by QA |
| Resolution | Fixed [ 1 ] |
| Transition | Time In Source Status | Execution Times | Last Executer | Last Execution Date | |||||
|---|---|---|---|---|---|---|---|---|---|
|
4h 39m | 1 | Pedro Vale | 27/Sep/12 9:19 AM | |||||
|
9s | 1 | Pedro Vale | 27/Sep/12 9:19 AM | |||||
|
11d 17h 49m | 2 | Kurtis Cruzada | 12/Oct/12 12:36 PM | |||||
|
3h 15m | 2 | Kurtis Cruzada | 12/Oct/12 12:49 PM | |||||
|
15h 27m | 4 | Kurtis Cruzada | 12/Oct/12 1:00 PM | |||||
|
9h 35m | 3 | Sulaiman Karmali | 12/Oct/12 8:21 PM | |||||
|
5d 22h 37m | 2 | Kurtis Cruzada | 15/Oct/12 1:10 PM | |||||
|
2d 2h 20m | 1 | Kurtis Cruzada | 17/Oct/12 3:30 PM |
trunk: revision 15997
3.9: revision 15998