Thanks, Stefan, for your feedback!

To answer your questions,

1. I agree; annotations can optionally take arguments, and if an annotation
doesn't have an argument, we can skip the arguments in the "DESCRIBE"
statement's output.

2. Good point. We originally considered using "ANNOTATED WITH" but found it
too verbose. As an alternative, we proposed using "@" preceding the
annotation to signal it to the parser. We are open to using an explicit
phrase like "ANNOTATED WITH" if you think it would make the code more
readable.

A full example of annotations along with constraints and masking could be:


CREATE TABLE test_ks.test_table (
    id int PRIMARY KEY,
    col2 int CHECK col2 > 0 ANNOTATED WITH @PII AND @DESCRIPTION('this is
column col2') MASKED WITH default()
);

OR

CREATE TABLE test_ks.test_table (
    id int PRIMARY KEY,
    col2 int CHECK col2 > 0 @PII AND @DESCRIPTION('this is column col2')
MASKED WITH default()
);



3. We do not have a prototype yet, but I think we will have to introduce
new parsing branch for annotations at the table level

I hope I answered all your questions!

- Jyothsna

On Thu, Aug 7, 2025 at 11:36 AM Joel Shepherd <sheph...@amazon.com> wrote:

> I like the aim of the CEP. Completely onboard with the idea that GenAI
> tooling works better when you can provide it useful context about the data
> it is working with. An organization I worked with in the past had a lot of
> good results with marking up API models (not DB schemas, but similar idea)
> with authorization-related annotations and using those to drive policy
> linters and end-user interfaces. So, sold on the value of the capability.
>
> Two things I'm less sure of:
>
> 1) User-defined vs pre-defined annotation types: I appreciate the
> flexibility that user-defined annotations appears to give, but it adds
> extra room for error. E.g. if annotation names are case-sensitive, do I
> (the user) have to actively prevent creation of @description? Or, police
> the accidental creation of alternative names like @Desc? If the community
> settled on a small, fixed set of supported annotations, so Cassandra itself
> was authoritative for valid annotation names, would make the feature a lot
> less valuable, or prevent offering user-defined annotations in the future?
>
> 2) Syntactically, is it worth considering other alternatives? I was trying
> to imagine a CREATE TABLE statement marked up with two or three types of
> column-level annotations, and my sense is that it could get hard to read
> quickly. Is it worth considering Javadoc-style annotations in schema
> comments instead? I think in today's world that means that they would not
> be accessible via CQL/Cassandra (CQL comments are not persisted as part of
> the schema, correct?) but they could be accessible to other
> schema-processing tools and IMO be a more readable syntax. It'd be good to
> work through a couple use-cases for actually using the data provided by the
> annotations and get a sense of whether making them first-class entities in
> CQL is necessary for getting most of the value from them.
>
> Thanks -- Joel.
> On 8/6/2025 6:59 PM, Jyothsna Konisa wrote:
>
> Sorry for the incorrect editable link, here is the updated link to the CEP
> 52: Schema Annotations for ApacheCassandra
> <https://cwiki.apache.org/confluence/display/CASSANDRA/CEP+52%3A+Schema+Annotations+for+ApacheCassandra>
>
> On Wed, Aug 6, 2025 at 4:26 PM Jyothsna Konisa <jyothsna1...@gmail.com>
> wrote:
>
>> Hello Everyone!
>>
>> We would like to propose CEP 52: Schema Annotations for ApacheCassandra
>> <https://cwiki.apache.org/confluence/pages/resumedraft.action?draftId=373887528&draftShareId=339b7f4e-9bc2-45bd-9a80-b0d4215e3f45&;>
>>
>> This CEP outlines a plan to introduce *Schema Annotations* as a way to
>> add better context to schema elements. We're also proposing a set of new
>> DDL statements to manage these annotations.
>>
>> We believe these annotations will be highly beneficial for several key
>> areas:
>>
>>    -
>>
>>    GenAI Applications: Providing more context to LLMs could
>>    significantly improve the accuracy and relevance of generated content.
>>    -
>>
>>    Data Governance: Annotations can help in enforcing policies using
>>    annotations
>>    -
>>
>>    Compliance: They can be used to track and manage compliance
>>    requirements directly within the schema.
>>
>> We're eager to hear your thoughts and feedback on this proposal. Please
>> keep the discussion within this mailing thread.
>>
>> Thanks for your time and feedback in advance.
>>
>> Best regards,
>>
>> Jyothsna & Yifan
>>
>>
>>
>>

Reply via email to