Author: eevans
Date: Thu Jan 27 21:57:24 2011
New Revision: 1064327

URL: http://svn.apache.org/viewvc?rev=1064327&view=rev
Log:
update doco for CREATE KEYSPACE

Patch by eevans for CASSANDRA-1709

Modified:
    cassandra/trunk/doc/cql/CQL.html
    cassandra/trunk/doc/cql/CQL.textile

Modified: cassandra/trunk/doc/cql/CQL.html
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/doc/cql/CQL.html?rev=1064327&r1=1064326&r2=1064327&view=diff
==============================================================================
--- cassandra/trunk/doc/cql/CQL.html (original)
+++ cassandra/trunk/doc/cql/CQL.html Thu Jan 27 21:57:24 2011
@@ -1,4 +1,4 @@
-<?xml version='1.0' encoding='utf-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD 
XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";><html 
xmlns="http://www.w3.org/1999/xhtml";><head><meta http-equiv="Content-Type" 
content="text/html; charset=utf-8"/></head><body><h1 
id="CassandraQueryLanguageCQLv0.99.1">Cassandra Query Language (CQL) 
v0.99.1</h1><h2 id="TableofContents">Table of Contents</h2><ol 
style="list-style: none;"><li><a 
href="#CassandraQueryLanguageCQLv0.99.1">Cassandra Query Language (CQL) 
v0.99.1</a><ol style="list-style: none;"><li><a href="#TableofContents">Table 
of Contents</a></li><li><a href="#USE">USE</a></li><li><a 
href="#SELECT">SELECT</a><ol style="list-style: none;"><li><a 
href="#SpecifyingColumns">Specifying Columns</a></li><li><a 
href="#ColumnFamily">Column Family</a></li><li><a 
href="#ConsistencyLevel">Consistency Level</a></li><li><a 
href="#Filteringrows">Filtering rows</a></li><li><a 
href="#Limits">Limits</a></li></ol></li>
 <li><a href="#UPDATE">UPDATE</a><ol style="list-style: none;"><li><a 
href="#ColumnFamily2">Column Family</a></li><li><a 
href="#ConsistencyLevel2">Consistency Level</a></li><li><a 
href="#SpecifyingColumnsandRow">Specifying Columns and 
Row</a></li></ol></li><li><a href="#DELETE">DELETE</a><ol style="list-style: 
none;"><li><a href="#SpecifyingColumns2">Specifying Columns</a></li><li><a 
href="#ColumnFamily3">Column Family</a></li><li><a 
href="#ConsistencyLevel3">Consistency Level</a></li><li><a 
href="#deleterows">Specifying Rows</a></li></ol></li><li><a 
href="#TRUNCATE">TRUNCATE</a></li><li><a href="#CommonIdioms">Common 
Idioms</a><ol style="list-style: none;"><li><a href="#consistency">Specifying 
Consistency</a></li><li><a href="#terms">Term specification</a><ol 
style="list-style: none;"><li><a href="#StringLiterals">String 
Literals</a></li><li><a href="#Integerslongs">Integers / 
longs</a></li></ol></li></ol></li></ol></li></ol><h2 
id="USE">USE</h2><p><i>Synopsis:</i></p><pre><
 code>USE &lt;KEYSPACE&gt;;
+<?xml version='1.0' encoding='utf-8' ?><!DOCTYPE html PUBLIC "-//W3C//DTD 
XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";><html 
xmlns="http://www.w3.org/1999/xhtml";><head><meta http-equiv="Content-Type" 
content="text/html; charset=utf-8"/></head><body><h1 
id="CassandraQueryLanguageCQLv0.99.1">Cassandra Query Language (CQL) 
v0.99.1</h1><h2 id="TableofContents">Table of Contents</h2><ol 
style="list-style: none;"><li><a 
href="#CassandraQueryLanguageCQLv0.99.1">Cassandra Query Language (CQL) 
v0.99.1</a><ol style="list-style: none;"><li><a href="#TableofContents">Table 
of Contents</a></li><li><a href="#USE">USE</a></li><li><a 
href="#SELECT">SELECT</a><ol style="list-style: none;"><li><a 
href="#SpecifyingColumns">Specifying Columns</a></li><li><a 
href="#ColumnFamily">Column Family</a></li><li><a 
href="#ConsistencyLevel">Consistency Level</a></li><li><a 
href="#Filteringrows">Filtering rows</a></li><li><a 
href="#Limits">Limits</a></li></ol></li>
 <li><a href="#UPDATE">UPDATE</a><ol style="list-style: none;"><li><a 
href="#ColumnFamily2">Column Family</a></li><li><a 
href="#ConsistencyLevel2">Consistency Level</a></li><li><a 
href="#SpecifyingColumnsandRow">Specifying Columns and 
Row</a></li></ol></li><li><a href="#DELETE">DELETE</a><ol style="list-style: 
none;"><li><a href="#SpecifyingColumns2">Specifying Columns</a></li><li><a 
href="#ColumnFamily3">Column Family</a></li><li><a 
href="#ConsistencyLevel3">Consistency Level</a></li><li><a 
href="#deleterows">Specifying Rows</a></li></ol></li><li><a 
href="#TRUNCATE">TRUNCATE</a></li><li><a href="#CREATEKEYSPACE">CREATE 
KEYSPACE</a></li><li><a href="#CommonIdioms">Common Idioms</a><ol 
style="list-style: none;"><li><a href="#consistency">Specifying 
Consistency</a></li><li><a href="#terms">Term specification</a><ol 
style="list-style: none;"><li><a href="#StringLiterals">String 
Literals</a></li><li><a href="#Integerslongs">Integers / 
longs</a></li></ol></li></ol></li></ol></li><
 /ol><h2 id="USE">USE</h2><p><i>Synopsis:</i></p><pre><code>USE 
&lt;KEYSPACE&gt;;
 </code></pre><p>A <code>USE</code> statement consists of the <code>USE</code> 
keyword, followed by a valid keyspace name.  Its purpose is to assign the 
per-connection, current working keyspace.  All subsequent keyspace-specific 
actions will be performed in the context of the supplied value.</p><h2 
id="SELECT">SELECT</h2><p><i>Synopsis:</i></p><pre><code>SELECT [FIRST N] 
[REVERSED] &lt;SELECT EXPR&gt; FROM &lt;COLUMN FAMILY&gt; [USING 
&lt;CONSISTENCY&gt;]
         [WHERE &lt;CLAUSE&gt;] [LIMIT N];
 </code></pre><p>A <code>SELECT</code> is used to read one or more records from 
a Cassandra column family. It returns a result-set of rows, where each row 
consists of a key and a collection of columns corresponding to the 
query.</p><h3 id="SpecifyingColumns">Specifying Columns</h3><pre><code>SELECT 
[FIRST N] [REVERSED] name1, name2, name3 FROM ...
@@ -21,10 +21,12 @@ APPLY BATCH
 </code></pre><p>When batching UPDATEs, a single consistency level is used for 
the entire batch, it appears after the <code>BEGIN BATCH</code> statement, and 
uses the standard <a href="#consistency">consistency level specification</a>. 
Batch UPDATEs default to <code>CONSISTENCY.ONE</code> when left 
unspecified.</p><p><em>NOTE: While there are no isolation guarantees,  
<code>UPDATE</code> queries are atomic within a give record.</em></p><h2 
id="DELETE">DELETE</h2><p><em>Synopsis:</em></p><pre><code>DELETE [COLUMNS] 
FROM &lt;COLUMN FAMILY&gt; [USING &lt;CONSISTENCY&gt;] WHERE KEY = keyname1
 DELETE [COLUMNS] FROM &lt;COLUMN FAMILY&gt; [USING &lt;CONSISTENCY&gt;] WHERE 
KEY IN (keyname1, keyname2);
 </code></pre><p>A <code>DELETE</code> is used to perform the removal of one or 
more columns from one or more rows.</p><h3 id="SpecifyingColumns2">Specifying 
Columns</h3><pre><code>DELETE [COLUMNS] ...
-</code></pre><p>Following the <code>DELETE</code> keyword is an optional 
comma-delimited list of column name terms. When no column names are specified, 
the remove applies to the entire row(s) matched by the <a 
href="#deleterows"><code>WHERE</code> clause</a></p><h3 
id="ColumnFamily3">Column Family</h3><pre><code>DELETE ... FROM &lt;COLUMN 
FAMILY&gt; ...
+</code></pre><p>Following the <code>DELETE</code> keyword is an optional 
comma-delimited list of column name terms. When no column names are specified, 
the remove applies to the entire row(s) matched by the <a 
href="#deleterows">WHERE clause</a></p><h3 id="ColumnFamily3">Column 
Family</h3><pre><code>DELETE ... FROM &lt;COLUMN FAMILY&gt; ...
 </code></pre><p>The column family name follows the list of column 
names.</p><h3 id="ConsistencyLevel3">Consistency Level</h3><pre><code>UPDATE 
... [USING &lt;CONSISTENCY&gt;] ...
 </code></pre><p>Following the column family identifier is an optional <a 
href="#consistency">consistency level specification</a>.</p><h3 
id="deleterows">Specifying Rows</h3><pre><code>UPDATE ... WHERE KEY = keyname1
 UPDATE ... WHERE KEY IN (keyname1, keyname2)
 </code></pre><p>The <code>WHERE</code> clause is used to determine which 
row(s) a <code>DELETE</code> applies to.  The first form allows the 
specification of a single keyname using the <code>KEY</code> keyword and the 
<code>=</code> operator.  The second form allows a list of keyname terms to be 
specified using the <code>IN</code> notation and a parenthesized list of 
comma-delimited keyname terms.</p><h2 
id="TRUNCATE">TRUNCATE</h2><p><em>Synopsis:</em></p><pre><code>TRUNCATE 
&lt;COLUMN FAMILY&gt;
-</code></pre><p>Accepts a single argument for the column family name, and 
permanently removes all data from said column family.</p><h2 
id="CommonIdioms">Common Idioms</h2><h3 id="consistency">Specifying 
Consistency</h3><pre><code>... USING &lt;CONSISTENCY&gt; ...
+</code></pre><p>Accepts a single argument for the column family name, and 
permanently removes all data from said column family.</p><h2 
id="CREATEKEYSPACE">CREATE 
KEYSPACE</h2><p><em>Synopsis:</em></p><pre><code>CREATE KEYSPACE &lt;NAME&gt; 
WITH replication_factor = &lt;NUM&gt; AND strategy_class = "&lt;STRATEGY&gt;"
+    [AND strategy_options.&lt;OPTION&gt; = &lt;VALUE&gt; [AND 
strategy_options.&lt;OPTION&gt; = &lt;VALUE&gt;]];
+</code></pre><p>The <code>CREATE KEYSPACE</code> statement creates a new 
top-level namespace (aka &#8220;keyspace&#8221;). Valid names are any string 
constructed of alphanumeric characters and underscores, but must begin with a 
letter.  Properties such as replication strategy and count are specified during 
creation using the following accepted keyword 
arguments:</p><table><tr><th>keyword</th><th>required</th><th>description</th></tr><tr><td>replication_factor</td><td>yes</td><td>Numeric
 argument that specifies the number of replicas for this 
keyspace.</td></tr><tr><td>strategy_class</td><td>yes</td><td>Class name to use 
for managing replica placement.  Any of the shipped strategies can be used by 
specifying the class name relative to org.apache.cassandra.locator, others will 
need to be fully-qualified and located on the 
classpath.</td></tr><tr><td>strategy_options</td><td>no</td><td>Some strategies 
require additional arguments which can be supplied by appending the option na
 me to the <code>strategy_options</code> keyword, separated by a colon 
(<code>:</code>).  For example, a strategy option of &#8220;DC1&#8221; with a 
value of &#8220;1&#8221; would be specified as <code>strategy_options:DC1 = 
"1"</code>.</td></tr></table><h2 id="CommonIdioms">Common Idioms</h2><h3 
id="consistency">Specifying Consistency</h3><pre><code>... USING 
&lt;CONSISTENCY&gt; ...
 </code></pre><p>Consistency level specifications are made up the keyword 
<code>USING</code>, followed by a consistency level identifier. Valid 
consistency levels are as 
follows:</p><ul><li><code>CONSISTENCY.ZERO</code></li><li><code>CONSISTENCY.ONE</code>
 
(default)</li><li><code>CONSISTENCY.QUORUM</code></li><li><code>CONSISTENCY.ALL</code></li><li><code>CONSISTENCY.DCQUORUM</code></li><li><code>CONSISTENCY.DCQUORUMSYNC</code></li></ul><h3
 id="terms">Term specification</h3><p>Where possible, the type of terms are 
inferred; the following term types are supported:</p><h4 
id="StringLiterals">String Literals</h4><p>String literals are any value 
enclosed in double-quotes, (`"`).  String literals are treated as raw bytes; no 
interpolation is performed.</p><h4 id="Integerslongs">Integers / 
longs</h4><p>Integers are any term consisting soley of unquoted numericals, 
longs are any otherwise valid integer term followed by an upper case 
&#8220;L&#8221;, (e.g. 100L).  It is an error to s
 pecify an integer term that will not fit in 4 bytes unsigned, or a long that 
will not fit in 8 bytes unsigned.</p></body></html>
\ No newline at end of file

Modified: cassandra/trunk/doc/cql/CQL.textile
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/doc/cql/CQL.textile?rev=1064327&r1=1064326&r2=1064327&view=diff
==============================================================================
--- cassandra/trunk/doc/cql/CQL.textile (original)
+++ cassandra/trunk/doc/cql/CQL.textile Thu Jan 27 21:57:24 2011
@@ -160,6 +160,21 @@ TRUNCATE <COLUMN FAMILY>
 
 Accepts a single argument for the column family name, and permanently removes 
all data from said column family.
 
+h2. CREATE KEYSPACE
+
+_Synopsis:_
+
+bc. 
+CREATE KEYSPACE <NAME> WITH replication_factor = <NUM> AND strategy_class = 
"<STRATEGY>"
+    [AND strategy_options.<OPTION> = <VALUE> [AND strategy_options.<OPTION> = 
<VALUE>]];
+
+The @CREATE KEYSPACE@ statement creates a new top-level namespace (aka 
"keyspace"). Valid names are any string constructed of alphanumeric characters 
and underscores, but must begin with a letter.  Properties such as replication 
strategy and count are specified during creation using the following accepted 
keyword arguments:
+
+|_. keyword|_. required|_. description|
+|replication_factor|yes|Numeric argument that specifies the number of replicas 
for this keyspace.|
+|strategy_class|yes|Class name to use for managing replica placement.  Any of 
the shipped strategies can be used by specifying the class name relative to 
org.apache.cassandra.locator, others will need to be fully-qualified and 
located on the classpath.|
+|strategy_options|no|Some strategies require additional arguments which can be 
supplied by appending the option name to the @strategy_options@ keyword, 
separated by a colon (@:@).  For example, a strategy option of "DC1" with a 
value of "1" would be specified as @strategy_options:DC1 = "1"@.|
+
 h2. Common Idioms
 
 h3(#consistency). Specifying Consistency


Reply via email to