Return-Path: Delivered-To: apmail-cassandra-commits-archive@www.apache.org Received: (qmail 79257 invoked from network); 21 Jan 2011 23:23:06 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 21 Jan 2011 23:23:06 -0000 Received: (qmail 23195 invoked by uid 500); 21 Jan 2011 23:23:06 -0000 Delivered-To: apmail-cassandra-commits-archive@cassandra.apache.org Received: (qmail 23140 invoked by uid 500); 21 Jan 2011 23:23:05 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@cassandra.apache.org Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 23132 invoked by uid 99); 21 Jan 2011 23:23:05 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 21 Jan 2011 23:23:05 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 21 Jan 2011 23:23:04 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id p0LNMhIl021543 for ; Fri, 21 Jan 2011 23:22:44 GMT Message-ID: <13147409.119051295652163927.JavaMail.jira@thor> Date: Fri, 21 Jan 2011 18:22:43 -0500 (EST) From: "Eric Evans (JIRA)" To: commits@cassandra.apache.org Subject: [jira] Commented: (CASSANDRA-2025) generalized way of expressing hierarchical values In-Reply-To: <1244121.114291295639864500.JavaMail.jira@thor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/CASSANDRA-2025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12984993#action_12984993 ] Eric Evans commented on CASSANDRA-2025: --------------------------------------- That is similar to how the CLI handles this case, and I'm not a huge fan. Plus, if it's important to come up with something that works for the compound column example, then that would result in something like the following (which is Not Good IMO): {code:style=SQL} SELECT {"a": {"b": {"c": "foo"}}} FROM ... {code} > generalized way of expressing hierarchical values > ------------------------------------------------- > > Key: CASSANDRA-2025 > URL: https://issues.apache.org/jira/browse/CASSANDRA-2025 > Project: Cassandra > Issue Type: Sub-task > Components: API > Reporter: Eric Evans > Assignee: Eric Evans > Priority: Minor > Fix For: 0.8 > > Original Estimate: 0h > Remaining Estimate: 0h > > While hashing out {{CREATE KEYSPACE}}, it became obvious that we needed a syntax for expressing hierarchical values. Properties like {{replication_factor}} can be expressed simply using keyword arguments like ({{replication_factor = 3}}), but {{strategy_options}} is a map of strings. > The solution I took in CASSANDRA-1709 was to dot-delimit "map name" and option key, so for example: > {code:style=SQL} > CREATE KEYSPACE keyspace WITH ... AND strategy_options.DC1 = "1" ... > {code} > This led me to wonder if this was a general enough approach for any future cases that might come up. One example might be compound/composite column names. Dot-delimiting is a bad choice here since it rules out ever introducing a float literal. > One suggestion would be to colon-delimit, so for example: > {code:style=SQL} > CREATE KEYSPACE keyspace WITH ... AND strategy_options:DC1 = "1" ... > {code} > As an aside, this also led me to the conclusion that {{CONSISTENCY.}} is probably a bad choice for consistency level specification. It mirrors the underlying enum for no good reason and should probably be changed to {{CONSISTENCY }} (i.e. omitting the separator). For example: > {code:style=SQL} > SELECT column FROM Standard2 USING CONSISTENCY QUORUM WHERE KEY = key; > {code} > Thoughts? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.