Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id AE65A200CAD for ; Tue, 16 May 2017 04:01:38 +0200 (CEST) Received: by cust-asf.ponee.io (Postfix) id AB7F2160BD3; Tue, 16 May 2017 02:01:38 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id 9F655160BCE for ; Tue, 16 May 2017 04:01:36 +0200 (CEST) Received: (qmail 38957 invoked by uid 500); 16 May 2017 02:01:35 -0000 Mailing-List: contact commits-help@cassandra.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Delivered-To: mailing list commits@cassandra.apache.org Received: (qmail 38866 invoked by uid 99); 16 May 2017 02:01:35 -0000 Received: from Unknown (HELO svn01-us-west.apache.org) (209.188.14.144) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 May 2017 02:01:35 +0000 Received: from svn01-us-west.apache.org (localhost [127.0.0.1]) by svn01-us-west.apache.org (ASF Mail Server at svn01-us-west.apache.org) with ESMTP id 7691A3A3B47 for ; Tue, 16 May 2017 02:01:34 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r1795259 [2/27] - in /cassandra/site: publish/doc/3.7/ publish/doc/3.9/ publish/doc/4.0/ publish/doc/4.0/_images/ publish/doc/4.0/architecture/ publish/doc/4.0/configuration/ publish/doc/4.0/cql/ publish/doc/4.0/data_modeling/ publish/doc/4... Date: Tue, 16 May 2017 02:01:30 -0000 To: commits@cassandra.apache.org From: mshuler@apache.org X-Mailer: svnmailer-1.0.9 Message-Id: <20170516020134.7691A3A3B47@svn01-us-west.apache.org> archived-at: Tue, 16 May 2017 02:01:38 -0000 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 @@
  • disk_failure_policy
  • commit_failure_policy
  • prepared_statements_cache_size_mb
  • -
  • thrift_prepared_statements_cache_size_mb
  • key_cache_size_in_mb
  • key_cache_save_period
  • key_cache_keys_to_save
  • @@ -214,21 +213,13 @@
  • native_transport_max_frame_size_in_mb
  • native_transport_max_concurrent_connections
  • native_transport_max_concurrent_connections_per_ip
  • -
  • start_rpc
  • rpc_address
  • rpc_interface
  • rpc_interface_prefer_ipv6
  • -
  • rpc_port
  • broadcast_rpc_address
  • rpc_keepalive
  • -
  • rpc_server_type
  • -
  • rpc_min_threads
  • -
  • rpc_max_threads
  • -
  • rpc_send_buff_size_in_bytes
  • -
  • rpc_recv_buff_size_in_bytes
  • internode_send_buff_size_in_bytes
  • internode_recv_buff_size_in_bytes
  • -
  • thrift_framed_transport_size_in_mb
  • incremental_backups
  • snapshot_before_compaction
  • auto_snapshot
  • @@ -249,21 +240,18 @@
  • slow_query_log_timeout_in_ms
  • cross_node_timeout
  • streaming_keep_alive_period_in_secs
  • +
  • streaming_connections_per_host
  • phi_convict_threshold
  • endpoint_snitch
  • dynamic_snitch_update_interval_in_ms
  • dynamic_snitch_reset_interval_in_ms
  • dynamic_snitch_badness_threshold
  • -
  • request_scheduler
  • -
  • request_scheduler_options
  • -
  • request_scheduler_id
  • server_encryption_options
  • client_encryption_options
  • internode_compression
  • inter_dc_tcp_nodelay
  • tracetype_query_ttl
  • tracetype_repair_ttl
  • -
  • gc_log_threshold_in_ms
  • enable_user_defined_functions
  • enable_scripted_user_defined_functions
  • windows_timer_interval
  • @@ -274,10 +262,16 @@
  • batch_size_fail_threshold_in_kb
  • unlogged_batch_across_partitions_warn_threshold
  • compaction_large_partition_warning_threshold_mb
  • +
  • gc_log_threshold_in_ms
  • gc_warn_threshold_in_ms
  • max_value_size_in_mb
  • back_pressure_enabled
  • back_pressure_strategy
  • +
  • otc_coalescing_strategy
  • +
  • otc_coalescing_window_us
  • +
  • otc_coalescing_enough_coalesced_messages
  • +
  • otc_backlog_expiration_interval_ms
  • +
  • ideal_consistency_level
  • @@ -285,7 +279,7 @@
  • Operating Cassandra
  • Cassandra Tools
  • Troubleshooting
  • -
  • Cassandra Development
  • +
  • Contributing to Cassandra
  • Frequently Asked Questions
  • Reporting Bugs and Contributing
  • Contact us
  • @@ -428,7 +422,7 @@ PasswordAuthenticator}.

    • AllowAllAuthenticator performs no checks - set it to disable authentication.
    • 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)
    @@ -441,7 +435,7 @@ Out of the box, Cassandra provides org.a CassandraAuthorizer}.

    • AllowAllAuthorizer allows any action to any user - set it to disable authorization.
    • -
    • CassandraAuthorizer stores permissions in system_auth.permissions table. Please +
    • CassandraAuthorizer stores permissions in system_auth.role_permissions table. Please increase system_auth keyspace replication factor if you use this authorizer.

    Default Value: AllowAllAuthorizer

    @@ -599,9 +593,9 @@ data at CL.ONE!

    Policy for commit disk failures:

    die
    -
    shut down gossip and Thrift and kill the JVM, so the node can be replaced.
    +
    shut down the node and kill the JVM, so the node can be replaced.
    stop
    -
    shut down gossip and Thrift, leaving the node effectively dead, but +
    shut down the node, leaving the node effectively dead, but can still be inspected via JMX.
    stop_commit
    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.

    Default value (“auto”) is 1/256th of the heap or 10MB, whichever is greater

    -
    -

    thrift_prepared_statements_cache_size_mb¶

    -

    Maximum size of the Thrift prepared statement cache

    -

    If you do not use Thrift at all, it is safe to leave this value at “auto”.

    -

    See description of ‘prepared_statements_cache_size_mb’ above for more information.

    -

    Default value (“auto”) is 1/256th of the heap or 10MB, whichever is greater

    -

    key_cache_size_in_mb¶

    Maximum size of the key cache in memory.

    @@ -1068,8 +1055,7 @@ used to allow/disallow connections from

    start_native_transport¶

    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.

    +The address on which the native transport is bound is defined by rpc_address.

    Default Value: true

    @@ -1093,10 +1079,8 @@ keeping native_transport_port unencrypte

    native_transport_max_threads¶

    This option is commented out by default. -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).

    +The maximum threads for handling requests (note that idle threads are stopped +after 30 seconds so there is not corresponding minimum setting).

    Default Value: 128

    @@ -1121,15 +1105,9 @@ The default is -1, which means unlimited The default is -1, which means unlimited.

    Default Value: -1

    -
    -

    start_rpc¶

    -

    Whether to start the thrift rpc server.

    -

    Default Value: false

    -

    rpc_address¶

    -

    The address or interface to bind the Thrift RPC service and native transport -server to.

    +

    The address or interface to bind the native transport server to.

    Set rpc_address OR rpc_interface, not both.

    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).

    @@ -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.

    Default Value: false

    -
    -

    rpc_port¶

    -

    port for Thrift to listen for clients on

    -

    Default Value: 9160

    -

    broadcast_rpc_address¶

    This option is commented out by default.

    @@ -1173,54 +1146,6 @@ be set.

    enable or disable keepalive on rpc/native connections

    Default Value: true

    -
    -

    rpc_server_type¶

    -

    Cassandra provides two out-of-the-box options for the RPC Server:

    -
    -
    sync
    -
    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).
    -
    hsha
    -
    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.
    -
    -

    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.

    -

    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.

    -

    Default Value: sync

    -
    -
    -

    rpc_min_threads¶

    -

    This option is commented out by default.

    -

    Uncomment rpc_min|max_thread to set request pool size limits.

    -

    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).

    -

    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.

    -

    Default Value: 16

    -
    -
    -

    rpc_max_threads¶

    -

    This option is commented out by default.

    -

    Default Value: 2048

    -
    -
    -

    rpc_send_buff_size_in_bytes¶

    -

    This option is commented out by default.

    -

    uncomment to set socket buffer sizes on rpc connections

    -
    -
    -

    rpc_recv_buff_size_in_bytes¶

    -

    This option is commented out by default.

    -

    internode_send_buff_size_in_bytes¶

    This option is commented out by default.

    @@ -1241,11 +1166,6 @@ and ‘man tcp’

    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

    -
    -

    thrift_framed_transport_size_in_mb¶

    -

    Frame size for thrift (maximum message length).

    -

    Default Value: 15

    -

    incremental_backups¶

    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

    Default Value: 300

    +
    +

    streaming_connections_per_host¶

    +

    This option is commented out by default.

    +

    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).

    +

    Default Value: 1

    +

    phi_convict_threshold¶

    This option is commented out by default.

    @@ -1508,64 +1436,6 @@ expressed as a double which represents a until the pinned host was 20% worse than the fastest.

    Default Value: 0.1

    -
    -

    request_scheduler¶

    -

    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.

    -

    Default Value: org.apache.cassandra.scheduler.NoScheduler

    -
    -
    -

    request_scheduler_options¶

    -

    This option is commented out by default.

    -

    Scheduler Options vary based on the type of scheduler

    -
    -
    NoScheduler
    -
    Has no options
    -
    RoundRobin
    -
    -
    throttle_limit
    -
    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.
    -
    default_weight
    -
    default_weight is optional and allows for -overriding the default which is 1.
    -
    weights
    -
    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.
    -
    -
    -
    -

    Default Value (complex option):

    -
    #    throttle_limit: 80
    -#    default_weight: 5
    -#    weights:
    -#      Keyspace1: 1
    -#      Keyspace2: 5
    -
    -
    -
    -
    -

    request_scheduler_id¶

    -

    This option is commented out by default. -request_scheduler_id – An identifier based on which to perform -the request scheduling. Currently the only valid option is keyspace.

    -

    Default Value: keyspace

    -

    server_encryption_options¶

    Enable or disable inter-node encryption @@ -1653,13 +1523,6 @@ latency if you block for cross-datacente

    tracetype_repair_ttl¶

    Default Value: 604800

    -
    -

    gc_log_threshold_in_ms¶

    -

    This option is commented out by default.

    -

    By default, Cassandra logs GC Pauses greater than 200 ms at INFO level -This threshold can be adjusted to minimize logging if necessary

    -

    Default Value: 200

    -

    enable_user_defined_functions¶

    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

    Log a warning when compacting partitions larger than this value

    Default Value: 100

    +
    +

    gc_log_threshold_in_ms¶

    +

    This option is commented out by default.

    +

    GC Pauses greater than 200 ms will be logged at INFO level +This threshold can be adjusted to minimize logging if necessary

    +

    Default Value: 200

    +

    gc_warn_threshold_in_ms¶

    +

    This option is commented out by default.

    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

    +Adjust the threshold based on your application throughput requirement. Setting to 0 +will deactivate the feature.

    Default Value: 1000

    @@ -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>.

    +
    +

    otc_coalescing_strategy¶

    +

    This option is commented out by default.

    +

    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.

    +

    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.

    +

    Default Value: DISABLED

    +
    +
    +

    otc_coalescing_window_us¶

    +

    This option is commented out by default.

    +

    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.

    +

    Default Value: 200

    +
    +
    +

    otc_coalescing_enough_coalesced_messages¶

    +

    This option is commented out by default.

    +

    Do not try to coalesce messages if we already got that many messages. This should be more than 2 and less than 128.

    +

    Default Value: 8

    +
    +
    +

    otc_backlog_expiration_interval_ms¶

    +

    This option is commented out by default.

    +

    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.

    +

    Default Value: 200

    +
    +
    +

    ideal_consistency_level¶

    +

    This option is commented out by default.

    +

    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.

    +

    Default Value: EACH_QUORUM

    +
    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 @@
  • Operating Cassandra
  • Cassandra Tools
  • Troubleshooting
  • -
  • Cassandra Development
  • +
  • Contributing to Cassandra
  • Frequently Asked Questions
  • Reporting Bugs and Contributing
  • Contact us
  • 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 @@
  • Operating Cassandra
  • Cassandra Tools
  • Troubleshooting
  • -
  • Cassandra Development
  • +
  • Contributing to Cassandra
  • Frequently Asked Questions
  • Reporting Bugs and Contributing
  • Contact us
      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 @@
    • Materialized Views
    • Security
    • Functions
    • +
    • Arithmetic Operators
    • JSON Support
    • Triggers
    • Appendices
        @@ -150,7 +151,7 @@
      • Operating Cassandra
      • Cassandra Tools
      • Troubleshooting
      • -
      • Cassandra Development
      • +
      • Contributing to Cassandra
      • Frequently Asked Questions
      • Reporting Bugs and Contributing
      • Contact us
      • 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 @@
      • Materialized Views
      • Security
      • Functions
      • +
      • Arithmetic Operators
      • JSON Support
      • Triggers
      • Appendices
      • Changes
      • @@ -169,7 +172,7 @@
      • Operating Cassandra
      • Cassandra Tools
      • Troubleshooting
      • -
      • Cassandra Development
      • +
      • Contributing to Cassandra
      • Frequently Asked Questions
      • Reporting Bugs and Contributing
      • Contact us
      • @@ -189,16 +192,31 @@

        Changes¶

        The following describes the changes in each version of CQL.

        -

        3.4.3¶

        +

        3.4.5¶

        +
        +
        +

        3.4.4¶

        +
          +
        • ALTER TABLE ALTER has been removed; a column’s type may not be changed after creation (CASSANDRA-12443).
        • +
        • ALTER TYPE ALTER has been removed; a field’s type may not be changed after creation (CASSANDRA-12443).
        • +
        +
        +
        +

        3.4.3¶

        +
          +
        • Adds a new ``duration `` data types (CASSANDRA-11873).
        • Support for GROUP BY (CASSANDRA-10707).
        • Adds a DEFAULT UNSET option for INSERT JSON to ignore omitted columns (CASSANDRA-11424).
        • -
        • Allows null as a legal value for TTL on insert and update. It will be treated as equivalent to
        • +
        • Allows null as a legal value for TTL on insert and update. It will be treated as equivalent to inserting a 0 (CASSANDRA-12216).
        -

        inserting a 0 (CASSANDRA-12216).

        -
        -

        3.4.2¶

        +
        +

        3.4.2¶

        • If a table has a non zero default_time_to_live, then explicitly specifying a TTL of 0 in an INSERT or UPDATE statement will result in the new writes not having any expiration (that is, an explicit TTL of 0 cancels @@ -212,28 +230,28 @@ new UPDATE statements and DELETE statements, respectively. (CASSANDRA-7423).
        -
        -

        3.4.1¶

        +
        +

        3.4.1¶

        • Adds CAST functions.
        -
        -

        3.4.0¶

        +
        +

        3.4.0¶

        • Support for materialized views.
        • DELETE support for inequality expressions and IN restrictions on any primary key columns.
        • UPDATE support for IN restrictions on any primary key columns.
        -
        -

        3.3.1¶

        +
        +

        3.3.1¶

        • The syntax TRUNCATE TABLE X is now accepted as an alias for TRUNCATE X.
        -
        -

        3.3.0¶

        +
        +

        3.3.0¶

        • User-defined functions and aggregates are now supported.
        • Allows double-dollar enclosed strings literals as an alternative to single-quote enclosed strings.
        • @@ -243,8 +261,8 @@ deleted in dateOf and unixTimestampOf.
        -
        -

        3.2.0¶

        +
        +

        3.2.0¶

        • User-defined types supported.
        • CREATE INDEX now supports indexing collection columns, including indexing the keys of map collections through the @@ -254,8 +272,8 @@ deleted in DROP INDEX now supports optionally specifying a keyspace.
        -
        -

        3.1.7¶

        +
        +

        3.1.7¶

        • SELECT statements now support selecting multiple rows in a single partition using an IN clause on combinations of clustering columns.
        • @@ -263,41 +281,41 @@ of clustering columns. respectively.
        -
        -

        3.1.6¶

        +
        +

        3.1.6¶

        • A new uuid() method has been added.
        • Support for DELETE ... IF EXISTS syntax.
        -
        -

        3.1.5¶

        +
        +

        3.1.5¶

        • It is now possible to group clustering columns in a relation, see WHERE clauses.
        • Added support for static columns.
        -
        -

        3.1.4¶

        +
        +

        3.1.4¶

        • CREATE INDEX now allows specifying options when creating CUSTOM indexes.
        -
        -

        3.1.3¶

        +
        +

        3.1.3¶

        • Millisecond precision formats have been added to the timestamp parser.
        -
        -

        3.1.2¶

        +
        +

        3.1.2¶

        • NaN and Infinity 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.
        -
        -

        3.1.1¶

        +
        +

        3.1.1¶

        • SELECT statement now allows listing the partition keys (using the DISTINCT modifier). See CASSANDRA-4536.
        • The syntax c IN ? is now supported in WHERE clauses. In that case, the value expected for the bind variable @@ -305,8 +323,8 @@ will be a list of whatever type It is now possible to use named bind variables (using :name instead of ?).
        -
        -

        3.1.0¶

        +
        +

        3.1.0¶

        • ALTER TABLE DROP option added.
        • SELECT statement now supports aliases in select clause. Aliases in WHERE and ORDER BY clauses are not supported.
        • @@ -315,14 +333,14 @@ Similarly, INSERT statements optionally supports a IF NOT EXISTS condition and UPDATE supports IF conditions.
        -
        -

        3.0.5¶

        +
        +

        3.0.5¶

        • SELECT, UPDATE, and DELETE statements now allow empty IN relations (see CASSANDRA-5626.
        -
        -

        3.0.4¶

        +
        +

        3.0.4¶

        • Updated the syntax for custom secondary indexes.
        • 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 notWHERE clauses).
        -
        -

        3.0.3¶

        +
        +

        3.0.3¶

        -
        -

        3.0.2¶

        +
        +

        3.0.2¶

        • Type validation for the constants has been fixed. For instance, the implementation used to allow '2' as a valid value for an int column (interpreting it has the equivalent of 2), or 42 as a valid @@ -352,8 +370,8 @@ as blobs, you should thus update your cl now also allowed in select clauses. See the section on functions for details.
        -
        -

        3.0.1¶

        +
        +

        3.0.1¶

        • Date strings (and timestamps) are no longer accepted as valid timeuuid values. Doing so was a bug in the sense that date string are not valid timeuuid, and it was thus resulting in confusing behaviors. 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 @@
        • Materialized Views
        • Security
        • Functions
        • +
        • Arithmetic Operators
        • JSON Support
        • Triggers
        • Appendices
        • @@ -157,7 +158,7 @@
        • Operating Cassandra
        • Cassandra Tools
        • Troubleshooting
        • -
        • Cassandra Development
        • +
        • Contributing to Cassandra
        • Frequently Asked Questions
        • Reporting Bugs and Contributing
        • Contact us
        • @@ -480,7 +481,7 @@ instance, given:

          a int, b int, c int, - PRIMARY KEY (a, c, d) + PRIMARY KEY (a, b, c) ); SELECT * FROM t; @@ -511,14 +512,14 @@ options of a table are described in the

          Warning

          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 only creates artificial limitations on the table definition -and usage that are necessary to ensure backward compatibility with the deprecated Thrift API. And as COMPACT +and usage. It only exists for historical reason and is preserved for backward compatibility And as COMPACT STORAGE cannot, as of Cassandra 4.0, be removed, it is strongly discouraged to create new table with the COMPACT STORAGE option.

        -

        A compact table is one defined with the COMPACT STORAGE option. This option is mainly targeted towards backward -compatibility for definitions created before CQL version 3 (see www.datastax.com/dev/blog/thrift-to-cql3 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:

        +

        A compact table is one defined with the COMPACT STORAGE 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:

        • a compact table cannot use collections nor static columns.
        • if a compact table has at least one clustering column, then it must have exactly one column outside of the primary @@ -734,15 +735,12 @@ anticipate future usage when creating a

          Altering an existing table uses the ALTER TABLE statement:

           alter_table_statement   ::=  ALTER TABLE table_name alter_table_instruction
          -alter_table_instruction ::=  ALTER column_name TYPE cql_type
          -                             | ADD column_name cql_type ( ',' column_name cql_type )*
          +alter_table_instruction ::=  ADD column_name cql_type ( ',' column_name cql_type )*
                                        | DROP column_name ( column_name )*
                                        | WITH options
           

          For instance:

          -
          ALTER TABLE addamsFamily ALTER lastKnownLocation TYPE uuid;
          -
          -ALTER TABLE addamsFamily ADD gravesite varchar;
          +
          ALTER TABLE addamsFamily ADD gravesite varchar;
           
           ALTER TABLE addamsFamily
                  WITH comment = 'A most excellent and useful table'
          @@ -751,11 +749,6 @@ anticipate future usage when creating a
           

          The ALTER TABLE statement can:

            -
          • Change the type of one of the column in the table (through the ALTER 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 clustering columns 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 type -compatibility table below for detail on which type changes are accepted.
          • Add new column(s) to the table (through the ADD 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 compact tables 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

            Once a column is dropped, it is allowed to re-add a column with the same name than the dropped one unless the type of the dropped column was a (non-frozen) column (due to an internal technical limitation).

          -
          -

          CQL type compatibility:¶

          -

          CQL data types may be converted only as the following table.

          - ---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
          Existing typeCan be altered to:
          timestampbigint
          ascii, bigint, boolean, date, decimal, double, float, -inet, int, smallint, text, time, timestamp, timeuuid, -tinyint, uuid, varchar, varintblob
          intdate
          ascii, varchartext
          biginttime
          biginttimestamp
          timeuuiduuid
          ascii, textvarchar
          bigint, int, timestampvarint
          -

          Clustering columns have stricter requirements, only the following conversions are allowed:

          - ---- - - - - - - - - - - - - - - - - -
          Existing typeCan be altered to
          ascii, text, varcharblob
          ascii, varchartext
          ascii, textvarchar
          -

          DROP TABLE¶

          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 @@
        • Materialized Views
        • Security
        • Functions
        • +
        • Arithmetic Operators
        • JSON Support
        • Triggers
        • Appendices
        • @@ -155,7 +156,7 @@
        • Operating Cassandra
        • Cassandra Tools
        • Troubleshooting
        • -
        • Cassandra Development
        • +
        • Contributing to Cassandra
        • Frequently Asked Questions
        • Reporting Bugs and Contributing
        • Contact us
        • @@ -256,11 +257,12 @@ escape single-quote characters in functi

          Terms¶

          CQL has the notion of a term, which denotes the kind of values that CQL support. Terms are defined by:

          -term          ::=  constant | literal | function_call | type_hint | bind_marker
          -literal       ::=  collection_literal | udt_literal | tuple_literal
          -function_call ::=  identifier '(' [ term (',' term)* ] ')'
          -type_hint     ::=  '(' cql_type `)` term
          -bind_marker   ::=  '?' | ':' identifier
          +term                 ::=  constant | literal | function_call | arithmetic_operation | type_hint | bind_marker
          +literal              ::=  collection_literal | udt_literal | tuple_literal
          +function_call        ::=  identifier '(' [ term (',' term)* ] ')'
          +arithmetic_operation ::=  '-' term | term ('+' | '-' | '*' | '/' | '%') term
          +type_hint            ::=  '(' cql_type `)` term
          +bind_marker          ::=  '?' | ':' identifier
           

          A term is thus one of:

          UNLOGGED batches¶

          --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscribe@cassandra.apache.org For additional commands, e-mail: commits-help@cassandra.apache.org