[
https://issues.apache.org/jira/browse/CASSANDRA-18068?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17692291#comment-17692291
]
Andres de la Peña commented on CASSANDRA-18068:
-----------------------------------------------
Would you prefer the previous approach:
{code:java}
CREATE TABLE t1(k int MASKED WITH mask_replace(-1) PRIMARY KEY);
CREATE TABLE t2(k int,
c int,
s int STATIC MASKED WITH mask_replace(-1),
PRIMARY KEY(k, c));
{code}
Or also moving the mask to the right of {{{}PRIMARY KEY{}}}:
{code:java}
CREATE TABLE t1(k int PRIMARY KEY MASKED WITH mask_replace(-1));
CREATE TABLE t2(k int,
c int,
s int STATIC MASKED WITH mask_replace(-1),
PRIMARY KEY(k, c));
{code}
?
I'd say I see both {{PRIMARY KEY}} and {{STATIC}} more clearly when they are at
the end of the declaration than when they are sandwiched between the type and
the mask, but I see the point of favouring left-to-right reading.
Looking for examples out there, it seems that SQL Server puts the column
constraints (primary key, unique, etc.) after the mask:
[https://learn.microsoft.com/en-us/sql/t-sql/statements/create-table-transact-sql?view=sql-server-ver16]
> Allow to attach native masking functions to table columns
> ---------------------------------------------------------
>
> Key: CASSANDRA-18068
> URL: https://issues.apache.org/jira/browse/CASSANDRA-18068
> Project: Cassandra
> Issue Type: New Feature
> Components: Feature/Dynamic Data Masking
> Reporter: Andres de la Peña
> Assignee: Andres de la Peña
> Priority: Normal
> Time Spent: 9h
> Remaining Estimate: 0h
>
> Allow to attach the native masking functions added by CASSANDRA-17941 to
> table columns, as defined by
> [CEP-20|https://cwiki.apache.org/confluence/display/CASSANDRA/CEP-20%3A+Dynamic+Data+Masking].
>
> {{CREATE TABLE}} statements would look like:
> {code}
> > CREATE TABLE patients (
> id timeuuid PRIMARY KEY,
> name text MASKED WITH partial(2, 1),
> birth date MASKED WITH default()
> );
> > INSERT INTO patients(id, name, birth) VALUES (now(), 'alice', '1982-12-21);
>
> > SELECT name, birth FROM patients;
>
> name | birth
> ---------+------------
> alXXXXe | 1900-01-01
> {code}
> {{ALTER TABLE}} statements would look like:
> {code}
> > ALTER TABLE patients ALTER name MASKED WITH partial(2, 1);
> > ALTER TABLE patients ALTER name WITHOUT MASK;
> {code}
> It won't be possible to use masked columns in the WHERE and IF clauses of
> SELECT and UPDATE statements.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]