On Thu, Jul 28, 2011 at 9:35 AM, Jonathan Ellis <jbel...@gmail.com> wrote:
> I'm talking about data compatibility, which is more important than cli > statement compatibility. > > Consider someone with a python program that creates a CF with the > default settings and inserts some (say) uuid columns and long data. > > If we changed CF creation to default to ascii we would break this program. > > So we had to leave CF comparator defaulting to BytesType, when we > changed the CLI to respect comparator/validator definitions when > parsing user input. > > You could argue that CLI should continue to parse BytesType as ascii > but then how could a user input actual binary data? The lesser evil > here is to educate users that "if you want to use ascii column names, > that is how you should declare the comparator." > > On Thu, Jul 28, 2011 at 8:23 AM, Edward Capriolo <edlinuxg...@gmail.com> > wrote: > > > > > > On Thu, Jul 28, 2011 at 8:46 AM, Jonathan Ellis <jbel...@gmail.com> > wrote: > >> > >> It defaults to hex because that is how bytestype is represented. The > >> default remains bytestype to provide the kind of backwards > >> compatibility you are complaining about. :) > >> > >> On Thu, Jul 28, 2011 at 6:56 AM, Edward Capriolo <edlinuxg...@gmail.com > > > >> wrote: > >> > > >> > > >> > On Thursday, July 28, 2011, Sasha Dolgy <sdo...@gmail.com> wrote: > >> >> Unfortunately, the perception that I have as a business consumer and > >> >> night-time hack, is that more importance and effort is placed on > >> >> ensuring information is up to date and correct on the > >> >> http://www.datastax.com/docs/0.8/index website and less on keeping > the > >> >> wiki up to date or relevant... which forces people to be introduced > to > >> >> a for-profit company to get relevant information ... which just so > >> >> happens to employ a substantial amount of Apache Cassandra > >> >> contributors ... not that there's anything wrong with that, right? > >> >> > >> >> On Thu, Jul 28, 2011 at 10:46 AM, David Boxenhorn < > da...@citypath.com> > >> >> wrote: > >> >>> This is part of a much bigger problem, one which has many parts, > among > >> >>> them: > >> >>> > >> >>> 1. Cassandra is complex. Getting a gestalt understanding of it makes > >> >>> me > >> >>> think I understand how Alzheimer's patients must feel. > >> >>> 2. There is no official documentation. Perhaps everything is out > there > >> >>> somewhere, who knows? > >> >>> 3. Cassandra is a moving target. Books are out of date before they > hit > >> >>> the > >> >>> press. > >> >>> 4. Most of the important knowledge about Cassandra exists in a kind > of > >> >>> oral > >> >>> history, that is hard to keep up with, and even harder to understand > >> >>> once > >> >>> it's long past. > >> >>> > >> >>> I think it is clear that we need a better one-stop-shop for good > >> >>> documentation. What hasn't been talked about much - but I think it's > >> >>> just > >> >>> as > >> >>> important - is a good one-stop-shop for Cassandra's oral history. > >> >>> > >> >>> (You might think this list is the place, but it's too noisy to be > >> >>> useful, > >> >>> except at the very tip of the cowcatcher. Cassandra needs a > canonized > >> >>> version of its oral history.) > >> >> > >> > > >> > Well the problem is not lack of documentation but changing things that > >> > probably do not matter and thus invalidating all documentation. > >> > > >> > To stay on point. Why does the cli default to hex. Come on who is > doing > >> > inserts in hex? Would it be more.natural for the cli to so this: > >> > > >> > 'ascii' auto function call ascii > >> > "utf8" auto function utf8 > >> > Oxafaf auto function hex > >> > > >> > Or really do not change get add a new statement > >> > Typedget > >> > And leave get alone > >> > > >> > The argument to have two methods that almost do the same thing is a > bad > >> > one, > >> > but it is no worse then invalidating tons of docs. But really I can't > >> > support a hex default, I know no one with a hex keyboard. > >> > > >> > > >> > >> > >> > >> -- > >> Jonathan Ellis > >> Project Chair, Apache Cassandra > >> co-founder of DataStax, the source for professional Cassandra support > >> http://www.datastax.com > > > > I am a little confused. How can it be backwards compatible if the same > > statements don't work across versions? > > > > I am sure there is a good reason, but isn't there some clever way this > can > > be done on the CLI without forcing me to create the column family with > meta > > data or wrapping everything in asci('')? Something out of the box that is > > easy and makes both worlds happy? > > > > Remember I left the rdbms world to cure my addictions to schema's, don't > be > > a 'schema pusher' :) > > > > > > -- > Jonathan Ellis > Project Chair, Apache Cassandra > co-founder of DataStax, the source for professional Cassandra support > http://www.datastax.com > I agree that defaulting a column family to ascii to make the CLI happy is the wrong thing to do. But I think that the CLI is for users, users are almost always working with human readable data. I feel that most CLI's do not force users to wrap CLI strings in ascii('') and are capable of working with binary data. http://dev.mysql.com/doc/refman/5.0/en/string-syntax.html Maybe I am wrong, but I feel like this change could have been done without being disruptive and forcing users to re-educate. Can the antlr grammar be re-worked in any such way?