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

Reply via email to