-
Notifications
You must be signed in to change notification settings - Fork 3.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Navs: nav expansion on GJ QSRE in projection doesn't introduce parameter #8186
Comments
…ntroduce parameter Problem was that when trying to find query to bind with via outer parameter we were too strict and would not find the appropriate query. We used to share the logic for regular binding and outer parameter binding, however the latter can be more loose and therefore bind to bigger range of queries (e.g. client-side groupjoin). This also enables additional include scenarios when GJ qsre is projected - fixed a small bug in this area that was exposed by the main fix.
…ntroduce parameter Problem was that when trying to find query to bind with via outer parameter we were too strict and would not find the appropriate query. We used to share the logic for regular binding and outer parameter binding, however the latter can be more loose and therefore bind to bigger range of queries (e.g. client-side groupjoin). This also enables additional include scenarios when GJ qsre is projected - fixed a small bug in this area that was exposed by the main fix.
…ntroduce parameter Problem was that when trying to find query to bind with via outer parameter we were too strict and would not find the appropriate query. We used to share the logic for regular binding and outer parameter binding, however the latter can be more loose and therefore bind to bigger range of queries (e.g. client-side groupjoin). This also enables additional include scenarios when GJ qsre is projected - fixed a small bug in this area that was exposed by the main fix.
…ntroduce parameter Problem was that when trying to find query to bind with via outer parameter we were too strict and would not find the appropriate query. We used to share the logic for regular binding and outer parameter binding, however the latter can be more loose and therefore bind to bigger range of queries (e.g. client-side groupjoin). This also enables additional include scenarios when GJ qsre is projected - fixed a small bug in this area that was exposed by the main fix.
…ntroduce parameter Problem was that when trying to find query to bind with via outer parameter we were too strict and would not find the appropriate query. We used to share the logic for regular binding and outer parameter binding, however the latter can be more loose and therefore bind to bigger range of queries (e.g. client-side groupjoin). This also enables additional include scenarios when GJ qsre is projected - fixed a small bug in this area that was exposed by the main fix.
Quick summary for @anpete of the discussion. Binding to outer parameter is relational concept at present. That means we bind to outer parameter only if QSRE on which outer parameter is generated is fully translated. For this case, the outer QM is not exactly SelectExpression since there is client side processing for group join. So when we try to find the SelectExpression for querysource, there is none and we cannot convert to outer parameter. Client eval follows. What should happen is, if we cannot find SelectExpression then we should fall to Core Level outer parameter introduction which basically binds with result of client _GroupJoin. At present we already have way to translate this (which is called when we do client translation of predicate but it should be applied to left/right parts of predicate separately). The translation generated for client predicate's left side can be used for outer parameter. Introduction of this will ensure that whenever we are producing N+1 queries we always introduce outer parameter because we can generate outer parameter with client side methods too. |
…ntroduce parameter Problem was that when trying to find query to bind with via outer parameter we were too strict and would not find the appropriate query. However it is also safe to bind to grouping qsre, even though it is wrapped by client GroupJoin. This also enables additional include scenarios when GJ qsre is projected - fixed a small bug in this area that was exposed by the main fix. Gf
…ntroduce parameter Problem was that when trying to find query to bind with via outer parameter we were too strict and would not find the appropriate query. However it is also safe to bind to grouping qsre, even though it is wrapped by client GroupJoin. This also enables additional include scenarios when GJ qsre is projected - fixed a small bug in this area that was exposed by the main fix.
fixed in 32a196a |
produces:
produces:
The text was updated successfully, but these errors were encountered: