[ 
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: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to