[
https://issues.apache.org/jira/browse/CASSANDRA-14825?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16924124#comment-16924124
]
Benedict commented on CASSANDRA-14825:
--------------------------------------
There is a legitimate case to be made to support both approaches, in my opinion.
{{DESCRIBE}}'s main advantage, to my mind, is that it could support versioning
of CQL grammar, so that you can ask for a string compatible with a given CQL
version. This is difficult to do cleanly with a virtual table.
The presented factors in its favour don't seem relevant to me, and please try
to avoid characterising others' disagreement with your points as
misunderstanding or ignoring them:
# {{cqlsh}} having it already does not seem particularly important, and should
not bind our future decisions. It is a single tool, even if it is bundled.
# Virtual tables are also very capable of surfacing the necessary information
to produce dependent types, for instance as a collection column of the names of
those type.
Further to this second point, virtual tables permit surfacing a whole lot more
information in a structured _searchable_ manner. Want to find which tables use
a given type? Search on that collection column.
>From a pure UX, personal preference perspective, I can say that I hate
>features like {{DESCRIBE}} because I have to go and google the manual. With a
>virtual table interface, I just {{SELECT}} and progressively narrow my
>criteria with {{WHERE}} clauses. I preferred this approach in SQL Server than
>I do today's {{DESCRIBE}} in {{cqlsh}}.
So, I can see a case for both. But if I had to choose, I would prefer virtual
tables, and I haven't seen an argument that unequivocally seals the deal one
way or the other.
> Expose table schema for drivers
> -------------------------------
>
> Key: CASSANDRA-14825
> URL: https://issues.apache.org/jira/browse/CASSANDRA-14825
> Project: Cassandra
> Issue Type: Improvement
> Components: Legacy/CQL
> Reporter: Chris Lohfink
> Assignee: Chris Lohfink
> Priority: Normal
> Labels: pull-request-available
> Time Spent: 1h 50m
> Remaining Estimate: 0h
>
> Currently the drivers recreate the CQL for the tables by putting together the
> system table values. This is very difficult to keep up to date and buggy
> enough that its only even supported in Java and Python drivers. Cassandra
> already has some limited output available for snapshots that we could provide
> in a virtual table or new query that the drivers can fetch. This can greatly
> reduce the complexity of drivers while also reducing bugs like
> CASSANDRA-14822 as the underlying schema and properties change.
--
This message was sent by Atlassian Jira
(v8.3.2#803003)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]