| --- |
| layout: docpage |
| |
| title: "Documentation" |
| |
| is_homepage: false |
| is_sphinx_doc: true |
| |
| doc-parent: "The Cassandra Query Language (CQL)" |
| |
| doc-title: "Changes" |
| doc-header-links: ' |
| <link rel="top" title="Apache Cassandra Documentation v4.0-alpha5" href="../index.html"/> |
| <link rel="up" title="The Cassandra Query Language (CQL)" href="index.html"/> |
| <link rel="next" title="Data Modeling" href="../data_modeling/index.html"/> |
| <link rel="prev" title="Appendices" href="appendices.html"/> |
| ' |
| doc-search-path: "../search.html" |
| |
| extra-footer: ' |
| <script type="text/javascript"> |
| var DOCUMENTATION_OPTIONS = { |
| URL_ROOT: "", |
| VERSION: "", |
| COLLAPSE_INDEX: false, |
| FILE_SUFFIX: ".html", |
| HAS_SOURCE: false, |
| SOURCELINK_SUFFIX: ".txt" |
| }; |
| </script> |
| ' |
| |
| --- |
| <div class="container-fluid"> |
| <div class="row"> |
| <div class="col-md-3"> |
| <div class="doc-navigation"> |
| <div class="doc-menu" role="navigation"> |
| <div class="navbar-header"> |
| <button type="button" class="pull-left navbar-toggle" data-toggle="collapse" data-target=".sidebar-navbar-collapse"> |
| <span class="sr-only">Toggle navigation</span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| <span class="icon-bar"></span> |
| </button> |
| </div> |
| <div class="navbar-collapse collapse sidebar-navbar-collapse"> |
| <form id="doc-search-form" class="navbar-form" action="../search.html" method="get" role="search"> |
| <div class="form-group"> |
| <input type="text" size="30" class="form-control input-sm" name="q" placeholder="Search docs"> |
| <input type="hidden" name="check_keywords" value="yes" /> |
| <input type="hidden" name="area" value="default" /> |
| </div> |
| </form> |
| |
| |
| |
| <ul class="current"> |
| <li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../new/index.html">New Features in Apache Cassandra 4.0</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li> |
| <li class="toctree-l1 current"><a class="reference internal" href="index.html">The Cassandra Query Language (CQL)</a><ul class="current"> |
| <li class="toctree-l2"><a class="reference internal" href="definitions.html">Definitions</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="dml.html">Data Manipulation</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="indexes.html">Secondary Indexes</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="functions.html">Functions</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="operators.html">Arithmetic Operators</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="json.html">JSON Support</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="triggers.html">Triggers</a></li> |
| <li class="toctree-l2"><a class="reference internal" href="appendices.html">Appendices</a></li> |
| <li class="toctree-l2 current"><a class="current reference internal" href="#">Changes</a><ul> |
| <li class="toctree-l3"><a class="reference internal" href="#id1">3.4.5</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id2">3.4.4</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id3">3.4.3</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id6">3.4.2</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id7">3.4.1</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id8">3.4.0</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id9">3.3.1</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id10">3.3.0</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id11">3.2.0</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id12">3.1.7</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id13">3.1.6</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id14">3.1.5</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id15">3.1.4</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id16">3.1.3</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id17">3.1.2</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id18">3.1.1</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id19">3.1.0</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id20">3.0.5</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id21">3.0.4</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id22">3.0.3</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id23">3.0.2</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#id24">3.0.1</a></li> |
| <li class="toctree-l3"><a class="reference internal" href="#versioning">Versioning</a></li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../development/index.html">Contributing to Cassandra</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../faq/index.html">Frequently Asked Questions</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../plugins/index.html">Third-Party Plugins</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../bugs.html">Reporting Bugs</a></li> |
| <li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li> |
| </ul> |
| |
| |
| |
| </div><!--/.nav-collapse --> |
| </div> |
| </div> |
| </div> |
| <div class="col-md-8"> |
| <div class="content doc-content"> |
| <div class="content-container"> |
| |
| <div class="section" id="changes"> |
| <h1>Changes<a class="headerlink" href="#changes" title="Permalink to this headline">¶</a></h1> |
| <p>The following describes the changes in each version of CQL.</p> |
| <div class="section" id="id1"> |
| <h2>3.4.5<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li>Adds support for arithmetic operators (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-11935">CASSANDRA-11935</a>)</li> |
| <li>Adds support for <code class="docutils literal notranslate"><span class="pre">+</span></code> and <code class="docutils literal notranslate"><span class="pre">-</span></code> operations on dates (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-11936">CASSANDRA-11936</a>)</li> |
| <li>Adds <code class="docutils literal notranslate"><span class="pre">currentTimestamp</span></code>, <code class="docutils literal notranslate"><span class="pre">currentDate</span></code>, <code class="docutils literal notranslate"><span class="pre">currentTime</span></code> and <code class="docutils literal notranslate"><span class="pre">currentTimeUUID</span></code> functions (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-13132">CASSANDRA-13132</a>)</li> |
| </ul> |
| </div> |
| <div class="section" id="id2"> |
| <h2>3.4.4<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li><code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> <code class="docutils literal notranslate"><span class="pre">ALTER</span></code> has been removed; a column’s type may not be changed after creation (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-12443">CASSANDRA-12443</a>).</li> |
| <li><code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TYPE</span></code> <code class="docutils literal notranslate"><span class="pre">ALTER</span></code> has been removed; a field’s type may not be changed after creation (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-12443">CASSANDRA-12443</a>).</li> |
| </ul> |
| </div> |
| <div class="section" id="id3"> |
| <h2>3.4.3<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li>Adds a new <a href="#id4"><span class="problematic" id="id5">``</span></a>duration `` <a class="reference internal" href="types.html#data-types"><span class="std std-ref">data types</span></a> (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-11873">CASSANDRA-11873</a>).</li> |
| <li>Support for <code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code> (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-10707">CASSANDRA-10707</a>).</li> |
| <li>Adds a <code class="docutils literal notranslate"><span class="pre">DEFAULT</span> <span class="pre">UNSET</span></code> option for <code class="docutils literal notranslate"><span class="pre">INSERT</span> <span class="pre">JSON</span></code> to ignore omitted columns (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-11424">CASSANDRA-11424</a>).</li> |
| <li>Allows <code class="docutils literal notranslate"><span class="pre">null</span></code> as a legal value for TTL on insert and update. It will be treated as equivalent to inserting a 0 (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-12216">CASSANDRA-12216</a>).</li> |
| </ul> |
| </div> |
| <div class="section" id="id6"> |
| <h2>3.4.2<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li>If a table has a non zero <code class="docutils literal notranslate"><span class="pre">default_time_to_live</span></code>, then explicitly specifying a TTL of 0 in an <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> or |
| <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statement will result in the new writes not having any expiration (that is, an explicit TTL of 0 cancels |
| the <code class="docutils literal notranslate"><span class="pre">default_time_to_live</span></code>). This wasn’t the case before and the <code class="docutils literal notranslate"><span class="pre">default_time_to_live</span></code> was applied even though a |
| TTL had been explicitly set.</li> |
| <li><code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> <code class="docutils literal notranslate"><span class="pre">ADD</span></code> and <code class="docutils literal notranslate"><span class="pre">DROP</span></code> now allow multiple columns to be added/removed.</li> |
| <li>New <code class="docutils literal notranslate"><span class="pre">PER</span> <span class="pre">PARTITION</span> <span class="pre">LIMIT</span></code> option for <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statements (see <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-7017)">CASSANDRA-7017</a>.</li> |
| <li><a class="reference internal" href="functions.html#cql-functions"><span class="std std-ref">User-defined functions</span></a> can now instantiate <code class="docutils literal notranslate"><span class="pre">UDTValue</span></code> and <code class="docutils literal notranslate"><span class="pre">TupleValue</span></code> instances via the |
| new <code class="docutils literal notranslate"><span class="pre">UDFContext</span></code> interface (see <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-10818)">CASSANDRA-10818</a>.</li> |
| <li><a class="reference internal" href="types.html#udts"><span class="std std-ref">User-defined types</span></a> may now be stored in a non-frozen form, allowing individual fields to be updated and |
| deleted in <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statements and <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statements, respectively. (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-7423)">CASSANDRA-7423</a>).</li> |
| </ul> |
| </div> |
| <div class="section" id="id7"> |
| <h2>3.4.1<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li>Adds <code class="docutils literal notranslate"><span class="pre">CAST</span></code> functions.</li> |
| </ul> |
| </div> |
| <div class="section" id="id8"> |
| <h2>3.4.0<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li>Support for <a class="reference internal" href="mvs.html#materialized-views"><span class="std std-ref">materialized views</span></a>.</li> |
| <li><code class="docutils literal notranslate"><span class="pre">DELETE</span></code> support for inequality expressions and <code class="docutils literal notranslate"><span class="pre">IN</span></code> restrictions on any primary key columns.</li> |
| <li><code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> support for <code class="docutils literal notranslate"><span class="pre">IN</span></code> restrictions on any primary key columns.</li> |
| </ul> |
| </div> |
| <div class="section" id="id9"> |
| <h2>3.3.1<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li>The syntax <code class="docutils literal notranslate"><span class="pre">TRUNCATE</span> <span class="pre">TABLE</span> <span class="pre">X</span></code> is now accepted as an alias for <code class="docutils literal notranslate"><span class="pre">TRUNCATE</span> <span class="pre">X</span></code>.</li> |
| </ul> |
| </div> |
| <div class="section" id="id10"> |
| <h2>3.3.0<a class="headerlink" href="#id10" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li><a class="reference internal" href="functions.html#cql-functions"><span class="std std-ref">User-defined functions and aggregates</span></a> are now supported.</li> |
| <li>Allows double-dollar enclosed strings literals as an alternative to single-quote enclosed strings.</li> |
| <li>Introduces Roles to supersede user based authentication and access control</li> |
| <li>New <code class="docutils literal notranslate"><span class="pre">date</span></code>, <code class="docutils literal notranslate"><span class="pre">time</span></code>, <code class="docutils literal notranslate"><span class="pre">tinyint</span></code> and <code class="docutils literal notranslate"><span class="pre">smallint</span></code> <a class="reference internal" href="types.html#data-types"><span class="std std-ref">data types</span></a> have been added.</li> |
| <li><a class="reference internal" href="json.html#cql-json"><span class="std std-ref">JSON support</span></a> has been added</li> |
| <li>Adds new time conversion functions and deprecate <code class="docutils literal notranslate"><span class="pre">dateOf</span></code> and <code class="docutils literal notranslate"><span class="pre">unixTimestampOf</span></code>.</li> |
| </ul> |
| </div> |
| <div class="section" id="id11"> |
| <h2>3.2.0<a class="headerlink" href="#id11" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li><a class="reference internal" href="types.html#udts"><span class="std std-ref">User-defined types</span></a> supported.</li> |
| <li><code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">INDEX</span></code> now supports indexing collection columns, including indexing the keys of map collections through the |
| <code class="docutils literal notranslate"><span class="pre">keys()</span></code> function</li> |
| <li>Indexes on collections may be queried using the new <code class="docutils literal notranslate"><span class="pre">CONTAINS</span></code> and <code class="docutils literal notranslate"><span class="pre">CONTAINS</span> <span class="pre">KEY</span></code> operators</li> |
| <li><a class="reference internal" href="types.html#tuples"><span class="std std-ref">Tuple types</span></a> were added to hold fixed-length sets of typed positional fields.</li> |
| <li><code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">INDEX</span></code> now supports optionally specifying a keyspace.</li> |
| </ul> |
| </div> |
| <div class="section" id="id12"> |
| <h2>3.1.7<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li><code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statements now support selecting multiple rows in a single partition using an <code class="docutils literal notranslate"><span class="pre">IN</span></code> clause on combinations |
| of clustering columns.</li> |
| <li><code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> and <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">EXISTS</span></code> syntax is now supported by <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">USER</span></code> and <code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">USER</span></code> statements, |
| respectively.</li> |
| </ul> |
| </div> |
| <div class="section" id="id13"> |
| <h2>3.1.6<a class="headerlink" href="#id13" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li>A new <code class="docutils literal notranslate"><span class="pre">uuid()</span></code> method has been added.</li> |
| <li>Support for <code class="docutils literal notranslate"><span class="pre">DELETE</span> <span class="pre">...</span> <span class="pre">IF</span> <span class="pre">EXISTS</span></code> syntax.</li> |
| </ul> |
| </div> |
| <div class="section" id="id14"> |
| <h2>3.1.5<a class="headerlink" href="#id14" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li>It is now possible to group clustering columns in a relation, see <a class="reference internal" href="dml.html#where-clause"><span class="std std-ref">WHERE</span></a> clauses.</li> |
| <li>Added support for <a class="reference internal" href="ddl.html#static-columns"><span class="std std-ref">static columns</span></a>.</li> |
| </ul> |
| </div> |
| <div class="section" id="id15"> |
| <h2>3.1.4<a class="headerlink" href="#id15" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li><code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">INDEX</span></code> now allows specifying options when creating CUSTOM indexes.</li> |
| </ul> |
| </div> |
| <div class="section" id="id16"> |
| <h2>3.1.3<a class="headerlink" href="#id16" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li>Millisecond precision formats have been added to the <a class="reference internal" href="types.html#timestamps"><span class="std std-ref">timestamp</span></a> parser.</li> |
| </ul> |
| </div> |
| <div class="section" id="id17"> |
| <h2>3.1.2<a class="headerlink" href="#id17" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li><code class="docutils literal notranslate"><span class="pre">NaN</span></code> and <code class="docutils literal notranslate"><span class="pre">Infinity</span></code> has been added as valid float constants. They are now reserved keywords. In the unlikely case |
| you we using them as a column identifier (or keyspace/table one), you will now need to double quote them.</li> |
| </ul> |
| </div> |
| <div class="section" id="id18"> |
| <h2>3.1.1<a class="headerlink" href="#id18" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li><code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement now allows listing the partition keys (using the <code class="docutils literal notranslate"><span class="pre">DISTINCT</span></code> modifier). See <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-4536">CASSANDRA-4536</a>.</li> |
| <li>The syntax <code class="docutils literal notranslate"><span class="pre">c</span> <span class="pre">IN</span> <span class="pre">?</span></code> is now supported in <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> clauses. In that case, the value expected for the bind variable |
| will be a list of whatever type <code class="docutils literal notranslate"><span class="pre">c</span></code> is.</li> |
| <li>It is now possible to use named bind variables (using <code class="docutils literal notranslate"><span class="pre">:name</span></code> instead of <code class="docutils literal notranslate"><span class="pre">?</span></code>).</li> |
| </ul> |
| </div> |
| <div class="section" id="id19"> |
| <h2>3.1.0<a class="headerlink" href="#id19" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li><code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> <code class="docutils literal notranslate"><span class="pre">DROP</span></code> option added.</li> |
| <li><code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement now supports aliases in select clause. Aliases in WHERE and ORDER BY clauses are not supported.</li> |
| <li><code class="docutils literal notranslate"><span class="pre">CREATE</span></code> statements for <code class="docutils literal notranslate"><span class="pre">KEYSPACE</span></code>, <code class="docutils literal notranslate"><span class="pre">TABLE</span></code> and <code class="docutils literal notranslate"><span class="pre">INDEX</span></code> now supports an <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> condition. |
| Similarly, <code class="docutils literal notranslate"><span class="pre">DROP</span></code> statements support a <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">EXISTS</span></code> condition.</li> |
| <li><code class="docutils literal notranslate"><span class="pre">INSERT</span></code> statements optionally supports a <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> condition and <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> supports <code class="docutils literal notranslate"><span class="pre">IF</span></code> conditions.</li> |
| </ul> |
| </div> |
| <div class="section" id="id20"> |
| <h2>3.0.5<a class="headerlink" href="#id20" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li><code class="docutils literal notranslate"><span class="pre">SELECT</span></code>, <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code>, and <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statements now allow empty <code class="docutils literal notranslate"><span class="pre">IN</span></code> relations (see <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-5626)">CASSANDRA-5626</a>.</li> |
| </ul> |
| </div> |
| <div class="section" id="id21"> |
| <h2>3.0.4<a class="headerlink" href="#id21" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li>Updated the syntax for custom <a class="reference internal" href="indexes.html#secondary-indexes"><span class="std std-ref">secondary indexes</span></a>.</li> |
| <li>Non-equal condition on the partition key are now never supported, even for ordering partitioner as this was not |
| correct (the order was <strong>not</strong> the one of the type of the partition key). Instead, the <code class="docutils literal notranslate"><span class="pre">token</span></code> method should always |
| be used for range queries on the partition key (see <a class="reference internal" href="dml.html#where-clause"><span class="std std-ref">WHERE clauses</span></a>).</li> |
| </ul> |
| </div> |
| <div class="section" id="id22"> |
| <h2>3.0.3<a class="headerlink" href="#id22" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li>Support for custom <a class="reference internal" href="indexes.html#secondary-indexes"><span class="std std-ref">secondary indexes</span></a> has been added.</li> |
| </ul> |
| </div> |
| <div class="section" id="id23"> |
| <h2>3.0.2<a class="headerlink" href="#id23" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li>Type validation for the <a class="reference internal" href="definitions.html#constants"><span class="std std-ref">constants</span></a> has been fixed. For instance, the implementation used to allow |
| <code class="docutils literal notranslate"><span class="pre">'2'</span></code> as a valid value for an <code class="docutils literal notranslate"><span class="pre">int</span></code> column (interpreting it has the equivalent of <code class="docutils literal notranslate"><span class="pre">2</span></code>), or <code class="docutils literal notranslate"><span class="pre">42</span></code> as a valid |
| <code class="docutils literal notranslate"><span class="pre">blob</span></code> value (in which case <code class="docutils literal notranslate"><span class="pre">42</span></code> was interpreted as an hexadecimal representation of the blob). This is no longer |
| the case, type validation of constants is now more strict. See the <a class="reference internal" href="types.html#data-types"><span class="std std-ref">data types</span></a> section for details |
| on which constant is allowed for which type.</li> |
| <li>The type validation fixed of the previous point has lead to the introduction of blobs constants to allow the input of |
| blobs. Do note that while the input of blobs as strings constant is still supported by this version (to allow smoother |
| transition to blob constant), it is now deprecated and will be removed by a future version. If you were using strings |
| as blobs, you should thus update your client code ASAP to switch blob constants.</li> |
| <li>A number of functions to convert native types to blobs have also been introduced. Furthermore the token function is |
| now also allowed in select clauses. See the <a class="reference internal" href="functions.html#cql-functions"><span class="std std-ref">section on functions</span></a> for details.</li> |
| </ul> |
| </div> |
| <div class="section" id="id24"> |
| <h2>3.0.1<a class="headerlink" href="#id24" title="Permalink to this headline">¶</a></h2> |
| <ul class="simple"> |
| <li>Date strings (and timestamps) are no longer accepted as valid <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> values. Doing so was a bug in the sense |
| that date string are not valid <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code>, and it was thus resulting in <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-4936">confusing behaviors</a>. However, the following new methods have been added to help |
| working with <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code>: <code class="docutils literal notranslate"><span class="pre">now</span></code>, <code class="docutils literal notranslate"><span class="pre">minTimeuuid</span></code>, <code class="docutils literal notranslate"><span class="pre">maxTimeuuid</span></code> , |
| <code class="docutils literal notranslate"><span class="pre">dateOf</span></code> and <code class="docutils literal notranslate"><span class="pre">unixTimestampOf</span></code>.</li> |
| <li>Float constants now support the exponent notation. In other words, <code class="docutils literal notranslate"><span class="pre">4.2E10</span></code> is now a valid floating point value.</li> |
| </ul> |
| </div> |
| <div class="section" id="versioning"> |
| <h2>Versioning<a class="headerlink" href="#versioning" title="Permalink to this headline">¶</a></h2> |
| <p>Versioning of the CQL language adheres to the <a class="reference external" href="http://semver.org">Semantic Versioning</a> guidelines. Versions take the |
| form X.Y.Z where X, Y, and Z are integer values representing major, minor, and patch level respectively. There is no |
| correlation between Cassandra release versions and the CQL language version.</p> |
| <table border="1" class="docutils"> |
| <colgroup> |
| <col width="8%" /> |
| <col width="92%" /> |
| </colgroup> |
| <thead valign="bottom"> |
| <tr class="row-odd"><th class="head">version</th> |
| <th class="head">description</th> |
| </tr> |
| </thead> |
| <tbody valign="top"> |
| <tr class="row-even"><td>Major</td> |
| <td>The major version <em>must</em> be bumped when backward incompatible changes are introduced. This should rarely |
| occur.</td> |
| </tr> |
| <tr class="row-odd"><td>Minor</td> |
| <td>Minor version increments occur when new, but backward compatible, functionality is introduced.</td> |
| </tr> |
| <tr class="row-even"><td>Patch</td> |
| <td>The patch version is incremented when bugs are fixed.</td> |
| </tr> |
| </tbody> |
| </table> |
| </div> |
| </div> |
| |
| |
| |
| |
| <div class="doc-prev-next-links" role="navigation" aria-label="footer navigation"> |
| |
| <a href="../data_modeling/index.html" class="btn btn-default pull-right " role="button" title="Data Modeling" accesskey="n">Next <span class="glyphicon glyphicon-circle-arrow-right" aria-hidden="true"></span></a> |
| |
| |
| <a href="appendices.html" class="btn btn-default" role="button" title="Appendices" accesskey="p"><span class="glyphicon glyphicon-circle-arrow-left" aria-hidden="true"></span> Previous</a> |
| |
| </div> |
| |
| </div> |
| </div> |
| </div> |
| </div> |
| </div> |