Another interesting query would be to retrieve all the fields annotated with PII for example.
On 2025/08/11 01:01:21 Yifan Cai wrote: > > > > Will there be an option to do a SELECT query to read all the annotations > > of a table? > > > It is an interesting question! Would you mind sharing an example of the > output you'd expect from a query like *"SELECT * FROM > system_schema.annotations where keyspace_name=<> and table_name=<>"*? I am > curious how that might differ from what we get when running "DESC TABLE". > > - Yifan > > On Sat, Aug 9, 2025 at 9:43 AM Jaydeep Chovatia <chovatia.jayd...@gmail.com> > wrote: > > > >we could explore enriching the syntax with DESCRIBE > > > > Will there be an option to do a SELECT query to read all the annotations > > of a table? Something like *"SELECT * FROM system_schema.annotations > > where keyspace_name=<> and table_name=<>"* > > It would be helpful to have a structured CQL query on top of printing the > > annotations through DESC so that the information can be consumed easily. > > > > Jaydeep > > > > On Fri, Aug 8, 2025 at 11:03 AM Jyothsna Konisa <jyothsna1...@gmail.com> > > wrote: > > > >> Thanks, Joel, for the positive response. > >> > >> 1. User-defined vs. pre-defined annotation types > >> > >> We'd like to have one predefined annotation, Description, but also give > >> users the flexibility to create new ones. If a user feels that a custom > >> annotation like @Desc suits their use case, they should be allowed to use > >> it, as these elements are purely descriptive and have no actions associated > >> with them. > >> > >> 2. Syntactically, is it worth considering other alternatives? > >> > >> You're concerned that having several annotations on multiple columns > >> could make schemas difficult to read. For now, we can have annotations > >> printed as part of DESCRIBE statements. If there's a strong need to > >> suppress annotations for readability, we could explore enriching the syntax > >> with DESCRIBE [FULL] SCHEMA [WITH ANNOTATIONS], similar to the existing > >> DESCRIBE [FULL] SCHEMA. > >> > >> Thanks, > >> Jyothsna > >> > >> On Fri, Aug 8, 2025 at 10:56 AM Jyothsna Konisa <jyothsna1...@gmail.com> > >> wrote: > >> > >>> 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 > >>>>> > >>>>> > >>>>> > >>>>> >