File tree Expand file tree Collapse file tree 1 file changed +22
-1
lines changed
packages/cubejs-api-gateway/src Expand file tree Collapse file tree 1 file changed +22
-1
lines changed Original file line number Diff line number Diff line change @@ -1623,10 +1623,11 @@ class ApiGateway {
16231623 normalizedQueries . map (
16241624 async ( normalizedQuery , index ) => {
16251625 const loadRequestSQLStarted = new Date ( ) ;
1626- const sqlQuery = await ( await this . getCompilerApi ( context ) )
1626+ const sqlQueryRaw = await ( await this . getCompilerApi ( context ) )
16271627 . getSql (
16281628 this . coerceForSqlQuery ( normalizedQuery , context )
16291629 ) ;
1630+ const sqlQuery = this . sanitizeSqlQuery ( sqlQueryRaw ) ;
16301631
16311632 this . log ( {
16321633 type : 'Load Request SQL' ,
@@ -1642,6 +1643,26 @@ class ApiGateway {
16421643 return sqlQueries ;
16431644 }
16441645
1646+ private sanitizeSqlQuery ( sqlQuery : any ) : any {
1647+ if ( sqlQuery . canUseTransformedQuery ) {
1648+ // Keep only granularityHierarchies related to the query time dimensions
1649+ const tdArr = sqlQuery . canUseTransformedQuery . timeDimensions . map ( ( [ m , _g ] ) => m ) ;
1650+ if ( tdArr . length > 0 ) {
1651+ sqlQuery . canUseTransformedQuery . granularityHierarchies =
1652+ Object . fromEntries (
1653+ Object . entries ( sqlQuery . canUseTransformedQuery . granularityHierarchies )
1654+ . filter (
1655+ ( [ key ] ) => tdArr . some ( ( prefix : string ) => key . startsWith ( prefix ) )
1656+ )
1657+ ) ;
1658+ } else {
1659+ sqlQuery . canUseTransformedQuery . granularityHierarchies = { } ;
1660+ }
1661+ }
1662+
1663+ return sqlQuery ;
1664+ }
1665+
16451666 private sanitizeQueryForLogging ( query : NormalizedQuery ) : NormalizedQuery {
16461667 const res : NormalizedQuery = { ...query } ;
16471668 delete res . cacheMode ;
You can’t perform that action at this time.
0 commit comments