singhpk234 commented on code in PR #13879:
URL: https://github.com/apache/iceberg/pull/13879#discussion_r3255005404
##########
open-api/rest-catalog-open-api.py:
##########
@@ -1444,6 +1579,53 @@ class AddSchemaUpdate(BaseUpdate):
)
+class ReadRestrictions(BaseModel):
+ """
+ Read restrictions for a table, including column projections and row filter
expressions.
+ A client MUST enforce the restrictions defined in this object when reading
data from the table.
+ These restrictions apply only to the authenticated principal, user, or
account associated with the request. They MUST NOT be interpreted as global
policy and MUST NOT be applied beyond the entity identified by the
Authentication header (or other applicable authentication mechanism).
+ If both properties are absent or empty, the ReadRestrictions object
imposes no restrictions and is equivalent to the field being absent from the
response. A server MUST NOT return an action for a column whose type is not
listed in that action's "Applicable to" set. For all actions, if the input
column value is NULL, the output MUST be NULL.
+ If a column projection targets a struct-typed field, other column
projections in the same ReadRestrictions MUST NOT target any of that struct's
subfields (at any depth). This avoids ambiguity about which action governs a
given leaf value.
+
+ """
+
+ required_column_projections: (
+ list[
+ MaskAlphanum
+ | MaskToFixedValue
+ | ReplaceWithNull
+ | ShowFirst4
+ | ShowLast4
+ | TruncateToYear
+ | TruncateToMonth
+ | Sha256Global
+ | Sha256QueryLocal
+ | ApplyExpression
+ ]
+ | None
+ ) = Field(
+ None,
+ alias='required-column-projections',
Review Comment:
column hiding is a metadata level operation (we have discussed this in
past), we can define a dedicated action for this later which say suppress this
column from projection, though this will have implications on system and
metadata tables, since this is not purely a data operation.
One can always just hide the column from the schema though to achieve the
same though.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]