You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Another crazy one along the lines of #87, and confirms the issue hypothesized in #91.
The Problem
During final selection filtering in the execution pipeline, type awareness seems to be lost on base interface selections (i.e.: fields selected from an interface without going through a typed fragment). For example, here myInterface is an interface type that offers myUnion as a base field:
Stacking these abstract selections atop one another results in the following unsuccessful outcome... while the underlying queries look accurate, the final filtered result is off:
HOWEVER, this issue can be avoided by wrapping the second-level union in a typed fragment. The following selection works perfectly, implying that the problem is specifically with base interface selections:
I believe this requires a complimenting fix to the changes made in #91. While #91 assured that abstract types always have access to their type information, I believe that the execution pipeline must still be updated to leverage this base type information.
The text was updated successfully, but these errors were encountered:
The myInterface field was being treated as a namespace, and the namespace handler block was modifying the original user selection during planning rather than adjusting a copy. This is addressed in #108.
The fact that myInterface was being treated as a namespace is debatably problematic, though not strictly broken. A proposed fix for supporting interfaces with first-class routing is in #107.
Another crazy one along the lines of #87, and confirms the issue hypothesized in #91.
The Problem
During final selection filtering in the execution pipeline, type awareness seems to be lost on base interface selections (i.e.: fields selected from an interface without going through a typed fragment). For example, here
myInterface
is an interface type that offersmyUnion
as a base field:Stacking these abstract selections atop one another results in the following unsuccessful outcome... while the underlying queries look accurate, the final filtered result is off:
HOWEVER, this issue can be avoided by wrapping the second-level union in a typed fragment. The following selection works perfectly, implying that the problem is specifically with base interface selections:
Probable cause
I believe this requires a complimenting fix to the changes made in #91. While #91 assured that abstract types always have access to their type information, I believe that the execution pipeline must still be updated to leverage this base type information.
The text was updated successfully, but these errors were encountered: