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
The table column reference was registered incorectly with the original
case taken from the view definition. It then failed to match the column
schema returned from `SystemAccessControl` and the mask was not applied.
Additionally, the registered table column references are also used to
check access to the columns; those were also using the original case
from the view definition and access control was not recognizing them.
Fixestrinodb#24054.
ksobolew
added a commit
to ksobolew/trino
that referenced
this issue
Dec 18, 2024
The table column reference was registered incorectly with the original
case taken from the view definition. It then failed to match the column
schema returned from `SystemAccessControl` and the mask was not applied.
Instead of sprinkling `toLowerCase()` here and there, we will associate
the original `Field` with the column mask and use `Field#canResove` to
do the matching. The problem with this is that there's no way to do
efficient lookups by name in a case-insensitive way, so we have to
iterate the list of `Field`-`Expression` pairs to find a match.
Fixestrinodb#24054.
The view can be as simple as something like this:
When there is a column mask on "column", it should work, because in Trino column names are case-insensitive, but it does not.
(It's difficult to have a full reproducer in a ticket description, because there's no syntax to create column masks in SQL.)
The text was updated successfully, but these errors were encountered: