Modified: cassandra/site/publish/doc/4.0/configuration/cassandra_config_file.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/4.0/configuration/cassandra_config_file.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/4.0/configuration/cassandra_config_file.html (original) +++ cassandra/site/publish/doc/4.0/configuration/cassandra_config_file.html Tue May 16 02:01:22 2017 @@ -161,7 +161,6 @@ <li class="toctree-l3"><a class="reference internal" href="#disk-failure-policy"><code class="docutils literal"><span class="pre">disk_failure_policy</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#commit-failure-policy"><code class="docutils literal"><span class="pre">commit_failure_policy</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#prepared-statements-cache-size-mb"><code class="docutils literal"><span class="pre">prepared_statements_cache_size_mb</span></code></a></li> -<li class="toctree-l3"><a class="reference internal" href="#thrift-prepared-statements-cache-size-mb"><code class="docutils literal"><span class="pre">thrift_prepared_statements_cache_size_mb</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#key-cache-size-in-mb"><code class="docutils literal"><span class="pre">key_cache_size_in_mb</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#key-cache-save-period"><code class="docutils literal"><span class="pre">key_cache_save_period</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#key-cache-keys-to-save"><code class="docutils literal"><span class="pre">key_cache_keys_to_save</span></code></a></li> @@ -214,21 +213,13 @@ <li class="toctree-l3"><a class="reference internal" href="#native-transport-max-frame-size-in-mb"><code class="docutils literal"><span class="pre">native_transport_max_frame_size_in_mb</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#native-transport-max-concurrent-connections"><code class="docutils literal"><span class="pre">native_transport_max_concurrent_connections</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#native-transport-max-concurrent-connections-per-ip"><code class="docutils literal"><span class="pre">native_transport_max_concurrent_connections_per_ip</span></code></a></li> -<li class="toctree-l3"><a class="reference internal" href="#start-rpc"><code class="docutils literal"><span class="pre">start_rpc</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#rpc-address"><code class="docutils literal"><span class="pre">rpc_address</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#rpc-interface"><code class="docutils literal"><span class="pre">rpc_interface</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#rpc-interface-prefer-ipv6"><code class="docutils literal"><span class="pre">rpc_interface_prefer_ipv6</span></code></a></li> -<li class="toctree-l3"><a class="reference internal" href="#rpc-port"><code class="docutils literal"><span class="pre">rpc_port</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#broadcast-rpc-address"><code class="docutils literal"><span class="pre">broadcast_rpc_address</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#rpc-keepalive"><code class="docutils literal"><span class="pre">rpc_keepalive</span></code></a></li> -<li class="toctree-l3"><a class="reference internal" href="#rpc-server-type"><code class="docutils literal"><span class="pre">rpc_server_type</span></code></a></li> -<li class="toctree-l3"><a class="reference internal" href="#rpc-min-threads"><code class="docutils literal"><span class="pre">rpc_min_threads</span></code></a></li> -<li class="toctree-l3"><a class="reference internal" href="#rpc-max-threads"><code class="docutils literal"><span class="pre">rpc_max_threads</span></code></a></li> -<li class="toctree-l3"><a class="reference internal" href="#rpc-send-buff-size-in-bytes"><code class="docutils literal"><span class="pre">rpc_send_buff_size_in_bytes</span></code></a></li> -<li class="toctree-l3"><a class="reference internal" href="#rpc-recv-buff-size-in-bytes"><code class="docutils literal"><span class="pre">rpc_recv_buff_size_in_bytes</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#internode-send-buff-size-in-bytes"><code class="docutils literal"><span class="pre">internode_send_buff_size_in_bytes</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#internode-recv-buff-size-in-bytes"><code class="docutils literal"><span class="pre">internode_recv_buff_size_in_bytes</span></code></a></li> -<li class="toctree-l3"><a class="reference internal" href="#thrift-framed-transport-size-in-mb"><code class="docutils literal"><span class="pre">thrift_framed_transport_size_in_mb</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#incremental-backups"><code class="docutils literal"><span class="pre">incremental_backups</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#snapshot-before-compaction"><code class="docutils literal"><span class="pre">snapshot_before_compaction</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#auto-snapshot"><code class="docutils literal"><span class="pre">auto_snapshot</span></code></a></li> @@ -249,21 +240,18 @@ <li class="toctree-l3"><a class="reference internal" href="#slow-query-log-timeout-in-ms"><code class="docutils literal"><span class="pre">slow_query_log_timeout_in_ms</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#cross-node-timeout"><code class="docutils literal"><span class="pre">cross_node_timeout</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#streaming-keep-alive-period-in-secs"><code class="docutils literal"><span class="pre">streaming_keep_alive_period_in_secs</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#streaming-connections-per-host"><code class="docutils literal"><span class="pre">streaming_connections_per_host</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#phi-convict-threshold"><code class="docutils literal"><span class="pre">phi_convict_threshold</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#endpoint-snitch"><code class="docutils literal"><span class="pre">endpoint_snitch</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#dynamic-snitch-update-interval-in-ms"><code class="docutils literal"><span class="pre">dynamic_snitch_update_interval_in_ms</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#dynamic-snitch-reset-interval-in-ms"><code class="docutils literal"><span class="pre">dynamic_snitch_reset_interval_in_ms</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#dynamic-snitch-badness-threshold"><code class="docutils literal"><span class="pre">dynamic_snitch_badness_threshold</span></code></a></li> -<li class="toctree-l3"><a class="reference internal" href="#request-scheduler"><code class="docutils literal"><span class="pre">request_scheduler</span></code></a></li> -<li class="toctree-l3"><a class="reference internal" href="#request-scheduler-options"><code class="docutils literal"><span class="pre">request_scheduler_options</span></code></a></li> -<li class="toctree-l3"><a class="reference internal" href="#request-scheduler-id"><code class="docutils literal"><span class="pre">request_scheduler_id</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#server-encryption-options"><code class="docutils literal"><span class="pre">server_encryption_options</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#client-encryption-options"><code class="docutils literal"><span class="pre">client_encryption_options</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#internode-compression"><code class="docutils literal"><span class="pre">internode_compression</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#inter-dc-tcp-nodelay"><code class="docutils literal"><span class="pre">inter_dc_tcp_nodelay</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#tracetype-query-ttl"><code class="docutils literal"><span class="pre">tracetype_query_ttl</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#tracetype-repair-ttl"><code class="docutils literal"><span class="pre">tracetype_repair_ttl</span></code></a></li> -<li class="toctree-l3"><a class="reference internal" href="#gc-log-threshold-in-ms"><code class="docutils literal"><span class="pre">gc_log_threshold_in_ms</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#enable-user-defined-functions"><code class="docutils literal"><span class="pre">enable_user_defined_functions</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#enable-scripted-user-defined-functions"><code class="docutils literal"><span class="pre">enable_scripted_user_defined_functions</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#windows-timer-interval"><code class="docutils literal"><span class="pre">windows_timer_interval</span></code></a></li> @@ -274,10 +262,16 @@ <li class="toctree-l3"><a class="reference internal" href="#batch-size-fail-threshold-in-kb"><code class="docutils literal"><span class="pre">batch_size_fail_threshold_in_kb</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#unlogged-batch-across-partitions-warn-threshold"><code class="docutils literal"><span class="pre">unlogged_batch_across_partitions_warn_threshold</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#compaction-large-partition-warning-threshold-mb"><code class="docutils literal"><span class="pre">compaction_large_partition_warning_threshold_mb</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#gc-log-threshold-in-ms"><code class="docutils literal"><span class="pre">gc_log_threshold_in_ms</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#gc-warn-threshold-in-ms"><code class="docutils literal"><span class="pre">gc_warn_threshold_in_ms</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#max-value-size-in-mb"><code class="docutils literal"><span class="pre">max_value_size_in_mb</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#back-pressure-enabled"><code class="docutils literal"><span class="pre">back_pressure_enabled</span></code></a></li> <li class="toctree-l3"><a class="reference internal" href="#back-pressure-strategy"><code class="docutils literal"><span class="pre">back_pressure_strategy</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#otc-coalescing-strategy"><code class="docutils literal"><span class="pre">otc_coalescing_strategy</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#otc-coalescing-window-us"><code class="docutils literal"><span class="pre">otc_coalescing_window_us</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#otc-coalescing-enough-coalesced-messages"><code class="docutils literal"><span class="pre">otc_coalescing_enough_coalesced_messages</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#otc-backlog-expiration-interval-ms"><code class="docutils literal"><span class="pre">otc_backlog_expiration_interval_ms</span></code></a></li> +<li class="toctree-l3"><a class="reference internal" href="#ideal-consistency-level"><code class="docutils literal"><span class="pre">ideal_consistency_level</span></code></a></li> </ul> </li> </ul> @@ -285,7 +279,7 @@ <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">Cassandra Development</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="../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li> @@ -428,7 +422,7 @@ PasswordAuthenticator}.</p> <ul class="simple"> <li>AllowAllAuthenticator performs no checks - set it to disable authentication.</li> <li>PasswordAuthenticator relies on username/password pairs to authenticate -users. It keeps usernames and hashed passwords in system_auth.credentials table. +users. It keeps usernames and hashed passwords in system_auth.roles table. Please increase system_auth keyspace replication factor if you use this authenticator. If using PasswordAuthenticator, CassandraRoleManager must also be used (see below)</li> </ul> @@ -441,7 +435,7 @@ Out of the box, Cassandra provides org.a CassandraAuthorizer}.</p> <ul class="simple"> <li>AllowAllAuthorizer allows any action to any user - set it to disable authorization.</li> -<li>CassandraAuthorizer stores permissions in system_auth.permissions table. Please +<li>CassandraAuthorizer stores permissions in system_auth.role_permissions table. Please increase system_auth keyspace replication factor if you use this authorizer.</li> </ul> <p><em>Default Value:</em> AllowAllAuthorizer</p> @@ -599,9 +593,9 @@ data at CL.ONE!</dd> <p>Policy for commit disk failures:</p> <dl class="docutils"> <dt>die</dt> -<dd>shut down gossip and Thrift and kill the JVM, so the node can be replaced.</dd> +<dd>shut down the node and kill the JVM, so the node can be replaced.</dd> <dt>stop</dt> -<dd>shut down gossip and Thrift, leaving the node effectively dead, but +<dd>shut down the node, leaving the node effectively dead, but can still be inspected via JMX.</dd> <dt>stop_commit</dt> <dd>shutdown the commit log, letting writes collect but @@ -626,13 +620,6 @@ fit in the cache. In most cases it is no Constantly re-preparing statements is a performance penalty.</p> <p>Default value (“auto”) is 1/256th of the heap or 10MB, whichever is greater</p> </div> -<div class="section" id="thrift-prepared-statements-cache-size-mb"> -<h2><code class="docutils literal"><span class="pre">thrift_prepared_statements_cache_size_mb</span></code><a class="headerlink" href="#thrift-prepared-statements-cache-size-mb" title="Permalink to this headline">¶</a></h2> -<p>Maximum size of the Thrift prepared statement cache</p> -<p>If you do not use Thrift at all, it is safe to leave this value at “auto”.</p> -<p>See description of ‘prepared_statements_cache_size_mb’ above for more information.</p> -<p>Default value (“auto”) is 1/256th of the heap or 10MB, whichever is greater</p> -</div> <div class="section" id="key-cache-size-in-mb"> <h2><code class="docutils literal"><span class="pre">key_cache_size_in_mb</span></code><a class="headerlink" href="#key-cache-size-in-mb" title="Permalink to this headline">¶</a></h2> <p>Maximum size of the key cache in memory.</p> @@ -1068,8 +1055,7 @@ used to allow/disallow connections from <div class="section" id="start-native-transport"> <h2><code class="docutils literal"><span class="pre">start_native_transport</span></code><a class="headerlink" href="#start-native-transport" title="Permalink to this headline">¶</a></h2> <p>Whether to start the native transport server. -Please note that the address on which the native transport is bound is the -same as the rpc_address. The port however is different and specified below.</p> +The address on which the native transport is bound is defined by rpc_address.</p> <p><em>Default Value:</em> true</p> </div> <div class="section" id="native-transport-port"> @@ -1093,10 +1079,8 @@ keeping native_transport_port unencrypte <div class="section" id="native-transport-max-threads"> <h2><code class="docutils literal"><span class="pre">native_transport_max_threads</span></code><a class="headerlink" href="#native-transport-max-threads" title="Permalink to this headline">¶</a></h2> <p><em>This option is commented out by default.</em> -The maximum threads for handling requests when the native transport is used. -This is similar to rpc_max_threads though the default differs slightly (and -there is no native_transport_min_threads, idle threads will always be stopped -after 30 seconds).</p> +The maximum threads for handling requests (note that idle threads are stopped +after 30 seconds so there is not corresponding minimum setting).</p> <p><em>Default Value:</em> 128</p> </div> <div class="section" id="native-transport-max-frame-size-in-mb"> @@ -1121,15 +1105,9 @@ The default is -1, which means unlimited The default is -1, which means unlimited.</p> <p><em>Default Value:</em> -1</p> </div> -<div class="section" id="start-rpc"> -<h2><code class="docutils literal"><span class="pre">start_rpc</span></code><a class="headerlink" href="#start-rpc" title="Permalink to this headline">¶</a></h2> -<p>Whether to start the thrift rpc server.</p> -<p><em>Default Value:</em> false</p> -</div> <div class="section" id="rpc-address"> <h2><code class="docutils literal"><span class="pre">rpc_address</span></code><a class="headerlink" href="#rpc-address" title="Permalink to this headline">¶</a></h2> -<p>The address or interface to bind the Thrift RPC service and native transport -server to.</p> +<p>The address or interface to bind the native transport server to.</p> <p>Set rpc_address OR rpc_interface, not both.</p> <p>Leaving rpc_address blank has the same effect as on listen_address (i.e. it will be based on the configured hostname of the node).</p> @@ -1154,11 +1132,6 @@ address will be used. If true the first ipv4. If there is only one address it will be selected regardless of ipv4/ipv6.</p> <p><em>Default Value:</em> false</p> </div> -<div class="section" id="rpc-port"> -<h2><code class="docutils literal"><span class="pre">rpc_port</span></code><a class="headerlink" href="#rpc-port" title="Permalink to this headline">¶</a></h2> -<p>port for Thrift to listen for clients on</p> -<p><em>Default Value:</em> 9160</p> -</div> <div class="section" id="broadcast-rpc-address"> <h2><code class="docutils literal"><span class="pre">broadcast_rpc_address</span></code><a class="headerlink" href="#broadcast-rpc-address" title="Permalink to this headline">¶</a></h2> <p><em>This option is commented out by default.</em></p> @@ -1173,54 +1146,6 @@ be set.</p> <p>enable or disable keepalive on rpc/native connections</p> <p><em>Default Value:</em> true</p> </div> -<div class="section" id="rpc-server-type"> -<h2><code class="docutils literal"><span class="pre">rpc_server_type</span></code><a class="headerlink" href="#rpc-server-type" title="Permalink to this headline">¶</a></h2> -<p>Cassandra provides two out-of-the-box options for the RPC Server:</p> -<dl class="docutils"> -<dt>sync</dt> -<dd>One thread per thrift connection. For a very large number of clients, memory -will be your limiting factor. On a 64 bit JVM, 180KB is the minimum stack size -per thread, and that will correspond to your use of virtual memory (but physical memory -may be limited depending on use of stack space).</dd> -<dt>hsha</dt> -<dd>Stands for “half synchronous, half asynchronous.” All thrift clients are handled -asynchronously using a small number of threads that does not vary with the amount -of thrift clients (and thus scales well to many clients). The rpc requests are still -synchronous (one thread per active request). If hsha is selected then it is essential -that rpc_max_threads is changed from the default value of unlimited.</dd> -</dl> -<p>The default is sync because on Windows hsha is about 30% slower. On Linux, -sync/hsha performance is about the same, with hsha of course using less memory.</p> -<p>Alternatively, can provide your own RPC server by providing the fully-qualified class name -of an o.a.c.t.TServerFactory that can create an instance of it.</p> -<p><em>Default Value:</em> sync</p> -</div> -<div class="section" id="rpc-min-threads"> -<h2><code class="docutils literal"><span class="pre">rpc_min_threads</span></code><a class="headerlink" href="#rpc-min-threads" title="Permalink to this headline">¶</a></h2> -<p><em>This option is commented out by default.</em></p> -<p>Uncomment rpc_min|max_thread to set request pool size limits.</p> -<p>Regardless of your choice of RPC server (see above), the number of maximum requests in the -RPC thread pool dictates how many concurrent requests are possible (but if you are using the sync -RPC server, it also dictates the number of clients that can be connected at all).</p> -<p>The default is unlimited and thus provides no protection against clients overwhelming the server. You are -encouraged to set a maximum that makes sense for you in production, but do keep in mind that -rpc_max_threads represents the maximum number of client requests this server may execute concurrently.</p> -<p><em>Default Value:</em> 16</p> -</div> -<div class="section" id="rpc-max-threads"> -<h2><code class="docutils literal"><span class="pre">rpc_max_threads</span></code><a class="headerlink" href="#rpc-max-threads" title="Permalink to this headline">¶</a></h2> -<p><em>This option is commented out by default.</em></p> -<p><em>Default Value:</em> 2048</p> -</div> -<div class="section" id="rpc-send-buff-size-in-bytes"> -<h2><code class="docutils literal"><span class="pre">rpc_send_buff_size_in_bytes</span></code><a class="headerlink" href="#rpc-send-buff-size-in-bytes" title="Permalink to this headline">¶</a></h2> -<p><em>This option is commented out by default.</em></p> -<p>uncomment to set socket buffer sizes on rpc connections</p> -</div> -<div class="section" id="rpc-recv-buff-size-in-bytes"> -<h2><code class="docutils literal"><span class="pre">rpc_recv_buff_size_in_bytes</span></code><a class="headerlink" href="#rpc-recv-buff-size-in-bytes" title="Permalink to this headline">¶</a></h2> -<p><em>This option is commented out by default.</em></p> -</div> <div class="section" id="internode-send-buff-size-in-bytes"> <h2><code class="docutils literal"><span class="pre">internode_send_buff_size_in_bytes</span></code><a class="headerlink" href="#internode-send-buff-size-in-bytes" title="Permalink to this headline">¶</a></h2> <p><em>This option is commented out by default.</em></p> @@ -1241,11 +1166,6 @@ and ‘man tcp’</p> Note that when setting this, the buffer size is limited by net.core.wmem_max and when not setting it it is defined by net.ipv4.tcp_wmem</p> </div> -<div class="section" id="thrift-framed-transport-size-in-mb"> -<h2><code class="docutils literal"><span class="pre">thrift_framed_transport_size_in_mb</span></code><a class="headerlink" href="#thrift-framed-transport-size-in-mb" title="Permalink to this headline">¶</a></h2> -<p>Frame size for thrift (maximum message length).</p> -<p><em>Default Value:</em> 15</p> -</div> <div class="section" id="incremental-backups"> <h2><code class="docutils literal"><span class="pre">incremental_backups</span></code><a class="headerlink" href="#incremental-backups" title="Permalink to this headline">¶</a></h2> <p>Set to true to have Cassandra create a hard link to each sstable @@ -1417,6 +1337,14 @@ Default value is 300s (5 minutes), which times out in 10 minutes by default</p> <p><em>Default Value:</em> 300</p> </div> +<div class="section" id="streaming-connections-per-host"> +<h2><code class="docutils literal"><span class="pre">streaming_connections_per_host</span></code><a class="headerlink" href="#streaming-connections-per-host" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Limit number of connections per host for streaming +Increase this when you notice that joins are CPU-bound rather that network +bound (for example a few nodes with big files).</p> +<p><em>Default Value:</em> 1</p> +</div> <div class="section" id="phi-convict-threshold"> <h2><code class="docutils literal"><span class="pre">phi_convict_threshold</span></code><a class="headerlink" href="#phi-convict-threshold" title="Permalink to this headline">¶</a></h2> <p><em>This option is commented out by default.</em></p> @@ -1508,64 +1436,6 @@ expressed as a double which represents a until the pinned host was 20% worse than the fastest.</p> <p><em>Default Value:</em> 0.1</p> </div> -<div class="section" id="request-scheduler"> -<h2><code class="docutils literal"><span class="pre">request_scheduler</span></code><a class="headerlink" href="#request-scheduler" title="Permalink to this headline">¶</a></h2> -<p>request_scheduler – Set this to a class that implements -RequestScheduler, which will schedule incoming client requests -according to the specific policy. This is useful for multi-tenancy -with a single Cassandra cluster. -NOTE: This is specifically for requests from the client and does -not affect inter node communication. -org.apache.cassandra.scheduler.NoScheduler - No scheduling takes place -org.apache.cassandra.scheduler.RoundRobinScheduler - Round robin of -client requests to a node with a separate queue for each -request_scheduler_id. The scheduler is further customized by -request_scheduler_options as described below.</p> -<p><em>Default Value:</em> org.apache.cassandra.scheduler.NoScheduler</p> -</div> -<div class="section" id="request-scheduler-options"> -<h2><code class="docutils literal"><span class="pre">request_scheduler_options</span></code><a class="headerlink" href="#request-scheduler-options" title="Permalink to this headline">¶</a></h2> -<p><em>This option is commented out by default.</em></p> -<p>Scheduler Options vary based on the type of scheduler</p> -<dl class="docutils"> -<dt>NoScheduler</dt> -<dd>Has no options</dd> -<dt>RoundRobin</dt> -<dd><dl class="first last docutils"> -<dt>throttle_limit</dt> -<dd>The throttle_limit is the number of in-flight -requests per client. Requests beyond -that limit are queued up until -running requests can complete. -The value of 80 here is twice the number of -concurrent_reads + concurrent_writes.</dd> -<dt>default_weight</dt> -<dd>default_weight is optional and allows for -overriding the default which is 1.</dd> -<dt>weights</dt> -<dd>Weights are optional and will default to 1 or the -overridden default_weight. The weight translates into how -many requests are handled during each turn of the -RoundRobin, based on the scheduler id.</dd> -</dl> -</dd> -</dl> -<p><em>Default Value (complex option)</em>:</p> -<div class="highlight-default"><div class="highlight"><pre><span class="c"># throttle_limit: 80</span> -<span class="c"># default_weight: 5</span> -<span class="c"># weights:</span> -<span class="c"># Keyspace1: 1</span> -<span class="c"># Keyspace2: 5</span> -</pre></div> -</div> -</div> -<div class="section" id="request-scheduler-id"> -<h2><code class="docutils literal"><span class="pre">request_scheduler_id</span></code><a class="headerlink" href="#request-scheduler-id" title="Permalink to this headline">¶</a></h2> -<p><em>This option is commented out by default.</em> -request_scheduler_id – An identifier based on which to perform -the request scheduling. Currently the only valid option is keyspace.</p> -<p><em>Default Value:</em> keyspace</p> -</div> <div class="section" id="server-encryption-options"> <h2><code class="docutils literal"><span class="pre">server_encryption_options</span></code><a class="headerlink" href="#server-encryption-options" title="Permalink to this headline">¶</a></h2> <p>Enable or disable inter-node encryption @@ -1653,13 +1523,6 @@ latency if you block for cross-datacente <h2><code class="docutils literal"><span class="pre">tracetype_repair_ttl</span></code><a class="headerlink" href="#tracetype-repair-ttl" title="Permalink to this headline">¶</a></h2> <p><em>Default Value:</em> 604800</p> </div> -<div class="section" id="gc-log-threshold-in-ms"> -<h2><code class="docutils literal"><span class="pre">gc_log_threshold_in_ms</span></code><a class="headerlink" href="#gc-log-threshold-in-ms" title="Permalink to this headline">¶</a></h2> -<p><em>This option is commented out by default.</em></p> -<p>By default, Cassandra logs GC Pauses greater than 200 ms at INFO level -This threshold can be adjusted to minimize logging if necessary</p> -<p><em>Default Value:</em> 200</p> -</div> <div class="section" id="enable-user-defined-functions"> <h2><code class="docutils literal"><span class="pre">enable_user_defined_functions</span></code><a class="headerlink" href="#enable-user-defined-functions" title="Permalink to this headline">¶</a></h2> <p>If unset, all GC Pauses greater than gc_log_threshold_in_ms will log at @@ -1755,11 +1618,19 @@ Caution should be taken on increasing th <p>Log a warning when compacting partitions larger than this value</p> <p><em>Default Value:</em> 100</p> </div> +<div class="section" id="gc-log-threshold-in-ms"> +<h2><code class="docutils literal"><span class="pre">gc_log_threshold_in_ms</span></code><a class="headerlink" href="#gc-log-threshold-in-ms" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>GC Pauses greater than 200 ms will be logged at INFO level +This threshold can be adjusted to minimize logging if necessary</p> +<p><em>Default Value:</em> 200</p> +</div> <div class="section" id="gc-warn-threshold-in-ms"> <h2><code class="docutils literal"><span class="pre">gc_warn_threshold_in_ms</span></code><a class="headerlink" href="#gc-warn-threshold-in-ms" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> <p>GC Pauses greater than gc_warn_threshold_in_ms will be logged at WARN level -Adjust the threshold based on your application throughput requirement -By default, Cassandra logs GC Pauses greater than 200 ms at INFO level</p> +Adjust the threshold based on your application throughput requirement. Setting to 0 +will deactivate the feature.</p> <p><em>Default Value:</em> 1000</p> </div> <div class="section" id="max-value-size-in-mb"> @@ -1791,6 +1662,60 @@ if SLOW at the speed of the slowest one. New strategies can be added. Implementors need to implement org.apache.cassandra.net.BackpressureStrategy and provide a public constructor accepting a Map<String, Object>.</p> </div> +<div class="section" id="otc-coalescing-strategy"> +<h2><code class="docutils literal"><span class="pre">otc_coalescing_strategy</span></code><a class="headerlink" href="#otc-coalescing-strategy" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Coalescing Strategies # +Coalescing multiples messages turns out to significantly boost message processing throughput (think doubling or more). +On bare metal, the floor for packet processing throughput is high enough that many applications won’t notice, but in +virtualized environments, the point at which an application can be bound by network packet processing can be +surprisingly low compared to the throughput of task processing that is possible inside a VM. It’s not that bare metal +doesn’t benefit from coalescing messages, it’s that the number of packets a bare metal network interface can process +is sufficient for many applications such that no load starvation is experienced even without coalescing. +There are other benefits to coalescing network messages that are harder to isolate with a simple metric like messages +per second. By coalescing multiple tasks together, a network thread can process multiple messages for the cost of one +trip to read from a socket, and all the task submission work can be done at the same time reducing context switching +and increasing cache friendliness of network message processing. +See CASSANDRA-8692 for details.</p> +<p>Strategy to use for coalescing messages in OutboundTcpConnection. +Can be fixed, movingaverage, timehorizon, disabled (default). +You can also specify a subclass of CoalescingStrategies.CoalescingStrategy by name.</p> +<p><em>Default Value:</em> DISABLED</p> +</div> +<div class="section" id="otc-coalescing-window-us"> +<h2><code class="docutils literal"><span class="pre">otc_coalescing_window_us</span></code><a class="headerlink" href="#otc-coalescing-window-us" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>How many microseconds to wait for coalescing. For fixed strategy this is the amount of time after the first +message is received before it will be sent with any accompanying messages. For moving average this is the +maximum amount of time that will be waited as well as the interval at which messages must arrive on average +for coalescing to be enabled.</p> +<p><em>Default Value:</em> 200</p> +</div> +<div class="section" id="otc-coalescing-enough-coalesced-messages"> +<h2><code class="docutils literal"><span class="pre">otc_coalescing_enough_coalesced_messages</span></code><a class="headerlink" href="#otc-coalescing-enough-coalesced-messages" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Do not try to coalesce messages if we already got that many messages. This should be more than 2 and less than 128.</p> +<p><em>Default Value:</em> 8</p> +</div> +<div class="section" id="otc-backlog-expiration-interval-ms"> +<h2><code class="docutils literal"><span class="pre">otc_backlog_expiration_interval_ms</span></code><a class="headerlink" href="#otc-backlog-expiration-interval-ms" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>How many milliseconds to wait between two expiration runs on the backlog (queue) of the OutboundTcpConnection. +Expiration is done if messages are piling up in the backlog. Droppable messages are expired to free the memory +taken by expired messages. The interval should be between 0 and 1000, and in most installations the default value +will be appropriate. A smaller value could potentially expire messages slightly sooner at the expense of more CPU +time and queue contention while iterating the backlog of messages. +An interval of 0 disables any wait time, which is the behavior of former Cassandra versions.</p> +<p><em>Default Value:</em> 200</p> +</div> +<div class="section" id="ideal-consistency-level"> +<h2><code class="docutils literal"><span class="pre">ideal_consistency_level</span></code><a class="headerlink" href="#ideal-consistency-level" title="Permalink to this headline">¶</a></h2> +<p><em>This option is commented out by default.</em></p> +<p>Track a metric per keyspace indicating whether replication achieved the ideal consistency +level for writes without timing out. This is different from the consistency level requested by +each write which may be lower in order to facilitate availability.</p> +<p><em>Default Value:</em> EACH_QUORUM</p> +</div> </div>
Modified: cassandra/site/publish/doc/4.0/configuration/index.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/4.0/configuration/index.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/4.0/configuration/index.html (original) +++ cassandra/site/publish/doc/4.0/configuration/index.html Tue May 16 02:01:22 2017 @@ -133,7 +133,7 @@ <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">Cassandra Development</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="../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li> Modified: cassandra/site/publish/doc/4.0/contactus.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/4.0/contactus.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/4.0/contactus.html (original) +++ cassandra/site/publish/doc/4.0/contactus.html Tue May 16 02:01:22 2017 @@ -130,7 +130,7 @@ <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">Cassandra Development</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="bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1 current"><a class="current reference internal" href="#">Contact us</a><ul> Modified: cassandra/site/publish/doc/4.0/cql/appendices.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/4.0/cql/appendices.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/4.0/cql/appendices.html (original) +++ cassandra/site/publish/doc/4.0/cql/appendices.html Tue May 16 02:01:22 2017 @@ -136,6 +136,7 @@ <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 current"><a class="current reference internal" href="#">Appendices</a><ul> @@ -150,7 +151,7 @@ <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">Cassandra Development</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="../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li> Modified: cassandra/site/publish/doc/4.0/cql/changes.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/4.0/cql/changes.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/4.0/cql/changes.html (original) +++ cassandra/site/publish/doc/4.0/cql/changes.html Tue May 16 02:01:22 2017 @@ -136,30 +136,33 @@ <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.3</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id2">3.4.2</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id3">3.4.1</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id4">3.4.0</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id5">3.3.1</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id6">3.3.0</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id7">3.2.0</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id8">3.1.7</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id9">3.1.6</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id10">3.1.5</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id11">3.1.4</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id12">3.1.3</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id13">3.1.2</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id14">3.1.1</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id15">3.1.0</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id16">3.0.5</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id17">3.0.4</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id18">3.0.3</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id19">3.0.2</a></li> -<li class="toctree-l3"><a class="reference internal" href="#id20">3.0.1</a></li> +<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> @@ -169,7 +172,7 @@ <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">Cassandra Development</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="../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li> @@ -189,16 +192,31 @@ <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.3<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2> +<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"><span class="pre">+</span></code> and <code class="docutils literal"><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"><span class="pre">currentTimestamp</span></code>, <code class="docutils literal"><span class="pre">currentDate</span></code>, <code class="docutils literal"><span class="pre">currentTime</span></code> and <code class="docutils literal"><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"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> <code class="docutils literal"><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"><span class="pre">ALTER</span> <span class="pre">TYPE</span></code> <code class="docutils literal"><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"><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"><span class="pre">DEFAULT</span> <span class="pre">UNSET</span></code> option for <code class="docutils literal"><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"><span class="pre">null</span></code> as a legal value for TTL on insert and update. It will be treated as equivalent to</li> +<li>Allows <code class="docutils literal"><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> -<p>inserting a 0 (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-12216">CASSANDRA-12216</a>).</p> </div> -<div class="section" id="id2"> -<h2>3.4.2<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2> +<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"><span class="pre">default_time_to_live</span></code>, then explicitly specifying a TTL of 0 in an <code class="docutils literal"><span class="pre">INSERT</span></code> or <code class="docutils literal"><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 @@ -212,28 +230,28 @@ new <code class="docutils literal"><span deleted in <code class="docutils literal"><span class="pre">UPDATE</span></code> statements and <code class="docutils literal"><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="id3"> -<h2>3.4.1<a class="headerlink" href="#id3" title="Permalink to this headline">¶</a></h2> +<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"><span class="pre">CAST</span></code> functions.</li> </ul> </div> -<div class="section" id="id4"> -<h2>3.4.0<a class="headerlink" href="#id4" title="Permalink to this headline">¶</a></h2> +<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"><span class="pre">DELETE</span></code> support for inequality expressions and <code class="docutils literal"><span class="pre">IN</span></code> restrictions on any primary key columns.</li> <li><code class="docutils literal"><span class="pre">UPDATE</span></code> support for <code class="docutils literal"><span class="pre">IN</span></code> restrictions on any primary key columns.</li> </ul> </div> -<div class="section" id="id5"> -<h2>3.3.1<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h2> +<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"><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"><span class="pre">TRUNCATE</span> <span class="pre">X</span></code>.</li> </ul> </div> -<div class="section" id="id6"> -<h2>3.3.0<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h2> +<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> @@ -243,8 +261,8 @@ deleted in <code class="docutils literal <li>Adds new time conversion functions and deprecate <code class="docutils literal"><span class="pre">dateOf</span></code> and <code class="docutils literal"><span class="pre">unixTimestampOf</span></code>.</li> </ul> </div> -<div class="section" id="id7"> -<h2>3.2.0<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h2> +<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"><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 @@ -254,8 +272,8 @@ deleted in <code class="docutils literal <li><code class="docutils literal"><span class="pre">DROP</span> <span class="pre">INDEX</span></code> now supports optionally specifying a keyspace.</li> </ul> </div> -<div class="section" id="id8"> -<h2>3.1.7<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h2> +<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"><span class="pre">SELECT</span></code> statements now support selecting multiple rows in a single partition using an <code class="docutils literal"><span class="pre">IN</span></code> clause on combinations of clustering columns.</li> @@ -263,41 +281,41 @@ of clustering columns.</li> respectively.</li> </ul> </div> -<div class="section" id="id9"> -<h2>3.1.6<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h2> +<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"><span class="pre">uuid()</span></code> method has been added.</li> <li>Support for <code class="docutils literal"><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="id10"> -<h2>3.1.5<a class="headerlink" href="#id10" title="Permalink to this headline">¶</a></h2> +<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="id11"> -<h2>3.1.4<a class="headerlink" href="#id11" title="Permalink to this headline">¶</a></h2> +<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"><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="id12"> -<h2>3.1.3<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h2> +<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="id13"> -<h2>3.1.2<a class="headerlink" href="#id13" title="Permalink to this headline">¶</a></h2> +<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"><span class="pre">NaN</span></code> and <code class="docutils literal"><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="id14"> -<h2>3.1.1<a class="headerlink" href="#id14" title="Permalink to this headline">¶</a></h2> +<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"><span class="pre">SELECT</span></code> statement now allows listing the partition keys (using the <code class="docutils literal"><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"><span class="pre">c</span> <span class="pre">IN</span> <span class="pre">?</span></code> is now supported in <code class="docutils literal"><span class="pre">WHERE</span></code> clauses. In that case, the value expected for the bind variable @@ -305,8 +323,8 @@ will be a list of whatever type <code cl <li>It is now possible to use named bind variables (using <code class="docutils literal"><span class="pre">:name</span></code> instead of <code class="docutils literal"><span class="pre">?</span></code>).</li> </ul> </div> -<div class="section" id="id15"> -<h2>3.1.0<a class="headerlink" href="#id15" title="Permalink to this headline">¶</a></h2> +<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"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> <code class="docutils literal"><span class="pre">DROP</span></code> option added.</li> <li><code class="docutils literal"><span class="pre">SELECT</span></code> statement now supports aliases in select clause. Aliases in WHERE and ORDER BY clauses are not supported.</li> @@ -315,14 +333,14 @@ Similarly, <code class="docutils literal <li><code class="docutils literal"><span class="pre">INSERT</span></code> statements optionally supports a <code class="docutils literal"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> condition and <code class="docutils literal"><span class="pre">UPDATE</span></code> supports <code class="docutils literal"><span class="pre">IF</span></code> conditions.</li> </ul> </div> -<div class="section" id="id16"> -<h2>3.0.5<a class="headerlink" href="#id16" title="Permalink to this headline">¶</a></h2> +<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"><span class="pre">SELECT</span></code>, <code class="docutils literal"><span class="pre">UPDATE</span></code>, and <code class="docutils literal"><span class="pre">DELETE</span></code> statements now allow empty <code class="docutils literal"><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="id17"> -<h2>3.0.4<a class="headerlink" href="#id17" title="Permalink to this headline">¶</a></h2> +<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 @@ -330,14 +348,14 @@ correct (the order was <strong>not</stro 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="id18"> -<h2>3.0.3<a class="headerlink" href="#id18" title="Permalink to this headline">¶</a></h2> +<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="id19"> -<h2>3.0.2<a class="headerlink" href="#id19" title="Permalink to this headline">¶</a></h2> +<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"><span class="pre">'2'</span></code> as a valid value for an <code class="docutils literal"><span class="pre">int</span></code> column (interpreting it has the equivalent of <code class="docutils literal"><span class="pre">2</span></code>), or <code class="docutils literal"><span class="pre">42</span></code> as a valid @@ -352,8 +370,8 @@ as blobs, you should thus update your cl 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="id20"> -<h2>3.0.1<a class="headerlink" href="#id20" title="Permalink to this headline">¶</a></h2> +<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"><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"><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 Modified: cassandra/site/publish/doc/4.0/cql/ddl.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/4.0/cql/ddl.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/4.0/cql/ddl.html (original) +++ cassandra/site/publish/doc/4.0/cql/ddl.html Tue May 16 02:01:22 2017 @@ -147,6 +147,7 @@ <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> @@ -157,7 +158,7 @@ <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">Cassandra Development</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="../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li> @@ -480,7 +481,7 @@ instance, given:</p> <span class="n">a</span> <span class="nb">int</span><span class="p">,</span> <span class="n">b</span> <span class="nb">int</span><span class="p">,</span> <span class="n">c</span> <span class="nb">int</span><span class="p">,</span> - <span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">c</span><span class="p">,</span> <span class="n">d</span><span class="p">)</span> + <span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">(</span><span class="n">a</span><span class="p">,</span> <span class="n">b</span><span class="p">,</span> <span class="n">c</span><span class="p">)</span> <span class="p">);</span> <span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">t</span><span class="p">;</span> @@ -511,14 +512,14 @@ options of a table are described in the <p class="first admonition-title">Warning</p> <p class="last">Since Cassandra 3.0, compact tables have the exact same layout internally than non compact ones (for the same schema obviously), and declaring a table compact <strong>only</strong> creates artificial limitations on the table definition -and usage that are necessary to ensure backward compatibility with the deprecated Thrift API. And as <code class="docutils literal"><span class="pre">COMPACT</span> +and usage. It only exists for historical reason and is preserved for backward compatibility And as <code class="docutils literal"><span class="pre">COMPACT</span> <span class="pre">STORAGE</span></code> cannot, as of Cassandra 4.0, be removed, it is strongly discouraged to create new table with the <code class="docutils literal"><span class="pre">COMPACT</span> <span class="pre">STORAGE</span></code> option.</p> </div> -<p>A <em>compact</em> table is one defined with the <code class="docutils literal"><span class="pre">COMPACT</span> <span class="pre">STORAGE</span></code> option. This option is mainly targeted towards backward -compatibility for definitions created before CQL version 3 (see <a class="reference external" href="http://www.datastax.com/dev/blog/thrift-to-cql3">www.datastax.com/dev/blog/thrift-to-cql3</a> for more details) and shouldn’t be used for new tables. Declaring a -table with this option creates limitations for the table which are largely arbitrary but necessary for backward -compatibility with the (deprecated) Thrift API. Amongst those limitation:</p> +<p>A <em>compact</em> table is one defined with the <code class="docutils literal"><span class="pre">COMPACT</span> <span class="pre">STORAGE</span></code> option. This option is only maintained for backward +compatibility for definitions created before CQL version 3 and shouldn’t be used for new tables. Declaring a +table with this option creates limitations for the table which are largely arbitrary (and exists for historical +reasons). Amongst those limitation:</p> <ul class="simple"> <li>a compact table cannot use collections nor static columns.</li> <li>if a compact table has at least one clustering column, then it must have <em>exactly</em> one column outside of the primary @@ -734,15 +735,12 @@ anticipate future usage when creating a <p>Altering an existing table uses the <code class="docutils literal"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> statement:</p> <pre> <strong id="grammar-token-alter_table_statement">alter_table_statement </strong> ::= ALTER TABLE <a class="reference internal" href="#grammar-token-table_name"><code class="xref docutils literal"><span class="pre">table_name</span></code></a> <a class="reference internal" href="#grammar-token-alter_table_instruction"><code class="xref docutils literal"><span class="pre">alter_table_instruction</span></code></a> -<strong id="grammar-token-alter_table_instruction">alter_table_instruction</strong> ::= ALTER <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal"><span class="pre">column_name</span></code></a> TYPE <a class="reference internal" href="types.html#grammar-token-cql_type"><code class="xref docutils literal"><span class="pre">cql_type</span></code></a> - | ADD <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal"><span class="pre">column_name</span></code></a> <a class="reference internal" href="types.html#grammar-token-cql_type"><code class="xref docutils literal"><span class="pre">cql_type</span></code></a> ( ',' <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal"><span class="pre">column_name</span></code></a> <a class="reference internal" href="types.html#grammar-token-cql_type"><code class="xref docutils literal"><span class="pre">cql_type</span></code></a> )* +<strong id="grammar-token-alter_table_instruction">alter_table_instruction</strong> ::= ADD <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal"><span class="pre">column_name</span></code></a> <a class="reference internal" href="types.html#grammar-token-cql_type"><code class="xref docutils literal"><span class="pre">cql_type</span></code></a> ( ',' <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal"><span class="pre">column_name</span></code></a> <a class="reference internal" href="types.html#grammar-token-cql_type"><code class="xref docutils literal"><span class="pre">cql_type</span></code></a> )* | DROP <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal"><span class="pre">column_name</span></code></a> ( <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal"><span class="pre">column_name</span></code></a> )* | WITH <a class="reference internal" href="#grammar-token-options"><code class="xref docutils literal"><span class="pre">options</span></code></a> </pre> <p>For instance:</p> -<div class="highlight-cql"><div class="highlight"><pre><span class="k">ALTER</span> <span class="k">TABLE</span> <span class="n">addamsFamily</span> <span class="k">ALTER</span> <span class="n">lastKnownLocation</span> <span class="k">TYPE</span> <span class="nb">uuid</span><span class="p">;</span> - -<span class="k">ALTER</span> <span class="k">TABLE</span> <span class="n">addamsFamily</span> <span class="k">ADD</span> <span class="n">gravesite</span> <span class="nb">varchar</span><span class="p">;</span> +<div class="highlight-cql"><div class="highlight"><pre><span class="k">ALTER</span> <span class="k">TABLE</span> <span class="n">addamsFamily</span> <span class="k">ADD</span> <span class="n">gravesite</span> <span class="nb">varchar</span><span class="p">;</span> <span class="k">ALTER</span> <span class="k">TABLE</span> <span class="n">addamsFamily</span> <span class="k">WITH</span> <span class="n">comment</span> <span class="o">=</span> <span class="s1">'A most excellent and useful table'</span> @@ -751,11 +749,6 @@ anticipate future usage when creating a </div> <p>The <code class="docutils literal"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> statement can:</p> <ul class="simple"> -<li>Change the type of one of the column in the table (through the <code class="docutils literal"><span class="pre">ALTER</span></code> instruction). Note that the type of a column -cannot be changed arbitrarily. The change of type should be such that any value of the previous type should be a valid -value of the new type. Further, for <a class="reference internal" href="#clustering-columns"><span class="std std-ref">clustering columns</span></a> and columns on which a secondary -index is defined, the new type must sort values in the same way the previous type does. See the <a class="reference internal" href="#alter-table-type-compatibility"><span class="std std-ref">type -compatibility table</span></a> below for detail on which type changes are accepted.</li> <li>Add new column(s) to the table (through the <code class="docutils literal"><span class="pre">ADD</span></code> instruction). Note that the primary key of a table cannot be changed and thus newly added column will, by extension, never be part of the primary key. Also note that <a class="reference internal" href="#compact-tables"><span class="std std-ref">compact tables</span></a> have restrictions regarding column addition. Note that this is constant (in the amount of @@ -781,75 +774,6 @@ convention. Please be aware that if you <p class="last">Once a column is dropped, it is allowed to re-add a column with the same name than the dropped one <strong>unless</strong> the type of the dropped column was a (non-frozen) column (due to an internal technical limitation).</p> </div> -<div class="section" id="cql-type-compatibility"> -<span id="alter-table-type-compatibility"></span><h3>CQL type compatibility:<a class="headerlink" href="#cql-type-compatibility" title="Permalink to this headline">¶</a></h3> -<p>CQL data types may be converted only as the following table.</p> -<table border="1" class="docutils"> -<colgroup> -<col width="73%" /> -<col width="27%" /> -</colgroup> -<thead valign="bottom"> -<tr class="row-odd"><th class="head">Existing type</th> -<th class="head">Can be altered to:</th> -</tr> -</thead> -<tbody valign="top"> -<tr class="row-even"><td>timestamp</td> -<td>bigint</td> -</tr> -<tr class="row-odd"><td>ascii, bigint, boolean, date, decimal, double, float, -inet, int, smallint, text, time, timestamp, timeuuid, -tinyint, uuid, varchar, varint</td> -<td>blob</td> -</tr> -<tr class="row-even"><td>int</td> -<td>date</td> -</tr> -<tr class="row-odd"><td>ascii, varchar</td> -<td>text</td> -</tr> -<tr class="row-even"><td>bigint</td> -<td>time</td> -</tr> -<tr class="row-odd"><td>bigint</td> -<td>timestamp</td> -</tr> -<tr class="row-even"><td>timeuuid</td> -<td>uuid</td> -</tr> -<tr class="row-odd"><td>ascii, text</td> -<td>varchar</td> -</tr> -<tr class="row-even"><td>bigint, int, timestamp</td> -<td>varint</td> -</tr> -</tbody> -</table> -<p>Clustering columns have stricter requirements, only the following conversions are allowed:</p> -<table border="1" class="docutils"> -<colgroup> -<col width="52%" /> -<col width="48%" /> -</colgroup> -<thead valign="bottom"> -<tr class="row-odd"><th class="head">Existing type</th> -<th class="head">Can be altered to</th> -</tr> -</thead> -<tbody valign="top"> -<tr class="row-even"><td>ascii, text, varchar</td> -<td>blob</td> -</tr> -<tr class="row-odd"><td>ascii, varchar</td> -<td>text</td> -</tr> -<tr class="row-even"><td>ascii, text</td> -<td>varchar</td> -</tr> -</tbody> -</table> -</div> </div> <div class="section" id="drop-table"> <span id="drop-table-statement"></span><h2>DROP TABLE<a class="headerlink" href="#drop-table" title="Permalink to this headline">¶</a></h2> Modified: cassandra/site/publish/doc/4.0/cql/definitions.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/4.0/cql/definitions.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/4.0/cql/definitions.html (original) +++ cassandra/site/publish/doc/4.0/cql/definitions.html Tue May 16 02:01:22 2017 @@ -145,6 +145,7 @@ <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> @@ -155,7 +156,7 @@ <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">Cassandra Development</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="../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li> @@ -256,11 +257,12 @@ escape single-quote characters in functi <h2>Terms<a class="headerlink" href="#terms" title="Permalink to this headline">¶</a></h2> <p>CQL has the notion of a <em>term</em>, which denotes the kind of values that CQL support. Terms are defined by:</p> <pre> -<strong id="grammar-token-term">term </strong> ::= <a class="reference internal" href="#grammar-token-constant"><code class="xref docutils literal"><span class="pre">constant</span></code></a> | <a class="reference internal" href="#grammar-token-literal"><code class="xref docutils literal"><span class="pre">literal</span></code></a> | <a class="reference internal" href="#grammar-token-function_call"><code class="xref docutils literal"><span class="pre">function_call</span></code></a> | <a class="reference internal" href="#grammar-token-type_hint"><code class="xref docutils literal"><span class="pre">type_hint</span></code></a> | <a class="reference internal" href="#grammar-token-bind_marker"><code class="xref docutils literal"><span class="pre">bind_marker</span></code></a> -<strong id="grammar-token-literal">literal </strong> ::= <a class="reference internal" href="types.html#grammar-token-collection_literal"><code class="xref docutils literal"><span class="pre">collection_literal</span></code></a> | <a class="reference internal" href="types.html#grammar-token-udt_literal"><code class="xref docutils literal"><span class="pre">udt_literal</span></code></a> | <a class="reference internal" href="types.html#grammar-token-tuple_literal"><code class="xref docutils literal"><span class="pre">tuple_literal</span></code></a> -<strong id="grammar-token-function_call">function_call</strong> ::= <a class="reference internal" href="#grammar-token-identifier"><code class="xref docutils literal"><span class="pre">identifier</span></code></a> '(' [ <a class="reference internal" href="#grammar-token-term"><code class="xref docutils literal"><span class="pre">term</span></code></a> (',' <a class="reference internal" href="#grammar-token-term"><code class="xref docutils literal"><span class="pre">term</span></code></a>)* ] ')' -<strong id="grammar-token-type_hint">type_hint </strong> ::= '(' <a class="reference internal" href="types.html#grammar-token-cql_type"><code class="xref docutils literal"><span class="pre">cql_type</span></code></a> `)` term -<strong id="grammar-token-bind_marker">bind_marker </strong> ::= '?' | ':' <a class="reference internal" href="#grammar-token-identifier"><code class="xref docutils literal"><span class="pre">identifier</span></code></a> +<strong id="grammar-token-term">term </strong> ::= <a class="reference internal" href="#grammar-token-constant"><code class="xref docutils literal"><span class="pre">constant</span></code></a> | <a class="reference internal" href="#grammar-token-literal"><code class="xref docutils literal"><span class="pre">literal</span></code></a> | <a class="reference internal" href="#grammar-token-function_call"><code class="xref docutils literal"><span class="pre">function_call</span></code></a> | <a class="reference internal" href="#grammar-token-arithmetic_operation"><code class="xref docutils literal"><span class="pre">arithmetic_operation</span></code></a> | <a class="reference internal" href="#grammar-token-type_hint"><code class="xref docutils literal"><span class="pre">type_hint</span></code></a> | <a class="reference internal" href="#grammar-token-bind_marker"><code class="xref docutils literal"><span class="pre">bind_marker</span></code></a> +<strong id="grammar-token-literal">literal </strong> ::= <a class="reference internal" href="types.html#grammar-token-collection_literal"><code class="xref docutils literal"><span class="pre">collection_literal</span></code></a> | <a class="reference internal" href="types.html#grammar-token-udt_literal"><code class="xref docutils literal"><span class="pre">udt_literal</span></code></a> | <a class="reference internal" href="types.html#grammar-token-tuple_literal"><code class="xref docutils literal"><span class="pre">tuple_literal</span></code></a> +<strong id="grammar-token-function_call">function_call </strong> ::= <a class="reference internal" href="#grammar-token-identifier"><code class="xref docutils literal"><span class="pre">identifier</span></code></a> '(' [ <a class="reference internal" href="#grammar-token-term"><code class="xref docutils literal"><span class="pre">term</span></code></a> (',' <a class="reference internal" href="#grammar-token-term"><code class="xref docutils literal"><span class="pre">term</span></code></a>)* ] ')' +<strong id="grammar-token-arithmetic_operation">arithmetic_operation</strong> ::= '-' <a class="reference internal" href="#grammar-token-term"><code class="xref docutils literal"><span class="pre">term</span></code></a> | <a class="reference internal" href="#grammar-token-term"><code class="xref docutils literal"><span class="pre">term</span></code></a> ('+' | '-' | '*' | '/' | '%') <a class="reference internal" href="#grammar-token-term"><code class="xref docutils literal"><span class="pre">term</span></code></a> +<strong id="grammar-token-type_hint">type_hint </strong> ::= '(' <a class="reference internal" href="types.html#grammar-token-cql_type"><code class="xref docutils literal"><span class="pre">cql_type</span></code></a> `)` term +<strong id="grammar-token-bind_marker">bind_marker </strong> ::= '?' | ':' <a class="reference internal" href="#grammar-token-identifier"><code class="xref docutils literal"><span class="pre">identifier</span></code></a> </pre> <p>A term is thus one of:</p> <ul class="simple"> @@ -268,6 +270,7 @@ escape single-quote characters in functi <li>A literal for either <a class="reference internal" href="types.html#collections"><span class="std std-ref">a collection</span></a>, <a class="reference internal" href="types.html#udts"><span class="std std-ref">a user-defined type</span></a> or <a class="reference internal" href="types.html#tuples"><span class="std std-ref">a tuple</span></a> (see the linked sections for details).</li> <li>A function call: see <a class="reference internal" href="functions.html#cql-functions"><span class="std std-ref">the section on functions</span></a> for details on which <a class="reference internal" href="functions.html#native-functions"><span class="std std-ref">native function</span></a> exists and how to define your own <a class="reference internal" href="functions.html#udfs"><span class="std std-ref">user-defined ones</span></a>.</li> +<li>An arithmetic operation between terms. see <a class="reference internal" href="operators.html#arithmetic-operators"><span class="std std-ref">the section on arithmetic operations</span></a></li> <li>A <em>type hint</em>: see the <span class="xref std std-ref">related section</span> for details.</li> <li>A bind marker, which denotes a variable to be bound at execution time. See the section on <a class="reference internal" href="#prepared-statements"><span class="std std-ref">Prepared Statements</span></a> for details. A bind marker can be either anonymous (<code class="docutils literal"><span class="pre">?</span></code>) or named (<code class="docutils literal"><span class="pre">:some_name</span></code>). The latter form provides a more Modified: cassandra/site/publish/doc/4.0/cql/dml.html URL: http://svn.apache.org/viewvc/cassandra/site/publish/doc/4.0/cql/dml.html?rev=1795259&r1=1795258&r2=1795259&view=diff ============================================================================== --- cassandra/site/publish/doc/4.0/cql/dml.html (original) +++ cassandra/site/publish/doc/4.0/cql/dml.html Tue May 16 02:01:22 2017 @@ -143,6 +143,7 @@ <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> @@ -153,7 +154,7 @@ <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">Cassandra Development</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="../bugs.html">Reporting Bugs and Contributing</a></li> <li class="toctree-l1"><a class="reference internal" href="../contactus.html">Contact us</a></li> @@ -589,6 +590,7 @@ none will). See the notes on <a class="r resolution procedure in the case of <a class="reference external" href="http://wiki.apache.org/cassandra/FAQ#clocktie">timestamp ties</a>, operations may be applied in an order that is different from the order they are listed in the <code class="docutils literal"><span class="pre">BATCH</span></code> statement. To force a particular operation ordering, you must specify per-operation timestamps.</li> +<li>A LOGGED batch to a single partition will be converted to an UNLOGGED batch as an optimization.</li> </ul> <div class="section" id="unlogged-batches"> <span id="id4"></span><h3><code class="docutils literal"><span class="pre">UNLOGGED</span></code> batches<a class="headerlink" href="#unlogged-batches" title="Permalink to this headline">¶</a></h3> --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
