cassandra-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From eev...@apache.org
Subject svn commit: r1071470 - in /cassandra/trunk/doc/cql: CQL.html CQL.textile
Date Thu, 17 Feb 2011 01:23:44 GMT
Author: eevans
Date: Thu Feb 17 01:23:44 2011
New Revision: 1071470

URL: http://svn.apache.org/viewvc?rev=1071470&view=rev
Log:
documentation update for CREATE INDEX

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=1071470&r1=1071469&r2=1071470&view=diff
==============================================================================
--- cassandra/trunk/doc/cql/CQL.html (original)
+++ cassandra/trunk/doc/cql/CQL.html Thu Feb 17 01:23:44 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="#CREATEKEYSPACE">CREATE
KEYSPACE</a></li><li><a href="#CREATECOLUMNFAMILY">CREATE COLUMNFAMILY</a><ol
style="list-style: none;"><li><a href="#columntypes">Specifying Column Type
(optional)</a></li><li><a href="#ColumnFamilyOptionsoptional">Column
Family Options (optional)</a></li></ol></li><li><a href="#CommonIdioms">Common
Idioms</a><ol style="list-style: none;"><li><a href="#consis
 tency">Specifying Consistency</a></li><li><a href="#terms">Term
specification</a><ol style="list-style: none;"><li><a href="#string_literals">String
Literals</a></li><li><a href="#Unicode">Unicode</a></li><li><a
href="#Integerslongs">Integers / longs</a></li><li><a href="#UUIDs">UUIDs</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="#CREATECOLUMNFAMILY">CREATE COLUMNFAMILY</a><ol
style="list-style: none;"><li><a href="#columntypes">Specifying Column Type
(optional)</a></li><li><a href="#ColumnFamilyOptionsoptional">Column
Family Options (optional)</a></li></ol></li><li><a href="#CREATEINDEX">CREATE
INDEX</a></li><li><a href="#CommonIdioms">Common Idioms</a><o
 l 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="#string_literals">String Literals</a></li><li><a href="#Unicode">Unicode</a></li><li><a
href="#Integerslongs">Integers / longs</a></li><li><a href="#UUIDs">UUIDs</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 ...
@@ -32,5 +32,6 @@ UPDATE ... WHERE KEY IN (keyname1, keyna
     [AND keyword2 = arg2 [AND ...]]];
 </code></pre><p><code>CREATE COLUMNFAMILY</code> statements
create new column family namespaces under the current keyspace. Valid column family names
are strings of alphanumeric characters and underscores, which begin with a letter.</p><h3
id="columntypes">Specifying Column Type (optional)</h3><pre><code>CREATE
COLUMNFAMILY &lt;COLUMN FAMILY&gt; (name1 type, name2 type) ...;
 </code></pre><p>It is possible to assign columns a type during column family
creation.  Columns configured with a type are validated accordingly when a write occurs. Column
types are specified as a parenthesized, comma-separated list of column term and type pairs.
 The list of recognized types are:</p><table><tr><th>type</th><th>description</th></tr><tr><td>bytes</td><td>Arbitrary
bytes (no validation)</td></tr><tr><td>ascii</td><td>ASCII
character string</td></tr><tr><td>utf8</td><td>UTF8 encoded
string</td></tr><tr><td>timeuuid</td><td>Type 1 UUID</td></tr><tr><td>uuid</td><td>Type
4 UUID</td></tr><tr><td>int</td><td>4-byte integer</td></tr><tr><td>long</td><td>8-byte
long</td></tr></table><p><em>Note: In addition to the recognized
types listed above, it is also possible to supply a string containing the name of a class
(a sub-class of <code>AbstractType</code>), either fully qualified, or relative
to the <code>org.apache.cassandra.db.marshal</code> package.</em></p><h3
id
 ="ColumnFamilyOptionsoptional">Column Family Options (optional)</h3><pre><code>CREATE
COLUMNFAMILY ... WITH keyword1 = arg1 AND keyword2 = arg2;
-</code></pre><p>A number of optional keyword arguments can be supplied
to control the configuration of a new column family.</p><table><tr><th>keyword</th><th>default</th><th>description</th></tr><tr><td>comparator</td><td>bytes</td><td>Determines
sorting and validation of column names. Valid values are identical to the types listed in
<a href="#columntypes">Specifying Column Type</a> above.</td></tr><tr><td>comment</td><td>none</td><td>A
free-form, human-readable comment.</td></tr><tr><td>row_cache_size</td><td>0</td><td>Number
of rows whose entire contents to cache in memory.</td></tr><tr><td>key_cache_size</td><td>200000</td><td>Number
of keys per SSTable whose locations are kept in memory in &#8220;mostly LRU&#8221;
order.</td></tr><tr><td>read_repair_chance</td><td>1.0</td><td>The
probability with which read repairs should be invoked on non-quorum reads.</td></tr><tr><td>gc_grace_seconds</td><td>864000</td><td>Time
to wait before garbage collecting tombstones (deletion m
 arkers).</td></tr><tr><td>default_validation</td><td>bytes</td><td>Determines
validation of column values. Valid values are identical to the types listed in <a href="#columntypes">Specifying
Column Type</a> above.</td></tr><tr><td>min_compaction_threshold</td><td>4</td><td>Minimum
number of SSTables needed to start a minor compaction.</td></tr><tr><td>max_compaction_threshold</td><td>32</td><td>Maximum
number of SSTables allowed before a minor compaction is forced.</td></tr><tr><td>row_cache_save_period_in_seconds</td><td>0</td><td>Number
of seconds between saving row caches.</td></tr><tr><td>key_cache_save_period_in_seconds</td><td>14400</td><td>Number
of seconds between saving key caches.</td></tr><tr><td>memtable_flush_after_mins</td><td>60</td><td>Maximum
time to leave a dirty table unflushed.</td></tr><tr><td>memtable_throughput_in_mb</td><td>dynamic</td><td>Maximum
size of the memtable before it is flushed.</td></tr><tr><td>memtable_operations_in_millions</td><td>dynam
 ic</td><td>Number of operations in millions before the memtable is flushed.</td></tr><tr><td>replicate_on_write</td><td>false</td><td></td></tr></table><h2
id="CommonIdioms">Common Idioms</h2><h3 id="consistency">Specifying Consistency</h3><pre><code>...
USING &lt;CONSISTENCY&gt; ...
+</code></pre><p>A number of optional keyword arguments can be supplied
to control the configuration of a new column family.</p><table><tr><th>keyword</th><th>default</th><th>description</th></tr><tr><td>comparator</td><td>bytes</td><td>Determines
sorting and validation of column names. Valid values are identical to the types listed in
<a href="#columntypes">Specifying Column Type</a> above.</td></tr><tr><td>comment</td><td>none</td><td>A
free-form, human-readable comment.</td></tr><tr><td>row_cache_size</td><td>0</td><td>Number
of rows whose entire contents to cache in memory.</td></tr><tr><td>key_cache_size</td><td>200000</td><td>Number
of keys per SSTable whose locations are kept in memory in &#8220;mostly LRU&#8221;
order.</td></tr><tr><td>read_repair_chance</td><td>1.0</td><td>The
probability with which read repairs should be invoked on non-quorum reads.</td></tr><tr><td>gc_grace_seconds</td><td>864000</td><td>Time
to wait before garbage collecting tombstones (deletion m
 arkers).</td></tr><tr><td>default_validation</td><td>bytes</td><td>Determines
validation of column values. Valid values are identical to the types listed in <a href="#columntypes">Specifying
Column Type</a> above.</td></tr><tr><td>min_compaction_threshold</td><td>4</td><td>Minimum
number of SSTables needed to start a minor compaction.</td></tr><tr><td>max_compaction_threshold</td><td>32</td><td>Maximum
number of SSTables allowed before a minor compaction is forced.</td></tr><tr><td>row_cache_save_period_in_seconds</td><td>0</td><td>Number
of seconds between saving row caches.</td></tr><tr><td>key_cache_save_period_in_seconds</td><td>14400</td><td>Number
of seconds between saving key caches.</td></tr><tr><td>memtable_flush_after_mins</td><td>60</td><td>Maximum
time to leave a dirty table unflushed.</td></tr><tr><td>memtable_throughput_in_mb</td><td>dynamic</td><td>Maximum
size of the memtable before it is flushed.</td></tr><tr><td>memtable_operations_in_millions</td><td>dynam
 ic</td><td>Number of operations in millions before the memtable is flushed.</td></tr><tr><td>replicate_on_write</td><td>false</td><td></td></tr></table><h2
id="CREATEINDEX">CREATE INDEX</h2><p><em>Synopsis:</em></p><pre><code>CREATE
INDEX [index_name] ON &lt;column_family&gt; (column_name);
+</code></pre><p>A <code>CREATE INDEX</code> statement is used
to create a new, automatic secondary index for the named column.</p><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="string_literals">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="Unicode">Unicode</h4><p>Unicode terms are any double-quoted string prefixed
with a lower-case <code>u</code>, for example <code>u"© 2011 The Apache
Software Foundation"</code>.  Unicode terms are identical to standard
  <a href="#string_literals">string literals</a>, with the exception that they
are encoded to bytes using the UTF-8 charset.</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 specify an integer term that will not fit in 4 bytes unsigned,
or a long that will not fit in 8 bytes unsigned.</p><h4 id="UUIDs">UUIDs</h4><p>There
are two types of UUIDs supported by the CQL specification, time-based (version 1) and randomly
generated (version 4). These are specified in statements using the <code>timeuuid(&lt;UUID
STRING&gt;)</code> and <code>uuid(&lt;UUID STRING&gt;)</code>
notations respectively.</p><p>In addition to the hex-based string representation,
<code>timeuuid()</code> terms also accept arguments to specify the data-time component.
The full list of <code>timeuuid()</code> arguments are:</p><table><
 tr><th>argument</th><th>example</th><th>behavior</th></tr><tr><td>none</td><td>timeuuid()</td><td>Results
in the creation of a new UUID based on system time of the node parsing the query.</td></tr><tr><td>now</td><td>timeuuid(&#8220;now&#8221;)</td><td>Results
in the creation of a new UUID based on system time of the node parsing the query.</td></tr><tr><td>milliseconds
since epoch</td><td>timeuuid(1296755320376)</td><td>Creates a UUID
with a time component that is based on the supplied time-stamp.</td></tr><tr><td><a
href="http://en.wikipedia.org/wiki/8601">iso8601 timestamp</a></td><td>timeuuid(&#8220;2011-02-01T14:00-0600&#8221;)</td><td>Creates
a UUID with a time component that is based on the supplied time-stamp.</td></tr><tr><td><a
href="http://tools.ietf.org/html/rfc4122">string representation (hex)</a></td><td>timeuuid(&#8220;e9229b24-2fbe-11e0-a4de-0026c650d722&#8221;)</td><td>Reproduces
the specified version 1 UUID node-side.</td></tr></table></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=1071470&r1=1071469&r2=1071470&view=diff
==============================================================================
--- cassandra/trunk/doc/cql/CQL.textile (original)
+++ cassandra/trunk/doc/cql/CQL.textile Thu Feb 17 01:23:44 2011
@@ -227,6 +227,14 @@ A number of optional keyword arguments c
 |memtable_operations_in_millions|dynamic|Number of operations in millions before the memtable
is flushed.|
 |replicate_on_write|false| |
 
+h2. CREATE INDEX
+
+_Synopsis:_
+
+bc. CREATE INDEX [index_name] ON <column_family> (column_name);
+
+A @CREATE INDEX@ statement is used to create a new, automatic secondary index for the named
column.
+
 h2. Common Idioms
 
 h3(#consistency). Specifying Consistency



Mime
View raw message