[ https://issues.apache.org/jira/browse/CASSANDRA-4684?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13470072#comment-13470072 ]
Sylvain Lebresne commented on CASSANDRA-4684: --------------------------------------------- All I'm saying is that there is a lot of case where a client needs to access the schema. And for some tools, like an eclipse plugin for instance, they would need to access the schema all the time (to offer say completion or validation). Now you don't need this to access the schema, you query the system table. However, if you do need to access the schema often, how do you do that? Well, either you query the database every damn time, and your plugin/tool/code will be super slow. Or, more likely, you cache the schema client side and implement some regular polling to refresh that cache. Which works, mostly, but has the defaults of polling: should you poll often or not? If you poll too often it's inefficient, if you poll not often enough you'll provide a bad user experience. Don't get me wrong, I'm not pretending that this is the worst problem database face today, but that is not far fetched either and all this ticket does is to provide a better solution to that problem. So why wouldn't we give people a better solution if we can? And we can very easily. It's not like this small patch touch any sensible part of the code, or somehow makes parts of the code unreadable (at least to me it seems like a very minor addition). I also note that the patch don't even impose anything on clients implementors since events are optional (and optional by type of events). As for libpq, as I said, this patch is an optimization so the fact that libpq don't support it is not a proof that it's useless either. And as a side note, and while I'm not expert in libpq, it has an aynchronous notification mechanism and I wouldn't be surprised that along with some simple trigger you can very easily have schema change notifications (does the eclipse plugin uses that if that does work? I don't know and frankly I don't care). > Binary protocol: inform clients of schema changes > ------------------------------------------------- > > Key: CASSANDRA-4684 > URL: https://issues.apache.org/jira/browse/CASSANDRA-4684 > Project: Cassandra > Issue Type: Improvement > Affects Versions: 1.2.0 beta 1 > Reporter: Sylvain Lebresne > Assignee: Sylvain Lebresne > Priority: Minor > Fix For: 1.2.0 beta 2 > > Attachments: 0001-Return-schema-change-infos.txt, > 0002-Add-migration-events.txt > > > It would be nice to inform clients when a schema change occurs as this would > allow said client to maintain the current state of the schema, which might be > useful/desirable. To allow that, we can: > # return that a query has changed the schema (instead of simply a 'void' > return), in the same spirit than CASSANDRA-3707. > # add events notification on schema change. > Just to be clear, the goal is only to inform that a change has occured, the > client would still have to query the system table to know the exact content > of the change, but at least it'll know when to do such query. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira