You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by mc...@apache.org on 2021/07/17 12:09:08 UTC

[cassandra-website] 02/17: Bring to the web page 4.0-rc2 latests docs, and add generated docs for 3.11.10

This is an automated email from the ASF dual-hosted git repository.

mck pushed a commit to branch asf-staging
in repository https://gitbox.apache.org/repos/asf/cassandra-website.git

commit 1af2e43ceb32ed14165a0575a45506de86344d69
Author: Ekaterina Dimitrova <ek...@datastax.com>
AuthorDate: Fri Jun 4 14:25:11 2021 -0400

    Bring to the web page 4.0-rc2 latests docs, and add generated docs for 3.11.10
    
     patch by Ekaterina Dimitrova; reviewed by Mick Semb Wever
---
 content/doc/3.11.10/_images/eclipse_debug0.png     |   Bin 0 -> 48174 bytes
 content/doc/3.11.10/_images/eclipse_debug1.png     |   Bin 0 -> 34446 bytes
 content/doc/3.11.10/_images/eclipse_debug2.png     |   Bin 0 -> 57032 bytes
 content/doc/3.11.10/_images/eclipse_debug3.png     |   Bin 0 -> 58677 bytes
 content/doc/3.11.10/_images/eclipse_debug4.png     |   Bin 0 -> 24793 bytes
 content/doc/3.11.10/_images/eclipse_debug5.png     |   Bin 0 -> 66632 bytes
 content/doc/3.11.10/_images/eclipse_debug6.png     |   Bin 0 -> 87568 bytes
 content/doc/3.11.10/architecture/dynamo.html       |   348 +
 content/doc/3.11.10/architecture/guarantees.html   |   236 +
 content/doc/3.11.10/architecture/index.html        |   251 +
 content/doc/3.11.10/architecture/overview.html     |   236 +
 .../doc/3.11.10/architecture/storage_engine.html   |   330 +
 content/doc/3.11.10/bugs.html                      |   232 +
 .../configuration/cassandra_config_file.html       |  1963 ++++
 content/doc/3.11.10/configuration/index.html       |   233 +
 content/doc/3.11.10/contactus.html                 |   252 +
 content/doc/3.11.10/cql/appendices.html            |   692 ++
 content/doc/3.11.10/cql/changes.html               |   476 +
 content/doc/3.11.10/cql/ddl.html                   |   892 ++
 content/doc/3.11.10/cql/definitions.html           |   435 +
 content/doc/3.11.10/cql/dml.html                   |   696 ++
 content/doc/3.11.10/cql/functions.html             |   797 ++
 content/doc/3.11.10/cql/index.html                 |   362 +
 content/doc/3.11.10/cql/indexes.html               |   294 +
 content/doc/3.11.10/cql/json.html                  |   438 +
 content/doc/3.11.10/cql/mvs.html                   |   370 +
 content/doc/3.11.10/cql/security.html              |   847 ++
 content/doc/3.11.10/cql/triggers.html              |   276 +
 content/doc/3.11.10/cql/types.html                 |   833 ++
 content/doc/3.11.10/data_modeling/index.html       |   228 +
 content/doc/3.11.10/development/code_style.html    |   331 +
 content/doc/3.11.10/development/how_to_commit.html |   295 +
 content/doc/3.11.10/development/how_to_review.html |   295 +
 content/doc/3.11.10/development/ide.html           |   365 +
 content/doc/3.11.10/development/index.html         |   266 +
 content/doc/3.11.10/development/patches.html       |   370 +
 content/doc/3.11.10/development/testing.html       |   302 +
 content/doc/3.11.10/faq/index.html                 |   439 +
 content/doc/3.11.10/genindex.html                  |   219 +
 .../doc/3.11.10/getting_started/configuring.html   |   281 +
 content/doc/3.11.10/getting_started/drivers.html   |   346 +
 content/doc/3.11.10/getting_started/index.html     |   270 +
 .../doc/3.11.10/getting_started/installing.html    |   319 +
 content/doc/3.11.10/getting_started/querying.html  |   267 +
 content/doc/3.11.10/index.html                     |   279 +
 content/doc/3.11.10/objects.inv                    |   Bin 0 -> 4663 bytes
 content/doc/3.11.10/operating/backups.html         |   246 +
 content/doc/3.11.10/operating/bloom_filters.html   |   283 +
 content/doc/3.11.10/operating/bulk_loading.html    |   246 +
 content/doc/3.11.10/operating/cdc.html             |   313 +
 content/doc/3.11.10/operating/compaction.html      |   659 ++
 content/doc/3.11.10/operating/compression.html     |   310 +
 content/doc/3.11.10/operating/hardware.html        |   312 +
 content/doc/3.11.10/operating/hints.html           |   246 +
 content/doc/3.11.10/operating/index.html           |   339 +
 content/doc/3.11.10/operating/metrics.html         |  1507 +++
 content/doc/3.11.10/operating/read_repair.html     |   246 +
 content/doc/3.11.10/operating/repair.html          |   246 +
 content/doc/3.11.10/operating/security.html        |   584 +
 content/doc/3.11.10/operating/snitch.html          |   299 +
 content/doc/3.11.10/operating/topo_changes.html    |   343 +
 content/doc/3.11.10/search.html                    |   232 +
 content/doc/3.11.10/searchindex.js                 |     1 +
 content/doc/3.11.10/tools/cqlsh.html               |   627 ++
 content/doc/3.11.10/tools/index.html               |   235 +
 content/doc/3.11.10/tools/nodetool.html            |   234 +
 content/doc/3.11.10/troubleshooting/index.html     |   224 +
 content/doc/4.0-rc2/_images/Figure_1_backups.jpg   |   Bin 0 -> 38551 bytes
 .../doc/4.0-rc2/_images/Figure_1_data_model.jpg    |   Bin 0 -> 17469 bytes
 .../doc/4.0-rc2/_images/Figure_1_guarantees.jpg    |   Bin 0 -> 17993 bytes
 .../doc/4.0-rc2/_images/Figure_1_read_repair.jpg   |   Bin 0 -> 36919 bytes
 .../doc/4.0-rc2/_images/Figure_2_data_model.jpg    |   Bin 0 -> 20925 bytes
 .../doc/4.0-rc2/_images/Figure_2_read_repair.jpg   |   Bin 0 -> 45595 bytes
 .../doc/4.0-rc2/_images/Figure_3_read_repair.jpg   |   Bin 0 -> 43021 bytes
 .../doc/4.0-rc2/_images/Figure_4_read_repair.jpg   |   Bin 0 -> 43021 bytes
 .../doc/4.0-rc2/_images/Figure_5_read_repair.jpg   |   Bin 0 -> 42560 bytes
 .../doc/4.0-rc2/_images/Figure_6_read_repair.jpg   |   Bin 0 -> 57489 bytes
 .../_images/data_modeling_chebotko_logical.png     |   Bin 0 -> 87366 bytes
 .../_images/data_modeling_chebotko_physical.png    |   Bin 0 -> 4553809 bytes
 .../_images/data_modeling_hotel_bucketing.png      |   Bin 0 -> 22009 bytes
 .../4.0-rc2/_images/data_modeling_hotel_erd.png    |   Bin 0 -> 233309 bytes
 .../_images/data_modeling_hotel_logical.png        |   Bin 0 -> 116998 bytes
 .../_images/data_modeling_hotel_physical.png       |   Bin 0 -> 119795 bytes
 .../_images/data_modeling_hotel_queries.png        |   Bin 0 -> 103940 bytes
 .../_images/data_modeling_hotel_relational.png     |   Bin 0 -> 102656 bytes
 .../_images/data_modeling_reservation_logical.png  |   Bin 0 -> 121750 bytes
 .../_images/data_modeling_reservation_physical.png |   Bin 0 -> 142416 bytes
 content/doc/4.0-rc2/_images/docs_commit.png        |   Bin 0 -> 104667 bytes
 content/doc/4.0-rc2/_images/docs_create_branch.png |   Bin 0 -> 181860 bytes
 content/doc/4.0-rc2/_images/docs_create_file.png   |   Bin 0 -> 209110 bytes
 content/doc/4.0-rc2/_images/docs_editor.png        |   Bin 0 -> 106175 bytes
 content/doc/4.0-rc2/_images/docs_fork.png          |   Bin 0 -> 76159 bytes
 content/doc/4.0-rc2/_images/docs_pr.png            |   Bin 0 -> 156081 bytes
 content/doc/4.0-rc2/_images/docs_preview.png       |   Bin 0 -> 123826 bytes
 content/doc/4.0-rc2/_images/eclipse_debug0.png     |   Bin 0 -> 48174 bytes
 content/doc/4.0-rc2/_images/eclipse_debug1.png     |   Bin 0 -> 34446 bytes
 content/doc/4.0-rc2/_images/eclipse_debug2.png     |   Bin 0 -> 57032 bytes
 content/doc/4.0-rc2/_images/eclipse_debug3.png     |   Bin 0 -> 58677 bytes
 content/doc/4.0-rc2/_images/eclipse_debug4.png     |   Bin 0 -> 24793 bytes
 content/doc/4.0-rc2/_images/eclipse_debug5.png     |   Bin 0 -> 66632 bytes
 content/doc/4.0-rc2/_images/eclipse_debug6.png     |   Bin 0 -> 87568 bytes
 .../doc/4.0-rc2/_images/example-stress-graph.png   |   Bin 0 -> 359103 bytes
 content/doc/4.0-rc2/_images/hints.svg              |     9 +
 content/doc/4.0-rc2/_images/ring.svg               |    11 +
 content/doc/4.0-rc2/_images/vnodes.svg             |    11 +
 content/doc/4.0-rc2/architecture/dynamo.html       |   703 ++
 content/doc/4.0-rc2/architecture/guarantees.html   |   298 +
 content/doc/4.0-rc2/architecture/index.html        |   267 +
 content/doc/4.0-rc2/architecture/overview.html     |   321 +
 .../doc/4.0-rc2/architecture/storage_engine.html   |   429 +
 content/doc/4.0-rc2/bugs.html                      |   234 +
 .../configuration/cass_cl_archive_file.html        |   279 +
 .../4.0-rc2/configuration/cass_env_sh_file.html    |   369 +
 .../configuration/cass_jvm_options_file.html       |   243 +
 .../configuration/cass_logback_xml_file.html       |   382 +
 .../4.0-rc2/configuration/cass_rackdc_file.html    |   308 +
 .../doc/4.0-rc2/configuration/cass_topo_file.html  |   278 +
 .../doc/4.0-rc2/configuration/cass_yaml_file.html  |  2137 ++++
 .../configuration/cassandra_config_file.html       |  1980 ++++
 content/doc/4.0-rc2/configuration/index.html       |   247 +
 content/doc/4.0-rc2/contactus.html                 |   252 +
 content/doc/4.0-rc2/cql/appendices.html            |   695 ++
 content/doc/4.0-rc2/cql/changes.html               |   487 +
 content/doc/4.0-rc2/cql/ddl.html                   |  1657 +++
 content/doc/4.0-rc2/cql/definitions.html           |   442 +
 content/doc/4.0-rc2/cql/dml.html                   |   699 ++
 content/doc/4.0-rc2/cql/functions.html             |   837 ++
 content/doc/4.0-rc2/cql/index.html                 |   372 +
 content/doc/4.0-rc2/cql/indexes.html               |   297 +
 content/doc/4.0-rc2/cql/json.html                  |   441 +
 content/doc/4.0-rc2/cql/mvs.html                   |   393 +
 content/doc/4.0-rc2/cql/operators.html             |   424 +
 content/doc/4.0-rc2/cql/security.html              |   886 ++
 content/doc/4.0-rc2/cql/triggers.html              |   279 +
 content/doc/4.0-rc2/cql/types.html                 |   882 ++
 .../data_modeling/data_modeling_conceptual.html    |   274 +
 .../data_modeling/data_modeling_logical.html       |   408 +
 .../data_modeling/data_modeling_physical.html      |   323 +
 .../data_modeling/data_modeling_queries.html       |   294 +
 .../4.0-rc2/data_modeling/data_modeling_rdbms.html |   383 +
 .../data_modeling/data_modeling_refining.html      |   412 +
 .../data_modeling/data_modeling_schema.html        |   359 +
 .../4.0-rc2/data_modeling/data_modeling_tools.html |   280 +
 content/doc/4.0-rc2/data_modeling/index.html       |   278 +
 content/doc/4.0-rc2/data_modeling/intro.html       |   353 +
 content/doc/4.0-rc2/development/ci.html            |   299 +
 content/doc/4.0-rc2/development/code_style.html    |   338 +
 content/doc/4.0-rc2/development/dependencies.html  |   280 +
 content/doc/4.0-rc2/development/documentation.html |   320 +
 .../doc/4.0-rc2/development/gettingstarted.html    |   284 +
 content/doc/4.0-rc2/development/how_to_commit.html |   392 +
 content/doc/4.0-rc2/development/how_to_review.html |   303 +
 content/doc/4.0-rc2/development/ide.html           |   403 +
 content/doc/4.0-rc2/development/index.html         |   318 +
 .../4.0-rc2/development/license_compliance.html    |   253 +
 content/doc/4.0-rc2/development/patches.html       |   397 +
 .../doc/4.0-rc2/development/release_process.html   |   500 +
 content/doc/4.0-rc2/development/testing.html       |   441 +
 content/doc/4.0-rc2/faq/index.html                 |   442 +
 content/doc/4.0-rc2/genindex.html                  |   221 +
 .../doc/4.0-rc2/getting_started/configuring.html   |   299 +
 content/doc/4.0-rc2/getting_started/drivers.html   |   371 +
 content/doc/4.0-rc2/getting_started/index.html     |   289 +
 .../doc/4.0-rc2/getting_started/installing.html    |   511 +
 .../doc/4.0-rc2/getting_started/production.html    |   369 +
 content/doc/4.0-rc2/getting_started/querying.html  |   270 +
 content/doc/4.0-rc2/glossary.html                  |   248 +
 content/doc/4.0-rc2/index.html                     |   308 +
 content/doc/4.0-rc2/new/auditlogging.html          |   711 ++
 content/doc/4.0-rc2/new/fqllogging.html            |   817 ++
 content/doc/4.0-rc2/new/index.html                 |   317 +
 content/doc/4.0-rc2/new/java11.html                |   475 +
 content/doc/4.0-rc2/new/messaging.html             |   476 +
 content/doc/4.0-rc2/new/streaming.html             |   397 +
 content/doc/4.0-rc2/new/transientreplication.html  |   351 +
 content/doc/4.0-rc2/new/virtualtables.html         |   558 +
 content/doc/4.0-rc2/objects.inv                    |   Bin 0 -> 9522 bytes
 content/doc/4.0-rc2/operating/backups.html         |   805 ++
 content/doc/4.0-rc2/operating/bloom_filters.html   |   285 +
 content/doc/4.0-rc2/operating/bulk_loading.html    |   814 ++
 content/doc/4.0-rc2/operating/cdc.html             |   321 +
 .../doc/4.0-rc2/operating/compaction/index.html    |   516 +
 content/doc/4.0-rc2/operating/compaction/lcs.html  |   277 +
 content/doc/4.0-rc2/operating/compaction/stcs.html |   251 +
 content/doc/4.0-rc2/operating/compaction/twcs.html |   269 +
 content/doc/4.0-rc2/operating/compression.html     |   417 +
 content/doc/4.0-rc2/operating/hardware.html        |   312 +
 content/doc/4.0-rc2/operating/hints.html           |   534 +
 content/doc/4.0-rc2/operating/index.html           |   379 +
 content/doc/4.0-rc2/operating/metrics.html         |  2198 ++++
 content/doc/4.0-rc2/operating/read_repair.html     |   394 +
 content/doc/4.0-rc2/operating/repair.html          |   401 +
 content/doc/4.0-rc2/operating/security.html        |   612 ++
 content/doc/4.0-rc2/operating/snitch.html          |   303 +
 content/doc/4.0-rc2/operating/topo_changes.html    |   351 +
 content/doc/4.0-rc2/plugins/index.html             |   241 +
 content/doc/4.0-rc2/search.html                    |   234 +
 content/doc/4.0-rc2/searchindex.js                 |     1 +
 content/doc/4.0-rc2/tools/cassandra_stress.html    |   481 +
 content/doc/4.0-rc2/tools/cqlsh.html               |   635 ++
 content/doc/4.0-rc2/tools/generatetokens.html      |   287 +
 content/doc/4.0-rc2/tools/index.html               |   388 +
 .../doc/4.0-rc2/tools/nodetool/assassinate.html    |   263 +
 content/doc/4.0-rc2/tools/nodetool/bootstrap.html  |   262 +
 content/doc/4.0-rc2/tools/nodetool/cleanup.html    |   268 +
 .../doc/4.0-rc2/tools/nodetool/clearsnapshot.html  |   270 +
 .../doc/4.0-rc2/tools/nodetool/clientstats.html    |   264 +
 content/doc/4.0-rc2/tools/nodetool/compact.html    |   280 +
 .../4.0-rc2/tools/nodetool/compactionhistory.html  |   258 +
 .../4.0-rc2/tools/nodetool/compactionstats.html    |   258 +
 .../doc/4.0-rc2/tools/nodetool/decommission.html   |   258 +
 .../4.0-rc2/tools/nodetool/describecluster.html    |   255 +
 .../doc/4.0-rc2/tools/nodetool/describering.html   |   262 +
 .../4.0-rc2/tools/nodetool/disableauditlog.html    |   254 +
 .../tools/nodetool/disableautocompaction.html      |   264 +
 .../doc/4.0-rc2/tools/nodetool/disablebackup.html  |   254 +
 .../doc/4.0-rc2/tools/nodetool/disablebinary.html  |   254 +
 .../tools/nodetool/disablefullquerylog.html        |   254 +
 .../doc/4.0-rc2/tools/nodetool/disablegossip.html  |   255 +
 .../doc/4.0-rc2/tools/nodetool/disablehandoff.html |   254 +
 .../4.0-rc2/tools/nodetool/disablehintsfordc.html  |   263 +
 .../tools/nodetool/disableoldprotocolversions.html |   254 +
 content/doc/4.0-rc2/tools/nodetool/drain.html      |   255 +
 .../doc/4.0-rc2/tools/nodetool/enableauditlog.html |   288 +
 .../tools/nodetool/enableautocompaction.html       |   264 +
 .../doc/4.0-rc2/tools/nodetool/enablebackup.html   |   254 +
 .../doc/4.0-rc2/tools/nodetool/enablebinary.html   |   254 +
 .../4.0-rc2/tools/nodetool/enablefullquerylog.html |   286 +
 .../doc/4.0-rc2/tools/nodetool/enablegossip.html   |   254 +
 .../doc/4.0-rc2/tools/nodetool/enablehandoff.html  |   255 +
 .../4.0-rc2/tools/nodetool/enablehintsfordc.html   |   264 +
 .../tools/nodetool/enableoldprotocolversions.html  |   254 +
 .../4.0-rc2/tools/nodetool/failuredetector.html    |   255 +
 content/doc/4.0-rc2/tools/nodetool/flush.html      |   263 +
 .../doc/4.0-rc2/tools/nodetool/garbagecollect.html |   273 +
 content/doc/4.0-rc2/tools/nodetool/gcstats.html    |   254 +
 .../tools/nodetool/getbatchlogreplaythrottle.html  |   256 +
 .../tools/nodetool/getcompactionthreshold.html     |   264 +
 .../tools/nodetool/getcompactionthroughput.html    |   255 +
 .../doc/4.0-rc2/tools/nodetool/getconcurrency.html |   263 +
 .../tools/nodetool/getconcurrentcompactors.html    |   255 +
 .../tools/nodetool/getconcurrentviewbuilders.html  |   255 +
 .../doc/4.0-rc2/tools/nodetool/getendpoints.html   |   264 +
 .../4.0-rc2/tools/nodetool/getfullquerylog.html    |   255 +
 .../tools/nodetool/getinterdcstreamthroughput.html |   255 +
 .../4.0-rc2/tools/nodetool/getlogginglevels.html   |   254 +
 .../4.0-rc2/tools/nodetool/getmaxhintwindow.html   |   254 +
 content/doc/4.0-rc2/tools/nodetool/getseeds.html   |   255 +
 .../tools/nodetool/getsnapshotthrottle.html        |   255 +
 .../doc/4.0-rc2/tools/nodetool/getsstables.html    |   266 +
 .../tools/nodetool/getstreamthroughput.html        |   255 +
 content/doc/4.0-rc2/tools/nodetool/gettimeout.html |   264 +
 .../tools/nodetool/gettraceprobability.html        |   254 +
 content/doc/4.0-rc2/tools/nodetool/gossipinfo.html |   254 +
 content/doc/4.0-rc2/tools/nodetool/help.html       |   241 +
 content/doc/4.0-rc2/tools/nodetool/import.html     |   292 +
 content/doc/4.0-rc2/tools/nodetool/info.html       |   257 +
 .../tools/nodetool/invalidatecountercache.html     |   254 +
 .../4.0-rc2/tools/nodetool/invalidatekeycache.html |   254 +
 .../4.0-rc2/tools/nodetool/invalidaterowcache.html |   254 +
 content/doc/4.0-rc2/tools/nodetool/join.html       |   254 +
 .../doc/4.0-rc2/tools/nodetool/listsnapshots.html  |   257 +
 content/doc/4.0-rc2/tools/nodetool/move.html       |   262 +
 content/doc/4.0-rc2/tools/nodetool/netstats.html   |   259 +
 content/doc/4.0-rc2/tools/nodetool/nodetool.html   |   372 +
 .../doc/4.0-rc2/tools/nodetool/pausehandoff.html   |   254 +
 .../doc/4.0-rc2/tools/nodetool/profileload.html    |   273 +
 .../4.0-rc2/tools/nodetool/proxyhistograms.html    |   255 +
 .../doc/4.0-rc2/tools/nodetool/rangekeysample.html |   255 +
 content/doc/4.0-rc2/tools/nodetool/rebuild.html    |   279 +
 .../doc/4.0-rc2/tools/nodetool/rebuild_index.html  |   264 +
 content/doc/4.0-rc2/tools/nodetool/refresh.html    |   264 +
 .../tools/nodetool/refreshsizeestimates.html       |   254 +
 .../4.0-rc2/tools/nodetool/reloadlocalschema.html  |   254 +
 .../doc/4.0-rc2/tools/nodetool/reloadseeds.html    |   255 +
 content/doc/4.0-rc2/tools/nodetool/reloadssl.html  |   254 +
 .../doc/4.0-rc2/tools/nodetool/reloadtriggers.html |   254 +
 .../4.0-rc2/tools/nodetool/relocatesstables.html   |   267 +
 content/doc/4.0-rc2/tools/nodetool/removenode.html |   265 +
 content/doc/4.0-rc2/tools/nodetool/repair.html     |   333 +
 .../doc/4.0-rc2/tools/nodetool/repair_admin.html   |   350 +
 .../doc/4.0-rc2/tools/nodetool/replaybatchlog.html |   254 +
 .../4.0-rc2/tools/nodetool/resetfullquerylog.html  |   256 +
 .../4.0-rc2/tools/nodetool/resetlocalschema.html   |   254 +
 .../doc/4.0-rc2/tools/nodetool/resumehandoff.html  |   254 +
 content/doc/4.0-rc2/tools/nodetool/ring.html       |   267 +
 content/doc/4.0-rc2/tools/nodetool/scrub.html      |   288 +
 .../tools/nodetool/setbatchlogreplaythrottle.html  |   265 +
 .../4.0-rc2/tools/nodetool/setcachecapacity.html   |   264 +
 .../4.0-rc2/tools/nodetool/setcachekeystosave.html |   266 +
 .../tools/nodetool/setcompactionthreshold.html     |   264 +
 .../tools/nodetool/setcompactionthroughput.html    |   264 +
 .../doc/4.0-rc2/tools/nodetool/setconcurrency.html |   265 +
 .../tools/nodetool/setconcurrentcompactors.html    |   264 +
 .../tools/nodetool/setconcurrentviewbuilders.html  |   264 +
 .../tools/nodetool/sethintedhandoffthrottlekb.html |   264 +
 .../tools/nodetool/setinterdcstreamthroughput.html |   264 +
 .../4.0-rc2/tools/nodetool/setlogginglevel.html    |   267 +
 .../4.0-rc2/tools/nodetool/setmaxhintwindow.html   |   263 +
 .../tools/nodetool/setsnapshotthrottle.html        |   265 +
 .../tools/nodetool/setstreamthroughput.html        |   264 +
 content/doc/4.0-rc2/tools/nodetool/settimeout.html |   267 +
 .../tools/nodetool/settraceprobability.html        |   265 +
 content/doc/4.0-rc2/tools/nodetool/sjk.html        |   263 +
 content/doc/4.0-rc2/tools/nodetool/snapshot.html   |   281 +
 content/doc/4.0-rc2/tools/nodetool/status.html     |   266 +
 .../tools/nodetool/statusautocompaction.html       |   267 +
 .../doc/4.0-rc2/tools/nodetool/statusbackup.html   |   254 +
 .../doc/4.0-rc2/tools/nodetool/statusbinary.html   |   254 +
 .../doc/4.0-rc2/tools/nodetool/statusgossip.html   |   254 +
 .../doc/4.0-rc2/tools/nodetool/statushandoff.html  |   255 +
 content/doc/4.0-rc2/tools/nodetool/stop.html       |   271 +
 content/doc/4.0-rc2/tools/nodetool/stopdaemon.html |   254 +
 .../4.0-rc2/tools/nodetool/tablehistograms.html    |   263 +
 content/doc/4.0-rc2/tools/nodetool/tablestats.html |   301 +
 .../doc/4.0-rc2/tools/nodetool/toppartitions.html  |   272 +
 content/doc/4.0-rc2/tools/nodetool/tpstats.html    |   258 +
 .../doc/4.0-rc2/tools/nodetool/truncatehints.html  |   265 +
 .../4.0-rc2/tools/nodetool/upgradesstables.html    |   274 +
 content/doc/4.0-rc2/tools/nodetool/verify.html     |   283 +
 content/doc/4.0-rc2/tools/nodetool/version.html    |   254 +
 .../4.0-rc2/tools/nodetool/viewbuildstatus.html    |   263 +
 content/doc/4.0-rc2/tools/sstable/index.html       |   353 +
 content/doc/4.0-rc2/tools/sstable/sstabledump.html |   538 +
 .../tools/sstable/sstableexpiredblockers.html      |   277 +
 .../4.0-rc2/tools/sstable/sstablelevelreset.html   |   306 +
 .../doc/4.0-rc2/tools/sstable/sstableloader.html   |   542 +
 .../doc/4.0-rc2/tools/sstable/sstablemetadata.html |   592 +
 .../tools/sstable/sstableofflinerelevel.html       |   320 +
 .../4.0-rc2/tools/sstable/sstablerepairedset.html  |   324 +
 .../doc/4.0-rc2/tools/sstable/sstablescrub.html    |   357 +
 .../doc/4.0-rc2/tools/sstable/sstablesplit.html    |   334 +
 .../doc/4.0-rc2/tools/sstable/sstableupgrade.html  |   379 +
 content/doc/4.0-rc2/tools/sstable/sstableutil.html |   337 +
 .../doc/4.0-rc2/tools/sstable/sstableverify.html   |   335 +
 .../doc/4.0-rc2/troubleshooting/finding_nodes.html |   369 +
 content/doc/4.0-rc2/troubleshooting/index.html     |   272 +
 .../doc/4.0-rc2/troubleshooting/reading_logs.html  |   482 +
 .../doc/4.0-rc2/troubleshooting/use_nodetool.html  |   444 +
 content/doc/4.0-rc2/troubleshooting/use_tools.html |   749 ++
 content/doc/latest/architecture/dynamo.html        |   487 +-
 content/doc/latest/architecture/guarantees.html    |   370 +-
 content/doc/latest/architecture/index.html         |   344 +-
 content/doc/latest/architecture/overview.html      |   398 +-
 .../doc/latest/architecture/storage_engine.html    |   502 +-
 content/doc/latest/bugs.html                       |   344 +-
 .../latest/configuration/cass_cl_archive_file.html |   363 +-
 .../doc/latest/configuration/cass_env_sh_file.html |   350 +-
 .../configuration/cass_jvm_options_file.html       |   354 +-
 .../configuration/cass_logback_xml_file.html       |   363 +-
 .../doc/latest/configuration/cass_rackdc_file.html |   380 +-
 .../doc/latest/configuration/cass_topo_file.html   |   350 +-
 .../doc/latest/configuration/cass_yaml_file.html   |   529 +-
 .../configuration/cassandra_config_file.html       |   502 +-
 content/doc/latest/configuration/index.html        |   348 +-
 content/doc/latest/contactus.html                  |   356 +-
 content/doc/latest/cql/appendices.html             |   904 +-
 content/doc/latest/cql/changes.html                |   514 +-
 content/doc/latest/cql/ddl.html                    |  1538 +--
 content/doc/latest/cql/definitions.html            |   530 +-
 content/doc/latest/cql/dml.html                    |   523 +-
 content/doc/latest/cql/functions.html              |   622 +-
 content/doc/latest/cql/index.html                  |   359 +-
 content/doc/latest/cql/indexes.html                |   367 +-
 content/doc/latest/cql/json.html                   |   568 +-
 content/doc/latest/cql/mvs.html                    |   415 +-
 content/doc/latest/cql/operators.html              |   612 +-
 content/doc/latest/cql/security.html               |   932 +-
 content/doc/latest/cql/triggers.html               |   356 +-
 content/doc/latest/cql/types.html                  |   708 +-
 .../data_modeling/data_modeling_conceptual.html    |   348 +-
 .../data_modeling/data_modeling_logical.html       |   348 +-
 .../data_modeling/data_modeling_physical.html      |   348 +-
 .../data_modeling/data_modeling_queries.html       |   368 +-
 .../latest/data_modeling/data_modeling_rdbms.html  |   358 +-
 .../data_modeling/data_modeling_refining.html      |   365 +-
 .../latest/data_modeling/data_modeling_schema.html |   348 +-
 .../latest/data_modeling/data_modeling_tools.html  |   364 +-
 content/doc/latest/data_modeling/index.html        |   344 +-
 content/doc/latest/data_modeling/intro.html        |   364 +-
 content/doc/latest/development/ci.html             |   381 +-
 content/doc/latest/development/code_style.html     |   386 +-
 content/doc/latest/development/dependencies.html   |   373 +-
 content/doc/latest/development/documentation.html  |   365 +-
 content/doc/latest/development/gettingstarted.html |   363 +-
 content/doc/latest/development/how_to_commit.html  |   525 +-
 content/doc/latest/development/how_to_review.html  |   418 +-
 content/doc/latest/development/ide.html            |   413 +-
 content/doc/latest/development/index.html          |   353 +-
 .../doc/latest/development/license_compliance.html |   351 +-
 content/doc/latest/development/patches.html        |   481 +-
 .../doc/latest/development/release_process.html    |   471 +-
 content/doc/latest/development/testing.html        |   488 +-
 content/doc/latest/faq/index.html                  |   396 +-
 content/doc/latest/genindex.html                   |   242 +-
 .../doc/latest/getting_started/configuring.html    |   390 +-
 content/doc/latest/getting_started/drivers.html    |   420 +-
 content/doc/latest/getting_started/index.html      |   344 +-
 content/doc/latest/getting_started/installing.html |   422 +-
 content/doc/latest/getting_started/production.html |   402 +-
 content/doc/latest/getting_started/querying.html   |   352 +-
 content/doc/latest/glossary.html                   |   381 +-
 content/doc/latest/index.html                      |   347 +-
 content/doc/latest/new/auditlogging.html           |   703 +-
 content/doc/latest/new/fqllogging.html             |   461 +-
 content/doc/latest/new/index.html                  |   346 +-
 content/doc/latest/new/java11.html                 |   386 +-
 content/doc/latest/new/messaging.html              |   431 +-
 content/doc/latest/new/streaming.html              |   452 +-
 content/doc/latest/new/transientreplication.html   |   366 +-
 content/doc/latest/new/virtualtables.html          |   485 +-
 content/doc/latest/objects.inv                     |   Bin 9963 -> 9522 bytes
 content/doc/latest/operating/audit_logging.html    |   409 -
 content/doc/latest/operating/backups.html          |   386 +-
 content/doc/latest/operating/bloom_filters.html    |   360 +-
 content/doc/latest/operating/bulk_loading.html     |   451 +-
 content/doc/latest/operating/cdc.html              |   380 +-
 content/doc/latest/operating/compaction/index.html |   504 +-
 content/doc/latest/operating/compaction/lcs.html   |   350 +-
 content/doc/latest/operating/compaction/stcs.html  |   351 +-
 content/doc/latest/operating/compaction/twcs.html  |   357 +-
 content/doc/latest/operating/compression.html      |   490 +-
 content/doc/latest/operating/hardware.html         |   362 +-
 content/doc/latest/operating/hints.html            |   545 +-
 content/doc/latest/operating/index.html            |   348 +-
 content/doc/latest/operating/metrics.html          |  2796 ++---
 content/doc/latest/operating/read_repair.html      |   432 +-
 content/doc/latest/operating/repair.html           |   376 +-
 content/doc/latest/operating/security.html         |   493 +-
 content/doc/latest/operating/snitch.html           |   406 +-
 content/doc/latest/operating/topo_changes.html     |   364 +-
 content/doc/latest/plugins/index.html              |   344 +-
 content/doc/latest/search.html                     |   351 +-
 content/doc/latest/searchindex.js                  |     2 +-
 content/doc/latest/tools/cassandra_stress.html     |   484 +-
 content/doc/latest/tools/cqlsh.html                |   589 +-
 content/doc/latest/tools/generatetokens.html       |   376 +-
 content/doc/latest/tools/index.html                |   344 +-
 content/doc/latest/tools/nodetool/assassinate.html |   333 +-
 content/doc/latest/tools/nodetool/bootstrap.html   |   337 +-
 content/doc/latest/tools/nodetool/cleanup.html     |   333 +-
 .../doc/latest/tools/nodetool/clearsnapshot.html   |   333 +-
 content/doc/latest/tools/nodetool/clientstats.html |   333 +-
 content/doc/latest/tools/nodetool/compact.html     |   333 +-
 .../latest/tools/nodetool/compactionhistory.html   |   333 +-
 .../doc/latest/tools/nodetool/compactionstats.html |   333 +-
 .../doc/latest/tools/nodetool/decommission.html    |   333 +-
 .../doc/latest/tools/nodetool/describecluster.html |   333 +-
 .../doc/latest/tools/nodetool/describering.html    |   333 +-
 .../doc/latest/tools/nodetool/disableauditlog.html |   333 +-
 .../tools/nodetool/disableautocompaction.html      |   333 +-
 .../doc/latest/tools/nodetool/disablebackup.html   |   333 +-
 .../doc/latest/tools/nodetool/disablebinary.html   |   333 +-
 .../latest/tools/nodetool/disablefullquerylog.html |   333 +-
 .../doc/latest/tools/nodetool/disablegossip.html   |   333 +-
 .../doc/latest/tools/nodetool/disablehandoff.html  |   333 +-
 .../latest/tools/nodetool/disablehintsfordc.html   |   333 +-
 .../tools/nodetool/disableoldprotocolversions.html |   333 +-
 content/doc/latest/tools/nodetool/drain.html       |   333 +-
 .../doc/latest/tools/nodetool/enableauditlog.html  |   333 +-
 .../tools/nodetool/enableautocompaction.html       |   333 +-
 .../doc/latest/tools/nodetool/enablebackup.html    |   333 +-
 .../doc/latest/tools/nodetool/enablebinary.html    |   333 +-
 .../latest/tools/nodetool/enablefullquerylog.html  |   333 +-
 .../doc/latest/tools/nodetool/enablegossip.html    |   333 +-
 .../doc/latest/tools/nodetool/enablehandoff.html   |   333 +-
 .../latest/tools/nodetool/enablehintsfordc.html    |   333 +-
 .../tools/nodetool/enableoldprotocolversions.html  |   333 +-
 .../doc/latest/tools/nodetool/failuredetector.html |   333 +-
 content/doc/latest/tools/nodetool/flush.html       |   333 +-
 .../doc/latest/tools/nodetool/garbagecollect.html  |   333 +-
 content/doc/latest/tools/nodetool/gcstats.html     |   333 +-
 .../tools/nodetool/getbatchlogreplaythrottle.html  |   333 +-
 .../tools/nodetool/getcompactionthreshold.html     |   333 +-
 .../tools/nodetool/getcompactionthroughput.html    |   333 +-
 .../doc/latest/tools/nodetool/getconcurrency.html  |   333 +-
 .../tools/nodetool/getconcurrentcompactors.html    |   333 +-
 .../tools/nodetool/getconcurrentviewbuilders.html  |   333 +-
 .../doc/latest/tools/nodetool/getendpoints.html    |   333 +-
 .../doc/latest/tools/nodetool/getfullquerylog.html |   333 +-
 .../tools/nodetool/getinterdcstreamthroughput.html |   333 +-
 .../latest/tools/nodetool/getlogginglevels.html    |   333 +-
 .../latest/tools/nodetool/getmaxhintwindow.html    |   333 +-
 content/doc/latest/tools/nodetool/getseeds.html    |   333 +-
 .../latest/tools/nodetool/getsnapshotthrottle.html |   333 +-
 content/doc/latest/tools/nodetool/getsstables.html |   333 +-
 .../latest/tools/nodetool/getstreamthroughput.html |   333 +-
 content/doc/latest/tools/nodetool/gettimeout.html  |   333 +-
 .../latest/tools/nodetool/gettraceprobability.html |   333 +-
 content/doc/latest/tools/nodetool/gossipinfo.html  |   333 +-
 content/doc/latest/tools/nodetool/help.html        |   333 +-
 content/doc/latest/tools/nodetool/import.html      |   339 +-
 content/doc/latest/tools/nodetool/info.html        |   333 +-
 .../tools/nodetool/invalidatecountercache.html     |   333 +-
 .../latest/tools/nodetool/invalidatekeycache.html  |   333 +-
 .../latest/tools/nodetool/invalidaterowcache.html  |   333 +-
 content/doc/latest/tools/nodetool/join.html        |   333 +-
 .../doc/latest/tools/nodetool/listsnapshots.html   |   333 +-
 content/doc/latest/tools/nodetool/move.html        |   333 +-
 content/doc/latest/tools/nodetool/netstats.html    |   333 +-
 content/doc/latest/tools/nodetool/nodetool.html    |   360 +-
 .../doc/latest/tools/nodetool/pausehandoff.html    |   333 +-
 content/doc/latest/tools/nodetool/profileload.html |   333 +-
 .../doc/latest/tools/nodetool/proxyhistograms.html |   333 +-
 .../doc/latest/tools/nodetool/rangekeysample.html  |   333 +-
 content/doc/latest/tools/nodetool/rebuild.html     |   333 +-
 .../doc/latest/tools/nodetool/rebuild_index.html   |   333 +-
 content/doc/latest/tools/nodetool/refresh.html     |   333 +-
 .../tools/nodetool/refreshsizeestimates.html       |   333 +-
 .../latest/tools/nodetool/reloadlocalschema.html   |   333 +-
 content/doc/latest/tools/nodetool/reloadseeds.html |   333 +-
 content/doc/latest/tools/nodetool/reloadssl.html   |   333 +-
 .../doc/latest/tools/nodetool/reloadtriggers.html  |   333 +-
 .../latest/tools/nodetool/relocatesstables.html    |   333 +-
 content/doc/latest/tools/nodetool/removenode.html  |   333 +-
 content/doc/latest/tools/nodetool/repair.html      |   333 +-
 .../doc/latest/tools/nodetool/repair_admin.html    |   372 +-
 .../doc/latest/tools/nodetool/replaybatchlog.html  |   333 +-
 .../latest/tools/nodetool/resetfullquerylog.html   |   333 +-
 .../latest/tools/nodetool/resetlocalschema.html    |   333 +-
 .../doc/latest/tools/nodetool/resumehandoff.html   |   333 +-
 content/doc/latest/tools/nodetool/ring.html        |   333 +-
 content/doc/latest/tools/nodetool/scrub.html       |   333 +-
 .../tools/nodetool/setbatchlogreplaythrottle.html  |   333 +-
 .../latest/tools/nodetool/setcachecapacity.html    |   333 +-
 .../latest/tools/nodetool/setcachekeystosave.html  |   333 +-
 .../tools/nodetool/setcompactionthreshold.html     |   333 +-
 .../tools/nodetool/setcompactionthroughput.html    |   333 +-
 .../doc/latest/tools/nodetool/setconcurrency.html  |   333 +-
 .../tools/nodetool/setconcurrentcompactors.html    |   333 +-
 .../tools/nodetool/setconcurrentviewbuilders.html  |   333 +-
 .../tools/nodetool/sethintedhandoffthrottlekb.html |   333 +-
 .../tools/nodetool/setinterdcstreamthroughput.html |   333 +-
 .../doc/latest/tools/nodetool/setlogginglevel.html |   333 +-
 .../latest/tools/nodetool/setmaxhintwindow.html    |   333 +-
 .../latest/tools/nodetool/setsnapshotthrottle.html |   333 +-
 .../latest/tools/nodetool/setstreamthroughput.html |   333 +-
 content/doc/latest/tools/nodetool/settimeout.html  |   333 +-
 .../latest/tools/nodetool/settraceprobability.html |   333 +-
 content/doc/latest/tools/nodetool/sjk.html         |   333 +-
 content/doc/latest/tools/nodetool/snapshot.html    |   333 +-
 content/doc/latest/tools/nodetool/status.html      |   333 +-
 .../tools/nodetool/statusautocompaction.html       |   333 +-
 .../doc/latest/tools/nodetool/statusbackup.html    |   333 +-
 .../doc/latest/tools/nodetool/statusbinary.html    |   333 +-
 .../doc/latest/tools/nodetool/statusgossip.html    |   333 +-
 .../doc/latest/tools/nodetool/statushandoff.html   |   333 +-
 content/doc/latest/tools/nodetool/stop.html        |   333 +-
 content/doc/latest/tools/nodetool/stopdaemon.html  |   333 +-
 .../doc/latest/tools/nodetool/tablehistograms.html |   333 +-
 content/doc/latest/tools/nodetool/tablestats.html  |   333 +-
 .../doc/latest/tools/nodetool/toppartitions.html   |   333 +-
 content/doc/latest/tools/nodetool/tpstats.html     |   333 +-
 .../doc/latest/tools/nodetool/truncatehints.html   |   333 +-
 .../doc/latest/tools/nodetool/upgradesstables.html |   333 +-
 content/doc/latest/tools/nodetool/verify.html      |   333 +-
 content/doc/latest/tools/nodetool/version.html     |   333 +-
 .../doc/latest/tools/nodetool/viewbuildstatus.html |   333 +-
 content/doc/latest/tools/sstable/index.html        |   348 +-
 content/doc/latest/tools/sstable/sstabledump.html  |   394 +-
 .../tools/sstable/sstableexpiredblockers.html      |   356 +-
 .../latest/tools/sstable/sstablelevelreset.html    |   359 +-
 .../doc/latest/tools/sstable/sstableloader.html    |   463 +-
 .../doc/latest/tools/sstable/sstablemetadata.html  |   492 +-
 .../tools/sstable/sstableofflinerelevel.html       |   358 +-
 .../latest/tools/sstable/sstablerepairedset.html   |   383 +-
 content/doc/latest/tools/sstable/sstablescrub.html |   414 +-
 content/doc/latest/tools/sstable/sstablesplit.html |   384 +-
 .../doc/latest/tools/sstable/sstableupgrade.html   |   378 +-
 content/doc/latest/tools/sstable/sstableutil.html  |   394 +-
 .../doc/latest/tools/sstable/sstableverify.html    |   382 +-
 .../doc/latest/troubleshooting/finding_nodes.html  |   403 +-
 content/doc/latest/troubleshooting/index.html      |   344 +-
 .../doc/latest/troubleshooting/reading_logs.html   |   388 +-
 .../doc/latest/troubleshooting/use_nodetool.html   |   348 +-
 content/doc/latest/troubleshooting/use_tools.html  |   447 +-
 src/doc/3.11                                       |     2 +-
 src/doc/3.11.10/_images/eclipse_debug0.png         |   Bin 0 -> 48174 bytes
 src/doc/3.11.10/_images/eclipse_debug1.png         |   Bin 0 -> 34446 bytes
 src/doc/3.11.10/_images/eclipse_debug2.png         |   Bin 0 -> 57032 bytes
 src/doc/3.11.10/_images/eclipse_debug3.png         |   Bin 0 -> 58677 bytes
 src/doc/3.11.10/_images/eclipse_debug4.png         |   Bin 0 -> 24793 bytes
 src/doc/3.11.10/_images/eclipse_debug5.png         |   Bin 0 -> 66632 bytes
 src/doc/3.11.10/_images/eclipse_debug6.png         |   Bin 0 -> 87568 bytes
 .../3.11.10/_sources/architecture/dynamo.rst.txt   |   139 +
 .../_sources/architecture/guarantees.rst.txt       |    20 +
 .../3.11.10/_sources/architecture/index.rst.txt    |    29 +
 .../3.11.10/_sources/architecture/overview.rst.txt |    20 +
 .../_sources/architecture/storage_engine.rst.txt   |   129 +
 src/doc/3.11.10/_sources/bugs.rst.txt              |    30 +
 .../configuration/cassandra_config_file.rst.txt    |  1920 ++++
 .../3.11.10/_sources/configuration/index.rst.txt   |    25 +
 src/doc/3.11.10/_sources/contactus.rst.txt         |    53 +
 src/doc/3.11.10/_sources/cql/appendices.rst.txt    |   333 +
 src/doc/3.11.10/_sources/cql/changes.rst.txt       |   204 +
 src/doc/3.11.10/_sources/cql/ddl.rst.txt           |   649 ++
 src/doc/3.11.10/_sources/cql/definitions.rst.txt   |   232 +
 src/doc/3.11.10/_sources/cql/dml.rst.txt           |   522 +
 src/doc/3.11.10/_sources/cql/functions.rst.txt     |   558 +
 src/doc/3.11.10/_sources/cql/index.rst.txt         |    47 +
 src/doc/3.11.10/_sources/cql/indexes.rst.txt       |    83 +
 src/doc/3.11.10/_sources/cql/json.rst.txt          |   115 +
 src/doc/3.11.10/_sources/cql/mvs.rst.txt           |   166 +
 src/doc/3.11.10/_sources/cql/security.rst.txt      |   502 +
 src/doc/3.11.10/_sources/cql/triggers.rst.txt      |    63 +
 src/doc/3.11.10/_sources/cql/types.rst.txt         |   559 +
 .../3.11.10/_sources/data_modeling/index.rst.txt   |    20 +
 .../_sources/development/code_style.rst.txt        |    94 +
 .../_sources/development/how_to_commit.rst.txt     |    75 +
 .../_sources/development/how_to_review.rst.txt     |    71 +
 src/doc/3.11.10/_sources/development/ide.rst.txt   |   161 +
 src/doc/3.11.10/_sources/development/index.rst.txt |    28 +
 .../3.11.10/_sources/development/patches.rst.txt   |   125 +
 .../3.11.10/_sources/development/testing.rst.txt   |    89 +
 src/doc/3.11.10/_sources/faq/index.rst.txt         |   298 +
 .../_sources/getting_started/configuring.rst.txt   |    67 +
 .../_sources/getting_started/drivers.rst.txt       |   107 +
 .../3.11.10/_sources/getting_started/index.rst.txt |    33 +
 .../_sources/getting_started/installing.rst.txt    |   106 +
 .../_sources/getting_started/querying.rst.txt      |    52 +
 src/doc/3.11.10/_sources/index.rst.txt             |    41 +
 src/doc/3.11.10/_sources/operating/backups.rst.txt |    22 +
 .../_sources/operating/bloom_filters.rst.txt       |    65 +
 .../_sources/operating/bulk_loading.rst.txt        |    24 +
 src/doc/3.11.10/_sources/operating/cdc.rst.txt     |    89 +
 .../3.11.10/_sources/operating/compaction.rst.txt  |   442 +
 .../3.11.10/_sources/operating/compression.rst.txt |    94 +
 .../3.11.10/_sources/operating/hardware.rst.txt    |    87 +
 src/doc/3.11.10/_sources/operating/hints.rst.txt   |    22 +
 src/doc/3.11.10/_sources/operating/index.rst.txt   |    39 +
 src/doc/3.11.10/_sources/operating/metrics.rst.txt |   710 ++
 .../3.11.10/_sources/operating/read_repair.rst.txt |    22 +
 src/doc/3.11.10/_sources/operating/repair.rst.txt  |    22 +
 .../3.11.10/_sources/operating/security.rst.txt    |   410 +
 src/doc/3.11.10/_sources/operating/snitch.rst.txt  |    78 +
 .../_sources/operating/topo_changes.rst.txt        |   124 +
 src/doc/3.11.10/_sources/tools/cqlsh.rst.txt       |   455 +
 src/doc/3.11.10/_sources/tools/index.rst.txt       |    26 +
 src/doc/3.11.10/_sources/tools/nodetool.rst.txt    |    22 +
 .../3.11.10/_sources/troubleshooting/index.rst.txt |    20 +
 src/doc/3.11.10/_static/basic.css                  |   856 ++
 src/doc/3.11.10/_static/css/badge_only.css         |     1 +
 .../_static/css/fonts/Roboto-Slab-Bold.woff        |   Bin 0 -> 87624 bytes
 .../_static/css/fonts/Roboto-Slab-Bold.woff2       |   Bin 0 -> 67312 bytes
 .../_static/css/fonts/Roboto-Slab-Regular.woff     |   Bin 0 -> 86288 bytes
 .../_static/css/fonts/Roboto-Slab-Regular.woff2    |   Bin 0 -> 66444 bytes
 .../_static/css/fonts/fontawesome-webfont.eot      |   Bin 0 -> 165742 bytes
 .../_static/css/fonts/fontawesome-webfont.svg      |  2671 +++++
 .../_static/css/fonts/fontawesome-webfont.ttf      |   Bin 0 -> 165548 bytes
 .../_static/css/fonts/fontawesome-webfont.woff     |   Bin 0 -> 98024 bytes
 .../_static/css/fonts/fontawesome-webfont.woff2    |   Bin 0 -> 77160 bytes
 .../_static/css/fonts/lato-bold-italic.woff        |   Bin 0 -> 323344 bytes
 .../_static/css/fonts/lato-bold-italic.woff2       |   Bin 0 -> 193308 bytes
 src/doc/3.11.10/_static/css/fonts/lato-bold.woff   |   Bin 0 -> 309728 bytes
 src/doc/3.11.10/_static/css/fonts/lato-bold.woff2  |   Bin 0 -> 184912 bytes
 .../_static/css/fonts/lato-normal-italic.woff      |   Bin 0 -> 328412 bytes
 .../_static/css/fonts/lato-normal-italic.woff2     |   Bin 0 -> 195704 bytes
 src/doc/3.11.10/_static/css/fonts/lato-normal.woff |   Bin 0 -> 309192 bytes
 .../3.11.10/_static/css/fonts/lato-normal.woff2    |   Bin 0 -> 182708 bytes
 src/doc/3.11.10/_static/css/theme.css              |     4 +
 src/doc/3.11.10/_static/doctools.js                |   321 +
 src/doc/3.11.10/_static/documentation_options.js   |    12 +
 src/doc/3.11.10/_static/extra.css                  |    59 +
 src/doc/3.11.10/_static/file.png                   |   Bin 0 -> 286 bytes
 src/doc/3.11.10/_static/fonts/Inconsolata-Bold.ttf |   Bin 0 -> 109948 bytes
 .../3.11.10/_static/fonts/Inconsolata-Regular.ttf  |   Bin 0 -> 96964 bytes
 src/doc/3.11.10/_static/fonts/Inconsolata.ttf      |   Bin 0 -> 63184 bytes
 src/doc/3.11.10/_static/fonts/Lato-Bold.ttf        |   Bin 0 -> 656544 bytes
 src/doc/3.11.10/_static/fonts/Lato-Regular.ttf     |   Bin 0 -> 656568 bytes
 src/doc/3.11.10/_static/fonts/Lato/lato-bold.eot   |   Bin 0 -> 256056 bytes
 src/doc/3.11.10/_static/fonts/Lato/lato-bold.ttf   |   Bin 0 -> 600856 bytes
 src/doc/3.11.10/_static/fonts/Lato/lato-bold.woff  |   Bin 0 -> 309728 bytes
 src/doc/3.11.10/_static/fonts/Lato/lato-bold.woff2 |   Bin 0 -> 184912 bytes
 .../3.11.10/_static/fonts/Lato/lato-bolditalic.eot |   Bin 0 -> 266158 bytes
 .../3.11.10/_static/fonts/Lato/lato-bolditalic.ttf |   Bin 0 -> 622572 bytes
 .../_static/fonts/Lato/lato-bolditalic.woff        |   Bin 0 -> 323344 bytes
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin 0 -> 193308 bytes
 src/doc/3.11.10/_static/fonts/Lato/lato-italic.eot |   Bin 0 -> 268604 bytes
 src/doc/3.11.10/_static/fonts/Lato/lato-italic.ttf |   Bin 0 -> 639388 bytes
 .../3.11.10/_static/fonts/Lato/lato-italic.woff    |   Bin 0 -> 328412 bytes
 .../3.11.10/_static/fonts/Lato/lato-italic.woff2   |   Bin 0 -> 195704 bytes
 .../3.11.10/_static/fonts/Lato/lato-regular.eot    |   Bin 0 -> 253461 bytes
 .../3.11.10/_static/fonts/Lato/lato-regular.ttf    |   Bin 0 -> 607720 bytes
 .../3.11.10/_static/fonts/Lato/lato-regular.woff   |   Bin 0 -> 309192 bytes
 .../3.11.10/_static/fonts/Lato/lato-regular.woff2  |   Bin 0 -> 182708 bytes
 src/doc/3.11.10/_static/fonts/RobotoSlab-Bold.ttf  |   Bin 0 -> 170616 bytes
 .../3.11.10/_static/fonts/RobotoSlab-Regular.ttf   |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 0 -> 79520 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 0 -> 170616 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 0 -> 87624 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 0 -> 67312 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 0 -> 78331 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 0 -> 86288 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 0 -> 66444 bytes
 .../3.11.10/_static/fonts/fontawesome-webfont.eot  |   Bin 0 -> 165742 bytes
 .../3.11.10/_static/fonts/fontawesome-webfont.svg  |  2671 +++++
 .../3.11.10/_static/fonts/fontawesome-webfont.ttf  |   Bin 0 -> 165548 bytes
 .../3.11.10/_static/fonts/fontawesome-webfont.woff |   Bin 0 -> 98024 bytes
 .../_static/fonts/fontawesome-webfont.woff2        |   Bin 0 -> 77160 bytes
 src/doc/3.11.10/_static/jquery-3.5.1.js            | 10872 +++++++++++++++++++
 src/doc/3.11.10/_static/jquery.js                  |     2 +
 src/doc/3.11.10/_static/js/badge_only.js           |     1 +
 .../3.11.10/_static/js/html5shiv-printshiv.min.js  |     4 +
 src/doc/3.11.10/_static/js/html5shiv.min.js        |     4 +
 src/doc/3.11.10/_static/js/modernizr.min.js        |     4 +
 src/doc/3.11.10/_static/js/theme.js                |     1 +
 src/doc/3.11.10/_static/language_data.js           |   297 +
 src/doc/3.11.10/_static/minus.png                  |   Bin 0 -> 90 bytes
 src/doc/3.11.10/_static/plus.png                   |   Bin 0 -> 90 bytes
 src/doc/3.11.10/_static/pygments.css               |    74 +
 src/doc/3.11.10/_static/searchtools.js             |   522 +
 src/doc/3.11.10/_static/underscore-1.12.0.js       |  2027 ++++
 src/doc/3.11.10/_static/underscore.js              |     6 +
 src/doc/3.11.10/architecture/dynamo.html           |   348 +
 src/doc/3.11.10/architecture/guarantees.html       |   236 +
 src/doc/3.11.10/architecture/index.html            |   251 +
 src/doc/3.11.10/architecture/overview.html         |   236 +
 src/doc/3.11.10/architecture/storage_engine.html   |   330 +
 src/doc/3.11.10/bugs.html                          |   232 +
 .../configuration/cassandra_config_file.html       |  1963 ++++
 src/doc/3.11.10/configuration/index.html           |   233 +
 src/doc/3.11.10/contactus.html                     |   252 +
 src/doc/3.11.10/cql/appendices.html                |   692 ++
 src/doc/3.11.10/cql/changes.html                   |   476 +
 src/doc/3.11.10/cql/ddl.html                       |   892 ++
 src/doc/3.11.10/cql/definitions.html               |   435 +
 src/doc/3.11.10/cql/dml.html                       |   696 ++
 src/doc/3.11.10/cql/functions.html                 |   797 ++
 src/doc/3.11.10/cql/index.html                     |   362 +
 src/doc/3.11.10/cql/indexes.html                   |   294 +
 src/doc/3.11.10/cql/json.html                      |   438 +
 src/doc/3.11.10/cql/mvs.html                       |   370 +
 src/doc/3.11.10/cql/security.html                  |   847 ++
 src/doc/3.11.10/cql/triggers.html                  |   276 +
 src/doc/3.11.10/cql/types.html                     |   833 ++
 src/doc/3.11.10/data_modeling/index.html           |   228 +
 src/doc/3.11.10/development/code_style.html        |   331 +
 src/doc/3.11.10/development/how_to_commit.html     |   295 +
 src/doc/3.11.10/development/how_to_review.html     |   295 +
 src/doc/3.11.10/development/ide.html               |   365 +
 src/doc/3.11.10/development/index.html             |   266 +
 src/doc/3.11.10/development/patches.html           |   370 +
 src/doc/3.11.10/development/testing.html           |   302 +
 src/doc/3.11.10/faq/index.html                     |   439 +
 src/doc/3.11.10/genindex.html                      |   219 +
 src/doc/3.11.10/getting_started/configuring.html   |   281 +
 src/doc/3.11.10/getting_started/drivers.html       |   346 +
 src/doc/3.11.10/getting_started/index.html         |   270 +
 src/doc/3.11.10/getting_started/installing.html    |   319 +
 src/doc/3.11.10/getting_started/querying.html      |   267 +
 src/doc/3.11.10/index.html                         |   279 +
 src/doc/3.11.10/objects.inv                        |   Bin 0 -> 4663 bytes
 src/doc/3.11.10/operating/backups.html             |   246 +
 src/doc/3.11.10/operating/bloom_filters.html       |   283 +
 src/doc/3.11.10/operating/bulk_loading.html        |   246 +
 src/doc/3.11.10/operating/cdc.html                 |   313 +
 src/doc/3.11.10/operating/compaction.html          |   659 ++
 src/doc/3.11.10/operating/compression.html         |   310 +
 src/doc/3.11.10/operating/hardware.html            |   312 +
 src/doc/3.11.10/operating/hints.html               |   246 +
 src/doc/3.11.10/operating/index.html               |   339 +
 src/doc/3.11.10/operating/metrics.html             |  1507 +++
 src/doc/3.11.10/operating/read_repair.html         |   246 +
 src/doc/3.11.10/operating/repair.html              |   246 +
 src/doc/3.11.10/operating/security.html            |   584 +
 src/doc/3.11.10/operating/snitch.html              |   299 +
 src/doc/3.11.10/operating/topo_changes.html        |   343 +
 src/doc/3.11.10/search.html                        |   232 +
 src/doc/3.11.10/searchindex.js                     |     1 +
 src/doc/3.11.10/tools/cqlsh.html                   |   627 ++
 src/doc/3.11.10/tools/index.html                   |   235 +
 src/doc/3.11.10/tools/nodetool.html                |   234 +
 src/doc/3.11.10/troubleshooting/index.html         |   224 +
 .../stress-lwt-example.yaml                        |    88 +
 .../stress-example.yaml                            |    62 +
 src/doc/4.0-rc2/_images/Figure_1_backups.jpg       |   Bin 0 -> 38551 bytes
 src/doc/4.0-rc2/_images/Figure_1_data_model.jpg    |   Bin 0 -> 17469 bytes
 src/doc/4.0-rc2/_images/Figure_1_guarantees.jpg    |   Bin 0 -> 17993 bytes
 src/doc/4.0-rc2/_images/Figure_1_read_repair.jpg   |   Bin 0 -> 36919 bytes
 src/doc/4.0-rc2/_images/Figure_2_data_model.jpg    |   Bin 0 -> 20925 bytes
 src/doc/4.0-rc2/_images/Figure_2_read_repair.jpg   |   Bin 0 -> 45595 bytes
 src/doc/4.0-rc2/_images/Figure_3_read_repair.jpg   |   Bin 0 -> 43021 bytes
 src/doc/4.0-rc2/_images/Figure_4_read_repair.jpg   |   Bin 0 -> 43021 bytes
 src/doc/4.0-rc2/_images/Figure_5_read_repair.jpg   |   Bin 0 -> 42560 bytes
 src/doc/4.0-rc2/_images/Figure_6_read_repair.jpg   |   Bin 0 -> 57489 bytes
 .../_images/data_modeling_chebotko_logical.png     |   Bin 0 -> 87366 bytes
 .../_images/data_modeling_chebotko_physical.png    |   Bin 0 -> 4553809 bytes
 .../_images/data_modeling_hotel_bucketing.png      |   Bin 0 -> 22009 bytes
 .../4.0-rc2/_images/data_modeling_hotel_erd.png    |   Bin 0 -> 233309 bytes
 .../_images/data_modeling_hotel_logical.png        |   Bin 0 -> 116998 bytes
 .../_images/data_modeling_hotel_physical.png       |   Bin 0 -> 119795 bytes
 .../_images/data_modeling_hotel_queries.png        |   Bin 0 -> 103940 bytes
 .../_images/data_modeling_hotel_relational.png     |   Bin 0 -> 102656 bytes
 .../_images/data_modeling_reservation_logical.png  |   Bin 0 -> 121750 bytes
 .../_images/data_modeling_reservation_physical.png |   Bin 0 -> 142416 bytes
 src/doc/4.0-rc2/_images/docs_commit.png            |   Bin 0 -> 104667 bytes
 src/doc/4.0-rc2/_images/docs_create_branch.png     |   Bin 0 -> 181860 bytes
 src/doc/4.0-rc2/_images/docs_create_file.png       |   Bin 0 -> 209110 bytes
 src/doc/4.0-rc2/_images/docs_editor.png            |   Bin 0 -> 106175 bytes
 src/doc/4.0-rc2/_images/docs_fork.png              |   Bin 0 -> 76159 bytes
 src/doc/4.0-rc2/_images/docs_pr.png                |   Bin 0 -> 156081 bytes
 src/doc/4.0-rc2/_images/docs_preview.png           |   Bin 0 -> 123826 bytes
 src/doc/4.0-rc2/_images/eclipse_debug0.png         |   Bin 0 -> 48174 bytes
 src/doc/4.0-rc2/_images/eclipse_debug1.png         |   Bin 0 -> 34446 bytes
 src/doc/4.0-rc2/_images/eclipse_debug2.png         |   Bin 0 -> 57032 bytes
 src/doc/4.0-rc2/_images/eclipse_debug3.png         |   Bin 0 -> 58677 bytes
 src/doc/4.0-rc2/_images/eclipse_debug4.png         |   Bin 0 -> 24793 bytes
 src/doc/4.0-rc2/_images/eclipse_debug5.png         |   Bin 0 -> 66632 bytes
 src/doc/4.0-rc2/_images/eclipse_debug6.png         |   Bin 0 -> 87568 bytes
 src/doc/4.0-rc2/_images/example-stress-graph.png   |   Bin 0 -> 359103 bytes
 src/doc/4.0-rc2/_images/hints.svg                  |     9 +
 src/doc/4.0-rc2/_images/ring.svg                   |    11 +
 src/doc/4.0-rc2/_images/vnodes.svg                 |    11 +
 .../4.0-rc2/_sources/architecture/dynamo.rst.txt   |   537 +
 .../_sources/architecture/guarantees.rst.txt       |    76 +
 .../4.0-rc2/_sources/architecture/index.rst.txt    |    29 +
 .../4.0-rc2/_sources/architecture/overview.rst.txt |   114 +
 .../_sources/architecture/storage_engine.rst.txt   |   208 +
 src/doc/4.0-rc2/_sources/bugs.rst.txt              |    30 +
 .../configuration/cass_cl_archive_file.rst.txt     |    46 +
 .../configuration/cass_env_sh_file.rst.txt         |   128 +
 .../configuration/cass_jvm_options_file.rst.txt    |    10 +
 .../configuration/cass_logback_xml_file.rst.txt    |   157 +
 .../configuration/cass_rackdc_file.rst.txt         |    67 +
 .../_sources/configuration/cass_topo_file.rst.txt  |    48 +
 .../_sources/configuration/cass_yaml_file.rst.txt  |  2101 ++++
 .../configuration/cassandra_config_file.rst.txt    |  2159 ++++
 .../4.0-rc2/_sources/configuration/index.rst.txt   |    31 +
 src/doc/4.0-rc2/_sources/contactus.rst.txt         |    50 +
 src/doc/4.0-rc2/_sources/cql/appendices.rst.txt    |   333 +
 src/doc/4.0-rc2/_sources/cql/changes.rst.txt       |   211 +
 src/doc/4.0-rc2/_sources/cql/ddl.rst.txt           |  1177 ++
 src/doc/4.0-rc2/_sources/cql/definitions.rst.txt   |   236 +
 src/doc/4.0-rc2/_sources/cql/dml.rst.txt           |   522 +
 src/doc/4.0-rc2/_sources/cql/functions.rst.txt     |   581 +
 src/doc/4.0-rc2/_sources/cql/index.rst.txt         |    47 +
 src/doc/4.0-rc2/_sources/cql/indexes.rst.txt       |    83 +
 src/doc/4.0-rc2/_sources/cql/json.rst.txt          |   115 +
 src/doc/4.0-rc2/_sources/cql/mvs.rst.txt           |   179 +
 src/doc/4.0-rc2/_sources/cql/operators.rst.txt     |    74 +
 src/doc/4.0-rc2/_sources/cql/security.rst.txt      |   538 +
 src/doc/4.0-rc2/_sources/cql/triggers.rst.txt      |    63 +
 src/doc/4.0-rc2/_sources/cql/types.rst.txt         |   603 +
 .../data_modeling/data_modeling_conceptual.rst.txt |    63 +
 .../data_modeling/data_modeling_logical.rst.txt    |   219 +
 .../data_modeling/data_modeling_physical.rst.txt   |   117 +
 .../data_modeling/data_modeling_queries.rst.txt    |    85 +
 .../data_modeling/data_modeling_rdbms.rst.txt      |   171 +
 .../data_modeling/data_modeling_refining.rst.txt   |   218 +
 .../data_modeling/data_modeling_schema.rst.txt     |   144 +
 .../data_modeling/data_modeling_tools.rst.txt      |    64 +
 .../4.0-rc2/_sources/data_modeling/index.rst.txt   |    36 +
 .../4.0-rc2/_sources/data_modeling/intro.rst.txt   |   146 +
 src/doc/4.0-rc2/_sources/development/ci.rst.txt    |    84 +
 .../_sources/development/code_style.rst.txt        |    93 +
 .../_sources/development/dependencies.rst.txt      |    53 +
 .../_sources/development/documentation.rst.txt     |   104 +
 .../_sources/development/gettingstarted.rst.txt    |    60 +
 .../_sources/development/how_to_commit.rst.txt     |   151 +
 .../_sources/development/how_to_review.rst.txt     |    73 +
 src/doc/4.0-rc2/_sources/development/ide.rst.txt   |   185 +
 src/doc/4.0-rc2/_sources/development/index.rst.txt |    34 +
 .../development/license_compliance.rst.txt         |    37 +
 .../4.0-rc2/_sources/development/patches.rst.txt   |   141 +
 .../_sources/development/release_process.rst.txt   |   244 +
 .../4.0-rc2/_sources/development/testing.rst.txt   |   179 +
 src/doc/4.0-rc2/_sources/faq/index.rst.txt         |   299 +
 .../_sources/getting_started/configuring.rst.txt   |    80 +
 .../_sources/getting_started/drivers.rst.txt       |   123 +
 .../4.0-rc2/_sources/getting_started/index.rst.txt |    34 +
 .../_sources/getting_started/installing.rst.txt    |   324 +
 .../_sources/getting_started/production.rst.txt    |   156 +
 .../_sources/getting_started/querying.rst.txt      |    52 +
 src/doc/4.0-rc2/_sources/glossary.rst.txt          |    35 +
 src/doc/4.0-rc2/_sources/index.rst.txt             |    43 +
 src/doc/4.0-rc2/_sources/new/auditlogging.rst.txt  |   508 +
 src/doc/4.0-rc2/_sources/new/fqllogging.rst.txt    |   614 ++
 src/doc/4.0-rc2/_sources/new/index.rst.txt         |    32 +
 src/doc/4.0-rc2/_sources/new/java11.rst.txt        |   274 +
 src/doc/4.0-rc2/_sources/new/messaging.rst.txt     |   257 +
 src/doc/4.0-rc2/_sources/new/streaming.rst.txt     |   167 +
 .../_sources/new/transientreplication.rst.txt      |   155 +
 src/doc/4.0-rc2/_sources/new/virtualtables.rst.txt |   341 +
 src/doc/4.0-rc2/_sources/operating/backups.rst.txt |   660 ++
 .../_sources/operating/bloom_filters.rst.txt       |    65 +
 .../_sources/operating/bulk_loading.rst.txt        |   660 ++
 src/doc/4.0-rc2/_sources/operating/cdc.rst.txt     |    96 +
 .../_sources/operating/compaction/index.rst.txt    |   301 +
 .../_sources/operating/compaction/lcs.rst.txt      |    91 +
 .../_sources/operating/compaction/stcs.rst.txt     |    58 +
 .../_sources/operating/compaction/twcs.rst.txt     |    76 +
 .../4.0-rc2/_sources/operating/compression.rst.txt |   164 +
 .../4.0-rc2/_sources/operating/hardware.rst.txt    |    85 +
 src/doc/4.0-rc2/_sources/operating/hints.rst.txt   |   279 +
 src/doc/4.0-rc2/_sources/operating/index.rst.txt   |    39 +
 src/doc/4.0-rc2/_sources/operating/metrics.rst.txt |   888 ++
 .../4.0-rc2/_sources/operating/read_repair.rst.txt |   169 +
 src/doc/4.0-rc2/_sources/operating/repair.rst.txt  |   208 +
 .../4.0-rc2/_sources/operating/security.rst.txt    |   441 +
 src/doc/4.0-rc2/_sources/operating/snitch.rst.txt  |    82 +
 .../_sources/operating/topo_changes.rst.txt        |   129 +
 src/doc/4.0-rc2/_sources/plugins/index.rst.txt     |    35 +
 .../_sources/tools/cassandra_stress.rst.txt        |   273 +
 src/doc/4.0-rc2/_sources/tools/cqlsh.rst.txt       |   458 +
 .../4.0-rc2/_sources/tools/generatetokens.rst.txt  |    56 +
 src/doc/4.0-rc2/_sources/tools/index.rst.txt       |    29 +
 .../_sources/tools/nodetool/assassinate.rst.txt    |    11 +
 .../_sources/tools/nodetool/bootstrap.rst.txt      |    11 +
 .../_sources/tools/nodetool/cleanup.rst.txt        |    11 +
 .../_sources/tools/nodetool/clearsnapshot.rst.txt  |    11 +
 .../_sources/tools/nodetool/clientstats.rst.txt    |    11 +
 .../_sources/tools/nodetool/compact.rst.txt        |    11 +
 .../tools/nodetool/compactionhistory.rst.txt       |    11 +
 .../tools/nodetool/compactionstats.rst.txt         |    11 +
 .../_sources/tools/nodetool/decommission.rst.txt   |    11 +
 .../tools/nodetool/describecluster.rst.txt         |    11 +
 .../_sources/tools/nodetool/describering.rst.txt   |    11 +
 .../tools/nodetool/disableauditlog.rst.txt         |    11 +
 .../tools/nodetool/disableautocompaction.rst.txt   |    11 +
 .../_sources/tools/nodetool/disablebackup.rst.txt  |    11 +
 .../_sources/tools/nodetool/disablebinary.rst.txt  |    11 +
 .../tools/nodetool/disablefullquerylog.rst.txt     |    11 +
 .../_sources/tools/nodetool/disablegossip.rst.txt  |    11 +
 .../_sources/tools/nodetool/disablehandoff.rst.txt |    11 +
 .../tools/nodetool/disablehintsfordc.rst.txt       |    11 +
 .../nodetool/disableoldprotocolversions.rst.txt    |    11 +
 .../4.0-rc2/_sources/tools/nodetool/drain.rst.txt  |    11 +
 .../_sources/tools/nodetool/enableauditlog.rst.txt |    11 +
 .../tools/nodetool/enableautocompaction.rst.txt    |    11 +
 .../_sources/tools/nodetool/enablebackup.rst.txt   |    11 +
 .../_sources/tools/nodetool/enablebinary.rst.txt   |    11 +
 .../tools/nodetool/enablefullquerylog.rst.txt      |    11 +
 .../_sources/tools/nodetool/enablegossip.rst.txt   |    11 +
 .../_sources/tools/nodetool/enablehandoff.rst.txt  |    11 +
 .../tools/nodetool/enablehintsfordc.rst.txt        |    11 +
 .../nodetool/enableoldprotocolversions.rst.txt     |    11 +
 .../tools/nodetool/failuredetector.rst.txt         |    11 +
 .../4.0-rc2/_sources/tools/nodetool/flush.rst.txt  |    11 +
 .../_sources/tools/nodetool/garbagecollect.rst.txt |    11 +
 .../_sources/tools/nodetool/gcstats.rst.txt        |    11 +
 .../nodetool/getbatchlogreplaythrottle.rst.txt     |    11 +
 .../tools/nodetool/getcompactionthreshold.rst.txt  |    11 +
 .../tools/nodetool/getcompactionthroughput.rst.txt |    11 +
 .../_sources/tools/nodetool/getconcurrency.rst.txt |    11 +
 .../tools/nodetool/getconcurrentcompactors.rst.txt |    11 +
 .../nodetool/getconcurrentviewbuilders.rst.txt     |    11 +
 .../_sources/tools/nodetool/getendpoints.rst.txt   |    11 +
 .../tools/nodetool/getfullquerylog.rst.txt         |    11 +
 .../nodetool/getinterdcstreamthroughput.rst.txt    |    11 +
 .../tools/nodetool/getlogginglevels.rst.txt        |    11 +
 .../tools/nodetool/getmaxhintwindow.rst.txt        |    11 +
 .../_sources/tools/nodetool/getseeds.rst.txt       |    11 +
 .../tools/nodetool/getsnapshotthrottle.rst.txt     |    11 +
 .../_sources/tools/nodetool/getsstables.rst.txt    |    11 +
 .../tools/nodetool/getstreamthroughput.rst.txt     |    11 +
 .../_sources/tools/nodetool/gettimeout.rst.txt     |    11 +
 .../tools/nodetool/gettraceprobability.rst.txt     |    11 +
 .../_sources/tools/nodetool/gossipinfo.rst.txt     |    11 +
 .../4.0-rc2/_sources/tools/nodetool/help.rst.txt   |    11 +
 .../4.0-rc2/_sources/tools/nodetool/import.rst.txt |    11 +
 .../4.0-rc2/_sources/tools/nodetool/info.rst.txt   |    11 +
 .../tools/nodetool/invalidatecountercache.rst.txt  |    11 +
 .../tools/nodetool/invalidatekeycache.rst.txt      |    11 +
 .../tools/nodetool/invalidaterowcache.rst.txt      |    11 +
 .../4.0-rc2/_sources/tools/nodetool/join.rst.txt   |    11 +
 .../_sources/tools/nodetool/listsnapshots.rst.txt  |    11 +
 .../4.0-rc2/_sources/tools/nodetool/move.rst.txt   |    11 +
 .../_sources/tools/nodetool/netstats.rst.txt       |    11 +
 .../_sources/tools/nodetool/nodetool.rst.txt       |   259 +
 .../_sources/tools/nodetool/pausehandoff.rst.txt   |    11 +
 .../_sources/tools/nodetool/profileload.rst.txt    |    11 +
 .../tools/nodetool/proxyhistograms.rst.txt         |    11 +
 .../_sources/tools/nodetool/rangekeysample.rst.txt |    11 +
 .../_sources/tools/nodetool/rebuild.rst.txt        |    11 +
 .../_sources/tools/nodetool/rebuild_index.rst.txt  |    11 +
 .../_sources/tools/nodetool/refresh.rst.txt        |    11 +
 .../tools/nodetool/refreshsizeestimates.rst.txt    |    11 +
 .../tools/nodetool/reloadlocalschema.rst.txt       |    11 +
 .../_sources/tools/nodetool/reloadseeds.rst.txt    |    11 +
 .../_sources/tools/nodetool/reloadssl.rst.txt      |    11 +
 .../_sources/tools/nodetool/reloadtriggers.rst.txt |    11 +
 .../tools/nodetool/relocatesstables.rst.txt        |    11 +
 .../_sources/tools/nodetool/removenode.rst.txt     |    11 +
 .../4.0-rc2/_sources/tools/nodetool/repair.rst.txt |    11 +
 .../_sources/tools/nodetool/repair_admin.rst.txt   |    11 +
 .../_sources/tools/nodetool/replaybatchlog.rst.txt |    11 +
 .../tools/nodetool/resetfullquerylog.rst.txt       |    11 +
 .../tools/nodetool/resetlocalschema.rst.txt        |    11 +
 .../_sources/tools/nodetool/resumehandoff.rst.txt  |    11 +
 .../4.0-rc2/_sources/tools/nodetool/ring.rst.txt   |    11 +
 .../4.0-rc2/_sources/tools/nodetool/scrub.rst.txt  |    11 +
 .../nodetool/setbatchlogreplaythrottle.rst.txt     |    11 +
 .../tools/nodetool/setcachecapacity.rst.txt        |    11 +
 .../tools/nodetool/setcachekeystosave.rst.txt      |    11 +
 .../tools/nodetool/setcompactionthreshold.rst.txt  |    11 +
 .../tools/nodetool/setcompactionthroughput.rst.txt |    11 +
 .../_sources/tools/nodetool/setconcurrency.rst.txt |    11 +
 .../tools/nodetool/setconcurrentcompactors.rst.txt |    11 +
 .../nodetool/setconcurrentviewbuilders.rst.txt     |    11 +
 .../nodetool/sethintedhandoffthrottlekb.rst.txt    |    11 +
 .../nodetool/setinterdcstreamthroughput.rst.txt    |    11 +
 .../tools/nodetool/setlogginglevel.rst.txt         |    11 +
 .../tools/nodetool/setmaxhintwindow.rst.txt        |    11 +
 .../tools/nodetool/setsnapshotthrottle.rst.txt     |    11 +
 .../tools/nodetool/setstreamthroughput.rst.txt     |    11 +
 .../_sources/tools/nodetool/settimeout.rst.txt     |    11 +
 .../tools/nodetool/settraceprobability.rst.txt     |    11 +
 .../4.0-rc2/_sources/tools/nodetool/sjk.rst.txt    |    11 +
 .../_sources/tools/nodetool/snapshot.rst.txt       |    11 +
 .../4.0-rc2/_sources/tools/nodetool/status.rst.txt |    11 +
 .../tools/nodetool/statusautocompaction.rst.txt    |    11 +
 .../_sources/tools/nodetool/statusbackup.rst.txt   |    11 +
 .../_sources/tools/nodetool/statusbinary.rst.txt   |    11 +
 .../_sources/tools/nodetool/statusgossip.rst.txt   |    11 +
 .../_sources/tools/nodetool/statushandoff.rst.txt  |    11 +
 .../4.0-rc2/_sources/tools/nodetool/stop.rst.txt   |    11 +
 .../_sources/tools/nodetool/stopdaemon.rst.txt     |    11 +
 .../tools/nodetool/tablehistograms.rst.txt         |    11 +
 .../_sources/tools/nodetool/tablestats.rst.txt     |    11 +
 .../_sources/tools/nodetool/toppartitions.rst.txt  |    11 +
 .../_sources/tools/nodetool/tpstats.rst.txt        |    11 +
 .../_sources/tools/nodetool/truncatehints.rst.txt  |    11 +
 .../tools/nodetool/upgradesstables.rst.txt         |    11 +
 .../4.0-rc2/_sources/tools/nodetool/verify.rst.txt |    11 +
 .../_sources/tools/nodetool/version.rst.txt        |    11 +
 .../tools/nodetool/viewbuildstatus.rst.txt         |    11 +
 .../4.0-rc2/_sources/tools/sstable/index.rst.txt   |    39 +
 .../_sources/tools/sstable/sstabledump.rst.txt     |   294 +
 .../tools/sstable/sstableexpiredblockers.rst.txt   |    48 +
 .../tools/sstable/sstablelevelreset.rst.txt        |    82 +
 .../_sources/tools/sstable/sstableloader.rst.txt   |   273 +
 .../_sources/tools/sstable/sstablemetadata.rst.txt |   304 +
 .../tools/sstable/sstableofflinerelevel.rst.txt    |    95 +
 .../tools/sstable/sstablerepairedset.rst.txt       |    79 +
 .../_sources/tools/sstable/sstablescrub.rst.txt    |   100 +
 .../_sources/tools/sstable/sstablesplit.rst.txt    |    93 +
 .../_sources/tools/sstable/sstableupgrade.rst.txt  |   137 +
 .../_sources/tools/sstable/sstableutil.rst.txt     |    91 +
 .../_sources/tools/sstable/sstableverify.rst.txt   |    91 +
 .../_sources/troubleshooting/finding_nodes.rst.txt |   149 +
 .../4.0-rc2/_sources/troubleshooting/index.rst.txt |    39 +
 .../_sources/troubleshooting/reading_logs.rst.txt  |   267 +
 .../_sources/troubleshooting/use_nodetool.rst.txt  |   245 +
 .../_sources/troubleshooting/use_tools.rst.txt     |   542 +
 src/doc/4.0-rc2/_static/basic.css                  |   856 ++
 src/doc/4.0-rc2/_static/css/badge_only.css         |     1 +
 .../_static/css/fonts/Roboto-Slab-Bold.woff        |   Bin 0 -> 87624 bytes
 .../_static/css/fonts/Roboto-Slab-Bold.woff2       |   Bin 0 -> 67312 bytes
 .../_static/css/fonts/Roboto-Slab-Regular.woff     |   Bin 0 -> 86288 bytes
 .../_static/css/fonts/Roboto-Slab-Regular.woff2    |   Bin 0 -> 66444 bytes
 .../_static/css/fonts/fontawesome-webfont.eot      |   Bin 0 -> 165742 bytes
 .../_static/css/fonts/fontawesome-webfont.svg      |  2671 +++++
 .../_static/css/fonts/fontawesome-webfont.ttf      |   Bin 0 -> 165548 bytes
 .../_static/css/fonts/fontawesome-webfont.woff     |   Bin 0 -> 98024 bytes
 .../_static/css/fonts/fontawesome-webfont.woff2    |   Bin 0 -> 77160 bytes
 .../_static/css/fonts/lato-bold-italic.woff        |   Bin 0 -> 323344 bytes
 .../_static/css/fonts/lato-bold-italic.woff2       |   Bin 0 -> 193308 bytes
 src/doc/4.0-rc2/_static/css/fonts/lato-bold.woff   |   Bin 0 -> 309728 bytes
 src/doc/4.0-rc2/_static/css/fonts/lato-bold.woff2  |   Bin 0 -> 184912 bytes
 .../_static/css/fonts/lato-normal-italic.woff      |   Bin 0 -> 328412 bytes
 .../_static/css/fonts/lato-normal-italic.woff2     |   Bin 0 -> 195704 bytes
 src/doc/4.0-rc2/_static/css/fonts/lato-normal.woff |   Bin 0 -> 309192 bytes
 .../4.0-rc2/_static/css/fonts/lato-normal.woff2    |   Bin 0 -> 182708 bytes
 src/doc/4.0-rc2/_static/css/theme.css              |     4 +
 src/doc/4.0-rc2/_static/doctools.js                |   321 +
 src/doc/4.0-rc2/_static/documentation_options.js   |    12 +
 src/doc/4.0-rc2/_static/extra.css                  |    76 +
 src/doc/4.0-rc2/_static/file.png                   |   Bin 0 -> 286 bytes
 src/doc/4.0-rc2/_static/fonts/Inconsolata-Bold.ttf |   Bin 0 -> 109948 bytes
 .../4.0-rc2/_static/fonts/Inconsolata-Regular.ttf  |   Bin 0 -> 96964 bytes
 src/doc/4.0-rc2/_static/fonts/Inconsolata.ttf      |   Bin 0 -> 63184 bytes
 src/doc/4.0-rc2/_static/fonts/Lato-Bold.ttf        |   Bin 0 -> 656544 bytes
 src/doc/4.0-rc2/_static/fonts/Lato-Regular.ttf     |   Bin 0 -> 656568 bytes
 src/doc/4.0-rc2/_static/fonts/Lato/lato-bold.eot   |   Bin 0 -> 256056 bytes
 src/doc/4.0-rc2/_static/fonts/Lato/lato-bold.ttf   |   Bin 0 -> 600856 bytes
 src/doc/4.0-rc2/_static/fonts/Lato/lato-bold.woff  |   Bin 0 -> 309728 bytes
 src/doc/4.0-rc2/_static/fonts/Lato/lato-bold.woff2 |   Bin 0 -> 184912 bytes
 .../4.0-rc2/_static/fonts/Lato/lato-bolditalic.eot |   Bin 0 -> 266158 bytes
 .../4.0-rc2/_static/fonts/Lato/lato-bolditalic.ttf |   Bin 0 -> 622572 bytes
 .../_static/fonts/Lato/lato-bolditalic.woff        |   Bin 0 -> 323344 bytes
 .../_static/fonts/Lato/lato-bolditalic.woff2       |   Bin 0 -> 193308 bytes
 src/doc/4.0-rc2/_static/fonts/Lato/lato-italic.eot |   Bin 0 -> 268604 bytes
 src/doc/4.0-rc2/_static/fonts/Lato/lato-italic.ttf |   Bin 0 -> 639388 bytes
 .../4.0-rc2/_static/fonts/Lato/lato-italic.woff    |   Bin 0 -> 328412 bytes
 .../4.0-rc2/_static/fonts/Lato/lato-italic.woff2   |   Bin 0 -> 195704 bytes
 .../4.0-rc2/_static/fonts/Lato/lato-regular.eot    |   Bin 0 -> 253461 bytes
 .../4.0-rc2/_static/fonts/Lato/lato-regular.ttf    |   Bin 0 -> 607720 bytes
 .../4.0-rc2/_static/fonts/Lato/lato-regular.woff   |   Bin 0 -> 309192 bytes
 .../4.0-rc2/_static/fonts/Lato/lato-regular.woff2  |   Bin 0 -> 182708 bytes
 src/doc/4.0-rc2/_static/fonts/RobotoSlab-Bold.ttf  |   Bin 0 -> 170616 bytes
 .../4.0-rc2/_static/fonts/RobotoSlab-Regular.ttf   |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.eot       |   Bin 0 -> 79520 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.ttf       |   Bin 0 -> 170616 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff      |   Bin 0 -> 87624 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-bold.woff2     |   Bin 0 -> 67312 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.eot    |   Bin 0 -> 78331 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.ttf    |   Bin 0 -> 169064 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff   |   Bin 0 -> 86288 bytes
 .../fonts/RobotoSlab/roboto-slab-v7-regular.woff2  |   Bin 0 -> 66444 bytes
 .../4.0-rc2/_static/fonts/fontawesome-webfont.eot  |   Bin 0 -> 165742 bytes
 .../4.0-rc2/_static/fonts/fontawesome-webfont.svg  |  2671 +++++
 .../4.0-rc2/_static/fonts/fontawesome-webfont.ttf  |   Bin 0 -> 165548 bytes
 .../4.0-rc2/_static/fonts/fontawesome-webfont.woff |   Bin 0 -> 98024 bytes
 .../_static/fonts/fontawesome-webfont.woff2        |   Bin 0 -> 77160 bytes
 src/doc/4.0-rc2/_static/jquery-3.5.1.js            | 10872 +++++++++++++++++++
 src/doc/4.0-rc2/_static/jquery.js                  |     2 +
 src/doc/4.0-rc2/_static/js/badge_only.js           |     1 +
 .../4.0-rc2/_static/js/html5shiv-printshiv.min.js  |     4 +
 src/doc/4.0-rc2/_static/js/html5shiv.min.js        |     4 +
 src/doc/4.0-rc2/_static/js/modernizr.min.js        |     4 +
 src/doc/4.0-rc2/_static/js/theme.js                |     1 +
 src/doc/4.0-rc2/_static/language_data.js           |   297 +
 src/doc/4.0-rc2/_static/minus.png                  |   Bin 0 -> 90 bytes
 src/doc/4.0-rc2/_static/plus.png                   |   Bin 0 -> 90 bytes
 src/doc/4.0-rc2/_static/pygments.css               |    74 +
 src/doc/4.0-rc2/_static/searchtools.js             |   522 +
 src/doc/4.0-rc2/_static/underscore-1.12.0.js       |  2027 ++++
 src/doc/4.0-rc2/_static/underscore.js              |     6 +
 src/doc/4.0-rc2/architecture/dynamo.html           |   703 ++
 src/doc/4.0-rc2/architecture/guarantees.html       |   298 +
 src/doc/4.0-rc2/architecture/index.html            |   267 +
 src/doc/4.0-rc2/architecture/overview.html         |   321 +
 src/doc/4.0-rc2/architecture/storage_engine.html   |   429 +
 src/doc/4.0-rc2/bugs.html                          |   234 +
 .../configuration/cass_cl_archive_file.html        |   279 +
 .../4.0-rc2/configuration/cass_env_sh_file.html    |   369 +
 .../configuration/cass_jvm_options_file.html       |   243 +
 .../configuration/cass_logback_xml_file.html       |   382 +
 .../4.0-rc2/configuration/cass_rackdc_file.html    |   308 +
 src/doc/4.0-rc2/configuration/cass_topo_file.html  |   278 +
 src/doc/4.0-rc2/configuration/cass_yaml_file.html  |  2137 ++++
 .../configuration/cassandra_config_file.html       |  1980 ++++
 src/doc/4.0-rc2/configuration/index.html           |   247 +
 src/doc/4.0-rc2/contactus.html                     |   252 +
 src/doc/4.0-rc2/cql/appendices.html                |   695 ++
 src/doc/4.0-rc2/cql/changes.html                   |   487 +
 src/doc/4.0-rc2/cql/ddl.html                       |  1657 +++
 src/doc/4.0-rc2/cql/definitions.html               |   442 +
 src/doc/4.0-rc2/cql/dml.html                       |   699 ++
 src/doc/4.0-rc2/cql/functions.html                 |   837 ++
 src/doc/4.0-rc2/cql/index.html                     |   372 +
 src/doc/4.0-rc2/cql/indexes.html                   |   297 +
 src/doc/4.0-rc2/cql/json.html                      |   441 +
 src/doc/4.0-rc2/cql/mvs.html                       |   393 +
 src/doc/4.0-rc2/cql/operators.html                 |   424 +
 src/doc/4.0-rc2/cql/security.html                  |   886 ++
 src/doc/4.0-rc2/cql/triggers.html                  |   279 +
 src/doc/4.0-rc2/cql/types.html                     |   882 ++
 .../data_modeling/data_modeling_conceptual.html    |   274 +
 .../data_modeling/data_modeling_logical.html       |   408 +
 .../data_modeling/data_modeling_physical.html      |   323 +
 .../data_modeling/data_modeling_queries.html       |   294 +
 .../4.0-rc2/data_modeling/data_modeling_rdbms.html |   383 +
 .../data_modeling/data_modeling_refining.html      |   412 +
 .../data_modeling/data_modeling_schema.html        |   359 +
 .../4.0-rc2/data_modeling/data_modeling_tools.html |   280 +
 src/doc/4.0-rc2/data_modeling/index.html           |   278 +
 src/doc/4.0-rc2/data_modeling/intro.html           |   353 +
 src/doc/4.0-rc2/development/ci.html                |   299 +
 src/doc/4.0-rc2/development/code_style.html        |   338 +
 src/doc/4.0-rc2/development/dependencies.html      |   280 +
 src/doc/4.0-rc2/development/documentation.html     |   320 +
 src/doc/4.0-rc2/development/gettingstarted.html    |   284 +
 src/doc/4.0-rc2/development/how_to_commit.html     |   392 +
 src/doc/4.0-rc2/development/how_to_review.html     |   303 +
 src/doc/4.0-rc2/development/ide.html               |   403 +
 src/doc/4.0-rc2/development/index.html             |   318 +
 .../4.0-rc2/development/license_compliance.html    |   253 +
 src/doc/4.0-rc2/development/patches.html           |   397 +
 src/doc/4.0-rc2/development/release_process.html   |   500 +
 src/doc/4.0-rc2/development/testing.html           |   441 +
 src/doc/4.0-rc2/faq/index.html                     |   442 +
 src/doc/4.0-rc2/genindex.html                      |   221 +
 src/doc/4.0-rc2/getting_started/configuring.html   |   299 +
 src/doc/4.0-rc2/getting_started/drivers.html       |   371 +
 src/doc/4.0-rc2/getting_started/index.html         |   289 +
 src/doc/4.0-rc2/getting_started/installing.html    |   511 +
 src/doc/4.0-rc2/getting_started/production.html    |   369 +
 src/doc/4.0-rc2/getting_started/querying.html      |   270 +
 src/doc/4.0-rc2/glossary.html                      |   248 +
 src/doc/4.0-rc2/index.html                         |   308 +
 src/doc/4.0-rc2/new/auditlogging.html              |   711 ++
 src/doc/4.0-rc2/new/fqllogging.html                |   817 ++
 src/doc/4.0-rc2/new/index.html                     |   317 +
 src/doc/4.0-rc2/new/java11.html                    |   475 +
 src/doc/4.0-rc2/new/messaging.html                 |   476 +
 src/doc/4.0-rc2/new/streaming.html                 |   397 +
 src/doc/4.0-rc2/new/transientreplication.html      |   351 +
 src/doc/4.0-rc2/new/virtualtables.html             |   558 +
 src/doc/4.0-rc2/objects.inv                        |   Bin 0 -> 9522 bytes
 src/doc/4.0-rc2/operating/backups.html             |   805 ++
 src/doc/4.0-rc2/operating/bloom_filters.html       |   285 +
 src/doc/4.0-rc2/operating/bulk_loading.html        |   814 ++
 src/doc/4.0-rc2/operating/cdc.html                 |   321 +
 src/doc/4.0-rc2/operating/compaction/index.html    |   516 +
 src/doc/4.0-rc2/operating/compaction/lcs.html      |   277 +
 src/doc/4.0-rc2/operating/compaction/stcs.html     |   251 +
 src/doc/4.0-rc2/operating/compaction/twcs.html     |   269 +
 src/doc/4.0-rc2/operating/compression.html         |   417 +
 src/doc/4.0-rc2/operating/hardware.html            |   312 +
 src/doc/4.0-rc2/operating/hints.html               |   534 +
 src/doc/4.0-rc2/operating/index.html               |   379 +
 src/doc/4.0-rc2/operating/metrics.html             |  2198 ++++
 src/doc/4.0-rc2/operating/read_repair.html         |   394 +
 src/doc/4.0-rc2/operating/repair.html              |   401 +
 src/doc/4.0-rc2/operating/security.html            |   612 ++
 src/doc/4.0-rc2/operating/snitch.html              |   303 +
 src/doc/4.0-rc2/operating/topo_changes.html        |   351 +
 src/doc/4.0-rc2/plugins/index.html                 |   241 +
 src/doc/4.0-rc2/search.html                        |   234 +
 src/doc/4.0-rc2/searchindex.js                     |     1 +
 src/doc/4.0-rc2/tools/cassandra_stress.html        |   481 +
 src/doc/4.0-rc2/tools/cqlsh.html                   |   635 ++
 src/doc/4.0-rc2/tools/generatetokens.html          |   287 +
 src/doc/4.0-rc2/tools/index.html                   |   388 +
 src/doc/4.0-rc2/tools/nodetool/assassinate.html    |   263 +
 src/doc/4.0-rc2/tools/nodetool/bootstrap.html      |   262 +
 src/doc/4.0-rc2/tools/nodetool/cleanup.html        |   268 +
 src/doc/4.0-rc2/tools/nodetool/clearsnapshot.html  |   270 +
 src/doc/4.0-rc2/tools/nodetool/clientstats.html    |   264 +
 src/doc/4.0-rc2/tools/nodetool/compact.html        |   280 +
 .../4.0-rc2/tools/nodetool/compactionhistory.html  |   258 +
 .../4.0-rc2/tools/nodetool/compactionstats.html    |   258 +
 src/doc/4.0-rc2/tools/nodetool/decommission.html   |   258 +
 .../4.0-rc2/tools/nodetool/describecluster.html    |   255 +
 src/doc/4.0-rc2/tools/nodetool/describering.html   |   262 +
 .../4.0-rc2/tools/nodetool/disableauditlog.html    |   254 +
 .../tools/nodetool/disableautocompaction.html      |   264 +
 src/doc/4.0-rc2/tools/nodetool/disablebackup.html  |   254 +
 src/doc/4.0-rc2/tools/nodetool/disablebinary.html  |   254 +
 .../tools/nodetool/disablefullquerylog.html        |   254 +
 src/doc/4.0-rc2/tools/nodetool/disablegossip.html  |   255 +
 src/doc/4.0-rc2/tools/nodetool/disablehandoff.html |   254 +
 .../4.0-rc2/tools/nodetool/disablehintsfordc.html  |   263 +
 .../tools/nodetool/disableoldprotocolversions.html |   254 +
 src/doc/4.0-rc2/tools/nodetool/drain.html          |   255 +
 src/doc/4.0-rc2/tools/nodetool/enableauditlog.html |   288 +
 .../tools/nodetool/enableautocompaction.html       |   264 +
 src/doc/4.0-rc2/tools/nodetool/enablebackup.html   |   254 +
 src/doc/4.0-rc2/tools/nodetool/enablebinary.html   |   254 +
 .../4.0-rc2/tools/nodetool/enablefullquerylog.html |   286 +
 src/doc/4.0-rc2/tools/nodetool/enablegossip.html   |   254 +
 src/doc/4.0-rc2/tools/nodetool/enablehandoff.html  |   255 +
 .../4.0-rc2/tools/nodetool/enablehintsfordc.html   |   264 +
 .../tools/nodetool/enableoldprotocolversions.html  |   254 +
 .../4.0-rc2/tools/nodetool/failuredetector.html    |   255 +
 src/doc/4.0-rc2/tools/nodetool/flush.html          |   263 +
 src/doc/4.0-rc2/tools/nodetool/garbagecollect.html |   273 +
 src/doc/4.0-rc2/tools/nodetool/gcstats.html        |   254 +
 .../tools/nodetool/getbatchlogreplaythrottle.html  |   256 +
 .../tools/nodetool/getcompactionthreshold.html     |   264 +
 .../tools/nodetool/getcompactionthroughput.html    |   255 +
 src/doc/4.0-rc2/tools/nodetool/getconcurrency.html |   263 +
 .../tools/nodetool/getconcurrentcompactors.html    |   255 +
 .../tools/nodetool/getconcurrentviewbuilders.html  |   255 +
 src/doc/4.0-rc2/tools/nodetool/getendpoints.html   |   264 +
 .../4.0-rc2/tools/nodetool/getfullquerylog.html    |   255 +
 .../tools/nodetool/getinterdcstreamthroughput.html |   255 +
 .../4.0-rc2/tools/nodetool/getlogginglevels.html   |   254 +
 .../4.0-rc2/tools/nodetool/getmaxhintwindow.html   |   254 +
 src/doc/4.0-rc2/tools/nodetool/getseeds.html       |   255 +
 .../tools/nodetool/getsnapshotthrottle.html        |   255 +
 src/doc/4.0-rc2/tools/nodetool/getsstables.html    |   266 +
 .../tools/nodetool/getstreamthroughput.html        |   255 +
 src/doc/4.0-rc2/tools/nodetool/gettimeout.html     |   264 +
 .../tools/nodetool/gettraceprobability.html        |   254 +
 src/doc/4.0-rc2/tools/nodetool/gossipinfo.html     |   254 +
 src/doc/4.0-rc2/tools/nodetool/help.html           |   241 +
 src/doc/4.0-rc2/tools/nodetool/import.html         |   292 +
 src/doc/4.0-rc2/tools/nodetool/info.html           |   257 +
 .../tools/nodetool/invalidatecountercache.html     |   254 +
 .../4.0-rc2/tools/nodetool/invalidatekeycache.html |   254 +
 .../4.0-rc2/tools/nodetool/invalidaterowcache.html |   254 +
 src/doc/4.0-rc2/tools/nodetool/join.html           |   254 +
 src/doc/4.0-rc2/tools/nodetool/listsnapshots.html  |   257 +
 src/doc/4.0-rc2/tools/nodetool/move.html           |   262 +
 src/doc/4.0-rc2/tools/nodetool/netstats.html       |   259 +
 src/doc/4.0-rc2/tools/nodetool/nodetool.html       |   372 +
 src/doc/4.0-rc2/tools/nodetool/pausehandoff.html   |   254 +
 src/doc/4.0-rc2/tools/nodetool/profileload.html    |   273 +
 .../4.0-rc2/tools/nodetool/proxyhistograms.html    |   255 +
 src/doc/4.0-rc2/tools/nodetool/rangekeysample.html |   255 +
 src/doc/4.0-rc2/tools/nodetool/rebuild.html        |   279 +
 src/doc/4.0-rc2/tools/nodetool/rebuild_index.html  |   264 +
 src/doc/4.0-rc2/tools/nodetool/refresh.html        |   264 +
 .../tools/nodetool/refreshsizeestimates.html       |   254 +
 .../4.0-rc2/tools/nodetool/reloadlocalschema.html  |   254 +
 src/doc/4.0-rc2/tools/nodetool/reloadseeds.html    |   255 +
 src/doc/4.0-rc2/tools/nodetool/reloadssl.html      |   254 +
 src/doc/4.0-rc2/tools/nodetool/reloadtriggers.html |   254 +
 .../4.0-rc2/tools/nodetool/relocatesstables.html   |   267 +
 src/doc/4.0-rc2/tools/nodetool/removenode.html     |   265 +
 src/doc/4.0-rc2/tools/nodetool/repair.html         |   333 +
 src/doc/4.0-rc2/tools/nodetool/repair_admin.html   |   350 +
 src/doc/4.0-rc2/tools/nodetool/replaybatchlog.html |   254 +
 .../4.0-rc2/tools/nodetool/resetfullquerylog.html  |   256 +
 .../4.0-rc2/tools/nodetool/resetlocalschema.html   |   254 +
 src/doc/4.0-rc2/tools/nodetool/resumehandoff.html  |   254 +
 src/doc/4.0-rc2/tools/nodetool/ring.html           |   267 +
 src/doc/4.0-rc2/tools/nodetool/scrub.html          |   288 +
 .../tools/nodetool/setbatchlogreplaythrottle.html  |   265 +
 .../4.0-rc2/tools/nodetool/setcachecapacity.html   |   264 +
 .../4.0-rc2/tools/nodetool/setcachekeystosave.html |   266 +
 .../tools/nodetool/setcompactionthreshold.html     |   264 +
 .../tools/nodetool/setcompactionthroughput.html    |   264 +
 src/doc/4.0-rc2/tools/nodetool/setconcurrency.html |   265 +
 .../tools/nodetool/setconcurrentcompactors.html    |   264 +
 .../tools/nodetool/setconcurrentviewbuilders.html  |   264 +
 .../tools/nodetool/sethintedhandoffthrottlekb.html |   264 +
 .../tools/nodetool/setinterdcstreamthroughput.html |   264 +
 .../4.0-rc2/tools/nodetool/setlogginglevel.html    |   267 +
 .../4.0-rc2/tools/nodetool/setmaxhintwindow.html   |   263 +
 .../tools/nodetool/setsnapshotthrottle.html        |   265 +
 .../tools/nodetool/setstreamthroughput.html        |   264 +
 src/doc/4.0-rc2/tools/nodetool/settimeout.html     |   267 +
 .../tools/nodetool/settraceprobability.html        |   265 +
 src/doc/4.0-rc2/tools/nodetool/sjk.html            |   263 +
 src/doc/4.0-rc2/tools/nodetool/snapshot.html       |   281 +
 src/doc/4.0-rc2/tools/nodetool/status.html         |   266 +
 .../tools/nodetool/statusautocompaction.html       |   267 +
 src/doc/4.0-rc2/tools/nodetool/statusbackup.html   |   254 +
 src/doc/4.0-rc2/tools/nodetool/statusbinary.html   |   254 +
 src/doc/4.0-rc2/tools/nodetool/statusgossip.html   |   254 +
 src/doc/4.0-rc2/tools/nodetool/statushandoff.html  |   255 +
 src/doc/4.0-rc2/tools/nodetool/stop.html           |   271 +
 src/doc/4.0-rc2/tools/nodetool/stopdaemon.html     |   254 +
 .../4.0-rc2/tools/nodetool/tablehistograms.html    |   263 +
 src/doc/4.0-rc2/tools/nodetool/tablestats.html     |   301 +
 src/doc/4.0-rc2/tools/nodetool/toppartitions.html  |   272 +
 src/doc/4.0-rc2/tools/nodetool/tpstats.html        |   258 +
 src/doc/4.0-rc2/tools/nodetool/truncatehints.html  |   265 +
 .../4.0-rc2/tools/nodetool/upgradesstables.html    |   274 +
 src/doc/4.0-rc2/tools/nodetool/verify.html         |   283 +
 src/doc/4.0-rc2/tools/nodetool/version.html        |   254 +
 .../4.0-rc2/tools/nodetool/viewbuildstatus.html    |   263 +
 src/doc/4.0-rc2/tools/sstable/index.html           |   353 +
 src/doc/4.0-rc2/tools/sstable/sstabledump.html     |   538 +
 .../tools/sstable/sstableexpiredblockers.html      |   277 +
 .../4.0-rc2/tools/sstable/sstablelevelreset.html   |   306 +
 src/doc/4.0-rc2/tools/sstable/sstableloader.html   |   542 +
 src/doc/4.0-rc2/tools/sstable/sstablemetadata.html |   592 +
 .../tools/sstable/sstableofflinerelevel.html       |   320 +
 .../4.0-rc2/tools/sstable/sstablerepairedset.html  |   324 +
 src/doc/4.0-rc2/tools/sstable/sstablescrub.html    |   357 +
 src/doc/4.0-rc2/tools/sstable/sstablesplit.html    |   334 +
 src/doc/4.0-rc2/tools/sstable/sstableupgrade.html  |   379 +
 src/doc/4.0-rc2/tools/sstable/sstableutil.html     |   337 +
 src/doc/4.0-rc2/tools/sstable/sstableverify.html   |   335 +
 src/doc/4.0-rc2/troubleshooting/finding_nodes.html |   369 +
 src/doc/4.0-rc2/troubleshooting/index.html         |   272 +
 src/doc/4.0-rc2/troubleshooting/reading_logs.html  |   482 +
 src/doc/4.0-rc2/troubleshooting/use_nodetool.html  |   444 +
 src/doc/4.0-rc2/troubleshooting/use_tools.html     |   749 ++
 src/doc/latest                                     |     2 +-
 src/doc/stable                                     |     2 +-
 1356 files changed, 339357 insertions(+), 45328 deletions(-)

diff --git a/content/doc/3.11.10/_images/eclipse_debug0.png b/content/doc/3.11.10/_images/eclipse_debug0.png
new file mode 100644
index 0000000..79fc5fd
Binary files /dev/null and b/content/doc/3.11.10/_images/eclipse_debug0.png differ
diff --git a/content/doc/3.11.10/_images/eclipse_debug1.png b/content/doc/3.11.10/_images/eclipse_debug1.png
new file mode 100644
index 0000000..87b8756
Binary files /dev/null and b/content/doc/3.11.10/_images/eclipse_debug1.png differ
diff --git a/content/doc/3.11.10/_images/eclipse_debug2.png b/content/doc/3.11.10/_images/eclipse_debug2.png
new file mode 100644
index 0000000..df4eddb
Binary files /dev/null and b/content/doc/3.11.10/_images/eclipse_debug2.png differ
diff --git a/content/doc/3.11.10/_images/eclipse_debug3.png b/content/doc/3.11.10/_images/eclipse_debug3.png
new file mode 100644
index 0000000..2317814
Binary files /dev/null and b/content/doc/3.11.10/_images/eclipse_debug3.png differ
diff --git a/content/doc/3.11.10/_images/eclipse_debug4.png b/content/doc/3.11.10/_images/eclipse_debug4.png
new file mode 100644
index 0000000..5063d48
Binary files /dev/null and b/content/doc/3.11.10/_images/eclipse_debug4.png differ
diff --git a/content/doc/3.11.10/_images/eclipse_debug5.png b/content/doc/3.11.10/_images/eclipse_debug5.png
new file mode 100644
index 0000000..ab68e68
Binary files /dev/null and b/content/doc/3.11.10/_images/eclipse_debug5.png differ
diff --git a/content/doc/3.11.10/_images/eclipse_debug6.png b/content/doc/3.11.10/_images/eclipse_debug6.png
new file mode 100644
index 0000000..61ef30b
Binary files /dev/null and b/content/doc/3.11.10/_images/eclipse_debug6.png differ
diff --git a/content/doc/3.11.10/architecture/dynamo.html b/content/doc/3.11.10/architecture/dynamo.html
new file mode 100644
index 0000000..4be29cb
--- /dev/null
+++ b/content/doc/3.11.10/architecture/dynamo.html
@@ -0,0 +1,348 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Dynamo &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Storage Engine" href="storage_engine.html" />
+    <link rel="prev" title="Overview" href="overview.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Apache Cassandra
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                3.11.10
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Architecture</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="overview.html">Overview</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Dynamo</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#gossip">Gossip</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#failure-detection">Failure Detection</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#token-ring-ranges">Token Ring/Ranges</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#replication">Replication</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#simplestrategy">SimpleStrategy</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#networktopologystrategy">NetworkTopologyStrategy</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#tunable-consistency">Tunable Consistency</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#picking-consistency-levels">Picking Consistency Levels</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="storage_engine.html">Storage Engine</a></li>
+<li class="toctree-l2"><a class="reference internal" href="guarantees.html">Guarantees</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</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>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Apache Cassandra</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+          <li><a href="index.html">Architecture</a> &raquo;</li>
+        
+      <li>Dynamo</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="../_sources/architecture/dynamo.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="dynamo">
+<h1>Dynamo<a class="headerlink" href="#dynamo" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="gossip">
+<span id="id1"></span><h2>Gossip<a class="headerlink" href="#gossip" title="Permalink to this headline">¶</a></h2>
+<div class="admonition-todo admonition" id="id2">
+<p class="admonition-title">Todo</p>
+<p>todo</p>
+</div>
+</div>
+<div class="section" id="failure-detection">
+<h2>Failure Detection<a class="headerlink" href="#failure-detection" title="Permalink to this headline">¶</a></h2>
+<div class="admonition-todo admonition" id="id3">
+<p class="admonition-title">Todo</p>
+<p>todo</p>
+</div>
+</div>
+<div class="section" id="token-ring-ranges">
+<h2>Token Ring/Ranges<a class="headerlink" href="#token-ring-ranges" title="Permalink to this headline">¶</a></h2>
+<div class="admonition-todo admonition" id="id4">
+<p class="admonition-title">Todo</p>
+<p>todo</p>
+</div>
+</div>
+<div class="section" id="replication">
+<span id="replication-strategy"></span><h2>Replication<a class="headerlink" href="#replication" title="Permalink to this headline">¶</a></h2>
+<p>The replication strategy of a keyspace determines which nodes are replicas for a given token range. The two main
+replication strategies are <a class="reference internal" href="#simple-strategy"><span class="std std-ref">SimpleStrategy</span></a> and <a class="reference internal" href="#network-topology-strategy"><span class="std std-ref">NetworkTopologyStrategy</span></a>.</p>
+<div class="section" id="simplestrategy">
+<span id="simple-strategy"></span><h3>SimpleStrategy<a class="headerlink" href="#simplestrategy" title="Permalink to this headline">¶</a></h3>
+<p>SimpleStrategy allows a single integer <code class="docutils literal notranslate"><span class="pre">replication_factor</span></code> to be defined. This determines the number of nodes that
+should contain a copy of each row.  For example, if <code class="docutils literal notranslate"><span class="pre">replication_factor</span></code> is 3, then three different nodes should store
+a copy of each row.</p>
+<p>SimpleStrategy treats all nodes identically, ignoring any configured datacenters or racks.  To determine the replicas
+for a token range, Cassandra iterates through the tokens in the ring, starting with the token range of interest.  For
+each token, it checks whether the owning node has been added to the set of replicas, and if it has not, it is added to
+the set.  This process continues until <code class="docutils literal notranslate"><span class="pre">replication_factor</span></code> distinct nodes have been added to the set of replicas.</p>
+</div>
+<div class="section" id="networktopologystrategy">
+<span id="network-topology-strategy"></span><h3>NetworkTopologyStrategy<a class="headerlink" href="#networktopologystrategy" title="Permalink to this headline">¶</a></h3>
+<p>NetworkTopologyStrategy allows a replication factor to be specified for each datacenter in the cluster.  Even if your
+cluster only uses a single datacenter, NetworkTopologyStrategy should be prefered over SimpleStrategy to make it easier
+to add new physical or virtual datacenters to the cluster later.</p>
+<p>In addition to allowing the replication factor to be specified per-DC, NetworkTopologyStrategy also attempts to choose
+replicas within a datacenter from different racks.  If the number of racks is greater than or equal to the replication
+factor for the DC, each replica will be chosen from a different rack.  Otherwise, each rack will hold at least one
+replica, but some racks may hold more than one. Note that this rack-aware behavior has some potentially <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-3810">surprising
+implications</a>.  For example, if there are not an even number of
+nodes in each rack, the data load on the smallest rack may be much higher.  Similarly, if a single node is bootstrapped
+into a new rack, it will be considered a replica for the entire ring.  For this reason, many operators choose to
+configure all nodes on a single “rack”.</p>
+</div>
+</div>
+<div class="section" id="tunable-consistency">
+<h2>Tunable Consistency<a class="headerlink" href="#tunable-consistency" title="Permalink to this headline">¶</a></h2>
+<p>Cassandra supports a per-operation tradeoff between consistency and availability through <em>Consistency Levels</em>.
+Essentially, an operation’s consistency level specifies how many of the replicas need to respond to the coordinator in
+order to consider the operation a success.</p>
+<p>The following consistency levels are available:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">ONE</span></code></dt><dd><p>Only a single replica must respond.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">TWO</span></code></dt><dd><p>Two replicas must respond.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">THREE</span></code></dt><dd><p>Three replicas must respond.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">QUORUM</span></code></dt><dd><p>A majority (n/2 + 1) of the replicas must respond.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">ALL</span></code></dt><dd><p>All of the replicas must respond.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">LOCAL_QUORUM</span></code></dt><dd><p>A majority of the replicas in the local datacenter (whichever datacenter the coordinator is in) must respond.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">EACH_QUORUM</span></code></dt><dd><p>A majority of the replicas in each datacenter must respond.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">LOCAL_ONE</span></code></dt><dd><p>Only a single replica must respond.  In a multi-datacenter cluster, this also gaurantees that read requests are not
+sent to replicas in a remote datacenter.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">ANY</span></code></dt><dd><p>A single replica may respond, or the coordinator may store a hint. If a hint is stored, the coordinator will later
+attempt to replay the hint and deliver the mutation to the replicas.  This consistency level is only accepted for
+write operations.</p>
+</dd>
+</dl>
+<p>Write operations are always sent to all replicas, regardless of consistency level. The consistency level simply
+controls how many responses the coordinator waits for before responding to the client.</p>
+<p>For read operations, the coordinator generally only issues read commands to enough replicas to satisfy the consistency
+level. There are a couple of exceptions to this:</p>
+<ul class="simple">
+<li><p>Speculative retry may issue a redundant read request to an extra replica if the other replicas have not responded
+within a specified time window.</p></li>
+<li><p>Based on <code class="docutils literal notranslate"><span class="pre">read_repair_chance</span></code> and <code class="docutils literal notranslate"><span class="pre">dclocal_read_repair_chance</span></code> (part of a table’s schema), read requests may be
+randomly sent to all replicas in order to repair potentially inconsistent data.</p></li>
+</ul>
+<div class="section" id="picking-consistency-levels">
+<h3>Picking Consistency Levels<a class="headerlink" href="#picking-consistency-levels" title="Permalink to this headline">¶</a></h3>
+<p>It is common to pick read and write consistency levels that are high enough to overlap, resulting in “strong”
+consistency.  This is typically expressed as <code class="docutils literal notranslate"><span class="pre">W</span> <span class="pre">+</span> <span class="pre">R</span> <span class="pre">&gt;</span> <span class="pre">RF</span></code>, where <code class="docutils literal notranslate"><span class="pre">W</span></code> is the write consistency level, <code class="docutils literal notranslate"><span class="pre">R</span></code> is the
+read consistency level, and <code class="docutils literal notranslate"><span class="pre">RF</span></code> is the replication factor.  For example, if <code class="docutils literal notranslate"><span class="pre">RF</span> <span class="pre">=</span> <span class="pre">3</span></code>, a <code class="docutils literal notranslate"><span class="pre">QUORUM</span></code> request will
+require responses from at least two of the three replicas.  If <code class="docutils literal notranslate"><span class="pre">QUORUM</span></code> is used for both writes and reads, at least
+one of the replicas is guaranteed to participate in <em>both</em> the write and the read request, which in turn guarantees that
+the latest write will be read. In a multi-datacenter environment, <code class="docutils literal notranslate"><span class="pre">LOCAL_QUORUM</span></code> can be used to provide a weaker but
+still useful guarantee: reads are guaranteed to see the latest write from within the same datacenter.</p>
+<p>If this type of strong consistency isn’t required, lower consistency levels like <code class="docutils literal notranslate"><span class="pre">ONE</span></code> may be used to improve
+throughput, latency, and availability.</p>
+</div>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+        <a href="storage_engine.html" class="btn btn-neutral float-right" title="Storage Engine" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="overview.html" class="btn btn-neutral float-left" title="Overview" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 2016, The Apache Cassandra team.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/doc/3.11.10/architecture/guarantees.html b/content/doc/3.11.10/architecture/guarantees.html
new file mode 100644
index 0000000..363dd65
--- /dev/null
+++ b/content/doc/3.11.10/architecture/guarantees.html
@@ -0,0 +1,236 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Guarantees &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Data Modeling" href="../data_modeling/index.html" />
+    <link rel="prev" title="Storage Engine" href="storage_engine.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Apache Cassandra
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                3.11.10
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Architecture</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="overview.html">Overview</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dynamo.html">Dynamo</a></li>
+<li class="toctree-l2"><a class="reference internal" href="storage_engine.html">Storage Engine</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Guarantees</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</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>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Apache Cassandra</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+          <li><a href="index.html">Architecture</a> &raquo;</li>
+        
+      <li>Guarantees</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="../_sources/architecture/guarantees.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="guarantees">
+<h1>Guarantees<a class="headerlink" href="#guarantees" title="Permalink to this headline">¶</a></h1>
+<div class="admonition-todo admonition" id="id1">
+<p class="admonition-title">Todo</p>
+<p>todo</p>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+        <a href="../data_modeling/index.html" class="btn btn-neutral float-right" title="Data Modeling" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="storage_engine.html" class="btn btn-neutral float-left" title="Storage Engine" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 2016, The Apache Cassandra team.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/doc/3.11.10/architecture/index.html b/content/doc/3.11.10/architecture/index.html
new file mode 100644
index 0000000..0c407fc
--- /dev/null
+++ b/content/doc/3.11.10/architecture/index.html
@@ -0,0 +1,251 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Architecture &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Overview" href="overview.html" />
+    <link rel="prev" title="Client drivers" href="../getting_started/drivers.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Apache Cassandra
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                3.11.10
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Architecture</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="overview.html">Overview</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dynamo.html">Dynamo</a></li>
+<li class="toctree-l2"><a class="reference internal" href="storage_engine.html">Storage Engine</a></li>
+<li class="toctree-l2"><a class="reference internal" href="guarantees.html">Guarantees</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</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>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Apache Cassandra</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+      <li>Architecture</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="../_sources/architecture/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="architecture">
+<h1>Architecture<a class="headerlink" href="#architecture" title="Permalink to this headline">¶</a></h1>
+<p>This section describes the general architecture of Apache Cassandra.</p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="overview.html">Overview</a></li>
+<li class="toctree-l1"><a class="reference internal" href="dynamo.html">Dynamo</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="dynamo.html#gossip">Gossip</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dynamo.html#failure-detection">Failure Detection</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dynamo.html#token-ring-ranges">Token Ring/Ranges</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dynamo.html#replication">Replication</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dynamo.html#tunable-consistency">Tunable Consistency</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="storage_engine.html">Storage Engine</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="storage_engine.html#commitlog">CommitLog</a></li>
+<li class="toctree-l2"><a class="reference internal" href="storage_engine.html#memtables">Memtables</a></li>
+<li class="toctree-l2"><a class="reference internal" href="storage_engine.html#sstables">SSTables</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="guarantees.html">Guarantees</a></li>
+</ul>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+        <a href="overview.html" class="btn btn-neutral float-right" title="Overview" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="../getting_started/drivers.html" class="btn btn-neutral float-left" title="Client drivers" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 2016, The Apache Cassandra team.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/doc/3.11.10/architecture/overview.html b/content/doc/3.11.10/architecture/overview.html
new file mode 100644
index 0000000..044778c
--- /dev/null
+++ b/content/doc/3.11.10/architecture/overview.html
@@ -0,0 +1,236 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Overview &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Dynamo" href="dynamo.html" />
+    <link rel="prev" title="Architecture" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Apache Cassandra
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                3.11.10
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Architecture</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Overview</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dynamo.html">Dynamo</a></li>
+<li class="toctree-l2"><a class="reference internal" href="storage_engine.html">Storage Engine</a></li>
+<li class="toctree-l2"><a class="reference internal" href="guarantees.html">Guarantees</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</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>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Apache Cassandra</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+          <li><a href="index.html">Architecture</a> &raquo;</li>
+        
+      <li>Overview</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="../_sources/architecture/overview.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="overview">
+<h1>Overview<a class="headerlink" href="#overview" title="Permalink to this headline">¶</a></h1>
+<div class="admonition-todo admonition" id="id1">
+<p class="admonition-title">Todo</p>
+<p>todo</p>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+        <a href="dynamo.html" class="btn btn-neutral float-right" title="Dynamo" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="index.html" class="btn btn-neutral float-left" title="Architecture" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 2016, The Apache Cassandra team.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/doc/3.11.10/architecture/storage_engine.html b/content/doc/3.11.10/architecture/storage_engine.html
new file mode 100644
index 0000000..c9256b3
--- /dev/null
+++ b/content/doc/3.11.10/architecture/storage_engine.html
@@ -0,0 +1,330 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Storage Engine &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Guarantees" href="guarantees.html" />
+    <link rel="prev" title="Dynamo" href="dynamo.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Apache Cassandra
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                3.11.10
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Architecture</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="overview.html">Overview</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dynamo.html">Dynamo</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Storage Engine</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#commitlog">CommitLog</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#memtables">Memtables</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#sstables">SSTables</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="guarantees.html">Guarantees</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</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>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Apache Cassandra</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+          <li><a href="index.html">Architecture</a> &raquo;</li>
+        
+      <li>Storage Engine</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="../_sources/architecture/storage_engine.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="storage-engine">
+<h1>Storage Engine<a class="headerlink" href="#storage-engine" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="commitlog">
+<span id="commit-log"></span><h2>CommitLog<a class="headerlink" href="#commitlog" title="Permalink to this headline">¶</a></h2>
+<p>Commitlogs are an append only log of all mutations local to a Cassandra node. Any data written to Cassandra will first be written to a commit log before being written to a memtable. This provides durability in the case of unexpected shutdown. On startup, any mutations in the commit log will be applied to memtables.</p>
+<p>All mutations write optimized by storing in commitlog segments, reducing the number of seeks needed to write to disk. Commitlog Segments are limited by the “commitlog_segment_size_in_mb” option, once the size is reached, a new commitlog segment is created. Commitlog segments can be archived, deleted, or recycled once all its data has been flushed to SSTables.  Commitlog segments are truncated when Cassandra has written data older than a certain point to the SSTables. Running “nodetool [...]
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">commitlog_segment_size_in_mb</span></code>: The default size is 32, which is almost always fine, but if you are archiving commitlog segments (see commitlog_archiving.properties), then you probably want a finer granularity of archiving; 8 or 16 MB is reasonable. Max mutation size is also configurable via max_mutation_size_in_kb setting in cassandra.yaml. The default is half the size commitlog_segment_size_in_mb * 1024.</p></li>
+</ul>
+<p><strong>*NOTE: If max_mutation_size_in_kb is set explicitly then commitlog_segment_size_in_mb must be set to at least twice the size of max_mutation_size_in_kb / 1024*</strong></p>
+<p><em>Default Value:</em> 32</p>
+<p>Commitlogs are an append only log of all mutations local to a Cassandra node. Any data written to Cassandra will first be written to a commit log before being written to a memtable. This provides durability in the case of unexpected shutdown. On startup, any mutations in the commit log will be applied.</p>
+<ul>
+<li><p><code class="docutils literal notranslate"><span class="pre">commitlog_sync</span></code>: may be either “periodic” or “batch.”</p>
+<ul>
+<li><p><code class="docutils literal notranslate"><span class="pre">batch</span></code>: In batch mode, Cassandra won’t ack writes until the commit log has been fsynced to disk. It will wait “commitlog_sync_batch_window_in_ms” milliseconds between fsyncs. This window should be kept short because the writer threads will be unable to do extra work while waiting. You may need to increase concurrent_writes for the same reason.</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">commitlog_sync_batch_window_in_ms</span></code>: Time to wait between “batch” fsyncs</p></li>
+</ul>
+<p><em>Default Value:</em> 2</p>
+</li>
+<li><p><code class="docutils literal notranslate"><span class="pre">periodic</span></code>: In periodic mode, writes are immediately ack’ed, and the CommitLog is simply synced every “commitlog_sync_period_in_ms” milliseconds.</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">commitlog_sync_period_in_ms</span></code>: Time to wait between “periodic” fsyncs</p></li>
+</ul>
+<p><em>Default Value:</em> 10000</p>
+</li>
+</ul>
+</li>
+</ul>
+<p><em>Default Value:</em> periodic</p>
+<p><strong>* NOTE: In the event of an unexpected shutdown, Cassandra can lose up to the sync period or more if the sync is delayed. If using “batch” mode, it is recommended to store commitlogs in a separate, dedicated device.</strong></p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">commitlog_directory</span></code>: This option is commented out by default When running on magnetic HDD, this should be a separate spindle than the data directories. If not set, the default directory is $CASSANDRA_HOME/data/commitlog.</p></li>
+</ul>
+<p><em>Default Value:</em> /var/lib/cassandra/commitlog</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">commitlog_compression</span></code>: Compression to apply to the commitlog. If omitted, the commit log will be written uncompressed. LZ4, Snappy, Deflate and Zstd compressors are supported.</p></li>
+</ul>
+<p>(Default Value: (complex option):</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#   - class_name: LZ4Compressor</span>
+<span class="c1">#     parameters:</span>
+<span class="c1">#         -</span>
+</pre></div>
+</div>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">commitlog_total_space_in_mb</span></code>: Total space to use for commit logs on disk.</p></li>
+</ul>
+<p>If space gets above this value, Cassandra will flush every dirty CF in the oldest segment and remove it. So a small total commitlog space will tend to cause more flush activity on less-active columnfamilies.</p>
+<p>The default value is the smaller of 8192, and 1/4 of the total space of the commitlog volume.</p>
+<p><em>Default Value:</em> 8192</p>
+</div>
+<div class="section" id="memtables">
+<span id="id1"></span><h2>Memtables<a class="headerlink" href="#memtables" title="Permalink to this headline">¶</a></h2>
+<p>Memtables are in-memory structures where Cassandra buffers writes.  In general, there is one active memtable per table.
+Eventually, memtables are flushed onto disk and become immutable <a class="reference internal" href="#sstables">SSTables</a>.  This can be triggered in several
+ways:</p>
+<ul class="simple">
+<li><p>The memory usage of the memtables exceeds the configured threshold  (see <code class="docutils literal notranslate"><span class="pre">memtable_cleanup_threshold</span></code>)</p></li>
+<li><p>The <a class="reference internal" href="#commit-log"><span class="std std-ref">CommitLog</span></a> approaches its maximum size, and forces memtable flushes in order to allow commitlog segments to
+be freed</p></li>
+</ul>
+<p>Memtables may be stored entirely on-heap or partially off-heap, depending on <code class="docutils literal notranslate"><span class="pre">memtable_allocation_type</span></code>.</p>
+</div>
+<div class="section" id="sstables">
+<h2>SSTables<a class="headerlink" href="#sstables" title="Permalink to this headline">¶</a></h2>
+<p>SSTables are the immutable data files that Cassandra uses for persisting data on disk.</p>
+<p>As SSTables are flushed to disk from <a class="reference internal" href="#memtables"><span class="std std-ref">Memtables</span></a> or are streamed from other nodes, Cassandra triggers compactions
+which combine multiple SSTables into one.  Once the new SSTable has been written, the old SSTables can be removed.</p>
+<p>Each SSTable is comprised of multiple components stored in separate files:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">Data.db</span></code></dt><dd><p>The actual data, i.e. the contents of rows.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">Index.db</span></code></dt><dd><p>An index from partition keys to positions in the <code class="docutils literal notranslate"><span class="pre">Data.db</span></code> file.  For wide partitions, this may also include an
+index to rows within a partition.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">Summary.db</span></code></dt><dd><p>A sampling of (by default) every 128th entry in the <code class="docutils literal notranslate"><span class="pre">Index.db</span></code> file.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">Filter.db</span></code></dt><dd><p>A Bloom Filter of the partition keys in the SSTable.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">CompressionInfo.db</span></code></dt><dd><p>Metadata about the offsets and lengths of compression chunks in the <code class="docutils literal notranslate"><span class="pre">Data.db</span></code> file.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">Statistics.db</span></code></dt><dd><p>Stores metadata about the SSTable, including information about timestamps, tombstones, clustering keys, compaction,
+repair, compression, TTLs, and more.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">Digest.crc32</span></code></dt><dd><p>A CRC-32 digest of the <code class="docutils literal notranslate"><span class="pre">Data.db</span></code> file.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">TOC.txt</span></code></dt><dd><p>A plain text list of the component files for the SSTable.</p>
+</dd>
+</dl>
+<p>Within the <code class="docutils literal notranslate"><span class="pre">Data.db</span></code> file, rows are organized by partition.  These partitions are sorted in token order (i.e. by a
+hash of the partition key when the default partitioner, <code class="docutils literal notranslate"><span class="pre">Murmur3Partition</span></code>, is used).  Within a partition, rows are
+stored in the order of their clustering keys.</p>
+<p>SSTables can be optionally compressed using block-based compression.</p>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+        <a href="guarantees.html" class="btn btn-neutral float-right" title="Guarantees" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="dynamo.html" class="btn btn-neutral float-left" title="Dynamo" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 2016, The Apache Cassandra team.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/doc/3.11.10/bugs.html b/content/doc/3.11.10/bugs.html
new file mode 100644
index 0000000..9b7e587
--- /dev/null
+++ b/content/doc/3.11.10/bugs.html
@@ -0,0 +1,232 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Reporting Bugs and Contributing &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+        <script src="_static/jquery.js"></script>
+        <script src="_static/underscore.js"></script>
+        <script src="_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="next" title="Contact us" href="contactus.html" />
+    <link rel="prev" title="Frequently Asked Questions" href="faq/index.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="index.html" class="icon icon-home"> Apache Cassandra
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                3.11.10
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="architecture/index.html">Architecture</a></li>
+<li class="toctree-l1"><a class="reference internal" href="data_modeling/index.html">Data Modeling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cql/index.html">The Cassandra Query Language (CQL)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="configuration/index.html">Configuring Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="operating/index.html">Operating Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="development/index.html">Cassandra Development</a></li>
+<li class="toctree-l1"><a class="reference internal" href="faq/index.html">Frequently Asked Questions</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Reporting Bugs and Contributing</a></li>
+<li class="toctree-l1"><a class="reference internal" href="contactus.html">Contact us</a></li>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="index.html">Apache Cassandra</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
+        
+      <li>Reporting Bugs and Contributing</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="_sources/bugs.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="reporting-bugs-and-contributing">
+<h1>Reporting Bugs and Contributing<a class="headerlink" href="#reporting-bugs-and-contributing" title="Permalink to this headline">¶</a></h1>
+<p>If you encounter a problem with Cassandra, the first places to ask for help are the <a class="reference internal" href="contactus.html#mailing-lists"><span class="std std-ref">user mailing list</span></a> and the <code class="docutils literal notranslate"><span class="pre">#cassandra</span></code> <a class="reference internal" href="contactus.html#irc-channels"><span class="std std-ref">IRC channel</span></a>.</p>
+<p>If, after having asked for help, you suspect that you have found a bug in Cassandra, you should report it by opening a
+ticket through the <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA">Apache Cassandra JIRA</a>. Please provide as much
+details as you can on your problem, and don’t forget to indicate which version of Cassandra you are running and on which
+environment.</p>
+<p>Further details on how to contribute can be found at our <a class="reference internal" href="development/index.html"><span class="doc">Cassandra Development</span></a> section. Please note that the source of
+this documentation is part of the Cassandra git repository and hence contributions to the documentation should follow the
+same path.</p>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+        <a href="contactus.html" class="btn btn-neutral float-right" title="Contact us" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="faq/index.html" class="btn btn-neutral float-left" title="Frequently Asked Questions" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 2016, The Apache Cassandra team.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/doc/3.11.10/configuration/cassandra_config_file.html b/content/doc/3.11.10/configuration/cassandra_config_file.html
new file mode 100644
index 0000000..8689c4d
--- /dev/null
+++ b/content/doc/3.11.10/configuration/cassandra_config_file.html
@@ -0,0 +1,1963 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Cassandra Configuration File &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Operating Cassandra" href="../operating/index.html" />
+    <link rel="prev" title="Configuring Cassandra" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Apache Cassandra
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                3.11.10
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">Configuring Cassandra</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Cassandra Configuration File</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#cluster-name"><code class="docutils literal notranslate"><span class="pre">cluster_name</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#num-tokens"><code class="docutils literal notranslate"><span class="pre">num_tokens</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#allocate-tokens-for-keyspace"><code class="docutils literal notranslate"><span class="pre">allocate_tokens_for_keyspace</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#initial-token"><code class="docutils literal notranslate"><span class="pre">initial_token</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#hinted-handoff-enabled"><code class="docutils literal notranslate"><span class="pre">hinted_handoff_enabled</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#hinted-handoff-disabled-datacenters"><code class="docutils literal notranslate"><span class="pre">hinted_handoff_disabled_datacenters</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#max-hint-window-in-ms"><code class="docutils literal notranslate"><span class="pre">max_hint_window_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#hinted-handoff-throttle-in-kb"><code class="docutils literal notranslate"><span class="pre">hinted_handoff_throttle_in_kb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#max-hints-delivery-threads"><code class="docutils literal notranslate"><span class="pre">max_hints_delivery_threads</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#hints-directory"><code class="docutils literal notranslate"><span class="pre">hints_directory</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#hints-flush-period-in-ms"><code class="docutils literal notranslate"><span class="pre">hints_flush_period_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#max-hints-file-size-in-mb"><code class="docutils literal notranslate"><span class="pre">max_hints_file_size_in_mb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#hints-compression"><code class="docutils literal notranslate"><span class="pre">hints_compression</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#batchlog-replay-throttle-in-kb"><code class="docutils literal notranslate"><span class="pre">batchlog_replay_throttle_in_kb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#authenticator"><code class="docutils literal notranslate"><span class="pre">authenticator</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#authorizer"><code class="docutils literal notranslate"><span class="pre">authorizer</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#role-manager"><code class="docutils literal notranslate"><span class="pre">role_manager</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#roles-validity-in-ms"><code class="docutils literal notranslate"><span class="pre">roles_validity_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#roles-update-interval-in-ms"><code class="docutils literal notranslate"><span class="pre">roles_update_interval_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#permissions-validity-in-ms"><code class="docutils literal notranslate"><span class="pre">permissions_validity_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#permissions-update-interval-in-ms"><code class="docutils literal notranslate"><span class="pre">permissions_update_interval_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#credentials-validity-in-ms"><code class="docutils literal notranslate"><span class="pre">credentials_validity_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#credentials-update-interval-in-ms"><code class="docutils literal notranslate"><span class="pre">credentials_update_interval_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#partitioner"><code class="docutils literal notranslate"><span class="pre">partitioner</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#data-file-directories"><code class="docutils literal notranslate"><span class="pre">data_file_directories</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#commitlog-directory"><code class="docutils literal notranslate"><span class="pre">commitlog_directory</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#cdc-enabled"><code class="docutils literal notranslate"><span class="pre">cdc_enabled</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#cdc-raw-directory"><code class="docutils literal notranslate"><span class="pre">cdc_raw_directory</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#disk-failure-policy"><code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><span class="pre">key_cache_keys_to_save</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#row-cache-class-name"><code class="docutils literal notranslate"><span class="pre">row_cache_class_name</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#row-cache-size-in-mb"><code class="docutils literal notranslate"><span class="pre">row_cache_size_in_mb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#row-cache-save-period"><code class="docutils literal notranslate"><span class="pre">row_cache_save_period</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#row-cache-keys-to-save"><code class="docutils literal notranslate"><span class="pre">row_cache_keys_to_save</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#counter-cache-size-in-mb"><code class="docutils literal notranslate"><span class="pre">counter_cache_size_in_mb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#counter-cache-save-period"><code class="docutils literal notranslate"><span class="pre">counter_cache_save_period</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#counter-cache-keys-to-save"><code class="docutils literal notranslate"><span class="pre">counter_cache_keys_to_save</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#saved-caches-directory"><code class="docutils literal notranslate"><span class="pre">saved_caches_directory</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#commitlog-sync"><code class="docutils literal notranslate"><span class="pre">commitlog_sync</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#commitlog-sync-batch-window-in-ms"><code class="docutils literal notranslate"><span class="pre">commitlog_sync_batch_window_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id1"><code class="docutils literal notranslate"><span class="pre">commitlog_sync</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#commitlog-sync-period-in-ms"><code class="docutils literal notranslate"><span class="pre">commitlog_sync_period_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#commitlog-segment-size-in-mb"><code class="docutils literal notranslate"><span class="pre">commitlog_segment_size_in_mb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#commitlog-compression"><code class="docutils literal notranslate"><span class="pre">commitlog_compression</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#seed-provider"><code class="docutils literal notranslate"><span class="pre">seed_provider</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#concurrent-reads"><code class="docutils literal notranslate"><span class="pre">concurrent_reads</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#concurrent-writes"><code class="docutils literal notranslate"><span class="pre">concurrent_writes</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#concurrent-counter-writes"><code class="docutils literal notranslate"><span class="pre">concurrent_counter_writes</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#concurrent-materialized-view-writes"><code class="docutils literal notranslate"><span class="pre">concurrent_materialized_view_writes</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#file-cache-size-in-mb"><code class="docutils literal notranslate"><span class="pre">file_cache_size_in_mb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#buffer-pool-use-heap-if-exhausted"><code class="docutils literal notranslate"><span class="pre">buffer_pool_use_heap_if_exhausted</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#disk-optimization-strategy"><code class="docutils literal notranslate"><span class="pre">disk_optimization_strategy</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#memtable-heap-space-in-mb"><code class="docutils literal notranslate"><span class="pre">memtable_heap_space_in_mb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#memtable-offheap-space-in-mb"><code class="docutils literal notranslate"><span class="pre">memtable_offheap_space_in_mb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#memtable-cleanup-threshold"><code class="docutils literal notranslate"><span class="pre">memtable_cleanup_threshold</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#memtable-allocation-type"><code class="docutils literal notranslate"><span class="pre">memtable_allocation_type</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#repair-session-max-tree-depth"><code class="docutils literal notranslate"><span class="pre">repair_session_max_tree_depth</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#commitlog-total-space-in-mb"><code class="docutils literal notranslate"><span class="pre">commitlog_total_space_in_mb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#memtable-flush-writers"><code class="docutils literal notranslate"><span class="pre">memtable_flush_writers</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#cdc-total-space-in-mb"><code class="docutils literal notranslate"><span class="pre">cdc_total_space_in_mb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#cdc-free-space-check-interval-ms"><code class="docutils literal notranslate"><span class="pre">cdc_free_space_check_interval_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#index-summary-capacity-in-mb"><code class="docutils literal notranslate"><span class="pre">index_summary_capacity_in_mb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#index-summary-resize-interval-in-minutes"><code class="docutils literal notranslate"><span class="pre">index_summary_resize_interval_in_minutes</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#trickle-fsync"><code class="docutils literal notranslate"><span class="pre">trickle_fsync</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#trickle-fsync-interval-in-kb"><code class="docutils literal notranslate"><span class="pre">trickle_fsync_interval_in_kb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#storage-port"><code class="docutils literal notranslate"><span class="pre">storage_port</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#ssl-storage-port"><code class="docutils literal notranslate"><span class="pre">ssl_storage_port</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#listen-address"><code class="docutils literal notranslate"><span class="pre">listen_address</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#listen-interface"><code class="docutils literal notranslate"><span class="pre">listen_interface</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#listen-interface-prefer-ipv6"><code class="docutils literal notranslate"><span class="pre">listen_interface_prefer_ipv6</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#broadcast-address"><code class="docutils literal notranslate"><span class="pre">broadcast_address</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#listen-on-broadcast-address"><code class="docutils literal notranslate"><span class="pre">listen_on_broadcast_address</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#internode-authenticator"><code class="docutils literal notranslate"><span class="pre">internode_authenticator</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#start-native-transport"><code class="docutils literal notranslate"><span class="pre">start_native_transport</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#native-transport-port"><code class="docutils literal notranslate"><span class="pre">native_transport_port</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#native-transport-port-ssl"><code class="docutils literal notranslate"><span class="pre">native_transport_port_ssl</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#native-transport-max-threads"><code class="docutils literal notranslate"><span class="pre">native_transport_max_threads</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#native-transport-max-frame-size-in-mb"><code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><span class="pre">start_rpc</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#rpc-address"><code class="docutils literal notranslate"><span class="pre">rpc_address</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#rpc-interface"><code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><span class="pre">auto_snapshot</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#column-index-size-in-kb"><code class="docutils literal notranslate"><span class="pre">column_index_size_in_kb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#column-index-cache-size-in-kb"><code class="docutils literal notranslate"><span class="pre">column_index_cache_size_in_kb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#concurrent-compactors"><code class="docutils literal notranslate"><span class="pre">concurrent_compactors</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#compaction-throughput-mb-per-sec"><code class="docutils literal notranslate"><span class="pre">compaction_throughput_mb_per_sec</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#sstable-preemptive-open-interval-in-mb"><code class="docutils literal notranslate"><span class="pre">sstable_preemptive_open_interval_in_mb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#stream-throughput-outbound-megabits-per-sec"><code class="docutils literal notranslate"><span class="pre">stream_throughput_outbound_megabits_per_sec</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#inter-dc-stream-throughput-outbound-megabits-per-sec"><code class="docutils literal notranslate"><span class="pre">inter_dc_stream_throughput_outbound_megabits_per_sec</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#read-request-timeout-in-ms"><code class="docutils literal notranslate"><span class="pre">read_request_timeout_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#range-request-timeout-in-ms"><code class="docutils literal notranslate"><span class="pre">range_request_timeout_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#write-request-timeout-in-ms"><code class="docutils literal notranslate"><span class="pre">write_request_timeout_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#counter-write-request-timeout-in-ms"><code class="docutils literal notranslate"><span class="pre">counter_write_request_timeout_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#cas-contention-timeout-in-ms"><code class="docutils literal notranslate"><span class="pre">cas_contention_timeout_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#truncate-request-timeout-in-ms"><code class="docutils literal notranslate"><span class="pre">truncate_request_timeout_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#request-timeout-in-ms"><code class="docutils literal notranslate"><span class="pre">request_timeout_in_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#slow-query-log-timeout-in-ms"><code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><span class="pre">streaming_keep_alive_period_in_secs</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#phi-convict-threshold"><code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><span class="pre">windows_timer_interval</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#transparent-data-encryption-options"><code class="docutils literal notranslate"><span class="pre">transparent_data_encryption_options</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#tombstone-warn-threshold"><code class="docutils literal notranslate"><span class="pre">tombstone_warn_threshold</span></code></a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#safety-thresholds">SAFETY THRESHOLDS #</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#tombstone-failure-threshold"><code class="docutils literal notranslate"><span class="pre">tombstone_failure_threshold</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#replica-filtering-protection"><code class="docutils literal notranslate"><span class="pre">replica_filtering_protection</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#batch-size-warn-threshold-in-kb"><code class="docutils literal notranslate"><span class="pre">batch_size_warn_threshold_in_kb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#batch-size-fail-threshold-in-kb"><code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><span class="pre">compaction_large_partition_warning_threshold_mb</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#gc-warn-threshold-in-ms"><code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><span class="pre">otc_backlog_expiration_interval_ms</span></code></a></li>
+<li class="toctree-l3"><a class="reference internal" href="#enable-materialized-views"><code class="docutils literal notranslate"><span class="pre">enable_materialized_views</span></code></a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#experimental-features">EXPERIMENTAL FEATURES #</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#enable-sasi-indexes"><code class="docutils literal notranslate"><span class="pre">enable_sasi_indexes</span></code></a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</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>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Apache Cassandra</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+          <li><a href="index.html">Configuring Cassandra</a> &raquo;</li>
+        
+      <li>Cassandra Configuration File</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="../_sources/configuration/cassandra_config_file.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="cassandra-configuration-file">
+<span id="cassandra-yaml"></span><h1>Cassandra Configuration File<a class="headerlink" href="#cassandra-configuration-file" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="cluster-name">
+<h2><code class="docutils literal notranslate"><span class="pre">cluster_name</span></code><a class="headerlink" href="#cluster-name" title="Permalink to this headline">¶</a></h2>
+<p>The name of the cluster. This is mainly used to prevent machines in
+one logical cluster from joining another.</p>
+<p><em>Default Value:</em> ‘Test Cluster’</p>
+</div>
+<div class="section" id="num-tokens">
+<h2><code class="docutils literal notranslate"><span class="pre">num_tokens</span></code><a class="headerlink" href="#num-tokens" title="Permalink to this headline">¶</a></h2>
+<p>This defines the number of tokens randomly assigned to this node on the ring
+The more tokens, relative to other nodes, the larger the proportion of data
+that this node will store. You probably want all nodes to have the same number
+of tokens assuming they have equal hardware capability.</p>
+<p>If you leave this unspecified, Cassandra will use the default of 1 token for legacy compatibility,
+and will use the initial_token as described below.</p>
+<p>Specifying initial_token will override this setting on the node’s initial start,
+on subsequent starts, this setting will apply even if initial token is set.</p>
+<p>If you already have a cluster with 1 token per node, and wish to migrate to
+multiple tokens per node, see <a class="reference external" href="http://wiki.apache.org/cassandra/Operations">http://wiki.apache.org/cassandra/Operations</a></p>
+<p><em>Default Value:</em> 256</p>
+</div>
+<div class="section" id="allocate-tokens-for-keyspace">
+<h2><code class="docutils literal notranslate"><span class="pre">allocate_tokens_for_keyspace</span></code><a class="headerlink" href="#allocate-tokens-for-keyspace" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Triggers automatic allocation of num_tokens tokens for this node. The allocation
+algorithm attempts to choose tokens in a way that optimizes replicated load over
+the nodes in the datacenter for the replication strategy used by the specified
+keyspace.</p>
+<p>The load assigned to each node will be close to proportional to its number of
+vnodes.</p>
+<p>Only supported with the Murmur3Partitioner.</p>
+<p><em>Default Value:</em> KEYSPACE</p>
+</div>
+<div class="section" id="initial-token">
+<h2><code class="docutils literal notranslate"><span class="pre">initial_token</span></code><a class="headerlink" href="#initial-token" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>initial_token allows you to specify tokens manually.  While you can use it with
+vnodes (num_tokens &gt; 1, above) – in which case you should provide a
+comma-separated list – it’s primarily used when adding nodes to legacy clusters
+that do not have vnodes enabled.</p>
+</div>
+<div class="section" id="hinted-handoff-enabled">
+<h2><code class="docutils literal notranslate"><span class="pre">hinted_handoff_enabled</span></code><a class="headerlink" href="#hinted-handoff-enabled" title="Permalink to this headline">¶</a></h2>
+<p>See <a class="reference external" href="http://wiki.apache.org/cassandra/HintedHandoff">http://wiki.apache.org/cassandra/HintedHandoff</a>
+May either be “true” or “false” to enable globally</p>
+<p><em>Default Value:</em> true</p>
+</div>
+<div class="section" id="hinted-handoff-disabled-datacenters">
+<h2><code class="docutils literal notranslate"><span class="pre">hinted_handoff_disabled_datacenters</span></code><a class="headerlink" href="#hinted-handoff-disabled-datacenters" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>When hinted_handoff_enabled is true, a black list of data centers that will not
+perform hinted handoff</p>
+<p><em>Default Value (complex option)</em>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#    - DC1</span>
+<span class="c1">#    - DC2</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="max-hint-window-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">max_hint_window_in_ms</span></code><a class="headerlink" href="#max-hint-window-in-ms" title="Permalink to this headline">¶</a></h2>
+<p>this defines the maximum amount of time a dead host will have hints
+generated.  After it has been dead this long, new hints for it will not be
+created until it has been seen alive and gone down again.</p>
+<p><em>Default Value:</em> 10800000 # 3 hours</p>
+</div>
+<div class="section" id="hinted-handoff-throttle-in-kb">
+<h2><code class="docutils literal notranslate"><span class="pre">hinted_handoff_throttle_in_kb</span></code><a class="headerlink" href="#hinted-handoff-throttle-in-kb" title="Permalink to this headline">¶</a></h2>
+<p>Maximum throttle in KBs per second, per delivery thread.  This will be
+reduced proportionally to the number of nodes in the cluster.  (If there
+are two nodes in the cluster, each delivery thread will use the maximum
+rate; if there are three, each will throttle to half of the maximum,
+since we expect two nodes to be delivering hints simultaneously.)</p>
+<p><em>Default Value:</em> 1024</p>
+</div>
+<div class="section" id="max-hints-delivery-threads">
+<h2><code class="docutils literal notranslate"><span class="pre">max_hints_delivery_threads</span></code><a class="headerlink" href="#max-hints-delivery-threads" title="Permalink to this headline">¶</a></h2>
+<p>Number of threads with which to deliver hints;
+Consider increasing this number when you have multi-dc deployments, since
+cross-dc handoff tends to be slower</p>
+<p><em>Default Value:</em> 2</p>
+</div>
+<div class="section" id="hints-directory">
+<h2><code class="docutils literal notranslate"><span class="pre">hints_directory</span></code><a class="headerlink" href="#hints-directory" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Directory where Cassandra should store hints.
+If not set, the default directory is $CASSANDRA_HOME/data/hints.</p>
+<p><em>Default Value:</em>  /var/lib/cassandra/hints</p>
+</div>
+<div class="section" id="hints-flush-period-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">hints_flush_period_in_ms</span></code><a class="headerlink" href="#hints-flush-period-in-ms" title="Permalink to this headline">¶</a></h2>
+<p>How often hints should be flushed from the internal buffers to disk.
+Will <em>not</em> trigger fsync.</p>
+<p><em>Default Value:</em> 10000</p>
+</div>
+<div class="section" id="max-hints-file-size-in-mb">
+<h2><code class="docutils literal notranslate"><span class="pre">max_hints_file_size_in_mb</span></code><a class="headerlink" href="#max-hints-file-size-in-mb" title="Permalink to this headline">¶</a></h2>
+<p>Maximum size for a single hints file, in megabytes.</p>
+<p><em>Default Value:</em> 128</p>
+</div>
+<div class="section" id="hints-compression">
+<h2><code class="docutils literal notranslate"><span class="pre">hints_compression</span></code><a class="headerlink" href="#hints-compression" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Compression to apply to the hint files. If omitted, hints files
+will be written uncompressed. LZ4, Snappy, and Deflate compressors
+are supported.</p>
+<p><em>Default Value (complex option)</em>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#   - class_name: LZ4Compressor</span>
+<span class="c1">#     parameters:</span>
+<span class="c1">#         -</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="batchlog-replay-throttle-in-kb">
+<h2><code class="docutils literal notranslate"><span class="pre">batchlog_replay_throttle_in_kb</span></code><a class="headerlink" href="#batchlog-replay-throttle-in-kb" title="Permalink to this headline">¶</a></h2>
+<p>Maximum throttle in KBs per second, total. This will be
+reduced proportionally to the number of nodes in the cluster.</p>
+<p><em>Default Value:</em> 1024</p>
+</div>
+<div class="section" id="authenticator">
+<h2><code class="docutils literal notranslate"><span class="pre">authenticator</span></code><a class="headerlink" href="#authenticator" title="Permalink to this headline">¶</a></h2>
+<p>Authentication backend, implementing IAuthenticator; used to identify users
+Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthenticator,
+PasswordAuthenticator}.</p>
+<ul class="simple">
+<li><p>AllowAllAuthenticator performs no checks - set it to disable authentication.</p></li>
+<li><p>PasswordAuthenticator relies on username/password pairs to authenticate
+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)</p></li>
+</ul>
+<p><em>Default Value:</em> AllowAllAuthenticator</p>
+</div>
+<div class="section" id="authorizer">
+<h2><code class="docutils literal notranslate"><span class="pre">authorizer</span></code><a class="headerlink" href="#authorizer" title="Permalink to this headline">¶</a></h2>
+<p>Authorization backend, implementing IAuthorizer; used to limit access/provide permissions
+Out of the box, Cassandra provides org.apache.cassandra.auth.{AllowAllAuthorizer,
+CassandraAuthorizer}.</p>
+<ul class="simple">
+<li><p>AllowAllAuthorizer allows any action to any user - set it to disable authorization.</p></li>
+<li><p>CassandraAuthorizer stores permissions in system_auth.role_permissions table. Please
+increase system_auth keyspace replication factor if you use this authorizer.</p></li>
+</ul>
+<p><em>Default Value:</em> AllowAllAuthorizer</p>
+</div>
+<div class="section" id="role-manager">
+<h2><code class="docutils literal notranslate"><span class="pre">role_manager</span></code><a class="headerlink" href="#role-manager" title="Permalink to this headline">¶</a></h2>
+<p>Part of the Authentication &amp; Authorization backend, implementing IRoleManager; used
+to maintain grants and memberships between roles.
+Out of the box, Cassandra provides org.apache.cassandra.auth.CassandraRoleManager,
+which stores role information in the system_auth keyspace. Most functions of the
+IRoleManager require an authenticated login, so unless the configured IAuthenticator
+actually implements authentication, most of this functionality will be unavailable.</p>
+<ul class="simple">
+<li><p>CassandraRoleManager stores role data in the system_auth keyspace. Please
+increase system_auth keyspace replication factor if you use this role manager.</p></li>
+</ul>
+<p><em>Default Value:</em> CassandraRoleManager</p>
+</div>
+<div class="section" id="roles-validity-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">roles_validity_in_ms</span></code><a class="headerlink" href="#roles-validity-in-ms" title="Permalink to this headline">¶</a></h2>
+<p>Validity period for roles cache (fetching granted roles can be an expensive
+operation depending on the role manager, CassandraRoleManager is one example)
+Granted roles are cached for authenticated sessions in AuthenticatedUser and
+after the period specified here, become eligible for (async) reload.
+Defaults to 2000, set to 0 to disable caching entirely.
+Will be disabled automatically for AllowAllAuthenticator.</p>
+<p><em>Default Value:</em> 2000</p>
+</div>
+<div class="section" id="roles-update-interval-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">roles_update_interval_in_ms</span></code><a class="headerlink" href="#roles-update-interval-in-ms" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Refresh interval for roles cache (if enabled).
+After this interval, cache entries become eligible for refresh. Upon next
+access, an async reload is scheduled and the old value returned until it
+completes. If roles_validity_in_ms is non-zero, then this must be
+also.
+Defaults to the same value as roles_validity_in_ms.</p>
+<p><em>Default Value:</em> 2000</p>
+</div>
+<div class="section" id="permissions-validity-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">permissions_validity_in_ms</span></code><a class="headerlink" href="#permissions-validity-in-ms" title="Permalink to this headline">¶</a></h2>
+<p>Validity period for permissions cache (fetching permissions can be an
+expensive operation depending on the authorizer, CassandraAuthorizer is
+one example). Defaults to 2000, set to 0 to disable.
+Will be disabled automatically for AllowAllAuthorizer.</p>
+<p><em>Default Value:</em> 2000</p>
+</div>
+<div class="section" id="permissions-update-interval-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">permissions_update_interval_in_ms</span></code><a class="headerlink" href="#permissions-update-interval-in-ms" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Refresh interval for permissions cache (if enabled).
+After this interval, cache entries become eligible for refresh. Upon next
+access, an async reload is scheduled and the old value returned until it
+completes. If permissions_validity_in_ms is non-zero, then this must be
+also.
+Defaults to the same value as permissions_validity_in_ms.</p>
+<p><em>Default Value:</em> 2000</p>
+</div>
+<div class="section" id="credentials-validity-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">credentials_validity_in_ms</span></code><a class="headerlink" href="#credentials-validity-in-ms" title="Permalink to this headline">¶</a></h2>
+<p>Validity period for credentials cache. This cache is tightly coupled to
+the provided PasswordAuthenticator implementation of IAuthenticator. If
+another IAuthenticator implementation is configured, this cache will not
+be automatically used and so the following settings will have no effect.
+Please note, credentials are cached in their encrypted form, so while
+activating this cache may reduce the number of queries made to the
+underlying table, it may not  bring a significant reduction in the
+latency of individual authentication attempts.
+Defaults to 2000, set to 0 to disable credentials caching.</p>
+<p><em>Default Value:</em> 2000</p>
+</div>
+<div class="section" id="credentials-update-interval-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">credentials_update_interval_in_ms</span></code><a class="headerlink" href="#credentials-update-interval-in-ms" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Refresh interval for credentials cache (if enabled).
+After this interval, cache entries become eligible for refresh. Upon next
+access, an async reload is scheduled and the old value returned until it
+completes. If credentials_validity_in_ms is non-zero, then this must be
+also.
+Defaults to the same value as credentials_validity_in_ms.</p>
+<p><em>Default Value:</em> 2000</p>
+</div>
+<div class="section" id="partitioner">
+<h2><code class="docutils literal notranslate"><span class="pre">partitioner</span></code><a class="headerlink" href="#partitioner" title="Permalink to this headline">¶</a></h2>
+<p>The partitioner is responsible for distributing groups of rows (by
+partition key) across nodes in the cluster.  You should leave this
+alone for new clusters.  The partitioner can NOT be changed without
+reloading all data, so when upgrading you should set this to the
+same partitioner you were already using.</p>
+<p>Besides Murmur3Partitioner, partitioners included for backwards
+compatibility include RandomPartitioner, ByteOrderedPartitioner, and
+OrderPreservingPartitioner.</p>
+<p><em>Default Value:</em> org.apache.cassandra.dht.Murmur3Partitioner</p>
+</div>
+<div class="section" id="data-file-directories">
+<h2><code class="docutils literal notranslate"><span class="pre">data_file_directories</span></code><a class="headerlink" href="#data-file-directories" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Directories where Cassandra should store data on disk.  Cassandra
+will spread data evenly across them, subject to the granularity of
+the configured compaction strategy.
+If not set, the default directory is $CASSANDRA_HOME/data/data.</p>
+<p><em>Default Value (complex option)</em>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#     - /var/lib/cassandra/data</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="commitlog-directory">
+<h2><code class="docutils literal notranslate"><span class="pre">commitlog_directory</span></code><a class="headerlink" href="#commitlog-directory" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em>
+commit log.  when running on magnetic HDD, this should be a
+separate spindle than the data directories.
+If not set, the default directory is $CASSANDRA_HOME/data/commitlog.</p>
+<p><em>Default Value:</em>  /var/lib/cassandra/commitlog</p>
+</div>
+<div class="section" id="cdc-enabled">
+<h2><code class="docutils literal notranslate"><span class="pre">cdc_enabled</span></code><a class="headerlink" href="#cdc-enabled" title="Permalink to this headline">¶</a></h2>
+<p>Enable / disable CDC functionality on a per-node basis. This modifies the logic used
+for write path allocation rejection (standard: never reject. cdc: reject Mutation
+containing a CDC-enabled table if at space limit in cdc_raw_directory).</p>
+<p><em>Default Value:</em> false</p>
+</div>
+<div class="section" id="cdc-raw-directory">
+<h2><code class="docutils literal notranslate"><span class="pre">cdc_raw_directory</span></code><a class="headerlink" href="#cdc-raw-directory" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>CommitLogSegments are moved to this directory on flush if cdc_enabled: true and the
+segment contains mutations for a CDC-enabled table. This should be placed on a
+separate spindle than the data directories. If not set, the default directory is
+$CASSANDRA_HOME/data/cdc_raw.</p>
+<p><em>Default Value:</em>  /var/lib/cassandra/cdc_raw</p>
+</div>
+<div class="section" id="disk-failure-policy">
+<h2><code class="docutils literal notranslate"><span class="pre">disk_failure_policy</span></code><a class="headerlink" href="#disk-failure-policy" title="Permalink to this headline">¶</a></h2>
+<p>Policy for data disk failures:</p>
+<dl class="simple">
+<dt>die</dt><dd><p>shut down gossip and client transports and kill the JVM for any fs errors or
+single-sstable errors, so the node can be replaced.</p>
+</dd>
+<dt>stop_paranoid</dt><dd><p>shut down gossip and client transports even for single-sstable errors,
+kill the JVM for errors during startup.</p>
+</dd>
+<dt>stop</dt><dd><p>shut down gossip and client transports, leaving the node effectively dead, but
+can still be inspected via JMX, kill the JVM for errors during startup.</p>
+</dd>
+<dt>best_effort</dt><dd><p>stop using the failed disk and respond to requests based on
+remaining available sstables.  This means you WILL see obsolete
+data at CL.ONE!</p>
+</dd>
+<dt>ignore</dt><dd><p>ignore fatal errors and let requests fail, as in pre-1.2 Cassandra</p>
+</dd>
+</dl>
+<p><em>Default Value:</em> stop</p>
+</div>
+<div class="section" id="commit-failure-policy">
+<h2><code class="docutils literal notranslate"><span class="pre">commit_failure_policy</span></code><a class="headerlink" href="#commit-failure-policy" title="Permalink to this headline">¶</a></h2>
+<p>Policy for commit disk failures:</p>
+<dl class="simple">
+<dt>die</dt><dd><p>shut down gossip and Thrift and kill the JVM, so the node can be replaced.</p>
+</dd>
+<dt>stop</dt><dd><p>shut down gossip and Thrift, leaving the node effectively dead, but
+can still be inspected via JMX.</p>
+</dd>
+<dt>stop_commit</dt><dd><p>shutdown the commit log, letting writes collect but
+continuing to service reads, as in pre-2.0.5 Cassandra</p>
+</dd>
+<dt>ignore</dt><dd><p>ignore fatal errors and let the batches fail</p>
+</dd>
+</dl>
+<p><em>Default Value:</em> stop</p>
+</div>
+<div class="section" id="prepared-statements-cache-size-mb">
+<h2><code class="docutils literal notranslate"><span class="pre">prepared_statements_cache_size_mb</span></code><a class="headerlink" href="#prepared-statements-cache-size-mb" title="Permalink to this headline">¶</a></h2>
+<p>Maximum size of the native protocol prepared statement cache</p>
+<p>Valid values are either “auto” (omitting the value) or a value greater 0.</p>
+<p>Note that specifying a too large value will result in long running GCs and possbily
+out-of-memory errors. Keep the value at a small fraction of the heap.</p>
+<p>If you constantly see “prepared statements discarded in the last minute because
+cache limit reached” messages, the first step is to investigate the root cause
+of these messages and check whether prepared statements are used correctly -
+i.e. use bind markers for variable parts.</p>
+<p>Do only change the default value, if you really have more prepared statements than
+fit in the cache. In most cases it is not neccessary to change this value.
+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 notranslate"><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 notranslate"><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>
+<p>Each key cache hit saves 1 seek and each row cache hit saves 2 seeks at the
+minimum, sometimes more. The key cache is fairly tiny for the amount of
+time it saves, so it’s worthwhile to use it at large numbers.
+The row cache saves even more time, but must contain the entire row,
+so it is extremely space-intensive. It’s best to only use the
+row cache if you have hot rows or static rows.</p>
+<p>NOTE: if you reduce the size, you may not get you hottest keys loaded on startup.</p>
+<p>Default value is empty to make it “auto” (min(5% of Heap (in MB), 100MB)). Set to 0 to disable key cache.</p>
+</div>
+<div class="section" id="key-cache-save-period">
+<h2><code class="docutils literal notranslate"><span class="pre">key_cache_save_period</span></code><a class="headerlink" href="#key-cache-save-period" title="Permalink to this headline">¶</a></h2>
+<p>Duration in seconds after which Cassandra should
+save the key cache. Caches are saved to saved_caches_directory as
+specified in this configuration file.</p>
+<p>Saved caches greatly improve cold-start speeds, and is relatively cheap in
+terms of I/O for the key cache. Row cache saving is much more expensive and
+has limited use.</p>
+<p>Default is 14400 or 4 hours.</p>
+<p><em>Default Value:</em> 14400</p>
+</div>
+<div class="section" id="key-cache-keys-to-save">
+<h2><code class="docutils literal notranslate"><span class="pre">key_cache_keys_to_save</span></code><a class="headerlink" href="#key-cache-keys-to-save" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Number of keys from the key cache to save
+Disabled by default, meaning all keys are going to be saved</p>
+<p><em>Default Value:</em> 100</p>
+</div>
+<div class="section" id="row-cache-class-name">
+<h2><code class="docutils literal notranslate"><span class="pre">row_cache_class_name</span></code><a class="headerlink" href="#row-cache-class-name" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Row cache implementation class name. Available implementations:</p>
+<dl class="simple">
+<dt>org.apache.cassandra.cache.OHCProvider</dt><dd><p>Fully off-heap row cache implementation (default).</p>
+</dd>
+<dt>org.apache.cassandra.cache.SerializingCacheProvider</dt><dd><p>This is the row cache implementation availabile
+in previous releases of Cassandra.</p>
+</dd>
+</dl>
+<p><em>Default Value:</em> org.apache.cassandra.cache.OHCProvider</p>
+</div>
+<div class="section" id="row-cache-size-in-mb">
+<h2><code class="docutils literal notranslate"><span class="pre">row_cache_size_in_mb</span></code><a class="headerlink" href="#row-cache-size-in-mb" title="Permalink to this headline">¶</a></h2>
+<p>Maximum size of the row cache in memory.
+Please note that OHC cache implementation requires some additional off-heap memory to manage
+the map structures and some in-flight memory during operations before/after cache entries can be
+accounted against the cache capacity. This overhead is usually small compared to the whole capacity.
+Do not specify more memory that the system can afford in the worst usual situation and leave some
+headroom for OS block level cache. Do never allow your system to swap.</p>
+<p>Default value is 0, to disable row caching.</p>
+<p><em>Default Value:</em> 0</p>
+</div>
+<div class="section" id="row-cache-save-period">
+<h2><code class="docutils literal notranslate"><span class="pre">row_cache_save_period</span></code><a class="headerlink" href="#row-cache-save-period" title="Permalink to this headline">¶</a></h2>
+<p>Duration in seconds after which Cassandra should save the row cache.
+Caches are saved to saved_caches_directory as specified in this configuration file.</p>
+<p>Saved caches greatly improve cold-start speeds, and is relatively cheap in
+terms of I/O for the key cache. Row cache saving is much more expensive and
+has limited use.</p>
+<p>Default is 0 to disable saving the row cache.</p>
+<p><em>Default Value:</em> 0</p>
+</div>
+<div class="section" id="row-cache-keys-to-save">
+<h2><code class="docutils literal notranslate"><span class="pre">row_cache_keys_to_save</span></code><a class="headerlink" href="#row-cache-keys-to-save" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Number of keys from the row cache to save.
+Specify 0 (which is the default), meaning all keys are going to be saved</p>
+<p><em>Default Value:</em> 100</p>
+</div>
+<div class="section" id="counter-cache-size-in-mb">
+<h2><code class="docutils literal notranslate"><span class="pre">counter_cache_size_in_mb</span></code><a class="headerlink" href="#counter-cache-size-in-mb" title="Permalink to this headline">¶</a></h2>
+<p>Maximum size of the counter cache in memory.</p>
+<p>Counter cache helps to reduce counter locks’ contention for hot counter cells.
+In case of RF = 1 a counter cache hit will cause Cassandra to skip the read before
+write entirely. With RF &gt; 1 a counter cache hit will still help to reduce the duration
+of the lock hold, helping with hot counter cell updates, but will not allow skipping
+the read entirely. Only the local (clock, count) tuple of a counter cell is kept
+in memory, not the whole counter, so it’s relatively cheap.</p>
+<p>NOTE: if you reduce the size, you may not get you hottest keys loaded on startup.</p>
+<p>Default value is empty to make it “auto” (min(2.5% of Heap (in MB), 50MB)). Set to 0 to disable counter cache.
+NOTE: if you perform counter deletes and rely on low gcgs, you should disable the counter cache.</p>
+</div>
+<div class="section" id="counter-cache-save-period">
+<h2><code class="docutils literal notranslate"><span class="pre">counter_cache_save_period</span></code><a class="headerlink" href="#counter-cache-save-period" title="Permalink to this headline">¶</a></h2>
+<p>Duration in seconds after which Cassandra should
+save the counter cache (keys only). Caches are saved to saved_caches_directory as
+specified in this configuration file.</p>
+<p>Default is 7200 or 2 hours.</p>
+<p><em>Default Value:</em> 7200</p>
+</div>
+<div class="section" id="counter-cache-keys-to-save">
+<h2><code class="docutils literal notranslate"><span class="pre">counter_cache_keys_to_save</span></code><a class="headerlink" href="#counter-cache-keys-to-save" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Number of keys from the counter cache to save
+Disabled by default, meaning all keys are going to be saved</p>
+<p><em>Default Value:</em> 100</p>
+</div>
+<div class="section" id="saved-caches-directory">
+<h2><code class="docutils literal notranslate"><span class="pre">saved_caches_directory</span></code><a class="headerlink" href="#saved-caches-directory" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>saved caches
+If not set, the default directory is $CASSANDRA_HOME/data/saved_caches.</p>
+<p><em>Default Value:</em>  /var/lib/cassandra/saved_caches</p>
+</div>
+<div class="section" id="commitlog-sync">
+<h2><code class="docutils literal notranslate"><span class="pre">commitlog_sync</span></code><a class="headerlink" href="#commitlog-sync" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>commitlog_sync may be either “periodic” or “batch.”</p>
+<p>When in batch mode, Cassandra won’t ack writes until the commit log
+has been fsynced to disk.  It will wait
+commitlog_sync_batch_window_in_ms milliseconds between fsyncs.
+This window should be kept short because the writer threads will
+be unable to do extra work while waiting.  (You may need to increase
+concurrent_writes for the same reason.)</p>
+<p><em>Default Value:</em> batch</p>
+</div>
+<div class="section" id="commitlog-sync-batch-window-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">commitlog_sync_batch_window_in_ms</span></code><a class="headerlink" href="#commitlog-sync-batch-window-in-ms" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p><em>Default Value:</em> 2</p>
+</div>
+<div class="section" id="id1">
+<h2><code class="docutils literal notranslate"><span class="pre">commitlog_sync</span></code><a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
+<p>the other option is “periodic” where writes may be acked immediately
+and the CommitLog is simply synced every commitlog_sync_period_in_ms
+milliseconds.</p>
+<p><em>Default Value:</em> periodic</p>
+</div>
+<div class="section" id="commitlog-sync-period-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">commitlog_sync_period_in_ms</span></code><a class="headerlink" href="#commitlog-sync-period-in-ms" title="Permalink to this headline">¶</a></h2>
+<p><em>Default Value:</em> 10000</p>
+</div>
+<div class="section" id="commitlog-segment-size-in-mb">
+<h2><code class="docutils literal notranslate"><span class="pre">commitlog_segment_size_in_mb</span></code><a class="headerlink" href="#commitlog-segment-size-in-mb" title="Permalink to this headline">¶</a></h2>
+<p>The size of the individual commitlog file segments.  A commitlog
+segment may be archived, deleted, or recycled once all the data
+in it (potentially from each columnfamily in the system) has been
+flushed to sstables.</p>
+<p>The default size is 32, which is almost always fine, but if you are
+archiving commitlog segments (see commitlog_archiving.properties),
+then you probably want a finer granularity of archiving; 8 or 16 MB
+is reasonable.
+Max mutation size is also configurable via max_mutation_size_in_kb setting in
+cassandra.yaml. The default is half the size commitlog_segment_size_in_mb * 1024.
+This should be positive and less than 2048.</p>
+<p>NOTE: If max_mutation_size_in_kb is set explicitly then commitlog_segment_size_in_mb must
+be set to at least twice the size of max_mutation_size_in_kb / 1024</p>
+<p><em>Default Value:</em> 32</p>
+</div>
+<div class="section" id="commitlog-compression">
+<h2><code class="docutils literal notranslate"><span class="pre">commitlog_compression</span></code><a class="headerlink" href="#commitlog-compression" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Compression to apply to the commit log. If omitted, the commit log
+will be written uncompressed.  LZ4, Snappy, and Deflate compressors
+are supported.</p>
+<p><em>Default Value (complex option)</em>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#   - class_name: LZ4Compressor</span>
+<span class="c1">#     parameters:</span>
+<span class="c1">#         -</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="seed-provider">
+<h2><code class="docutils literal notranslate"><span class="pre">seed_provider</span></code><a class="headerlink" href="#seed-provider" title="Permalink to this headline">¶</a></h2>
+<p>any class that implements the SeedProvider interface and has a
+constructor that takes a Map&lt;String, String&gt; of parameters will do.</p>
+<p><em>Default Value (complex option)</em>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1"># Addresses of hosts that are deemed contact points.</span>
+<span class="c1"># Cassandra nodes use this list of hosts to find each other and learn</span>
+<span class="c1"># the topology of the ring.  You must change this if you are running</span>
+<span class="c1"># multiple nodes!</span>
+<span class="o">-</span> <span class="n">class_name</span><span class="p">:</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">cassandra</span><span class="o">.</span><span class="n">locator</span><span class="o">.</span><span class="n">SimpleSeedProvider</span>
+  <span class="n">parameters</span><span class="p">:</span>
+      <span class="c1"># seeds is actually a comma-delimited list of addresses.</span>
+      <span class="c1"># Ex: &quot;&lt;ip1&gt;,&lt;ip2&gt;,&lt;ip3&gt;&quot;</span>
+      <span class="o">-</span> <span class="n">seeds</span><span class="p">:</span> <span class="s2">&quot;127.0.0.1&quot;</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="concurrent-reads">
+<h2><code class="docutils literal notranslate"><span class="pre">concurrent_reads</span></code><a class="headerlink" href="#concurrent-reads" title="Permalink to this headline">¶</a></h2>
+<p>For workloads with more data than can fit in memory, Cassandra’s
+bottleneck will be reads that need to fetch data from
+disk. “concurrent_reads” should be set to (16 * number_of_drives) in
+order to allow the operations to enqueue low enough in the stack
+that the OS and drives can reorder them. Same applies to
+“concurrent_counter_writes”, since counter writes read the current
+values before incrementing and writing them back.</p>
+<p>On the other hand, since writes are almost never IO bound, the ideal
+number of “concurrent_writes” is dependent on the number of cores in
+your system; (8 * number_of_cores) is a good rule of thumb.</p>
+<p><em>Default Value:</em> 32</p>
+</div>
+<div class="section" id="concurrent-writes">
+<h2><code class="docutils literal notranslate"><span class="pre">concurrent_writes</span></code><a class="headerlink" href="#concurrent-writes" title="Permalink to this headline">¶</a></h2>
+<p><em>Default Value:</em> 32</p>
+</div>
+<div class="section" id="concurrent-counter-writes">
+<h2><code class="docutils literal notranslate"><span class="pre">concurrent_counter_writes</span></code><a class="headerlink" href="#concurrent-counter-writes" title="Permalink to this headline">¶</a></h2>
+<p><em>Default Value:</em> 32</p>
+</div>
+<div class="section" id="concurrent-materialized-view-writes">
+<h2><code class="docutils literal notranslate"><span class="pre">concurrent_materialized_view_writes</span></code><a class="headerlink" href="#concurrent-materialized-view-writes" title="Permalink to this headline">¶</a></h2>
+<p>For materialized view writes, as there is a read involved, so this should
+be limited by the less of concurrent reads or concurrent writes.</p>
+<p><em>Default Value:</em> 32</p>
+</div>
+<div class="section" id="file-cache-size-in-mb">
+<h2><code class="docutils literal notranslate"><span class="pre">file_cache_size_in_mb</span></code><a class="headerlink" href="#file-cache-size-in-mb" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Maximum memory to use for sstable chunk cache and buffer pooling.
+32MB of this are reserved for pooling buffers, the rest is used as an
+cache that holds uncompressed sstable chunks.
+Defaults to the smaller of 1/4 of heap or 512MB. This pool is allocated off-heap,
+so is in addition to the memory allocated for heap. The cache also has on-heap
+overhead which is roughly 128 bytes per chunk (i.e. 0.2% of the reserved size
+if the default 64k chunk size is used).
+Memory is only allocated when needed.</p>
+<p><em>Default Value:</em> 512</p>
+</div>
+<div class="section" id="buffer-pool-use-heap-if-exhausted">
+<h2><code class="docutils literal notranslate"><span class="pre">buffer_pool_use_heap_if_exhausted</span></code><a class="headerlink" href="#buffer-pool-use-heap-if-exhausted" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Flag indicating whether to allocate on or off heap when the sstable buffer
+pool is exhausted, that is when it has exceeded the maximum memory
+file_cache_size_in_mb, beyond which it will not cache buffers but allocate on request.</p>
+<p><em>Default Value:</em> true</p>
+</div>
+<div class="section" id="disk-optimization-strategy">
+<h2><code class="docutils literal notranslate"><span class="pre">disk_optimization_strategy</span></code><a class="headerlink" href="#disk-optimization-strategy" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>The strategy for optimizing disk read
+Possible values are:
+ssd (for solid state disks, the default)
+spinning (for spinning disks)</p>
+<p><em>Default Value:</em> ssd</p>
+</div>
+<div class="section" id="memtable-heap-space-in-mb">
+<h2><code class="docutils literal notranslate"><span class="pre">memtable_heap_space_in_mb</span></code><a class="headerlink" href="#memtable-heap-space-in-mb" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Total permitted memory to use for memtables. Cassandra will stop
+accepting writes when the limit is exceeded until a flush completes,
+and will trigger a flush based on memtable_cleanup_threshold
+If omitted, Cassandra will set both to 1/4 the size of the heap.</p>
+<p><em>Default Value:</em> 2048</p>
+</div>
+<div class="section" id="memtable-offheap-space-in-mb">
+<h2><code class="docutils literal notranslate"><span class="pre">memtable_offheap_space_in_mb</span></code><a class="headerlink" href="#memtable-offheap-space-in-mb" 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="memtable-cleanup-threshold">
+<h2><code class="docutils literal notranslate"><span class="pre">memtable_cleanup_threshold</span></code><a class="headerlink" href="#memtable-cleanup-threshold" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>memtable_cleanup_threshold is deprecated. The default calculation
+is the only reasonable choice. See the comments on  memtable_flush_writers
+for more information.</p>
+<p>Ratio of occupied non-flushing memtable size to total permitted size
+that will trigger a flush of the largest memtable. Larger mct will
+mean larger flushes and hence less compaction, but also less concurrent
+flush activity which can make it difficult to keep your disks fed
+under heavy write load.</p>
+<p>memtable_cleanup_threshold defaults to 1 / (memtable_flush_writers + 1)</p>
+<p><em>Default Value:</em> 0.11</p>
+</div>
+<div class="section" id="memtable-allocation-type">
+<h2><code class="docutils literal notranslate"><span class="pre">memtable_allocation_type</span></code><a class="headerlink" href="#memtable-allocation-type" title="Permalink to this headline">¶</a></h2>
+<p>Specify the way Cassandra allocates and manages memtable memory.
+Options are:</p>
+<dl class="simple">
+<dt>heap_buffers</dt><dd><p>on heap nio buffers</p>
+</dd>
+<dt>offheap_buffers</dt><dd><p>off heap (direct) nio buffers</p>
+</dd>
+<dt>offheap_objects</dt><dd><p>off heap objects</p>
+</dd>
+</dl>
+<p><em>Default Value:</em> heap_buffers</p>
+</div>
+<div class="section" id="repair-session-max-tree-depth">
+<h2><code class="docutils literal notranslate"><span class="pre">repair_session_max_tree_depth</span></code><a class="headerlink" href="#repair-session-max-tree-depth" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Limits the maximum Merkle tree depth to avoid consuming too much
+memory during repairs.</p>
+<p>The default setting of 18 generates trees of maximum size around
+50 MiB / tree. If you are running out of memory during repairs consider
+lowering this to 15 (~6 MiB / tree) or lower, but try not to lower it
+too much past that or you will lose too much resolution and stream
+too much redundant data during repair. Cannot be set lower than 10.</p>
+<p>For more details see <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-14096">https://issues.apache.org/jira/browse/CASSANDRA-14096</a>.</p>
+<p><em>Default Value:</em> 18</p>
+</div>
+<div class="section" id="commitlog-total-space-in-mb">
+<h2><code class="docutils literal notranslate"><span class="pre">commitlog_total_space_in_mb</span></code><a class="headerlink" href="#commitlog-total-space-in-mb" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Total space to use for commit logs on disk.</p>
+<p>If space gets above this value, Cassandra will flush every dirty CF
+in the oldest segment and remove it.  So a small total commitlog space
+will tend to cause more flush activity on less-active columnfamilies.</p>
+<p>The default value is the smaller of 8192, and 1/4 of the total space
+of the commitlog volume.</p>
+<p><em>Default Value:</em> 8192</p>
+</div>
+<div class="section" id="memtable-flush-writers">
+<h2><code class="docutils literal notranslate"><span class="pre">memtable_flush_writers</span></code><a class="headerlink" href="#memtable-flush-writers" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>This sets the number of memtable flush writer threads per disk
+as well as the total number of memtables that can be flushed concurrently.
+These are generally a combination of compute and IO bound.</p>
+<p>Memtable flushing is more CPU efficient than memtable ingest and a single thread
+can keep up with the ingest rate of a whole server on a single fast disk
+until it temporarily becomes IO bound under contention typically with compaction.
+At that point you need multiple flush threads. At some point in the future
+it may become CPU bound all the time.</p>
+<p>You can tell if flushing is falling behind using the MemtablePool.BlockedOnAllocation
+metric which should be 0, but will be non-zero if threads are blocked waiting on flushing
+to free memory.</p>
+<p>memtable_flush_writers defaults to two for a single data directory.
+This means that two  memtables can be flushed concurrently to the single data directory.
+If you have multiple data directories the default is one memtable flushing at a time
+but the flush will use a thread per data directory so you will get two or more writers.</p>
+<p>Two is generally enough to flush on a fast disk [array] mounted as a single data directory.
+Adding more flush writers will result in smaller more frequent flushes that introduce more
+compaction overhead.</p>
+<p>There is a direct tradeoff between number of memtables that can be flushed concurrently
+and flush size and frequency. More is not better you just need enough flush writers
+to never stall waiting for flushing to free memory.</p>
+<p><em>Default Value:</em> 2</p>
+</div>
+<div class="section" id="cdc-total-space-in-mb">
+<h2><code class="docutils literal notranslate"><span class="pre">cdc_total_space_in_mb</span></code><a class="headerlink" href="#cdc-total-space-in-mb" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Total space to use for change-data-capture logs on disk.</p>
+<p>If space gets above this value, Cassandra will throw WriteTimeoutException
+on Mutations including tables with CDC enabled. A CDCCompactor is responsible
+for parsing the raw CDC logs and deleting them when parsing is completed.</p>
+<p>The default value is the min of 4096 mb and 1/8th of the total space
+of the drive where cdc_raw_directory resides.</p>
+<p><em>Default Value:</em> 4096</p>
+</div>
+<div class="section" id="cdc-free-space-check-interval-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">cdc_free_space_check_interval_ms</span></code><a class="headerlink" href="#cdc-free-space-check-interval-ms" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>When we hit our cdc_raw limit and the CDCCompactor is either running behind
+or experiencing backpressure, we check at the following interval to see if any
+new space for cdc-tracked tables has been made available. Default to 250ms</p>
+<p><em>Default Value:</em> 250</p>
+</div>
+<div class="section" id="index-summary-capacity-in-mb">
+<h2><code class="docutils literal notranslate"><span class="pre">index_summary_capacity_in_mb</span></code><a class="headerlink" href="#index-summary-capacity-in-mb" title="Permalink to this headline">¶</a></h2>
+<p>A fixed memory pool size in MB for for SSTable index summaries. If left
+empty, this will default to 5% of the heap size. If the memory usage of
+all index summaries exceeds this limit, SSTables with low read rates will
+shrink their index summaries in order to meet this limit.  However, this
+is a best-effort process. In extreme conditions Cassandra may need to use
+more than this amount of memory.</p>
+</div>
+<div class="section" id="index-summary-resize-interval-in-minutes">
+<h2><code class="docutils literal notranslate"><span class="pre">index_summary_resize_interval_in_minutes</span></code><a class="headerlink" href="#index-summary-resize-interval-in-minutes" title="Permalink to this headline">¶</a></h2>
+<p>How frequently index summaries should be resampled.  This is done
+periodically to redistribute memory from the fixed-size pool to sstables
+proportional their recent read rates.  Setting to -1 will disable this
+process, leaving existing index summaries at their current sampling level.</p>
+<p><em>Default Value:</em> 60</p>
+</div>
+<div class="section" id="trickle-fsync">
+<h2><code class="docutils literal notranslate"><span class="pre">trickle_fsync</span></code><a class="headerlink" href="#trickle-fsync" title="Permalink to this headline">¶</a></h2>
+<p>Whether to, when doing sequential writing, fsync() at intervals in
+order to force the operating system to flush the dirty
+buffers. Enable this to avoid sudden dirty buffer flushing from
+impacting read latencies. Almost always a good idea on SSDs; not
+necessarily on platters.</p>
+<p><em>Default Value:</em> false</p>
+</div>
+<div class="section" id="trickle-fsync-interval-in-kb">
+<h2><code class="docutils literal notranslate"><span class="pre">trickle_fsync_interval_in_kb</span></code><a class="headerlink" href="#trickle-fsync-interval-in-kb" title="Permalink to this headline">¶</a></h2>
+<p><em>Default Value:</em> 10240</p>
+</div>
+<div class="section" id="storage-port">
+<h2><code class="docutils literal notranslate"><span class="pre">storage_port</span></code><a class="headerlink" href="#storage-port" title="Permalink to this headline">¶</a></h2>
+<p>TCP port, for commands and data
+For security reasons, you should not expose this port to the internet.  Firewall it if needed.</p>
+<p><em>Default Value:</em> 7000</p>
+</div>
+<div class="section" id="ssl-storage-port">
+<h2><code class="docutils literal notranslate"><span class="pre">ssl_storage_port</span></code><a class="headerlink" href="#ssl-storage-port" title="Permalink to this headline">¶</a></h2>
+<p>SSL port, for encrypted communication.  Unused unless enabled in
+encryption_options
+For security reasons, you should not expose this port to the internet.  Firewall it if needed.</p>
+<p><em>Default Value:</em> 7001</p>
+</div>
+<div class="section" id="listen-address">
+<h2><code class="docutils literal notranslate"><span class="pre">listen_address</span></code><a class="headerlink" href="#listen-address" title="Permalink to this headline">¶</a></h2>
+<p>Address or interface to bind to and tell other Cassandra nodes to connect to.
+You _must_ change this if you want multiple nodes to be able to communicate!</p>
+<p>Set listen_address OR listen_interface, not both.</p>
+<p>Leaving it blank leaves it up to InetAddress.getLocalHost(). This
+will always do the Right Thing _if_ the node is properly configured
+(hostname, name resolution, etc), and the Right Thing is to use the
+address associated with the hostname (it might not be).</p>
+<p>Setting listen_address to 0.0.0.0 is always wrong.</p>
+<p><em>Default Value:</em> localhost</p>
+</div>
+<div class="section" id="listen-interface">
+<h2><code class="docutils literal notranslate"><span class="pre">listen_interface</span></code><a class="headerlink" href="#listen-interface" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Set listen_address OR listen_interface, not both. Interfaces must correspond
+to a single address, IP aliasing is not supported.</p>
+<p><em>Default Value:</em> eth0</p>
+</div>
+<div class="section" id="listen-interface-prefer-ipv6">
+<h2><code class="docutils literal notranslate"><span class="pre">listen_interface_prefer_ipv6</span></code><a class="headerlink" href="#listen-interface-prefer-ipv6" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>If you choose to specify the interface by name and the interface has an ipv4 and an ipv6 address
+you can specify which should be chosen using listen_interface_prefer_ipv6. If false the first ipv4
+address will be used. If true the first ipv6 address will be used. Defaults to false preferring
+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="broadcast-address">
+<h2><code class="docutils literal notranslate"><span class="pre">broadcast_address</span></code><a class="headerlink" href="#broadcast-address" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Address to broadcast to other Cassandra nodes
+Leaving this blank will set it to the same value as listen_address</p>
+<p><em>Default Value:</em> 1.2.3.4</p>
+</div>
+<div class="section" id="listen-on-broadcast-address">
+<h2><code class="docutils literal notranslate"><span class="pre">listen_on_broadcast_address</span></code><a class="headerlink" href="#listen-on-broadcast-address" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>When using multiple physical network interfaces, set this
+to true to listen on broadcast_address in addition to
+the listen_address, allowing nodes to communicate in both
+interfaces.
+Ignore this property if the network configuration automatically
+routes  between the public and private networks such as EC2.</p>
+<p><em>Default Value:</em> false</p>
+</div>
+<div class="section" id="internode-authenticator">
+<h2><code class="docutils literal notranslate"><span class="pre">internode_authenticator</span></code><a class="headerlink" href="#internode-authenticator" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Internode authentication backend, implementing IInternodeAuthenticator;
+used to allow/disallow connections from peer nodes.</p>
+<p><em>Default Value:</em> org.apache.cassandra.auth.AllowAllInternodeAuthenticator</p>
+</div>
+<div class="section" id="start-native-transport">
+<h2><code class="docutils literal notranslate"><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>
+<p><em>Default Value:</em> true</p>
+</div>
+<div class="section" id="native-transport-port">
+<h2><code class="docutils literal notranslate"><span class="pre">native_transport_port</span></code><a class="headerlink" href="#native-transport-port" title="Permalink to this headline">¶</a></h2>
+<p>port for the CQL native transport to listen for clients on
+For security reasons, you should not expose this port to the internet.  Firewall it if needed.</p>
+<p><em>Default Value:</em> 9042</p>
+</div>
+<div class="section" id="native-transport-port-ssl">
+<h2><code class="docutils literal notranslate"><span class="pre">native_transport_port_ssl</span></code><a class="headerlink" href="#native-transport-port-ssl" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em>
+Enabling native transport encryption in client_encryption_options allows you to either use
+encryption for the standard port or to use a dedicated, additional port along with the unencrypted
+standard native_transport_port.
+Enabling client encryption and keeping native_transport_port_ssl disabled will use encryption
+for native_transport_port. Setting native_transport_port_ssl to a different value
+from native_transport_port will use encryption for native_transport_port_ssl while
+keeping native_transport_port unencrypted.</p>
+<p><em>Default Value:</em> 9142</p>
+</div>
+<div class="section" id="native-transport-max-threads">
+<h2><code class="docutils literal notranslate"><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>
+<p><em>Default Value:</em> 128</p>
+</div>
+<div class="section" id="native-transport-max-frame-size-in-mb">
+<h2><code class="docutils literal notranslate"><span class="pre">native_transport_max_frame_size_in_mb</span></code><a class="headerlink" href="#native-transport-max-frame-size-in-mb" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>The maximum size of allowed frame. Frame (requests) larger than this will
+be rejected as invalid. The default is 256MB. If you’re changing this parameter,
+you may want to adjust max_value_size_in_mb accordingly. This should be positive and less than 2048.</p>
+<p><em>Default Value:</em> 256</p>
+</div>
+<div class="section" id="native-transport-max-concurrent-connections">
+<h2><code class="docutils literal notranslate"><span class="pre">native_transport_max_concurrent_connections</span></code><a class="headerlink" href="#native-transport-max-concurrent-connections" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>The maximum number of concurrent client connections.
+The default is -1, which means unlimited.</p>
+<p><em>Default Value:</em> -1</p>
+</div>
+<div class="section" id="native-transport-max-concurrent-connections-per-ip">
+<h2><code class="docutils literal notranslate"><span class="pre">native_transport_max_concurrent_connections_per_ip</span></code><a class="headerlink" href="#native-transport-max-concurrent-connections-per-ip" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>The maximum number of concurrent client connections per source ip.
+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 notranslate"><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 notranslate"><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>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>
+<p>Note that unlike listen_address, you can specify 0.0.0.0, but you must also
+set broadcast_rpc_address to a value other than 0.0.0.0.</p>
+<p>For security reasons, you should not expose this port to the internet.  Firewall it if needed.</p>
+<p><em>Default Value:</em> localhost</p>
+</div>
+<div class="section" id="rpc-interface">
+<h2><code class="docutils literal notranslate"><span class="pre">rpc_interface</span></code><a class="headerlink" href="#rpc-interface" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Set rpc_address OR rpc_interface, not both. Interfaces must correspond
+to a single address, IP aliasing is not supported.</p>
+<p><em>Default Value:</em> eth1</p>
+</div>
+<div class="section" id="rpc-interface-prefer-ipv6">
+<h2><code class="docutils literal notranslate"><span class="pre">rpc_interface_prefer_ipv6</span></code><a class="headerlink" href="#rpc-interface-prefer-ipv6" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>If you choose to specify the interface by name and the interface has an ipv4 and an ipv6 address
+you can specify which should be chosen using rpc_interface_prefer_ipv6. If false the first ipv4
+address will be used. If true the first ipv6 address will be used. Defaults to false preferring
+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 notranslate"><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 notranslate"><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>
+<p>RPC address to broadcast to drivers and other Cassandra nodes. This cannot
+be set to 0.0.0.0. If left blank, this will be set to the value of
+rpc_address. If rpc_address is set to 0.0.0.0, broadcast_rpc_address must
+be set.</p>
+<p><em>Default Value:</em> 1.2.3.4</p>
+</div>
+<div class="section" id="rpc-keepalive">
+<h2><code class="docutils literal notranslate"><span class="pre">rpc_keepalive</span></code><a class="headerlink" href="#rpc-keepalive" title="Permalink to this headline">¶</a></h2>
+<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 notranslate"><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="simple">
+<dt>sync</dt><dd><p>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).</p>
+</dd>
+<dt>hsha</dt><dd><p>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.</p>
+</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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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>
+<p>Uncomment to set socket buffer size for internode communication
+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
+See also:
+/proc/sys/net/core/wmem_max
+/proc/sys/net/core/rmem_max
+/proc/sys/net/ipv4/tcp_wmem
+/proc/sys/net/ipv4/tcp_wmem
+and ‘man tcp’</p>
+</div>
+<div class="section" id="internode-recv-buff-size-in-bytes">
+<h2><code class="docutils literal notranslate"><span class="pre">internode_recv_buff_size_in_bytes</span></code><a class="headerlink" href="#internode-recv-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 size for internode communication
+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 notranslate"><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 notranslate"><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
+flushed or streamed locally in a backups/ subdirectory of the
+keyspace data.  Removing these links is the operator’s
+responsibility.</p>
+<p><em>Default Value:</em> false</p>
+</div>
+<div class="section" id="snapshot-before-compaction">
+<h2><code class="docutils literal notranslate"><span class="pre">snapshot_before_compaction</span></code><a class="headerlink" href="#snapshot-before-compaction" title="Permalink to this headline">¶</a></h2>
+<p>Whether or not to take a snapshot before each compaction.  Be
+careful using this option, since Cassandra won’t clean up the
+snapshots for you.  Mostly useful if you’re paranoid when there
+is a data format change.</p>
+<p><em>Default Value:</em> false</p>
+</div>
+<div class="section" id="auto-snapshot">
+<h2><code class="docutils literal notranslate"><span class="pre">auto_snapshot</span></code><a class="headerlink" href="#auto-snapshot" title="Permalink to this headline">¶</a></h2>
+<p>Whether or not a snapshot is taken of the data before keyspace truncation
+or dropping of column families. The STRONGLY advised default of true
+should be used to provide data safety. If you set this flag to false, you will
+lose data on truncation or drop.</p>
+<p><em>Default Value:</em> true</p>
+</div>
+<div class="section" id="column-index-size-in-kb">
+<h2><code class="docutils literal notranslate"><span class="pre">column_index_size_in_kb</span></code><a class="headerlink" href="#column-index-size-in-kb" title="Permalink to this headline">¶</a></h2>
+<p>Granularity of the collation index of rows within a partition.
+Increase if your rows are large, or if you have a very large
+number of rows per partition.  The competing goals are these:</p>
+<ul class="simple">
+<li><p>a smaller granularity means more index entries are generated
+and looking up rows withing the partition by collation column
+is faster</p></li>
+<li><p>but, Cassandra will keep the collation index in memory for hot
+rows (as part of the key cache), so a larger granularity means
+you can cache more hot rows</p></li>
+</ul>
+<p><em>Default Value:</em> 64</p>
+</div>
+<div class="section" id="column-index-cache-size-in-kb">
+<h2><code class="docutils literal notranslate"><span class="pre">column_index_cache_size_in_kb</span></code><a class="headerlink" href="#column-index-cache-size-in-kb" title="Permalink to this headline">¶</a></h2>
+<p>Per sstable indexed key cache entries (the collation index in memory
+mentioned above) exceeding this size will not be held on heap.
+This means that only partition information is held on heap and the
+index entries are read from disk.</p>
+<p>Note that this size refers to the size of the
+serialized index information and not the size of the partition.</p>
+<p><em>Default Value:</em> 2</p>
+</div>
+<div class="section" id="concurrent-compactors">
+<h2><code class="docutils literal notranslate"><span class="pre">concurrent_compactors</span></code><a class="headerlink" href="#concurrent-compactors" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Number of simultaneous compactions to allow, NOT including
+validation “compactions” for anti-entropy repair.  Simultaneous
+compactions can help preserve read performance in a mixed read/write
+workload, by mitigating the tendency of small sstables to accumulate
+during a single long running compactions. The default is usually
+fine and if you experience problems with compaction running too
+slowly or too fast, you should look at
+compaction_throughput_mb_per_sec first.</p>
+<p>concurrent_compactors defaults to the smaller of (number of disks,
+number of cores), with a minimum of 2 and a maximum of 8.</p>
+<p>If your data directories are backed by SSD, you should increase this
+to the number of cores.</p>
+<p><em>Default Value:</em> 1</p>
+</div>
+<div class="section" id="compaction-throughput-mb-per-sec">
+<h2><code class="docutils literal notranslate"><span class="pre">compaction_throughput_mb_per_sec</span></code><a class="headerlink" href="#compaction-throughput-mb-per-sec" title="Permalink to this headline">¶</a></h2>
+<p>Throttles compaction to the given total throughput across the entire
+system. The faster you insert data, the faster you need to compact in
+order to keep the sstable count down, but in general, setting this to
+16 to 32 times the rate you are inserting data is more than sufficient.
+Setting this to 0 disables throttling. Note that this account for all types
+of compaction, including validation compaction.</p>
+<p><em>Default Value:</em> 16</p>
+</div>
+<div class="section" id="sstable-preemptive-open-interval-in-mb">
+<h2><code class="docutils literal notranslate"><span class="pre">sstable_preemptive_open_interval_in_mb</span></code><a class="headerlink" href="#sstable-preemptive-open-interval-in-mb" title="Permalink to this headline">¶</a></h2>
+<p>When compacting, the replacement sstable(s) can be opened before they
+are completely written, and used in place of the prior sstables for
+any range that has been written. This helps to smoothly transfer reads
+between the sstables, reducing page cache churn and keeping hot rows hot</p>
+<p><em>Default Value:</em> 50</p>
+</div>
+<div class="section" id="stream-throughput-outbound-megabits-per-sec">
+<h2><code class="docutils literal notranslate"><span class="pre">stream_throughput_outbound_megabits_per_sec</span></code><a class="headerlink" href="#stream-throughput-outbound-megabits-per-sec" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Throttles all outbound streaming file transfers on this node to the
+given total throughput in Mbps. This is necessary because Cassandra does
+mostly sequential IO when streaming data during bootstrap or repair, which
+can lead to saturating the network connection and degrading rpc performance.
+When unset, the default is 200 Mbps or 25 MB/s.</p>
+<p><em>Default Value:</em> 200</p>
+</div>
+<div class="section" id="inter-dc-stream-throughput-outbound-megabits-per-sec">
+<h2><code class="docutils literal notranslate"><span class="pre">inter_dc_stream_throughput_outbound_megabits_per_sec</span></code><a class="headerlink" href="#inter-dc-stream-throughput-outbound-megabits-per-sec" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Throttles all streaming file transfer between the datacenters,
+this setting allows users to throttle inter dc stream throughput in addition
+to throttling all network stream traffic as configured with
+stream_throughput_outbound_megabits_per_sec
+When unset, the default is 200 Mbps or 25 MB/s</p>
+<p><em>Default Value:</em> 200</p>
+</div>
+<div class="section" id="read-request-timeout-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">read_request_timeout_in_ms</span></code><a class="headerlink" href="#read-request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
+<p>How long the coordinator should wait for read operations to complete</p>
+<p><em>Default Value:</em> 5000</p>
+</div>
+<div class="section" id="range-request-timeout-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">range_request_timeout_in_ms</span></code><a class="headerlink" href="#range-request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
+<p>How long the coordinator should wait for seq or index scans to complete</p>
+<p><em>Default Value:</em> 10000</p>
+</div>
+<div class="section" id="write-request-timeout-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">write_request_timeout_in_ms</span></code><a class="headerlink" href="#write-request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
+<p>How long the coordinator should wait for writes to complete</p>
+<p><em>Default Value:</em> 2000</p>
+</div>
+<div class="section" id="counter-write-request-timeout-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">counter_write_request_timeout_in_ms</span></code><a class="headerlink" href="#counter-write-request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
+<p>How long the coordinator should wait for counter writes to complete</p>
+<p><em>Default Value:</em> 5000</p>
+</div>
+<div class="section" id="cas-contention-timeout-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">cas_contention_timeout_in_ms</span></code><a class="headerlink" href="#cas-contention-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
+<p>How long a coordinator should continue to retry a CAS operation
+that contends with other proposals for the same row</p>
+<p><em>Default Value:</em> 1000</p>
+</div>
+<div class="section" id="truncate-request-timeout-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">truncate_request_timeout_in_ms</span></code><a class="headerlink" href="#truncate-request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
+<p>How long the coordinator should wait for truncates to complete
+(This can be much longer, because unless auto_snapshot is disabled
+we need to flush first so we can snapshot before removing the data.)</p>
+<p><em>Default Value:</em> 60000</p>
+</div>
+<div class="section" id="request-timeout-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">request_timeout_in_ms</span></code><a class="headerlink" href="#request-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
+<p>The default timeout for other, miscellaneous operations</p>
+<p><em>Default Value:</em> 10000</p>
+</div>
+<div class="section" id="slow-query-log-timeout-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">slow_query_log_timeout_in_ms</span></code><a class="headerlink" href="#slow-query-log-timeout-in-ms" title="Permalink to this headline">¶</a></h2>
+<p>How long before a node logs slow queries. Select queries that take longer than
+this timeout to execute, will generate an aggregated log message, so that slow queries
+can be identified. Set this value to zero to disable slow query logging.</p>
+<p><em>Default Value:</em> 500</p>
+</div>
+<div class="section" id="cross-node-timeout">
+<h2><code class="docutils literal notranslate"><span class="pre">cross_node_timeout</span></code><a class="headerlink" href="#cross-node-timeout" title="Permalink to this headline">¶</a></h2>
+<p>Enable operation timeout information exchange between nodes to accurately
+measure request timeouts.  If disabled, replicas will assume that requests
+were forwarded to them instantly by the coordinator, which means that
+under overload conditions we will waste that much extra time processing
+already-timed-out requests.</p>
+<p>Warning: before enabling this property make sure to ntp is installed
+and the times are synchronized between the nodes.</p>
+<p><em>Default Value:</em> false</p>
+</div>
+<div class="section" id="streaming-keep-alive-period-in-secs">
+<h2><code class="docutils literal notranslate"><span class="pre">streaming_keep_alive_period_in_secs</span></code><a class="headerlink" href="#streaming-keep-alive-period-in-secs" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Set keep-alive period for streaming
+This node will send a keep-alive message periodically with this period.
+If the node does not receive a keep-alive message from the peer for
+2 keep-alive cycles the stream session times out and fail
+Default value is 300s (5 minutes), which means stalled stream
+times out in 10 minutes by default</p>
+<p><em>Default Value:</em> 300</p>
+</div>
+<div class="section" id="phi-convict-threshold">
+<h2><code class="docutils literal notranslate"><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>
+<p>phi value that must be reached for a host to be marked down.
+most users should never need to adjust this.</p>
+<p><em>Default Value:</em> 8</p>
+</div>
+<div class="section" id="endpoint-snitch">
+<h2><code class="docutils literal notranslate"><span class="pre">endpoint_snitch</span></code><a class="headerlink" href="#endpoint-snitch" title="Permalink to this headline">¶</a></h2>
+<p>endpoint_snitch – Set this to a class that implements
+IEndpointSnitch.  The snitch has two functions:</p>
+<ul class="simple">
+<li><p>it teaches Cassandra enough about your network topology to route
+requests efficiently</p></li>
+<li><p>it allows Cassandra to spread replicas around your cluster to avoid
+correlated failures. It does this by grouping machines into
+“datacenters” and “racks.”  Cassandra will do its best not to have
+more than one replica on the same “rack” (which may not actually
+be a physical location)</p></li>
+</ul>
+<p>CASSANDRA WILL NOT ALLOW YOU TO SWITCH TO AN INCOMPATIBLE SNITCH
+ONCE DATA IS INSERTED INTO THE CLUSTER.  This would cause data loss.
+This means that if you start with the default SimpleSnitch, which
+locates every node on “rack1” in “datacenter1”, your only options
+if you need to add another datacenter are GossipingPropertyFileSnitch
+(and the older PFS).  From there, if you want to migrate to an
+incompatible snitch like Ec2Snitch you can do it by adding new nodes
+under Ec2Snitch (which will locate them in a new “datacenter”) and
+decommissioning the old ones.</p>
+<p>Out of the box, Cassandra provides:</p>
+<dl class="simple">
+<dt>SimpleSnitch:</dt><dd><p>Treats Strategy order as proximity. This can improve cache
+locality when disabling read repair.  Only appropriate for
+single-datacenter deployments.</p>
+</dd>
+<dt>GossipingPropertyFileSnitch</dt><dd><p>This should be your go-to snitch for production use.  The rack
+and datacenter for the local node are defined in
+cassandra-rackdc.properties and propagated to other nodes via
+gossip.  If cassandra-topology.properties exists, it is used as a
+fallback, allowing migration from the PropertyFileSnitch.</p>
+</dd>
+<dt>PropertyFileSnitch:</dt><dd><p>Proximity is determined by rack and data center, which are
+explicitly configured in cassandra-topology.properties.</p>
+</dd>
+<dt>Ec2Snitch:</dt><dd><p>Appropriate for EC2 deployments in a single Region. Loads Region
+and Availability Zone information from the EC2 API. The Region is
+treated as the datacenter, and the Availability Zone as the rack.
+Only private IPs are used, so this will not work across multiple
+Regions.</p>
+</dd>
+<dt>Ec2MultiRegionSnitch:</dt><dd><p>Uses public IPs as broadcast_address to allow cross-region
+connectivity.  (Thus, you should set seed addresses to the public
+IP as well.) You will need to open the storage_port or
+ssl_storage_port on the public IP firewall.  (For intra-Region
+traffic, Cassandra will switch to the private IP after
+establishing a connection.)</p>
+</dd>
+<dt>RackInferringSnitch:</dt><dd><p>Proximity is determined by rack and data center, which are
+assumed to correspond to the 3rd and 2nd octet of each node’s IP
+address, respectively.  Unless this happens to match your
+deployment conventions, this is best used as an example of
+writing a custom Snitch class and is provided in that spirit.</p>
+</dd>
+</dl>
+<p>You can use a custom Snitch by setting this to the full class name
+of the snitch, which will be assumed to be on your classpath.</p>
+<p><em>Default Value:</em> SimpleSnitch</p>
+</div>
+<div class="section" id="dynamic-snitch-update-interval-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">dynamic_snitch_update_interval_in_ms</span></code><a class="headerlink" href="#dynamic-snitch-update-interval-in-ms" title="Permalink to this headline">¶</a></h2>
+<p>controls how often to perform the more expensive part of host score
+calculation</p>
+<p><em>Default Value:</em> 100</p>
+</div>
+<div class="section" id="dynamic-snitch-reset-interval-in-ms">
+<h2><code class="docutils literal notranslate"><span class="pre">dynamic_snitch_reset_interval_in_ms</span></code><a class="headerlink" href="#dynamic-snitch-reset-interval-in-ms" title="Permalink to this headline">¶</a></h2>
+<p>controls how often to reset all host scores, allowing a bad host to
+possibly recover</p>
+<p><em>Default Value:</em> 600000</p>
+</div>
+<div class="section" id="dynamic-snitch-badness-threshold">
+<h2><code class="docutils literal notranslate"><span class="pre">dynamic_snitch_badness_threshold</span></code><a class="headerlink" href="#dynamic-snitch-badness-threshold" title="Permalink to this headline">¶</a></h2>
+<p>if set greater than zero and read_repair_chance is &lt; 1.0, this will allow
+‘pinning’ of replicas to hosts in order to increase cache capacity.
+The badness threshold will control how much worse the pinned host has to be
+before the dynamic snitch will prefer other replicas over it.  This is
+expressed as a double which represents a percentage.  Thus, a value of
+0.2 means Cassandra would continue to prefer the static snitch values
+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 notranslate"><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 notranslate"><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="simple">
+<dt>NoScheduler</dt><dd><p>Has no options</p>
+</dd>
+<dt>RoundRobin</dt><dd><dl class="simple">
+<dt>throttle_limit</dt><dd><p>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.</p>
+</dd>
+<dt>default_weight</dt><dd><p>default_weight is optional and allows for
+overriding the default which is 1.</p>
+</dd>
+<dt>weights</dt><dd><p>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.</p>
+</dd>
+</dl>
+</dd>
+</dl>
+<p><em>Default Value (complex option)</em>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="c1">#    throttle_limit: 80</span>
+<span class="c1">#    default_weight: 5</span>
+<span class="c1">#    weights:</span>
+<span class="c1">#      Keyspace1: 1</span>
+<span class="c1">#      Keyspace2: 5</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="request-scheduler-id">
+<h2><code class="docutils literal notranslate"><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 notranslate"><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
+JVM defaults for supported SSL socket protocols and cipher suites can
+be replaced using custom encryption options. This is not recommended
+unless you have policies in place that dictate certain settings, or
+need to disable vulnerable ciphers or protocols in case the JVM cannot
+be updated.
+FIPS compliant settings can be configured at JVM level and should not
+involve changing encryption settings here:
+<a class="reference external" href="https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/FIPS.html">https://docs.oracle.com/javase/8/docs/technotes/guides/security/jsse/FIPS.html</a>
+<em>NOTE</em> No custom encryption options are enabled at the moment
+The available internode options are : all, none, dc, rack</p>
+<p>If set to dc cassandra will encrypt the traffic between the DCs
+If set to rack cassandra will encrypt the traffic between the racks</p>
+<p>The passwords used in these options must match the passwords used when generating
+the keystore and truststore.  For instructions on generating these files, see:
+<a class="reference external" href="http://download.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CreateKeystore">http://download.oracle.com/javase/6/docs/technotes/guides/security/jsse/JSSERefGuide.html#CreateKeystore</a></p>
+<p><em>Default Value (complex option)</em>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">internode_encryption</span><span class="p">:</span> <span class="n">none</span>
+<span class="n">keystore</span><span class="p">:</span> <span class="n">conf</span><span class="o">/.</span><span class="n">keystore</span>
+<span class="n">keystore_password</span><span class="p">:</span> <span class="n">cassandra</span>
+<span class="n">truststore</span><span class="p">:</span> <span class="n">conf</span><span class="o">/.</span><span class="n">truststore</span>
+<span class="n">truststore_password</span><span class="p">:</span> <span class="n">cassandra</span>
+<span class="c1"># More advanced defaults below:</span>
+<span class="c1"># protocol: TLS</span>
+<span class="c1"># algorithm: SunX509</span>
+<span class="c1"># store_type: JKS</span>
+<span class="c1"># cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA]</span>
+<span class="c1"># require_client_auth: false</span>
+<span class="c1"># require_endpoint_verification: false</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="client-encryption-options">
+<h2><code class="docutils literal notranslate"><span class="pre">client_encryption_options</span></code><a class="headerlink" href="#client-encryption-options" title="Permalink to this headline">¶</a></h2>
+<p>enable or disable client/server encryption.</p>
+<p><em>Default Value (complex option)</em>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">enabled</span><span class="p">:</span> <span class="n">false</span>
+<span class="c1"># If enabled and optional is set to true encrypted and unencrypted connections are handled.</span>
+<span class="n">optional</span><span class="p">:</span> <span class="n">false</span>
+<span class="n">keystore</span><span class="p">:</span> <span class="n">conf</span><span class="o">/.</span><span class="n">keystore</span>
+<span class="n">keystore_password</span><span class="p">:</span> <span class="n">cassandra</span>
+<span class="c1"># require_client_auth: false</span>
+<span class="c1"># Set trustore and truststore_password if require_client_auth is true</span>
+<span class="c1"># truststore: conf/.truststore</span>
+<span class="c1"># truststore_password: cassandra</span>
+<span class="c1"># More advanced defaults below:</span>
+<span class="c1"># protocol: TLS</span>
+<span class="c1"># algorithm: SunX509</span>
+<span class="c1"># store_type: JKS</span>
+<span class="c1"># cipher_suites: [TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA]</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="internode-compression">
+<h2><code class="docutils literal notranslate"><span class="pre">internode_compression</span></code><a class="headerlink" href="#internode-compression" title="Permalink to this headline">¶</a></h2>
+<p>internode_compression controls whether traffic between nodes is
+compressed.
+Can be:</p>
+<dl class="simple">
+<dt>all</dt><dd><p>all traffic is compressed</p>
+</dd>
+<dt>dc</dt><dd><p>traffic between different datacenters is compressed</p>
+</dd>
+<dt>none</dt><dd><p>nothing is compressed.</p>
+</dd>
+</dl>
+<p><em>Default Value:</em> dc</p>
+</div>
+<div class="section" id="inter-dc-tcp-nodelay">
+<h2><code class="docutils literal notranslate"><span class="pre">inter_dc_tcp_nodelay</span></code><a class="headerlink" href="#inter-dc-tcp-nodelay" title="Permalink to this headline">¶</a></h2>
+<p>Enable or disable tcp_nodelay for inter-dc communication.
+Disabling it will result in larger (but fewer) network packets being sent,
+reducing overhead from the TCP protocol itself, at the cost of increasing
+latency if you block for cross-datacenter responses.</p>
+<p><em>Default Value:</em> false</p>
+</div>
+<div class="section" id="tracetype-query-ttl">
+<h2><code class="docutils literal notranslate"><span class="pre">tracetype_query_ttl</span></code><a class="headerlink" href="#tracetype-query-ttl" title="Permalink to this headline">¶</a></h2>
+<p>TTL for different trace types used during logging of the repair process.</p>
+<p><em>Default Value:</em> 86400</p>
+</div>
+<div class="section" id="tracetype-repair-ttl">
+<h2><code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><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
+INFO level
+UDFs (user defined functions) are disabled by default.
+As of Cassandra 3.0 there is a sandbox in place that should prevent execution of evil code.</p>
+<p><em>Default Value:</em> false</p>
+</div>
+<div class="section" id="enable-scripted-user-defined-functions">
+<h2><code class="docutils literal notranslate"><span class="pre">enable_scripted_user_defined_functions</span></code><a class="headerlink" href="#enable-scripted-user-defined-functions" title="Permalink to this headline">¶</a></h2>
+<p>Enables scripted UDFs (JavaScript UDFs).
+Java UDFs are always enabled, if enable_user_defined_functions is true.
+Enable this option to be able to use UDFs with “language javascript” or any custom JSR-223 provider.
+This option has no effect, if enable_user_defined_functions is false.</p>
+<p><em>Default Value:</em> false</p>
+</div>
+<div class="section" id="windows-timer-interval">
+<h2><code class="docutils literal notranslate"><span class="pre">windows_timer_interval</span></code><a class="headerlink" href="#windows-timer-interval" title="Permalink to this headline">¶</a></h2>
+<p>The default Windows kernel timer and scheduling resolution is 15.6ms for power conservation.
+Lowering this value on Windows can provide much tighter latency and better throughput, however
+some virtualized environments may see a negative performance impact from changing this setting
+below their system default. The sysinternals ‘clockres’ tool can confirm your system’s default
+setting.</p>
+<p><em>Default Value:</em> 1</p>
+</div>
+<div class="section" id="transparent-data-encryption-options">
+<h2><code class="docutils literal notranslate"><span class="pre">transparent_data_encryption_options</span></code><a class="headerlink" href="#transparent-data-encryption-options" title="Permalink to this headline">¶</a></h2>
+<p>Enables encrypting data at-rest (on disk). Different key providers can be plugged in, but the default reads from
+a JCE-style keystore. A single keystore can hold multiple keys, but the one referenced by
+the “key_alias” is the only key that will be used for encrypt opertaions; previously used keys
+can still (and should!) be in the keystore and will be used on decrypt operations
+(to handle the case of key rotation).</p>
+<p>It is strongly recommended to download and install Java Cryptography Extension (JCE)
+Unlimited Strength Jurisdiction Policy Files for your version of the JDK.
+(current link: <a class="reference external" href="http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html">http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html</a>)</p>
+<p>Currently, only the following file types are supported for transparent data encryption, although
+more are coming in future cassandra releases: commitlog, hints</p>
+<p><em>Default Value (complex option)</em>:</p>
+<div class="highlight-default notranslate"><div class="highlight"><pre><span></span><span class="n">enabled</span><span class="p">:</span> <span class="n">false</span>
+<span class="n">chunk_length_kb</span><span class="p">:</span> <span class="mi">64</span>
+<span class="n">cipher</span><span class="p">:</span> <span class="n">AES</span><span class="o">/</span><span class="n">CBC</span><span class="o">/</span><span class="n">PKCS5Padding</span>
+<span class="n">key_alias</span><span class="p">:</span> <span class="n">testing</span><span class="p">:</span><span class="mi">1</span>
+<span class="c1"># CBC IV length for AES needs to be 16 bytes (which is also the default size)</span>
+<span class="c1"># iv_length: 16</span>
+<span class="n">key_provider</span><span class="p">:</span>
+  <span class="o">-</span> <span class="n">class_name</span><span class="p">:</span> <span class="n">org</span><span class="o">.</span><span class="n">apache</span><span class="o">.</span><span class="n">cassandra</span><span class="o">.</span><span class="n">security</span><span class="o">.</span><span class="n">JKSKeyProvider</span>
+    <span class="n">parameters</span><span class="p">:</span>
+      <span class="o">-</span> <span class="n">keystore</span><span class="p">:</span> <span class="n">conf</span><span class="o">/.</span><span class="n">keystore</span>
+        <span class="n">keystore_password</span><span class="p">:</span> <span class="n">cassandra</span>
+        <span class="n">store_type</span><span class="p">:</span> <span class="n">JCEKS</span>
+        <span class="n">key_password</span><span class="p">:</span> <span class="n">cassandra</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="tombstone-warn-threshold">
+<h2><code class="docutils literal notranslate"><span class="pre">tombstone_warn_threshold</span></code><a class="headerlink" href="#tombstone-warn-threshold" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="safety-thresholds">
+<h3>SAFETY THRESHOLDS #<a class="headerlink" href="#safety-thresholds" title="Permalink to this headline">¶</a></h3>
+<p>When executing a scan, within or across a partition, we need to keep the
+tombstones seen in memory so we can return them to the coordinator, which
+will use them to make sure other replicas also know about the deleted rows.
+With workloads that generate a lot of tombstones, this can cause performance
+problems and even exaust the server heap.
+(<a class="reference external" href="http://www.datastax.com/dev/blog/cassandra-anti-patterns-queues-and-queue-like-datasets">http://www.datastax.com/dev/blog/cassandra-anti-patterns-queues-and-queue-like-datasets</a>)
+Adjust the thresholds here if you understand the dangers and want to
+scan more tombstones anyway.  These thresholds may also be adjusted at runtime
+using the StorageService mbean.</p>
+<p><em>Default Value:</em> 1000</p>
+</div>
+</div>
+<div class="section" id="tombstone-failure-threshold">
+<h2><code class="docutils literal notranslate"><span class="pre">tombstone_failure_threshold</span></code><a class="headerlink" href="#tombstone-failure-threshold" title="Permalink to this headline">¶</a></h2>
+<p><em>Default Value:</em> 100000</p>
+</div>
+<div class="section" id="replica-filtering-protection">
+<h2><code class="docutils literal notranslate"><span class="pre">replica_filtering_protection</span></code><a class="headerlink" href="#replica-filtering-protection" title="Permalink to this headline">¶</a></h2>
+<p>Filtering and secondary index queries at read consistency levels above ONE/LOCAL_ONE use a
+mechanism called replica filtering protection to ensure that results from stale replicas do
+not violate consistency. (See CASSANDRA-8272 and CASSANDRA-15907 for more details.) This
+mechanism materializes replica results by partition on-heap at the coordinator. The more possibly
+stale results returned by the replicas, the more rows materialized during the query.</p>
+</div>
+<div class="section" id="batch-size-warn-threshold-in-kb">
+<h2><code class="docutils literal notranslate"><span class="pre">batch_size_warn_threshold_in_kb</span></code><a class="headerlink" href="#batch-size-warn-threshold-in-kb" title="Permalink to this headline">¶</a></h2>
+<p>Log WARN on any multiple-partition batch size exceeding this value. 5kb per batch by default.
+Caution should be taken on increasing the size of this threshold as it can lead to node instability.</p>
+<p><em>Default Value:</em> 5</p>
+</div>
+<div class="section" id="batch-size-fail-threshold-in-kb">
+<h2><code class="docutils literal notranslate"><span class="pre">batch_size_fail_threshold_in_kb</span></code><a class="headerlink" href="#batch-size-fail-threshold-in-kb" title="Permalink to this headline">¶</a></h2>
+<p>Fail any multiple-partition batch exceeding this value. 50kb (10x warn threshold) by default.</p>
+<p><em>Default Value:</em> 50</p>
+</div>
+<div class="section" id="unlogged-batch-across-partitions-warn-threshold">
+<h2><code class="docutils literal notranslate"><span class="pre">unlogged_batch_across_partitions_warn_threshold</span></code><a class="headerlink" href="#unlogged-batch-across-partitions-warn-threshold" title="Permalink to this headline">¶</a></h2>
+<p>Log WARN on any batches not of type LOGGED than span across more partitions than this limit</p>
+<p><em>Default Value:</em> 10</p>
+</div>
+<div class="section" id="compaction-large-partition-warning-threshold-mb">
+<h2><code class="docutils literal notranslate"><span class="pre">compaction_large_partition_warning_threshold_mb</span></code><a class="headerlink" href="#compaction-large-partition-warning-threshold-mb" title="Permalink to this headline">¶</a></h2>
+<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-warn-threshold-in-ms">
+<h2><code class="docutils literal notranslate"><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>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>
+<p><em>Default Value:</em> 1000</p>
+</div>
+<div class="section" id="max-value-size-in-mb">
+<h2><code class="docutils literal notranslate"><span class="pre">max_value_size_in_mb</span></code><a class="headerlink" href="#max-value-size-in-mb" title="Permalink to this headline">¶</a></h2>
+<p><em>This option is commented out by default.</em></p>
+<p>Maximum size of any value in SSTables. Safety measure to detect SSTable corruption
+early. Any value size larger than this threshold will result into marking an SSTable
+as corrupted. This should be positive and less than 2048.</p>
+<p><em>Default Value:</em> 256</p>
+</div>
+<div class="section" id="back-pressure-enabled">
+<h2><code class="docutils literal notranslate"><span class="pre">back_pressure_enabled</span></code><a class="headerlink" href="#back-pressure-enabled" title="Permalink to this headline">¶</a></h2>
+<p>Back-pressure settings #
+If enabled, the coordinator will apply the back-pressure strategy specified below to each mutation
+sent to replicas, with the aim of reducing pressure on overloaded replicas.</p>
+<p><em>Default Value:</em> false</p>
+</div>
+<div class="section" id="back-pressure-strategy">
+<h2><code class="docutils literal notranslate"><span class="pre">back_pressure_strategy</span></code><a class="headerlink" href="#back-pressure-strategy" title="Permalink to this headline">¶</a></h2>
+<p>The back-pressure strategy applied.
+The default implementation, RateBasedBackPressure, takes three arguments:
+high ratio, factor, and flow type, and uses the ratio between incoming mutation responses and outgoing mutation requests.
+If below high ratio, outgoing mutations are rate limited according to the incoming rate decreased by the given factor;
+if above high ratio, the rate limiting is increased by the given factor;
+such factor is usually best configured between 1 and 10, use larger values for a faster recovery
+at the expense of potentially more dropped mutations;
+the rate limiting is applied according to the flow type: if FAST, it’s rate limited at the speed of the fastest replica,
+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&lt;String, Object&gt;.</p>
+</div>
+<div class="section" id="otc-coalescing-strategy">
+<h2><code class="docutils literal notranslate"><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 notranslate"><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 notranslate"><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 notranslate"><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="enable-materialized-views">
+<h2><code class="docutils literal notranslate"><span class="pre">enable_materialized_views</span></code><a class="headerlink" href="#enable-materialized-views" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="experimental-features">
+<h3>EXPERIMENTAL FEATURES #<a class="headerlink" href="#experimental-features" title="Permalink to this headline">¶</a></h3>
+<p>Enables materialized view creation on this node.
+Materialized views are considered experimental and are not recommended for production use.</p>
+<p><em>Default Value:</em> true</p>
+</div>
+</div>
+<div class="section" id="enable-sasi-indexes">
+<h2><code class="docutils literal notranslate"><span class="pre">enable_sasi_indexes</span></code><a class="headerlink" href="#enable-sasi-indexes" title="Permalink to this headline">¶</a></h2>
+<p>Enables SASI index creation on this node.
+SASI indexes are considered experimental and are not recommended for production use.</p>
+<p><em>Default Value:</em> true</p>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+        <a href="../operating/index.html" class="btn btn-neutral float-right" title="Operating Cassandra" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="index.html" class="btn btn-neutral float-left" title="Configuring Cassandra" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 2016, The Apache Cassandra team.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/doc/3.11.10/configuration/index.html b/content/doc/3.11.10/configuration/index.html
new file mode 100644
index 0000000..f24f272
--- /dev/null
+++ b/content/doc/3.11.10/configuration/index.html
@@ -0,0 +1,233 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Configuring Cassandra &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Cassandra Configuration File" href="cassandra_config_file.html" />
+    <link rel="prev" title="Changes" href="../cql/changes.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Apache Cassandra
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                3.11.10
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../cql/index.html">The Cassandra Query Language (CQL)</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">Configuring Cassandra</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="cassandra_config_file.html">Cassandra Configuration File</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</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>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Apache Cassandra</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+      <li>Configuring Cassandra</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="../_sources/configuration/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="configuring-cassandra">
+<h1>Configuring Cassandra<a class="headerlink" href="#configuring-cassandra" title="Permalink to this headline">¶</a></h1>
+<p>This section describes how to configure Apache Cassandra.</p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="cassandra_config_file.html">Cassandra Configuration File</a></li>
+</ul>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+        <a href="cassandra_config_file.html" class="btn btn-neutral float-right" title="Cassandra Configuration File" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="../cql/changes.html" class="btn btn-neutral float-left" title="Changes" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 2016, The Apache Cassandra team.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/doc/3.11.10/contactus.html b/content/doc/3.11.10/contactus.html
new file mode 100644
index 0000000..dbdfa82
--- /dev/null
+++ b/content/doc/3.11.10/contactus.html
@@ -0,0 +1,252 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Contact us &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
+        <script src="_static/jquery.js"></script>
+        <script src="_static/underscore.js"></script>
+        <script src="_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="genindex.html" />
+    <link rel="search" title="Search" href="search.html" />
+    <link rel="prev" title="Reporting Bugs and Contributing" href="bugs.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="index.html" class="icon icon-home"> Apache Cassandra
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                3.11.10
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="architecture/index.html">Architecture</a></li>
+<li class="toctree-l1"><a class="reference internal" href="data_modeling/index.html">Data Modeling</a></li>
+<li class="toctree-l1"><a class="reference internal" href="cql/index.html">The Cassandra Query Language (CQL)</a></li>
+<li class="toctree-l1"><a class="reference internal" href="configuration/index.html">Configuring Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="operating/index.html">Operating Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="development/index.html">Cassandra Development</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>
+<li class="toctree-l2"><a class="reference internal" href="#mailing-lists">Mailing lists</a></li>
+<li class="toctree-l2"><a class="reference internal" href="#irc">IRC</a></li>
+</ul>
+</li>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="index.html">Apache Cassandra</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="index.html" class="icon icon-home"></a> &raquo;</li>
+        
+      <li>Contact us</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="_sources/contactus.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="contact-us">
+<h1>Contact us<a class="headerlink" href="#contact-us" title="Permalink to this headline">¶</a></h1>
+<p>You can get in touch with the Cassandra community either via the mailing lists or the freenode IRC channels.</p>
+<div class="section" id="mailing-lists">
+<span id="id1"></span><h2>Mailing lists<a class="headerlink" href="#mailing-lists" title="Permalink to this headline">¶</a></h2>
+<p>The following mailing lists are available:</p>
+<ul class="simple">
+<li><p><a class="reference external" href="http://www.mail-archive.com/user&#64;cassandra.apache.org/">Users</a> – General discussion list for users - <a class="reference external" href="mailto:user-subscribe&#37;&#52;&#48;cassandra&#46;apache&#46;org">Subscribe</a></p></li>
+<li><p><a class="reference external" href="http://www.mail-archive.com/dev&#64;cassandra.apache.org/">Developers</a> – Development related discussion - <a class="reference external" href="mailto:dev-subscribe&#37;&#52;&#48;cassandra&#46;apache&#46;org">Subscribe</a></p></li>
+<li><p><a class="reference external" href="http://www.mail-archive.com/commits&#64;cassandra.apache.org/">Commits</a> – Commit notification source repository -
+<a class="reference external" href="mailto:commits-subscribe&#37;&#52;&#48;cassandra&#46;apache&#46;org">Subscribe</a></p></li>
+<li><p><a class="reference external" href="http://www.mail-archive.com/client-dev&#64;cassandra.apache.org/">Client Libraries</a> – Discussion related to the
+development of idiomatic client APIs - <a class="reference external" href="mailto:client-dev-subscribe&#37;&#52;&#48;cassandra&#46;apache&#46;org">Subscribe</a></p></li>
+</ul>
+<p>Subscribe by sending an email to the email address in the Subscribe links above. Follow the instructions in the welcome
+email to confirm your subscription. Make sure to keep the welcome email as it contains instructions on how to
+unsubscribe.</p>
+</div>
+<div class="section" id="irc">
+<span id="irc-channels"></span><h2>IRC<a class="headerlink" href="#irc" title="Permalink to this headline">¶</a></h2>
+<p>To chat with developers or users in real-time, join our channels on <a class="reference external" href="http://webchat.freenode.net/">IRC freenode</a>. The
+following channels are available:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">#cassandra</span></code> - for user questions and general discussions.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">#cassandra-dev</span></code> - strictly for questions or discussions related to Cassandra development.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">#cassandra-builds</span></code> - results of automated test builds.</p></li>
+</ul>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+        <a href="bugs.html" class="btn btn-neutral float-left" title="Reporting Bugs and Contributing" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 2016, The Apache Cassandra team.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/doc/3.11.10/cql/appendices.html b/content/doc/3.11.10/cql/appendices.html
new file mode 100644
index 0000000..76056dc
--- /dev/null
+++ b/content/doc/3.11.10/cql/appendices.html
@@ -0,0 +1,692 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Appendices &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Changes" href="changes.html" />
+    <link rel="prev" title="Triggers" href="triggers.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Apache Cassandra
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                3.11.10
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">The Cassandra Query Language (CQL)</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="definitions.html">Definitions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dml.html">Data Manipulation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="indexes.html">Secondary Indexes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li>
+<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
+<li class="toctree-l2"><a class="reference internal" href="functions.html">Functions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="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>
+<li class="toctree-l3"><a class="reference internal" href="#appendix-a-cql-keywords">Appendix A: CQL Keywords</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#appendix-b-cql-reserved-types">Appendix B: CQL Reserved Types</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#appendix-c-dropping-compact-storage">Appendix C: Dropping Compact Storage</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html">Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</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>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Apache Cassandra</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+          <li><a href="index.html">The Cassandra Query Language (CQL)</a> &raquo;</li>
+        
+      <li>Appendices</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="../_sources/cql/appendices.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="appendices">
+<h1>Appendices<a class="headerlink" href="#appendices" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="appendix-a-cql-keywords">
+<span id="appendix-a"></span><h2>Appendix A: CQL Keywords<a class="headerlink" href="#appendix-a-cql-keywords" title="Permalink to this headline">¶</a></h2>
+<p>CQL distinguishes between <em>reserved</em> and <em>non-reserved</em> keywords.
+Reserved keywords cannot be used as identifier, they are truly reserved
+for the language (but one can enclose a reserved keyword by
+double-quotes to use it as an identifier). Non-reserved keywords however
+only have a specific meaning in certain context but can used as
+identifier otherwise. The only <em>raison d’être</em> of these non-reserved
+keywords is convenience: some keyword are non-reserved when it was
+always easy for the parser to decide whether they were used as keywords
+or not.</p>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 61%" />
+<col style="width: 39%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>Keyword</p></th>
+<th class="head"><p>Reserved?</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ADD</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AGGREGATE</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ALL</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ALLOW</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ALTER</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AND</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">APPLY</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">AS</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ASC</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ASCII</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">AUTHORIZE</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">BATCH</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">BEGIN</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">BIGINT</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">BLOB</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">BOOLEAN</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">BY</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CALLED</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CLUSTERING</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">COLUMNFAMILY</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">COMPACT</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CONTAINS</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">COUNT</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">COUNTER</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">CREATE</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">CUSTOM</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">DATE</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">DECIMAL</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">DELETE</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">DESC</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">DESCRIBE</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">DISTINCT</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">DOUBLE</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">DROP</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ENTRIES</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">EXECUTE</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">EXISTS</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">FILTERING</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">FINALFUNC</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">FLOAT</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">FROM</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">FROZEN</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">FULL</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">FUNCTION</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">FUNCTIONS</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">GRANT</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">IF</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">IN</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">INDEX</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">INET</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">INFINITY</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">INITCOND</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">INPUT</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">INSERT</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">INT</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">INTO</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">JSON</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">KEY</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">KEYS</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">KEYSPACE</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">KEYSPACES</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">LANGUAGE</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">LIMIT</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">LIST</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">LOGIN</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">MAP</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">MODIFY</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">NAN</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">NOLOGIN</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">NORECURSIVE</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">NOSUPERUSER</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">NOT</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">NULL</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">OF</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ON</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">OPTIONS</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">OR</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ORDER</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">PASSWORD</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">PERMISSION</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">PERMISSIONS</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">PRIMARY</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">RENAME</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">REPLACE</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">RETURNS</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">REVOKE</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ROLE</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">ROLES</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">SCHEMA</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">SELECT</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">SET</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">SFUNC</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">SMALLINT</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">STATIC</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">STORAGE</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">STYPE</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">SUPERUSER</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">TABLE</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">TEXT</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">TIME</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">TIMESTAMP</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">TIMEUUID</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">TINYINT</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">TO</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">TOKEN</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">TRIGGER</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">TRUNCATE</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">TTL</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">TUPLE</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">TYPE</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">UNLOGGED</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">UPDATE</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">USE</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">USER</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">USERS</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">USING</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">UUID</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">VALUES</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">VARCHAR</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">VARINT</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">WHERE</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">WITH</span></code></p></td>
+<td><p>yes</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">WRITETIME</span></code></p></td>
+<td><p>no</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="appendix-b-cql-reserved-types">
+<h2>Appendix B: CQL Reserved Types<a class="headerlink" href="#appendix-b-cql-reserved-types" title="Permalink to this headline">¶</a></h2>
+<p>The following type names are not currently used by CQL, but are reserved
+for potential future use. User-defined types may not use reserved type
+names as their name.</p>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 100%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>type</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">bitstring</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">byte</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">complex</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">enum</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">interval</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">macaddr</span></code></p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="appendix-c-dropping-compact-storage">
+<h2>Appendix C: Dropping Compact Storage<a class="headerlink" href="#appendix-c-dropping-compact-storage" title="Permalink to this headline">¶</a></h2>
+<p><code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">...</span> <span class="pre">DROP</span> <span class="pre">COMPACT</span> <span class="pre">STORAGE</span></code> statement makes Compact Tables CQL-compatible,
+exposing internal structure of Thrift/Compact Tables:</p>
+<ul class="simple">
+<li><p>CQL-created Compact Tables that have no clustering columns, will expose an
+additional clustering column <code class="docutils literal notranslate"><span class="pre">column1</span></code> with <code class="docutils literal notranslate"><span class="pre">UTF8Type</span></code>.</p></li>
+<li><p>CQL-created Compact Tables that had no regular columns, will expose a
+regular column <code class="docutils literal notranslate"><span class="pre">value</span></code> with <code class="docutils literal notranslate"><span class="pre">BytesType</span></code>.</p></li>
+<li><p>For CQL-Created Compact Tables, all columns originally defined as
+<code class="docutils literal notranslate"><span class="pre">regular</span></code> will be come <code class="docutils literal notranslate"><span class="pre">static</span></code></p></li>
+<li><p>CQL-created Compact Tables that have clustering but have no regular
+columns will have an empty value column (of <code class="docutils literal notranslate"><span class="pre">EmptyType</span></code>)</p></li>
+<li><p>SuperColumn Tables (can only be created through Thrift) will expose
+a compact value map with an empty name.</p></li>
+<li><p>Thrift-created Compact Tables will have types corresponding to their
+Thrift definition.</p></li>
+<li><p>If a row was written while a table was still compact but it has no live
+cells due to later row or cell deletions, it may continue to be simply
+left out of query results, as is the normal behavior for compact tables.
+Rows written after a table is fully CQL-compatible, if they have no live
+cells but a live primary key, may be present in query results with null values.</p></li>
+</ul>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+        <a href="changes.html" class="btn btn-neutral float-right" title="Changes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="triggers.html" class="btn btn-neutral float-left" title="Triggers" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 2016, The Apache Cassandra team.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/doc/3.11.10/cql/changes.html b/content/doc/3.11.10/cql/changes.html
new file mode 100644
index 0000000..b4303d0
--- /dev/null
+++ b/content/doc/3.11.10/cql/changes.html
@@ -0,0 +1,476 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Changes &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Configuring Cassandra" href="../configuration/index.html" />
+    <link rel="prev" title="Appendices" href="appendices.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Apache Cassandra
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                3.11.10
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">The Cassandra Query Language (CQL)</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="definitions.html">Definitions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dml.html">Data Manipulation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="indexes.html">Secondary Indexes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li>
+<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
+<li class="toctree-l2"><a class="reference internal" href="functions.html">Functions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="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.4</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id2">3.4.3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id5">3.4.2</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id6">3.4.1</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id7">3.4.0</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id8">3.3.1</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id9">3.3.0</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id10">3.2.0</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id11">3.1.7</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id12">3.1.6</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id13">3.1.5</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id14">3.1.4</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id15">3.1.3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id16">3.1.2</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id17">3.1.1</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id18">3.1.0</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id19">3.0.5</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id20">3.0.4</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id21">3.0.3</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id22">3.0.2</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#id23">3.0.1</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#versioning">Versioning</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</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>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Apache Cassandra</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+          <li><a href="index.html">The Cassandra Query Language (CQL)</a> &raquo;</li>
+        
+      <li>Changes</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="../_sources/cql/changes.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="changes">
+<h1>Changes<a class="headerlink" href="#changes" title="Permalink to this headline">¶</a></h1>
+<p>The following describes the changes in each version of CQL.</p>
+<div class="section" id="id1">
+<h2>3.4.4<a class="headerlink" href="#id1" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> <code class="docutils literal notranslate"><span class="pre">ALTER</span></code> has been removed; a column’s type may not be changed after creation (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-12443">CASSANDRA-12443</a>).</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TYPE</span></code> <code class="docutils literal notranslate"><span class="pre">ALTER</span></code> has been removed; a field’s type may not be changed after creation (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-12443">CASSANDRA-12443</a>).</p></li>
+</ul>
+</div>
+<div class="section" id="id2">
+<h2>3.4.3<a class="headerlink" href="#id2" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p>Adds a new <a href="#id3"><span class="problematic" id="id4">``</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>).</p></li>
+<li><p>Support for <code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code> (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-10707">CASSANDRA-10707</a>).</p></li>
+<li><p>Adds a <code class="docutils literal notranslate"><span class="pre">DEFAULT</span> <span class="pre">UNSET</span></code> option for <code class="docutils literal notranslate"><span class="pre">INSERT</span> <span class="pre">JSON</span></code> to ignore omitted columns (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-11424">CASSANDRA-11424</a>).</p></li>
+<li><p>Allows <code class="docutils literal notranslate"><span class="pre">null</span></code> as a legal value for TTL on insert and update. It will be treated as equivalent to</p></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="id5">
+<h2>3.4.2<a class="headerlink" href="#id5" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p>If a table has a non zero <code class="docutils literal notranslate"><span class="pre">default_time_to_live</span></code>, then explicitly specifying a TTL of 0 in an <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> or
+<code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statement will result in the new writes not having any expiration (that is, an explicit TTL of 0 cancels
+the <code class="docutils literal notranslate"><span class="pre">default_time_to_live</span></code>). This wasn’t the case before and the <code class="docutils literal notranslate"><span class="pre">default_time_to_live</span></code> was applied even though a
+TTL had been explicitly set.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> <code class="docutils literal notranslate"><span class="pre">ADD</span></code> and <code class="docutils literal notranslate"><span class="pre">DROP</span></code> now allow multiple columns to be added/removed.</p></li>
+<li><p>New <code class="docutils literal notranslate"><span class="pre">PER</span> <span class="pre">PARTITION</span> <span class="pre">LIMIT</span></code> option for <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statements (see <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-7017)">CASSANDRA-7017</a>.</p></li>
+<li><p><a class="reference internal" href="functions.html#cql-functions"><span class="std std-ref">User-defined functions</span></a> can now instantiate <code class="docutils literal notranslate"><span class="pre">UDTValue</span></code> and <code class="docutils literal notranslate"><span class="pre">TupleValue</span></code> instances via the
+new <code class="docutils literal notranslate"><span class="pre">UDFContext</span></code> interface (see <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-10818)">CASSANDRA-10818</a>.</p></li>
+<li><p><a class="reference internal" href="types.html#udts"><span class="std std-ref">User-defined types</span></a> may now be stored in a non-frozen form, allowing individual fields to be updated and
+deleted in <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statements and <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statements, respectively. (<a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-7423)">CASSANDRA-7423</a>).</p></li>
+</ul>
+</div>
+<div class="section" id="id6">
+<h2>3.4.1<a class="headerlink" href="#id6" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p>Adds <code class="docutils literal notranslate"><span class="pre">CAST</span></code> functions.</p></li>
+</ul>
+</div>
+<div class="section" id="id7">
+<h2>3.4.0<a class="headerlink" href="#id7" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p>Support for <a class="reference internal" href="mvs.html#materialized-views"><span class="std std-ref">materialized views</span></a>.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">DELETE</span></code> support for inequality expressions and <code class="docutils literal notranslate"><span class="pre">IN</span></code> restrictions on any primary key columns.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> support for <code class="docutils literal notranslate"><span class="pre">IN</span></code> restrictions on any primary key columns.</p></li>
+</ul>
+</div>
+<div class="section" id="id8">
+<h2>3.3.1<a class="headerlink" href="#id8" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p>The syntax <code class="docutils literal notranslate"><span class="pre">TRUNCATE</span> <span class="pre">TABLE</span> <span class="pre">X</span></code> is now accepted as an alias for <code class="docutils literal notranslate"><span class="pre">TRUNCATE</span> <span class="pre">X</span></code>.</p></li>
+</ul>
+</div>
+<div class="section" id="id9">
+<h2>3.3.0<a class="headerlink" href="#id9" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p><a class="reference internal" href="functions.html#cql-functions"><span class="std std-ref">User-defined functions and aggregates</span></a> are now supported.</p></li>
+<li><p>Allows double-dollar enclosed strings literals as an alternative to single-quote enclosed strings.</p></li>
+<li><p>Introduces Roles to supersede user based authentication and access control</p></li>
+<li><p>New <code class="docutils literal notranslate"><span class="pre">date</span></code>, <code class="docutils literal notranslate"><span class="pre">time</span></code>, <code class="docutils literal notranslate"><span class="pre">tinyint</span></code> and <code class="docutils literal notranslate"><span class="pre">smallint</span></code> <a class="reference internal" href="types.html#data-types"><span class="std std-ref">data types</span></a> have been added.</p></li>
+<li><p><a class="reference internal" href="json.html#cql-json"><span class="std std-ref">JSON support</span></a> has been added</p></li>
+<li><p>Adds new time conversion functions and deprecate <code class="docutils literal notranslate"><span class="pre">dateOf</span></code> and <code class="docutils literal notranslate"><span class="pre">unixTimestampOf</span></code>.</p></li>
+</ul>
+</div>
+<div class="section" id="id10">
+<h2>3.2.0<a class="headerlink" href="#id10" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p><a class="reference internal" href="types.html#udts"><span class="std std-ref">User-defined types</span></a> supported.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">INDEX</span></code> now supports indexing collection columns, including indexing the keys of map collections through the
+<code class="docutils literal notranslate"><span class="pre">keys()</span></code> function</p></li>
+<li><p>Indexes on collections may be queried using the new <code class="docutils literal notranslate"><span class="pre">CONTAINS</span></code> and <code class="docutils literal notranslate"><span class="pre">CONTAINS</span> <span class="pre">KEY</span></code> operators</p></li>
+<li><p><a class="reference internal" href="types.html#tuples"><span class="std std-ref">Tuple types</span></a> were added to hold fixed-length sets of typed positional fields.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">INDEX</span></code> now supports optionally specifying a keyspace.</p></li>
+</ul>
+</div>
+<div class="section" id="id11">
+<h2>3.1.7<a class="headerlink" href="#id11" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statements now support selecting multiple rows in a single partition using an <code class="docutils literal notranslate"><span class="pre">IN</span></code> clause on combinations
+of clustering columns.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> and <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">EXISTS</span></code> syntax is now supported by <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">USER</span></code> and <code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre [...]
+respectively.</p></li>
+</ul>
+</div>
+<div class="section" id="id12">
+<h2>3.1.6<a class="headerlink" href="#id12" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p>A new <code class="docutils literal notranslate"><span class="pre">uuid()</span></code> method has been added.</p></li>
+<li><p>Support for <code class="docutils literal notranslate"><span class="pre">DELETE</span> <span class="pre">...</span> <span class="pre">IF</span> <span class="pre">EXISTS</span></code> syntax.</p></li>
+</ul>
+</div>
+<div class="section" id="id13">
+<h2>3.1.5<a class="headerlink" href="#id13" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p>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.</p></li>
+<li><p>Added support for <a class="reference internal" href="ddl.html#static-columns"><span class="std std-ref">static columns</span></a>.</p></li>
+</ul>
+</div>
+<div class="section" id="id14">
+<h2>3.1.4<a class="headerlink" href="#id14" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">INDEX</span></code> now allows specifying options when creating CUSTOM indexes.</p></li>
+</ul>
+</div>
+<div class="section" id="id15">
+<h2>3.1.3<a class="headerlink" href="#id15" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p>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.</p></li>
+</ul>
+</div>
+<div class="section" id="id16">
+<h2>3.1.2<a class="headerlink" href="#id16" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">NaN</span></code> and <code class="docutils literal notranslate"><span class="pre">Infinity</span></code> has been added as valid float constants. They are now reserved keywords. In the unlikely case
+you we using them as a column identifier (or keyspace/table one), you will now need to double quote them.</p></li>
+</ul>
+</div>
+<div class="section" id="id17">
+<h2>3.1.1<a class="headerlink" href="#id17" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement now allows listing the partition keys (using the <code class="docutils literal notranslate"><span class="pre">DISTINCT</span></code> modifier). See <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-4536">CASSANDRA-4536</a>.</p></li>
+<li><p>The syntax <code class="docutils literal notranslate"><span class="pre">c</span> <span class="pre">IN</span> <span class="pre">?</span></code> is now supported in <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> clauses. In that case, the value expected for the bind variable
+will be a list of whatever type <code class="docutils literal notranslate"><span class="pre">c</span></code> is.</p></li>
+<li><p>It is now possible to use named bind variables (using <code class="docutils literal notranslate"><span class="pre">:name</span></code> instead of <code class="docutils literal notranslate"><span class="pre">?</span></code>).</p></li>
+</ul>
+</div>
+<div class="section" id="id18">
+<h2>3.1.0<a class="headerlink" href="#id18" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> <code class="docutils literal notranslate"><span class="pre">DROP</span></code> option added.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement now supports aliases in select clause. Aliases in WHERE and ORDER BY clauses are not supported.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">CREATE</span></code> statements for <code class="docutils literal notranslate"><span class="pre">KEYSPACE</span></code>, <code class="docutils literal notranslate"><span class="pre">TABLE</span></code> and <code class="docutils literal notranslate"><span class="pre">INDEX</span></code> now supports an <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXI [...]
+Similarly, <code class="docutils literal notranslate"><span class="pre">DROP</span></code> statements support a <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">EXISTS</span></code> condition.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">INSERT</span></code> statements optionally supports a <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> condition and <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> supports <code class="docutils literal notranslate"><span class="pre">IF</span></code> conditions.</p></li>
+</ul>
+</div>
+<div class="section" id="id19">
+<h2>3.0.5<a class="headerlink" href="#id19" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">SELECT</span></code>, <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code>, and <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statements now allow empty <code class="docutils literal notranslate"><span class="pre">IN</span></code> relations (see <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-5626)">CASSANDRA-5626</a>.</p></li>
+</ul>
+</div>
+<div class="section" id="id20">
+<h2>3.0.4<a class="headerlink" href="#id20" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p>Updated the syntax for custom <a class="reference internal" href="indexes.html#secondary-indexes"><span class="std std-ref">secondary indexes</span></a>.</p></li>
+<li><p>Non-equal condition on the partition key are now never supported, even for ordering partitioner as this was not
+correct (the order was <strong>not</strong> the one of the type of the partition key). Instead, the <code class="docutils literal notranslate"><span class="pre">token</span></code> method should always
+be used for range queries on the partition key (see <a class="reference internal" href="dml.html#where-clause"><span class="std std-ref">WHERE clauses</span></a>).</p></li>
+</ul>
+</div>
+<div class="section" id="id21">
+<h2>3.0.3<a class="headerlink" href="#id21" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p>Support for custom <a class="reference internal" href="indexes.html#secondary-indexes"><span class="std std-ref">secondary indexes</span></a> has been added.</p></li>
+</ul>
+</div>
+<div class="section" id="id22">
+<h2>3.0.2<a class="headerlink" href="#id22" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p>Type validation for the <a class="reference internal" href="definitions.html#constants"><span class="std std-ref">constants</span></a> has been fixed. For instance, the implementation used to allow
+<code class="docutils literal notranslate"><span class="pre">'2'</span></code> as a valid value for an <code class="docutils literal notranslate"><span class="pre">int</span></code> column (interpreting it has the equivalent of <code class="docutils literal notranslate"><span class="pre">2</span></code>), or <code class="docutils literal notranslate"><span class="pre">42</span></code> as a valid
+<code class="docutils literal notranslate"><span class="pre">blob</span></code> value (in which case <code class="docutils literal notranslate"><span class="pre">42</span></code> was interpreted as an hexadecimal representation of the blob). This is no longer
+the case, type validation of constants is now more strict. See the <a class="reference internal" href="types.html#data-types"><span class="std std-ref">data types</span></a> section for details
+on which constant is allowed for which type.</p></li>
+<li><p>The type validation fixed of the previous point has lead to the introduction of blobs constants to allow the input of
+blobs. Do note that while the input of blobs as strings constant is still supported by this version (to allow smoother
+transition to blob constant), it is now deprecated and will be removed by a future version. If you were using strings
+as blobs, you should thus update your client code ASAP to switch blob constants.</p></li>
+<li><p>A number of functions to convert native types to blobs have also been introduced. Furthermore the token function is
+now also allowed in select clauses. See the <a class="reference internal" href="functions.html#cql-functions"><span class="std std-ref">section on functions</span></a> for details.</p></li>
+</ul>
+</div>
+<div class="section" id="id23">
+<h2>3.0.1<a class="headerlink" href="#id23" title="Permalink to this headline">¶</a></h2>
+<ul class="simple">
+<li><p>Date strings (and timestamps) are no longer accepted as valid <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> values. Doing so was a bug in the sense
+that date string are not valid <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code>, and it was thus resulting in <a class="reference external" href="https://issues.apache.org/jira/browse/CASSANDRA-4936">confusing behaviors</a>. However, the following new methods have been added to help
+working with <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code>: <code class="docutils literal notranslate"><span class="pre">now</span></code>, <code class="docutils literal notranslate"><span class="pre">minTimeuuid</span></code>, <code class="docutils literal notranslate"><span class="pre">maxTimeuuid</span></code> ,
+<code class="docutils literal notranslate"><span class="pre">dateOf</span></code> and <code class="docutils literal notranslate"><span class="pre">unixTimestampOf</span></code>.</p></li>
+<li><p>Float constants now support the exponent notation. In other words, <code class="docutils literal notranslate"><span class="pre">4.2E10</span></code> is now a valid floating point value.</p></li>
+</ul>
+</div>
+<div class="section" id="versioning">
+<h2>Versioning<a class="headerlink" href="#versioning" title="Permalink to this headline">¶</a></h2>
+<p>Versioning of the CQL language adheres to the <a class="reference external" href="http://semver.org">Semantic Versioning</a> guidelines. Versions take the
+form X.Y.Z where X, Y, and Z are integer values representing major, minor, and patch level respectively. There is no
+correlation between Cassandra release versions and the CQL language version.</p>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 8%" />
+<col style="width: 92%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>version</p></th>
+<th class="head"><p>description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p>Major</p></td>
+<td><p>The major version <em>must</em> be bumped when backward incompatible changes are introduced. This should rarely
+occur.</p></td>
+</tr>
+<tr class="row-odd"><td><p>Minor</p></td>
+<td><p>Minor version increments occur when new, but backward compatible, functionality is introduced.</p></td>
+</tr>
+<tr class="row-even"><td><p>Patch</p></td>
+<td><p>The patch version is incremented when bugs are fixed.</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+        <a href="../configuration/index.html" class="btn btn-neutral float-right" title="Configuring Cassandra" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="appendices.html" class="btn btn-neutral float-left" title="Appendices" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 2016, The Apache Cassandra team.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/doc/3.11.10/cql/ddl.html b/content/doc/3.11.10/cql/ddl.html
new file mode 100644
index 0000000..3fba11c
--- /dev/null
+++ b/content/doc/3.11.10/cql/ddl.html
@@ -0,0 +1,892 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Data Definition &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Data Manipulation" href="dml.html" />
+    <link rel="prev" title="Data Types" href="types.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Apache Cassandra
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                3.11.10
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">The Cassandra Query Language (CQL)</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="definitions.html">Definitions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Data Definition</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#common-definitions">Common definitions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#create-keyspace">CREATE KEYSPACE</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#use">USE</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#alter-keyspace">ALTER KEYSPACE</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#drop-keyspace">DROP KEYSPACE</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#create-table">CREATE TABLE</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#column-definitions">Column definitions</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#the-primary-key">The Primary key</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#table-options">Table options</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#alter-table">ALTER TABLE</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#drop-table">DROP TABLE</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#truncate">TRUNCATE</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="dml.html">Data Manipulation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="indexes.html">Secondary Indexes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li>
+<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
+<li class="toctree-l2"><a class="reference internal" href="functions.html">Functions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="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"><a class="reference internal" href="changes.html">Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</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>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Apache Cassandra</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+          <li><a href="index.html">The Cassandra Query Language (CQL)</a> &raquo;</li>
+        
+      <li>Data Definition</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="../_sources/cql/ddl.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="data-definition">
+<span id="id1"></span><h1>Data Definition<a class="headerlink" href="#data-definition" title="Permalink to this headline">¶</a></h1>
+<p>CQL stores data in <em>tables</em>, whose schema defines the layout of said data in the table, and those tables are grouped in
+<em>keyspaces</em>. A keyspace defines a number of options that applies to all the tables it contains, most prominently of
+which is the <a class="reference internal" href="../architecture/dynamo.html#replication-strategy"><span class="std std-ref">replication strategy</span></a> used by the keyspace. It is generally encouraged to use
+one keyspace by <em>application</em>, and thus many cluster may define only one keyspace.</p>
+<p>This section describes the statements used to create, modify, and remove those keyspace and tables.</p>
+<div class="section" id="common-definitions">
+<h2>Common definitions<a class="headerlink" href="#common-definitions" title="Permalink to this headline">¶</a></h2>
+<p>The names of the keyspaces and tables are defined by the following grammar:</p>
+<pre>
+<strong id="grammar-token-keyspace_name"><span id="grammar-token-keyspace-name"></span>keyspace_name</strong> ::=  <a class="reference internal" href="#grammar-token-name"><code class="xref docutils literal notranslate"><span class="pre">name</span></code></a>
+<strong id="grammar-token-table_name"><span id="grammar-token-table-name"></span>table_name   </strong> ::=  [ <a class="reference internal" href="#grammar-token-keyspace_name"><code class="xref docutils literal notranslate"><span class="pre">keyspace_name</span></code></a> '.' ] <a class="reference internal" href="#grammar-token-name"><code class="xref docutils literal notranslate"><span class="pre">name</span></code></a>
+<strong id="grammar-token-name">name         </strong> ::=  <a class="reference internal" href="#grammar-token-unquoted_name"><code class="xref docutils literal notranslate"><span class="pre">unquoted_name</span></code></a> | <a class="reference internal" href="#grammar-token-quoted_name"><code class="xref docutils literal notranslate"><span class="pre">quoted_name</span></code></a>
+<strong id="grammar-token-unquoted_name"><span id="grammar-token-unquoted-name"></span>unquoted_name</strong> ::=  re('[a-zA-Z_0-9]{1, 48}')
+<strong id="grammar-token-quoted_name"><span id="grammar-token-quoted-name"></span>quoted_name  </strong> ::=  '&quot;' <a class="reference internal" href="#grammar-token-unquoted_name"><code class="xref docutils literal notranslate"><span class="pre">unquoted_name</span></code></a> '&quot;'
+</pre>
+<p>Both keyspace and table name should be comprised of only alphanumeric characters, cannot be empty and are limited in
+size to 48 characters (that limit exists mostly to avoid filenames (which may include the keyspace and table name) to go
+over the limits of certain file systems). By default, keyspace and table names are case insensitive (<code class="docutils literal notranslate"><span class="pre">myTable</span></code> is
+equivalent to <code class="docutils literal notranslate"><span class="pre">mytable</span></code>) but case sensitivity can be forced by using double-quotes (<code class="docutils literal notranslate"><span class="pre">&quot;myTable&quot;</span></code> is different from
+<code class="docutils literal notranslate"><span class="pre">mytable</span></code>).</p>
+<p>Further, a table is always part of a keyspace and a table name can be provided fully-qualified by the keyspace it is
+part of. If is is not fully-qualified, the table is assumed to be in the <em>current</em> keyspace (see <a class="reference internal" href="#use-statement"><span class="std std-ref">USE statement</span></a>).</p>
+<p>Further, the valid names for columns is simply defined as:</p>
+<pre>
+<strong id="grammar-token-column_name"><span id="grammar-token-column-name"></span>column_name</strong> ::=  <a class="reference internal" href="definitions.html#grammar-token-identifier"><code class="xref docutils literal notranslate"><span class="pre">identifier</span></code></a>
+</pre>
+<p>We also define the notion of statement options for use in the following section:</p>
+<pre>
+<strong id="grammar-token-options">options</strong> ::=  <a class="reference internal" href="#grammar-token-option"><code class="xref docutils literal notranslate"><span class="pre">option</span></code></a> ( AND <a class="reference internal" href="#grammar-token-option"><code class="xref docutils literal notranslate"><span class="pre">option</span></code></a> )*
+<strong id="grammar-token-option">option </strong> ::=  <a class="reference internal" href="definitions.html#grammar-token-identifier"><code class="xref docutils literal notranslate"><span class="pre">identifier</span></code></a> '=' ( <a class="reference internal" href="definitions.html#grammar-token-identifier"><code class="xref docutils literal notranslate"><span class="pre">identifier</span></code></a> | <a class="reference internal" href="definitions.html#grammar-token-constant"><co [...]
+</pre>
+</div>
+<div class="section" id="create-keyspace">
+<span id="create-keyspace-statement"></span><h2>CREATE KEYSPACE<a class="headerlink" href="#create-keyspace" title="Permalink to this headline">¶</a></h2>
+<p>A keyspace is created using a <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">KEYSPACE</span></code> statement:</p>
+<pre>
+<strong id="grammar-token-create_keyspace_statement"><span id="grammar-token-create-keyspace-statement"></span>create_keyspace_statement</strong> ::=  CREATE KEYSPACE [ IF NOT EXISTS ] <a class="reference internal" href="#grammar-token-keyspace_name"><code class="xref docutils literal notranslate"><span class="pre">keyspace_name</span></code></a> WITH <a class="reference internal" href="#grammar-token-options"><code class="xref docutils literal notranslate"><span class="pre">options</spa [...]
+</pre>
+<p>For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">KEYSPACE</span> <span class="n">Excelsior</span>
+           <span class="k">WITH</span> <span class="n">replication</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;class&#39;</span><span class="p">:</span> <span class="s1">&#39;SimpleStrategy&#39;</span><span class="p">,</span> <span class="s1">&#39;replication_factor&#39;</span> <span class="p">:</span> <span class="mf">3</span><span class="p">};</span>
+
+<span class="k">CREATE</span> <span class="k">KEYSPACE</span> <span class="n">Excalibur</span>
+           <span class="k">WITH</span> <span class="n">replication</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;class&#39;</span><span class="p">:</span> <span class="s1">&#39;NetworkTopologyStrategy&#39;</span><span class="p">,</span> <span class="s1">&#39;DC1&#39;</span> <span class="p">:</span> <span class="mf">1</span><span class="p">,</span> <span class="s1">&#39;DC2&#39;</span> <span class="p">:</span> <span class="mf">3</span><span class="p">}</span>
+            <span class="k">AND</span> <span class="n">durable_writes</span> <span class="o">=</span> <span class="n">false</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>The supported <code class="docutils literal notranslate"><span class="pre">options</span></code> are:</p>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 16%" />
+<col style="width: 9%" />
+<col style="width: 9%" />
+<col style="width: 8%" />
+<col style="width: 58%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>name</p></th>
+<th class="head"><p>kind</p></th>
+<th class="head"><p>mandatory</p></th>
+<th class="head"><p>default</p></th>
+<th class="head"><p>description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">replication</span></code></p></td>
+<td><p><em>map</em></p></td>
+<td><p>yes</p></td>
+<td></td>
+<td><p>The replication strategy and options to use for the keyspace (see
+details below).</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">durable_writes</span></code></p></td>
+<td><p><em>simple</em></p></td>
+<td><p>no</p></td>
+<td><p>true</p></td>
+<td><p>Whether to use the commit log for updates on this keyspace
+(disable this option at your own risk!).</p></td>
+</tr>
+</tbody>
+</table>
+<p>The <code class="docutils literal notranslate"><span class="pre">replication</span></code> property is mandatory and must at least contains the <code class="docutils literal notranslate"><span class="pre">'class'</span></code> sub-option which defines the
+<a class="reference internal" href="../architecture/dynamo.html#replication-strategy"><span class="std std-ref">replication strategy</span></a> class to use. The rest of the sub-options depends on what replication
+strategy is used. By default, Cassandra support the following <code class="docutils literal notranslate"><span class="pre">'class'</span></code>:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">'SimpleStrategy'</span></code>: A simple strategy that defines a replication factor for the whole cluster. The only sub-options
+supported is <code class="docutils literal notranslate"><span class="pre">'replication_factor'</span></code> to define that replication factor and is mandatory.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">'NetworkTopologyStrategy'</span></code>: A replication strategy that allows to set the replication factor independently for
+each data-center. The rest of the sub-options are key-value pairs where a key is a data-center name and its value is
+the associated replication factor.</p></li>
+</ul>
+<p>Attempting to create a keyspace that already exists will return an error unless the <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> option is used. If
+it is used, the statement will be a no-op if the keyspace already exists.</p>
+</div>
+<div class="section" id="use">
+<span id="use-statement"></span><h2>USE<a class="headerlink" href="#use" title="Permalink to this headline">¶</a></h2>
+<p>The <code class="docutils literal notranslate"><span class="pre">USE</span></code> statement allows to change the <em>current</em> keyspace (for the <em>connection</em> on which it is executed). A number
+of objects in CQL are bound to a keyspace (tables, user-defined types, functions, …) and the current keyspace is the
+default keyspace used when those objects are referred without a fully-qualified name (that is, without being prefixed a
+keyspace name). A <code class="docutils literal notranslate"><span class="pre">USE</span></code> statement simply takes the keyspace to use as current as argument:</p>
+<pre>
+<strong id="grammar-token-use_statement"><span id="grammar-token-use-statement"></span>use_statement</strong> ::=  USE <a class="reference internal" href="#grammar-token-keyspace_name"><code class="xref docutils literal notranslate"><span class="pre">keyspace_name</span></code></a>
+</pre>
+</div>
+<div class="section" id="alter-keyspace">
+<span id="alter-keyspace-statement"></span><h2>ALTER KEYSPACE<a class="headerlink" href="#alter-keyspace" title="Permalink to this headline">¶</a></h2>
+<p>An <code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">KEYSPACE</span></code> statement allows to modify the options of a keyspace:</p>
+<pre>
+<strong id="grammar-token-alter_keyspace_statement"><span id="grammar-token-alter-keyspace-statement"></span>alter_keyspace_statement</strong> ::=  ALTER KEYSPACE <a class="reference internal" href="#grammar-token-keyspace_name"><code class="xref docutils literal notranslate"><span class="pre">keyspace_name</span></code></a> WITH <a class="reference internal" href="#grammar-token-options"><code class="xref docutils literal notranslate"><span class="pre">options</span></code></a>
+</pre>
+<p>For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">ALTER</span> <span class="k">KEYSPACE</span> <span class="n">Excelsior</span>
+          <span class="k">WITH</span> <span class="n">replication</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;class&#39;</span><span class="p">:</span> <span class="s1">&#39;SimpleStrategy&#39;</span><span class="p">,</span> <span class="s1">&#39;replication_factor&#39;</span> <span class="p">:</span> <span class="mf">4</span><span class="p">};</span>
+</pre></div>
+</div>
+<p>The supported options are the same than for <a class="reference internal" href="#create-keyspace-statement"><span class="std std-ref">creating a keyspace</span></a>.</p>
+</div>
+<div class="section" id="drop-keyspace">
+<span id="drop-keyspace-statement"></span><h2>DROP KEYSPACE<a class="headerlink" href="#drop-keyspace" title="Permalink to this headline">¶</a></h2>
+<p>Dropping a keyspace can be done using the <code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">KEYSPACE</span></code> statement:</p>
+<pre>
+<strong id="grammar-token-drop_keyspace_statement"><span id="grammar-token-drop-keyspace-statement"></span>drop_keyspace_statement</strong> ::=  DROP KEYSPACE [ IF EXISTS ] <a class="reference internal" href="#grammar-token-keyspace_name"><code class="xref docutils literal notranslate"><span class="pre">keyspace_name</span></code></a>
+</pre>
+<p>For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">DROP</span> <span class="k">KEYSPACE</span> <span class="n">Excelsior</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>Dropping a keyspace results in the immediate, irreversible removal of that keyspace, including all the tables, UTD and
+functions in it, and all the data contained in those tables.</p>
+<p>If the keyspace does not exists, the statement will return an error, unless <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">EXISTS</span></code> is used in which case the
+operation is a no-op.</p>
+</div>
+<div class="section" id="create-table">
+<span id="create-table-statement"></span><h2>CREATE TABLE<a class="headerlink" href="#create-table" title="Permalink to this headline">¶</a></h2>
+<p>Creating a new table uses the <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">TABLE</span></code> statement:</p>
+<pre>
+<strong id="grammar-token-create_table_statement"><span id="grammar-token-create-table-statement"></span>create_table_statement</strong> ::=  CREATE TABLE [ IF NOT EXISTS ] <a class="reference internal" href="#grammar-token-table_name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a>
+                            '('
+                                <a class="reference internal" href="#grammar-token-column_definition"><code class="xref docutils literal notranslate"><span class="pre">column_definition</span></code></a>
+                                ( ',' <a class="reference internal" href="#grammar-token-column_definition"><code class="xref docutils literal notranslate"><span class="pre">column_definition</span></code></a> )*
+                                [ ',' PRIMARY KEY '(' <a class="reference internal" href="#grammar-token-primary_key"><code class="xref docutils literal notranslate"><span class="pre">primary_key</span></code></a> ')' ]
+                            ')' [ WITH <a class="reference internal" href="#grammar-token-table_options"><code class="xref docutils literal notranslate"><span class="pre">table_options</span></code></a> ]
+<strong id="grammar-token-column_definition"><span id="grammar-token-column-definition"></span>column_definition     </strong> ::=  <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> <a class="reference internal" href="types.html#grammar-token-cql_type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a> [ STATIC ] [ PRIMARY KEY]
+<strong id="grammar-token-primary_key"><span id="grammar-token-primary-key"></span>primary_key           </strong> ::=  <a class="reference internal" href="#grammar-token-partition_key"><code class="xref docutils literal notranslate"><span class="pre">partition_key</span></code></a> [ ',' <a class="reference internal" href="#grammar-token-clustering_columns"><code class="xref docutils literal notranslate"><span class="pre">clustering_columns</span></code></a> ]
+<strong id="grammar-token-partition_key"><span id="grammar-token-partition-key"></span>partition_key         </strong> ::=  <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a>
+                            | '(' <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ( ',' <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> )* ')'
+<strong id="grammar-token-clustering_columns"><span id="grammar-token-clustering-columns"></span>clustering_columns    </strong> ::=  <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ( ',' <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> )*
+<strong id="grammar-token-table_options"><span id="grammar-token-table-options"></span>table_options         </strong> ::=  COMPACT STORAGE [ AND <a class="reference internal" href="#grammar-token-table_options"><code class="xref docutils literal notranslate"><span class="pre">table_options</span></code></a> ]
+                            | CLUSTERING ORDER BY '(' <a class="reference internal" href="#grammar-token-clustering_order"><code class="xref docutils literal notranslate"><span class="pre">clustering_order</span></code></a> ')' [ AND <a class="reference internal" href="#grammar-token-table_options"><code class="xref docutils literal notranslate"><span class="pre">table_options</span></code></a> ]
+                            | <a class="reference internal" href="#grammar-token-options"><code class="xref docutils literal notranslate"><span class="pre">options</span></code></a>
+<strong id="grammar-token-clustering_order"><span id="grammar-token-clustering-order"></span>clustering_order      </strong> ::=  <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> (ASC | DESC) ( ',' <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> (ASC | DESC) )*
+</pre>
+<p>For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">monkeySpecies</span> <span class="p">(</span>
+    <span class="n">species</span> <span class="nb">text</span> <span class="k">PRIMARY</span> <span class="k">KEY</span><span class="p">,</span>
+    <span class="n">common_name</span> <span class="nb">text</span><span class="p">,</span>
+    <span class="n">population</span> <span class="nb">varint</span><span class="p">,</span>
+    <span class="n">average_size</span> <span class="nb">int</span>
+<span class="p">)</span> <span class="k">WITH</span> <span class="n">comment</span><span class="o">=</span><span class="s1">&#39;Important biological records&#39;</span>
+   <span class="k">AND</span> <span class="n">read_repair_chance</span> <span class="o">=</span> <span class="mf">1.0</span><span class="p">;</span>
+
+<span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">timeline</span> <span class="p">(</span>
+    <span class="n">userid</span> <span class="nb">uuid</span><span class="p">,</span>
+    <span class="n">posted_month</span> <span class="nb">int</span><span class="p">,</span>
+    <span class="n">posted_time</span> <span class="nb">uuid</span><span class="p">,</span>
+    <span class="n">body</span> <span class="nb">text</span><span class="p">,</span>
+    <span class="n">posted_by</span> <span class="nb">text</span><span class="p">,</span>
+    <span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">(</span><span class="n">userid</span><span class="p">,</span> <span class="n">posted_month</span><span class="p">,</span> <span class="n">posted_time</span><span class="p">)</span>
+<span class="p">)</span> <span class="k">WITH</span> <span class="n">compaction</span> <span class="o">=</span> <span class="p">{</span> <span class="s1">&#39;class&#39;</span> <span class="p">:</span> <span class="s1">&#39;LeveledCompactionStrategy&#39;</span> <span class="p">};</span>
+
+<span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">loads</span> <span class="p">(</span>
+    <span class="n">machine</span> <span class="nb">inet</span><span class="p">,</span>
+    <span class="n">cpu</span> <span class="nb">int</span><span class="p">,</span>
+    <span class="n">mtime</span> <span class="nb">timeuuid</span><span class="p">,</span>
+    <span class="n">load</span> <span class="nb">float</span><span class="p">,</span>
+    <span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">((</span><span class="n">machine</span><span class="p">,</span> <span class="n">cpu</span><span class="p">),</span> <span class="n">mtime</span><span class="p">)</span>
+<span class="p">)</span> <span class="k">WITH</span> <span class="k">CLUSTERING</span> <span class="k">ORDER</span> <span class="k">BY</span> <span class="p">(</span><span class="n">mtime</span> <span class="k">DESC</span><span class="p">);</span>
+</pre></div>
+</div>
+<p>A CQL table has a name and is composed of a set of <em>rows</em>. Creating a table amounts to defining which <a class="reference internal" href="#column-definition"><span class="std std-ref">columns</span></a> the rows will be composed, which of those columns compose the <a class="reference internal" href="#primary-key"><span class="std std-ref">primary key</span></a>, as
+well as optional <a class="reference internal" href="#create-table-options"><span class="std std-ref">options</span></a> for the table.</p>
+<p>Attempting to create an already existing table will return an error unless the <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> directive is used. If
+it is used, the statement will be a no-op if the table already exists.</p>
+<div class="section" id="column-definitions">
+<span id="column-definition"></span><h3>Column definitions<a class="headerlink" href="#column-definitions" title="Permalink to this headline">¶</a></h3>
+<p>Every rows in a CQL table has a set of predefined columns defined at the time of the table creation (or added later
+using an <a class="reference internal" href="#alter-table-statement"><span class="std std-ref">alter statement</span></a>).</p>
+<p>A <a class="reference internal" href="#grammar-token-column_definition"><code class="xref std std-token docutils literal notranslate"><span class="pre">column_definition</span></code></a> is primarily comprised of the name of the column defined and it’s <a class="reference internal" href="types.html#data-types"><span class="std std-ref">type</span></a>,
+which restrict which values are accepted for that column. Additionally, a column definition can have the following
+modifiers:</p>
+<dl class="simple">
+<dt><code class="docutils literal notranslate"><span class="pre">STATIC</span></code></dt><dd><p>it declares the column as being a <a class="reference internal" href="#static-columns"><span class="std std-ref">static column</span></a>.</p>
+</dd>
+<dt><code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code></dt><dd><p>it declares the column as being the sole component of the <a class="reference internal" href="#primary-key"><span class="std std-ref">primary key</span></a> of the table.</p>
+</dd>
+</dl>
+<div class="section" id="static-columns">
+<span id="id2"></span><h4>Static columns<a class="headerlink" href="#static-columns" title="Permalink to this headline">¶</a></h4>
+<p>Some columns can be declared as <code class="docutils literal notranslate"><span class="pre">STATIC</span></code> in a table definition. A column that is static will be “shared” by all the
+rows belonging to the same partition (having the same <a class="reference internal" href="#partition-key"><span class="std std-ref">partition key</span></a>). For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">t</span> <span class="p">(</span>
+    <span class="n">pk</span> <span class="nb">int</span><span class="p">,</span>
+    <span class="n">t</span> <span class="nb">int</span><span class="p">,</span>
+    <span class="n">v</span> <span class="nb">text</span><span class="p">,</span>
+    <span class="n">s</span> <span class="nb">text</span> <span class="k">static</span><span class="p">,</span>
+    <span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">(</span><span class="n">pk</span><span class="p">,</span> <span class="n">t</span><span class="p">)</span>
+<span class="p">);</span>
+
+<span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">t</span> <span class="p">(</span><span class="n">pk</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="n">v</span><span class="p">,</span> <span class="n">s</span><span class="p">)</span> <span class="k">VALUES</span> <span class="p">(</span><span class="mf">0</span><span class="p">,</span> <span class="mf">0</span><span class="p">,</span> <span class="s1">&#39;val0&#39;</s [...]
+<span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">t</span> <span class="p">(</span><span class="n">pk</span><span class="p">,</span> <span class="n">t</span><span class="p">,</span> <span class="n">v</span><span class="p">,</span> <span class="n">s</span><span class="p">)</span> <span class="k">VALUES</span> <span class="p">(</span><span class="mf">0</span><span class="p">,</span> <span class="mf">1</span><span class="p">,</span> <span class="s1">&#39;val1&#39;</s [...]
+
+<span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">t</span><span class="p">;</span>
+   <span class="n">pk</span> <span class="o">|</span> <span class="n">t</span> <span class="o">|</span> <span class="n">v</span>      <span class="o">|</span> <span class="n">s</span>
+  <span class="c1">----+---+--------+-----------</span>
+   <span class="mf">0</span>  <span class="o">|</span> <span class="mf">0</span> <span class="o">|</span> <span class="s1">&#39;val0&#39;</span> <span class="o">|</span> <span class="s1">&#39;static1&#39;</span>
+   <span class="mf">0</span>  <span class="o">|</span> <span class="mf">1</span> <span class="o">|</span> <span class="s1">&#39;val1&#39;</span> <span class="o">|</span> <span class="s1">&#39;static1&#39;</span>
+</pre></div>
+</div>
+<p>As can be seen, the <code class="docutils literal notranslate"><span class="pre">s</span></code> value is the same (<code class="docutils literal notranslate"><span class="pre">static1</span></code>) for both of the row in the partition (the partition key in
+that example being <code class="docutils literal notranslate"><span class="pre">pk</span></code>, both rows are in that same partition): the 2nd insertion has overridden the value for <code class="docutils literal notranslate"><span class="pre">s</span></code>.</p>
+<p>The use of static columns as the following restrictions:</p>
+<ul class="simple">
+<li><p>tables with the <code class="docutils literal notranslate"><span class="pre">COMPACT</span> <span class="pre">STORAGE</span></code> option (see below) cannot use them.</p></li>
+<li><p>a table without clustering columns cannot have static columns (in a table without clustering columns, every partition
+has only one row, and so every column is inherently static).</p></li>
+<li><p>only non <code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code> columns can be static.</p></li>
+</ul>
+</div>
+</div>
+<div class="section" id="the-primary-key">
+<span id="primary-key"></span><h3>The Primary key<a class="headerlink" href="#the-primary-key" title="Permalink to this headline">¶</a></h3>
+<p>Within a table, a row is uniquely identified by its <code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code>, and hence all table <strong>must</strong> define a PRIMARY KEY
+(and only one). A <code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code> definition is composed of one or more of the columns defined in the table.
+Syntactically, the primary key is defined the keywords <code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code> followed by comma-separated list of the column
+names composing it within parenthesis, but if the primary key has only one column, one can alternatively follow that
+column definition by the <code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code> keywords. The order of the columns in the primary key definition matter.</p>
+<p>A CQL primary key is composed of 2 parts:</p>
+<ul>
+<li><p>the <a class="reference internal" href="#partition-key"><span class="std std-ref">partition key</span></a> part. It is the first component of the primary key definition. It can be a
+single column or, using additional parenthesis, can be multiple columns. A table always have at least a partition key,
+the smallest possible table definition is:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">t</span> <span class="p">(</span><span class="n">k</span> <span class="nb">text</span> <span class="k">PRIMARY</span> <span class="k">KEY</span><span class="p">);</span>
+</pre></div>
+</div>
+</li>
+<li><p>the <a class="reference internal" href="#clustering-columns"><span class="std std-ref">clustering columns</span></a>. Those are the columns after the first component of the primary key
+definition, and the order of those columns define the <em>clustering order</em>.</p></li>
+</ul>
+<p>Some example of primary key definition are:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span> <span class="pre">(a)</span></code>: <code class="docutils literal notranslate"><span class="pre">a</span></code> is the partition key and there is no clustering columns.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span> <span class="pre">(a,</span> <span class="pre">b,</span> <span class="pre">c)</span></code> : <code class="docutils literal notranslate"><span class="pre">a</span></code> is the partition key and <code class="docutils literal notranslate"><span class="pre">b</span></code> and <code class="docutils literal notranslate"><span class="pre">c</span></code> are the clustering columns [...]
+<li><p><code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span> <span class="pre">((a,</span> <span class="pre">b),</span> <span class="pre">c)</span></code> : <code class="docutils literal notranslate"><span class="pre">a</span></code> and <code class="docutils literal notranslate"><span class="pre">b</span></code> compose the partition key (this is often called a <em>composite</em> partition
+key) and <code class="docutils literal notranslate"><span class="pre">c</span></code> is the clustering column.</p></li>
+</ul>
+<div class="section" id="the-partition-key">
+<span id="partition-key"></span><h4>The partition key<a class="headerlink" href="#the-partition-key" title="Permalink to this headline">¶</a></h4>
+<p>Within a table, CQL defines the notion of a <em>partition</em>. A partition is simply the set of rows that share the same value
+for their partition key. Note that if the partition key is composed of multiple columns, then rows belong to the same
+partition only they have the same values for all those partition key column. So for instance, given the following table
+definition and content:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">t</span> <span class="p">(</span>
+    <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="n">d</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">b</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="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>
+   <span class="n">a</span> <span class="o">|</span> <span class="n">b</span> <span class="o">|</span> <span class="n">c</span> <span class="o">|</span> <span class="n">d</span>
+  <span class="c1">---+---+---+---</span>
+   <span class="mf">0</span> <span class="o">|</span> <span class="mf">0</span> <span class="o">|</span> <span class="mf">0</span> <span class="o">|</span> <span class="mf">0</span>    <span class="c1">// row 1</span>
+   <span class="mf">0</span> <span class="o">|</span> <span class="mf">0</span> <span class="o">|</span> <span class="mf">1</span> <span class="o">|</span> <span class="mf">1</span>    <span class="c1">// row 2</span>
+   <span class="mf">0</span> <span class="o">|</span> <span class="mf">1</span> <span class="o">|</span> <span class="mf">2</span> <span class="o">|</span> <span class="mf">2</span>    <span class="c1">// row 3</span>
+   <span class="mf">0</span> <span class="o">|</span> <span class="mf">1</span> <span class="o">|</span> <span class="mf">3</span> <span class="o">|</span> <span class="mf">3</span>    <span class="c1">// row 4</span>
+   <span class="mf">1</span> <span class="o">|</span> <span class="mf">1</span> <span class="o">|</span> <span class="mf">4</span> <span class="o">|</span> <span class="mf">4</span>    <span class="c1">// row 5</span>
+</pre></div>
+</div>
+<p><code class="docutils literal notranslate"><span class="pre">row</span> <span class="pre">1</span></code> and <code class="docutils literal notranslate"><span class="pre">row</span> <span class="pre">2</span></code> are in the same partition, <code class="docutils literal notranslate"><span class="pre">row</span> <span class="pre">3</span></code> and <code class="docutils literal notranslate"><span class="pre">row</span> <span class="pre">4</span></code> are also in the same partition (but a
+different one) and <code class="docutils literal notranslate"><span class="pre">row</span> <span class="pre">5</span></code> is in yet another partition.</p>
+<p>Note that a table always has a partition key, and that if the table has no <a class="reference internal" href="#clustering-columns"><span class="std std-ref">clustering columns</span></a>, then every partition of that table is only comprised of a single row (since the primary key
+uniquely identifies rows and the primary key is equal to the partition key if there is no clustering columns).</p>
+<p>The most important property of partition is that all the rows belonging to the same partition are guarantee to be stored
+on the same set of replica nodes. In other words, the partition key of a table defines which of the rows will be
+localized together in the Cluster, and it is thus important to choose your partition key wisely so that rows that needs
+to be fetch together are in the same partition (so that querying those rows together require contacting a minimum of
+nodes).</p>
+<p>Please note however that there is a flip-side to this guarantee: as all rows sharing a partition key are guaranteed to
+be stored on the same set of replica node, a partition key that groups too much data can create a hotspot.</p>
+<p>Another useful property of a partition is that when writing data, all the updates belonging to a single partition are
+done <em>atomically</em> and in <em>isolation</em>, which is not the case across partitions.</p>
+<p>The proper choice of the partition key and clustering columns for a table is probably one of the most important aspect
+of data modeling in Cassandra, and it largely impact which queries can be performed, and how efficiently they are.</p>
+</div>
+<div class="section" id="the-clustering-columns">
+<span id="clustering-columns"></span><h4>The clustering columns<a class="headerlink" href="#the-clustering-columns" title="Permalink to this headline">¶</a></h4>
+<p>The clustering columns of a table defines the clustering order for the partition of that table. For a given
+<a class="reference internal" href="#partition-key"><span class="std std-ref">partition</span></a>, all the rows are physically ordered inside Cassandra by that clustering order. For
+instance, given:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">t</span> <span class="p">(</span>
+    <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="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>
+   <span class="n">a</span> <span class="o">|</span> <span class="n">b</span> <span class="o">|</span> <span class="n">c</span>
+  <span class="c1">---+---+---</span>
+   <span class="mf">0</span> <span class="o">|</span> <span class="mf">0</span> <span class="o">|</span> <span class="mf">4</span>     <span class="c1">// row 1</span>
+   <span class="mf">0</span> <span class="o">|</span> <span class="mf">1</span> <span class="o">|</span> <span class="mf">9</span>     <span class="c1">// row 2</span>
+   <span class="mf">0</span> <span class="o">|</span> <span class="mf">2</span> <span class="o">|</span> <span class="mf">2</span>     <span class="c1">// row 3</span>
+   <span class="mf">0</span> <span class="o">|</span> <span class="mf">3</span> <span class="o">|</span> <span class="mf">3</span>     <span class="c1">// row 4</span>
+</pre></div>
+</div>
+<p>then the rows (which all belong to the same partition) are all stored internally in the order of the values of their
+<code class="docutils literal notranslate"><span class="pre">b</span></code> column (the order they are displayed above). So where the partition key of the table allows to group rows on the
+same replica set, the clustering columns controls how those rows are stored on the replica. That sorting allows the
+retrieval of a range of rows within a partition (for instance, in the example above, <code class="docutils literal notranslate"><span class="pre">SELECT</span> <span class="pre">*</span> <span class="pre">FROM</span> <span class="pre">t</span> <span class="pre">WHERE</span> <span class="pre">a</span> <span class="pre">=</span> <span class="pre">0</span> <span class="pre">AND</span> <span class="pre">b</span>
+<span class="pre">&gt;</span> <span class="pre">1</span> <span class="pre">and</span> <span class="pre">b</span> <span class="pre">&lt;=</span> <span class="pre">3</span></code>) to be very efficient.</p>
+</div>
+</div>
+<div class="section" id="table-options">
+<span id="create-table-options"></span><h3>Table options<a class="headerlink" href="#table-options" title="Permalink to this headline">¶</a></h3>
+<p>A CQL table has a number of options that can be set at creation (and, for most of them, <a class="reference internal" href="#alter-table-statement"><span class="std std-ref">altered</span></a> later). These options are specified after the <code class="docutils literal notranslate"><span class="pre">WITH</span></code> keyword.</p>
+<p>Amongst those options, two important ones cannot be changed after creation and influence which queries can be done
+against the table: the <code class="docutils literal notranslate"><span class="pre">COMPACT</span> <span class="pre">STORAGE</span></code> option and the <code class="docutils literal notranslate"><span class="pre">CLUSTERING</span> <span class="pre">ORDER</span></code> option. Those, as well as the other
+options of a table are described in the following sections.</p>
+<div class="section" id="compact-tables">
+<span id="id3"></span><h4>Compact tables<a class="headerlink" href="#compact-tables" title="Permalink to this headline">¶</a></h4>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>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 notranslate"><span class="pre">COMPACT</span>
+<span class="pre">STORAGE</span></code> cannot, as of Cassandra 3.11.10, be removed, it is strongly discouraged to create new table with the
+<code class="docutils literal notranslate"><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 notranslate"><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>
+<ul class="simple">
+<li><p>a compact table cannot use collections nor static columns.</p></li>
+<li><p>if a compact table has at least one clustering column, then it must have <em>exactly</em> one column outside of the primary
+key ones. This imply you cannot add or remove columns after creation in particular.</p></li>
+<li><p>a compact table is limited in the indexes it can create, and no materialized view can be created on it.</p></li>
+</ul>
+</div>
+<div class="section" id="reversing-the-clustering-order">
+<span id="clustering-order"></span><h4>Reversing the clustering order<a class="headerlink" href="#reversing-the-clustering-order" title="Permalink to this headline">¶</a></h4>
+<p>The clustering order of a table is defined by the <a class="reference internal" href="#clustering-columns"><span class="std std-ref">clustering columns</span></a> of that table. By
+default, that ordering is based on natural order of those clustering order, but the <code class="docutils literal notranslate"><span class="pre">CLUSTERING</span> <span class="pre">ORDER</span></code> allows to
+change that clustering order to use the <em>reverse</em> natural order for some (potentially all) of the columns.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">CLUSTERING</span> <span class="pre">ORDER</span></code> option takes the comma-separated list of the clustering column, each with a <code class="docutils literal notranslate"><span class="pre">ASC</span></code> (for
+<em>ascendant</em>, e.g. the natural order) or <code class="docutils literal notranslate"><span class="pre">DESC</span></code> (for <em>descendant</em>, e.g. the reverse natural order). Note in particular
+that the default (if the <code class="docutils literal notranslate"><span class="pre">CLUSTERING</span> <span class="pre">ORDER</span></code> option is not used) is strictly equivalent to using the option with all
+clustering columns using the <code class="docutils literal notranslate"><span class="pre">ASC</span></code> modifier.</p>
+<p>Note that this option is basically a hint for the storage engine to change the order in which it stores the row but it
+has 3 visible consequences:</p>
+<dl class="simple">
+<dt># it limits which <code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span></code> clause are allowed for <a class="reference internal" href="dml.html#select-statement"><span class="std std-ref">selects</span></a> on that table. You can only</dt><dd><p>order results by the clustering order or the reverse clustering order. Meaning that if a table has 2 clustering column
+<code class="docutils literal notranslate"><span class="pre">a</span></code> and <code class="docutils literal notranslate"><span class="pre">b</span></code> and you defined <code class="docutils literal notranslate"><span class="pre">WITH</span> <span class="pre">CLUSTERING</span> <span class="pre">ORDER</span> <span class="pre">(a</span> <span class="pre">DESC,</span> <span class="pre">b</span> <span class="pre">ASC)</span></code>, then in queries you will be allowed to use
+<code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span> <span class="pre">(a</span> <span class="pre">DESC,</span> <span class="pre">b</span> <span class="pre">ASC)</span></code> and (reverse clustering order) <code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span> <span class="pre">(a</span> <span class="pre">ASC,</span> <span class="pre">b</span> <span class="pre">DESC)</span></code> but <strong [...]
+<span class="pre">ASC,</span> <span class="pre">b</span> <span class="pre">ASC)</span></code> (nor <code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span> <span class="pre">(a</span> <span class="pre">DESC,</span> <span class="pre">b</span> <span class="pre">DESC)</span></code>).</p>
+</dd>
+<dt># it also change the default order of results when queried (if no <code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span></code> is provided). Results are always returned</dt><dd><p>in clustering order (within a partition).</p>
+</dd>
+<dt># it has a small performance impact on some queries as queries in reverse clustering order are slower than the one in</dt><dd><p>forward clustering order. In practice, this means that if you plan on querying mostly in the reverse natural order of
+your columns (which is common with time series for instance where you often want data from the newest to the oldest),
+it is an optimization to declare a descending clustering order.</p>
+</dd>
+</dl>
+</div>
+<div class="section" id="other-table-options">
+<span id="create-table-general-options"></span><h4>Other table options<a class="headerlink" href="#other-table-options" title="Permalink to this headline">¶</a></h4>
+<div class="admonition-todo admonition" id="id4">
+<p class="admonition-title">Todo</p>
+<p>review (misses cdc if nothing else) and link to proper categories when appropriate (compaction for instance)</p>
+</div>
+<p>A table supports the following options:</p>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 28%" />
+<col style="width: 9%" />
+<col style="width: 11%" />
+<col style="width: 52%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>option</p></th>
+<th class="head"><p>kind</p></th>
+<th class="head"><p>default</p></th>
+<th class="head"><p>description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">comment</span></code></p></td>
+<td><p><em>simple</em></p></td>
+<td><p>none</p></td>
+<td><p>A free-form, human-readable comment.</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">read_repair_chance</span></code></p></td>
+<td><p><em>simple</em></p></td>
+<td><p>0.1</p></td>
+<td><p>The probability with which to query extra nodes (e.g.
+more nodes than required by the consistency level) for
+the purpose of read repairs.</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">dclocal_read_repair_chance</span></code></p></td>
+<td><p><em>simple</em></p></td>
+<td><p>0</p></td>
+<td><p>The probability with which to query extra nodes (e.g.
+more nodes than required by the consistency level)
+belonging to the same data center than the read
+coordinator for the purpose of read repairs.</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">gc_grace_seconds</span></code></p></td>
+<td><p><em>simple</em></p></td>
+<td><p>864000</p></td>
+<td><p>Time to wait before garbage collecting tombstones
+(deletion markers).</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">bloom_filter_fp_chance</span></code></p></td>
+<td><p><em>simple</em></p></td>
+<td><p>0.00075</p></td>
+<td><p>The target probability of false positive of the sstable
+bloom filters. Said bloom filters will be sized to provide
+the provided probability (thus lowering this value impact
+the size of bloom filters in-memory and on-disk)</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">default_time_to_live</span></code></p></td>
+<td><p><em>simple</em></p></td>
+<td><p>0</p></td>
+<td><p>The default expiration time (“TTL”) in seconds for a
+table.</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">compaction</span></code></p></td>
+<td><p><em>map</em></p></td>
+<td><p><em>see below</em></p></td>
+<td><p><a class="reference internal" href="#cql-compaction-options"><span class="std std-ref">Compaction options</span></a>.</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">compression</span></code></p></td>
+<td><p><em>map</em></p></td>
+<td><p><em>see below</em></p></td>
+<td><p><a class="reference internal" href="#cql-compression-options"><span class="std std-ref">Compression options</span></a>.</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">caching</span></code></p></td>
+<td><p><em>map</em></p></td>
+<td><p><em>see below</em></p></td>
+<td><p><a class="reference internal" href="#cql-caching-options"><span class="std std-ref">Caching options</span></a>.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="section" id="compaction-options">
+<span id="cql-compaction-options"></span><h5>Compaction options<a class="headerlink" href="#compaction-options" title="Permalink to this headline">¶</a></h5>
+<p>The <code class="docutils literal notranslate"><span class="pre">compaction</span></code> options must at least define the <code class="docutils literal notranslate"><span class="pre">'class'</span></code> sub-option, that defines the compaction strategy class
+to use. The default supported class are <code class="docutils literal notranslate"><span class="pre">'SizeTieredCompactionStrategy'</span></code> (<a class="reference internal" href="../operating/compaction.html#stcs"><span class="std std-ref">STCS</span></a>),
+<code class="docutils literal notranslate"><span class="pre">'LeveledCompactionStrategy'</span></code> (<a class="reference internal" href="../operating/compaction.html#lcs"><span class="std std-ref">LCS</span></a>) and <code class="docutils literal notranslate"><span class="pre">'TimeWindowCompactionStrategy'</span></code> (<a class="reference internal" href="../operating/compaction.html#twcs"><span class="std std-ref">TWCS</span></a>) (the
+<code class="docutils literal notranslate"><span class="pre">'DateTieredCompactionStrategy'</span></code> is also supported but is deprecated and <code class="docutils literal notranslate"><span class="pre">'TimeWindowCompactionStrategy'</span></code> should be
+preferred instead). Custom strategy can be provided by specifying the full class name as a <a class="reference internal" href="definitions.html#constants"><span class="std std-ref">string constant</span></a>.</p>
+<p>All default strategies support a number of <a class="reference internal" href="../operating/compaction.html#compaction-options"><span class="std std-ref">common options</span></a>, as well as options specific to
+the strategy chosen (see the section corresponding to your strategy for details: <a class="reference internal" href="../operating/compaction.html#stcs-options"><span class="std std-ref">STCS</span></a>, <a class="reference internal" href="../operating/compaction.html#lcs-options"><span class="std std-ref">LCS</span></a> and <a class="reference internal" href="../operating/compaction.html#twcs"><span class="std std-ref">TWCS</span></a>).</p>
+</div>
+<div class="section" id="compression-options">
+<span id="cql-compression-options"></span><h5>Compression options<a class="headerlink" href="#compression-options" title="Permalink to this headline">¶</a></h5>
+<p>The <code class="docutils literal notranslate"><span class="pre">compression</span></code> options define if and how the sstables of the table are compressed. The following sub-options are
+available:</p>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 21%" />
+<col style="width: 13%" />
+<col style="width: 66%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>Option</p></th>
+<th class="head"><p>Default</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">class</span></code></p></td>
+<td><p>LZ4Compressor</p></td>
+<td><p>The compression algorithm to use. Default compressor are: LZ4Compressor,
+SnappyCompressor and DeflateCompressor. Use <code class="docutils literal notranslate"><span class="pre">'enabled'</span> <span class="pre">:</span> <span class="pre">false</span></code> to disable
+compression. Custom compressor can be provided by specifying the full class
+name as a “string constant”:#constants.</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">enabled</span></code></p></td>
+<td><p>true</p></td>
+<td><p>Enable/disable sstable compression.</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">chunk_length_in_kb</span></code></p></td>
+<td><p>64</p></td>
+<td><p>On disk SSTables are compressed by block (to allow random reads). This
+defines the size (in KB) of said block. Bigger values may improve the
+compression rate, but increases the minimum size of data to be read from disk
+for a read</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">crc_check_chance</span></code></p></td>
+<td><p>1.0</p></td>
+<td><p>When compression is enabled, each compressed block includes a checksum of
+that block for the purpose of detecting disk bitrot and avoiding the
+propagation of corruption to other replica. This option defines the
+probability with which those checksums are checked during read. By default
+they are always checked. Set to 0 to disable checksum checking and to 0.5 for
+instance to check them every other read   |</p></td>
+</tr>
+</tbody>
+</table>
+<p>For instance, to create a table with LZ4Compressor and a chunk_lenth_in_kb of 4KB:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">simple</span> <span class="p">(</span>
+   <span class="n">id</span> <span class="nb">int</span><span class="p">,</span>
+   <span class="k">key</span> <span class="nb">text</span><span class="p">,</span>
+   <span class="n">value</span> <span class="nb">text</span><span class="p">,</span>
+   <span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">(</span><span class="k">key</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
+<span class="p">)</span> <span class="k">with</span> <span class="n">compression</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;class&#39;</span><span class="p">:</span> <span class="s1">&#39;LZ4Compressor&#39;</span><span class="p">,</span> <span class="s1">&#39;chunk_length_in_kb&#39;</span><span class="p">:</span> <span class="mf">4</span><span class="p">};</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="caching-options">
+<span id="cql-caching-options"></span><h5>Caching options<a class="headerlink" href="#caching-options" title="Permalink to this headline">¶</a></h5>
+<p>The <code class="docutils literal notranslate"><span class="pre">caching</span></code> options allows to configure both the <em>key cache</em> and the <em>row cache</em> for the table. The following
+sub-options are available:</p>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 21%" />
+<col style="width: 8%" />
+<col style="width: 72%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>Option</p></th>
+<th class="head"><p>Default</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">keys</span></code></p></td>
+<td><p>ALL</p></td>
+<td><p>Whether to cache keys (“key cache”) for this table. Valid values are: <code class="docutils literal notranslate"><span class="pre">ALL</span></code> and
+<code class="docutils literal notranslate"><span class="pre">NONE</span></code>.</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">rows_per_partition</span></code></p></td>
+<td><p>NONE</p></td>
+<td><p>The amount of rows to cache per partition (“row cache”). If an integer <code class="docutils literal notranslate"><span class="pre">n</span></code> is
+specified, the first <code class="docutils literal notranslate"><span class="pre">n</span></code> queried rows of a partition will be cached. Other
+possible options are <code class="docutils literal notranslate"><span class="pre">ALL</span></code>, to cache all rows of a queried partition, or <code class="docutils literal notranslate"><span class="pre">NONE</span></code>
+to disable row caching.</p></td>
+</tr>
+</tbody>
+</table>
+<p>For instance, to create a table with both a key cache and 10 rows per partition:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">simple</span> <span class="p">(</span>
+<span class="n">id</span> <span class="nb">int</span><span class="p">,</span>
+<span class="k">key</span> <span class="nb">text</span><span class="p">,</span>
+<span class="n">value</span> <span class="nb">text</span><span class="p">,</span>
+<span class="k">PRIMARY</span> <span class="k">KEY</span> <span class="p">(</span><span class="k">key</span><span class="p">,</span> <span class="n">value</span><span class="p">)</span>
+<span class="p">)</span> <span class="k">WITH</span> <span class="n">caching</span> <span class="o">=</span> <span class="p">{</span><span class="s1">&#39;keys&#39;</span><span class="p">:</span> <span class="s1">&#39;ALL&#39;</span><span class="p">,</span> <span class="s1">&#39;rows_per_partition&#39;</span><span class="p">:</span> <span class="mf">10</span><span class="p">};</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="other-considerations">
+<h5>Other considerations:<a class="headerlink" href="#other-considerations" title="Permalink to this headline">¶</a></h5>
+<ul class="simple">
+<li><p>Adding new columns (see <code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> below) is a constant time operation. There is thus no need to try to
+anticipate future usage when creating a table.</p></li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+<div class="section" id="alter-table">
+<span id="alter-table-statement"></span><h2>ALTER TABLE<a class="headerlink" href="#alter-table" title="Permalink to this headline">¶</a></h2>
+<p>Altering an existing table uses the <code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> statement:</p>
+<pre>
+<strong id="grammar-token-alter_table_statement"><span id="grammar-token-alter-table-statement"></span>alter_table_statement  </strong> ::=  ALTER TABLE <a class="reference internal" href="#grammar-token-table_name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a> <a class="reference internal" href="#grammar-token-alter_table_instruction"><code class="xref docutils literal notranslate"><span class="pre">alter_table_instruction</span></code></a>
+<strong id="grammar-token-alter_table_instruction"><span id="grammar-token-alter-table-instruction"></span>alter_table_instruction</strong> ::=  ADD <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> <a class="reference internal" href="types.html#grammar-token-cql_type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a> ( ',' <a class="ref [...]
+                             | DROP <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ( <a class="reference internal" href="#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> )*
+                             | WITH <a class="reference internal" href="#grammar-token-options"><code class="xref docutils literal notranslate"><span class="pre">options</span></code></a>
+</pre>
+<p>For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></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>
+
+<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">&#39;A most excellent and useful table&#39;</span>
+       <span class="k">AND</span> <span class="n">read_repair_chance</span> <span class="o">=</span> <span class="mf">0.2</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">ALTER</span> <span class="pre">TABLE</span></code> statement can:</p>
+<ul class="simple">
+<li><p>Add new column(s) to the table (through the <code class="docutils literal notranslate"><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
+data the cluster contains) time operation.</p></li>
+<li><p>Remove column(s) from the table. This drops both the column and all its content, but note that while the column
+becomes immediately unavailable, its content is only removed lazily during compaction. Please also see the warnings
+below. Due to lazy removal, the altering itself is a constant (in the amount of data removed or contained in the
+cluster) time operation.</p></li>
+<li><p>Change some of the table options (through the <code class="docutils literal notranslate"><span class="pre">WITH</span></code> instruction). The <a class="reference internal" href="#create-table-options"><span class="std std-ref">supported options</span></a> are the same that when creating a table (outside of <code class="docutils literal notranslate"><span class="pre">COMPACT</span> <span class="pre">STORAGE</span></code> and <code class="docutils literal notranslate"><span class= [...]
+<span class="pre">ORDER</span></code> that cannot be changed after creation). Note that setting any <code class="docutils literal notranslate"><span class="pre">compaction</span></code> sub-options has the effect of
+erasing all previous <code class="docutils literal notranslate"><span class="pre">compaction</span></code> options, so you need to re-specify all the sub-options if you want to keep them.
+The same note applies to the set of <code class="docutils literal notranslate"><span class="pre">compression</span></code> sub-options.</p></li>
+</ul>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>Dropping a column assumes that the timestamps used for the value of this column are “real” timestamp in
+microseconds. Using “real” timestamps in microseconds is the default is and is <strong>strongly</strong> recommended but as
+Cassandra allows the client to provide any timestamp on any table it is theoretically possible to use another
+convention. Please be aware that if you do so, dropping a column will not work correctly.</p>
+</div>
+<div class="admonition warning">
+<p class="admonition-title">Warning</p>
+<p>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>
+<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>
+<p>Dropping a table uses the <code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">TABLE</span></code> statement:</p>
+<pre>
+<strong id="grammar-token-drop_table_statement"><span id="grammar-token-drop-table-statement"></span>drop_table_statement</strong> ::=  DROP TABLE [ IF EXISTS ] <a class="reference internal" href="#grammar-token-table_name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a>
+</pre>
+<p>Dropping a table results in the immediate, irreversible removal of the table, including all data it contains.</p>
+<p>If the table does not exist, the statement will return an error, unless <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">EXISTS</span></code> is used in which case the
+operation is a no-op.</p>
+</div>
+<div class="section" id="truncate">
+<span id="truncate-statement"></span><h2>TRUNCATE<a class="headerlink" href="#truncate" title="Permalink to this headline">¶</a></h2>
+<p>A table can be truncated using the <code class="docutils literal notranslate"><span class="pre">TRUNCATE</span></code> statement:</p>
+<pre>
+<strong id="grammar-token-truncate_statement"><span id="grammar-token-truncate-statement"></span>truncate_statement</strong> ::=  TRUNCATE [ TABLE ] <a class="reference internal" href="#grammar-token-table_name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a>
+</pre>
+<p>Note that <code class="docutils literal notranslate"><span class="pre">TRUNCATE</span> <span class="pre">TABLE</span> <span class="pre">foo</span></code> is allowed for consistency with other DDL statements but tables are the only object
+that can be truncated currently and so the <code class="docutils literal notranslate"><span class="pre">TABLE</span></code> keyword can be omitted.</p>
+<p>Truncating a table permanently removes all existing data from the table, but without removing the table itself.</p>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+        <a href="dml.html" class="btn btn-neutral float-right" title="Data Manipulation" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="types.html" class="btn btn-neutral float-left" title="Data Types" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 2016, The Apache Cassandra team.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/doc/3.11.10/cql/definitions.html b/content/doc/3.11.10/cql/definitions.html
new file mode 100644
index 0000000..b9fef42
--- /dev/null
+++ b/content/doc/3.11.10/cql/definitions.html
@@ -0,0 +1,435 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Definitions &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Data Types" href="types.html" />
+    <link rel="prev" title="The Cassandra Query Language (CQL)" href="index.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Apache Cassandra
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                3.11.10
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">The Cassandra Query Language (CQL)</a><ul class="current">
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Definitions</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#conventions">Conventions</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#identifiers">Identifiers and keywords</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#constants">Constants</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#terms">Terms</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#comments">Comments</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#statements">Statements</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#prepared-statements">Prepared Statements</a></li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dml.html">Data Manipulation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="indexes.html">Secondary Indexes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li>
+<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
+<li class="toctree-l2"><a class="reference internal" href="functions.html">Functions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="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"><a class="reference internal" href="changes.html">Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</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>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Apache Cassandra</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+          <li><a href="index.html">The Cassandra Query Language (CQL)</a> &raquo;</li>
+        
+      <li>Definitions</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="../_sources/cql/definitions.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="definitions">
+<h1>Definitions<a class="headerlink" href="#definitions" title="Permalink to this headline">¶</a></h1>
+<div class="section" id="conventions">
+<span id="id1"></span><h2>Conventions<a class="headerlink" href="#conventions" title="Permalink to this headline">¶</a></h2>
+<p>To aid in specifying the CQL syntax, we will use the following conventions in this document:</p>
+<ul class="simple">
+<li><p>Language rules will be given in an informal <a class="reference external" href="http://en.wikipedia.org/wiki/Backus%E2%80%93Naur_Form#Variants">BNF variant</a> notation. In particular, we’ll use square brakets
+(<code class="docutils literal notranslate"><span class="pre">[</span> <span class="pre">item</span> <span class="pre">]</span></code>) for optional items, <code class="docutils literal notranslate"><span class="pre">*</span></code> and <code class="docutils literal notranslate"><span class="pre">+</span></code> for repeated items (where <code class="docutils literal notranslate"><span class="pre">+</span></code> imply at least one).</p></li>
+<li><p>The grammar will also use the following convention for convenience: non-terminal term will be lowercase (and link to
+their definition) while terminal keywords will be provided “all caps”. Note however that keywords are
+<a class="reference internal" href="#identifiers"><span class="std std-ref">Identifiers and keywords</span></a> and are thus case insensitive in practice. We will also define some early construction using
+regexp, which we’ll indicate with <code class="docutils literal notranslate"><span class="pre">re(&lt;some</span> <span class="pre">regular</span> <span class="pre">expression&gt;)</span></code>.</p></li>
+<li><p>The grammar is provided for documentation purposes and leave some minor details out.  For instance, the comma on the
+last column definition in a <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">TABLE</span></code> statement is optional but supported if present even though the grammar in
+this document suggests otherwise. Also, not everything accepted by the grammar is necessarily valid CQL.</p></li>
+<li><p>References to keywords or pieces of CQL code in running text will be shown in a <code class="docutils literal notranslate"><span class="pre">fixed-width</span> <span class="pre">font</span></code>.</p></li>
+</ul>
+</div>
+<div class="section" id="identifiers">
+<span id="identifiers-and-keywords"></span><h2>Identifiers and keywords<a class="headerlink" href="#identifiers" title="Permalink to this headline">¶</a></h2>
+<p>The CQL language uses <em>identifiers</em> (or <em>names</em>) to identify tables, columns and other objects. An identifier is a token
+matching the regular expression <code class="docutils literal notranslate"><span class="pre">[a-zA-Z][a-zA-Z0-9_]*</span></code>.</p>
+<p>A number of such identifiers, like <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> or <code class="docutils literal notranslate"><span class="pre">WITH</span></code>, are <em>keywords</em>. They have a fixed meaning for the language
+and most are reserved. The list of those keywords can be found in <a class="reference internal" href="appendices.html#appendix-a"><span class="std std-ref">Appendix A: CQL Keywords</span></a>.</p>
+<p>Identifiers and (unquoted) keywords are case insensitive. Thus <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> is the same than <code class="docutils literal notranslate"><span class="pre">select</span></code> or <code class="docutils literal notranslate"><span class="pre">sElEcT</span></code>, and
+<code class="docutils literal notranslate"><span class="pre">myId</span></code> is the same than <code class="docutils literal notranslate"><span class="pre">myid</span></code> or <code class="docutils literal notranslate"><span class="pre">MYID</span></code>. A convention often used (in particular by the samples of this
+documentation) is to use upper case for keywords and lower case for other identifiers.</p>
+<p>There is a second kind of identifiers called <em>quoted identifiers</em> defined by enclosing an arbitrary sequence of
+characters (non empty) in double-quotes(<code class="docutils literal notranslate"><span class="pre">&quot;</span></code>). Quoted identifiers are never keywords. Thus <code class="docutils literal notranslate"><span class="pre">&quot;select&quot;</span></code> is not a
+reserved keyword and can be used to refer to a column (note that using this is particularly advised), while <code class="docutils literal notranslate"><span class="pre">select</span></code>
+would raise a parsing error. Also, contrarily to unquoted identifiers and keywords, quoted identifiers are case
+sensitive (<code class="docutils literal notranslate"><span class="pre">&quot;My</span> <span class="pre">Quoted</span> <span class="pre">Id&quot;</span></code> is <em>different</em> from <code class="docutils literal notranslate"><span class="pre">&quot;my</span> <span class="pre">quoted</span> <span class="pre">id&quot;</span></code>). A fully lowercase quoted identifier that matches
+<code class="docutils literal notranslate"><span class="pre">[a-zA-Z][a-zA-Z0-9_]*</span></code> is however <em>equivalent</em> to the unquoted identifier obtained by removing the double-quote (so
+<code class="docutils literal notranslate"><span class="pre">&quot;myid&quot;</span></code> is equivalent to <code class="docutils literal notranslate"><span class="pre">myid</span></code> and to <code class="docutils literal notranslate"><span class="pre">myId</span></code> but different from <code class="docutils literal notranslate"><span class="pre">&quot;myId&quot;</span></code>).  Inside a quoted identifier, the
+double-quote character can be repeated to escape it, so <code class="docutils literal notranslate"><span class="pre">&quot;foo</span> <span class="pre">&quot;&quot;</span> <span class="pre">bar&quot;</span></code> is a valid identifier.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p><em>quoted identifiers</em> allows to declare columns with arbitrary names, and those can sometime clash with
+specific names used by the server. For instance, when using conditional update, the server will respond with a
+result-set containing a special result named <code class="docutils literal notranslate"><span class="pre">&quot;[applied]&quot;</span></code>. If you’ve declared a column with such a name, this
+could potentially confuse some tools and should be avoided. In general, unquoted identifiers should be preferred but
+if you use quoted identifiers, it is strongly advised to avoid any name enclosed by squared brackets (like
+<code class="docutils literal notranslate"><span class="pre">&quot;[applied]&quot;</span></code>) and any name that looks like a function call (like <code class="docutils literal notranslate"><span class="pre">&quot;f(x)&quot;</span></code>).</p>
+</div>
+<p>More formally, we have:</p>
+<pre>
+<strong id="grammar-token-identifier">identifier         </strong> ::=  <a class="reference internal" href="#grammar-token-unquoted_identifier"><code class="xref docutils literal notranslate"><span class="pre">unquoted_identifier</span></code></a> | <a class="reference internal" href="#grammar-token-quoted_identifier"><code class="xref docutils literal notranslate"><span class="pre">quoted_identifier</span></code></a>
+<strong id="grammar-token-unquoted_identifier"><span id="grammar-token-unquoted-identifier"></span>unquoted_identifier</strong> ::=  re('[a-zA-Z][a-zA-Z0-9_]*')
+<strong id="grammar-token-quoted_identifier"><span id="grammar-token-quoted-identifier"></span>quoted_identifier  </strong> ::=  '&quot;' (any character where &quot; can appear if doubled)+ '&quot;'
+</pre>
+</div>
+<div class="section" id="constants">
+<span id="id2"></span><h2>Constants<a class="headerlink" href="#constants" title="Permalink to this headline">¶</a></h2>
+<p>CQL defines the following kind of <em>constants</em>:</p>
+<pre>
+<strong id="grammar-token-constant">constant</strong> ::=  <a class="reference internal" href="#grammar-token-string"><code class="xref docutils literal notranslate"><span class="pre">string</span></code></a> | <a class="reference internal" href="#grammar-token-integer"><code class="xref docutils literal notranslate"><span class="pre">integer</span></code></a> | <a class="reference internal" href="#grammar-token-float"><code class="xref docutils literal notranslate"><span class="pre">flo [...]
+<strong id="grammar-token-string">string  </strong> ::=  '\'' (any character where ' can appear if doubled)+ '\''
+              '$$' (any character other than '$$') '$$'
+<strong id="grammar-token-integer">integer </strong> ::=  re('-?[0-9]+')
+<strong id="grammar-token-float">float   </strong> ::=  re('-?[0-9]+(\.[0-9]*)?([eE][+-]?[0-9+])?') | NAN | INFINITY
+<strong id="grammar-token-boolean">boolean </strong> ::=  TRUE | FALSE
+<strong id="grammar-token-uuid">uuid    </strong> ::=  <a class="reference internal" href="#grammar-token-hex"><code class="xref docutils literal notranslate"><span class="pre">hex</span></code></a>{8}-<a class="reference internal" href="#grammar-token-hex"><code class="xref docutils literal notranslate"><span class="pre">hex</span></code></a>{4}-<a class="reference internal" href="#grammar-token-hex"><code class="xref docutils literal notranslate"><span class="pre">hex</span></code></a> [...]
+<strong id="grammar-token-hex">hex     </strong> ::=  re(&quot;[0-9a-fA-F]&quot;)
+<strong id="grammar-token-blob">blob    </strong> ::=  '0' ('x' | 'X') <a class="reference internal" href="#grammar-token-hex"><code class="xref docutils literal notranslate"><span class="pre">hex</span></code></a>+
+</pre>
+<p>In other words:</p>
+<ul class="simple">
+<li><p>A string constant is an arbitrary sequence of characters enclosed by single-quote(<code class="docutils literal notranslate"><span class="pre">'</span></code>). A single-quote
+can be included by repeating it, e.g. <code class="docutils literal notranslate"><span class="pre">'It''s</span> <span class="pre">raining</span> <span class="pre">today'</span></code>. Those are not to be confused with quoted
+<a class="reference internal" href="#identifiers"><span class="std std-ref">Identifiers and keywords</span></a> that use double-quotes. Alternatively, a string can be defined by enclosing the arbitrary sequence
+of characters by two dollar characters, in which case single-quote can be used without escaping (<code class="docutils literal notranslate"><span class="pre">$$It's</span> <span class="pre">raining</span>
+<span class="pre">today$$</span></code>). That latter form is often used when defining <a class="reference internal" href="functions.html#udfs"><span class="std std-ref">user-defined functions</span></a> to avoid having to
+escape single-quote characters in function body (as they are more likely to occur than <code class="docutils literal notranslate"><span class="pre">$$</span></code>).</p></li>
+<li><p>Integer, float and boolean constant are defined as expected. Note however than float allows the special <code class="docutils literal notranslate"><span class="pre">NaN</span></code> and
+<code class="docutils literal notranslate"><span class="pre">Infinity</span></code> constants.</p></li>
+<li><p>CQL supports <a class="reference external" href="https://en.wikipedia.org/wiki/Universally_unique_identifier">UUID</a> constants.</p></li>
+<li><p>Blobs content are provided in hexadecimal and prefixed by <code class="docutils literal notranslate"><span class="pre">0x</span></code>.</p></li>
+<li><p>The special <code class="docutils literal notranslate"><span class="pre">NULL</span></code> constant denotes the absence of value.</p></li>
+</ul>
+<p>For how these constants are typed, see the <a class="reference internal" href="types.html#data-types"><span class="std std-ref">Data Types</span></a> section.</p>
+</div>
+<div class="section" id="terms">
+<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 notranslate"><span class="pre">constant</span></code></a> | <a class="reference internal" href="#grammar-token-literal"><code class="xref docutils literal notranslate"><span class="pre">literal</span></code></a> | <a class="reference internal" href="#grammar-token-function_call"><code class="xref docutils literal notranslate"><span cl [...]
+<strong id="grammar-token-literal">literal      </strong> ::=  <a class="reference internal" href="types.html#grammar-token-collection_literal"><code class="xref docutils literal notranslate"><span class="pre">collection_literal</span></code></a> | <a class="reference internal" href="types.html#grammar-token-udt_literal"><code class="xref docutils literal notranslate"><span class="pre">udt_literal</span></code></a> | <a class="reference internal" href="types.html#grammar-token-tuple_lite [...]
+<strong id="grammar-token-function_call"><span id="grammar-token-function-call"></span>function_call</strong> ::=  <a class="reference internal" href="#grammar-token-identifier"><code class="xref docutils literal notranslate"><span class="pre">identifier</span></code></a> '(' [ <a class="reference internal" href="#grammar-token-term"><code class="xref docutils literal notranslate"><span class="pre">term</span></code></a> (',' <a class="reference internal" href="#grammar-token-term"><code [...]
+<strong id="grammar-token-type_hint"><span id="grammar-token-type-hint"></span>type_hint    </strong> ::=  '(' <a class="reference internal" href="types.html#grammar-token-cql_type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a> `)` term
+<strong id="grammar-token-bind_marker"><span id="grammar-token-bind-marker"></span>bind_marker  </strong> ::=  '?' | ':' <a class="reference internal" href="#grammar-token-identifier"><code class="xref docutils literal notranslate"><span class="pre">identifier</span></code></a>
+</pre>
+<p>A term is thus one of:</p>
+<ul class="simple">
+<li><p>A <a class="reference internal" href="#constants"><span class="std std-ref">constant</span></a>.</p></li>
+<li><p>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).</p></li>
+<li><p>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>.</p></li>
+<li><p>A <em>type hint</em>: see the <span class="xref std std-ref">related section</span> for details.</p></li>
+<li><p>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 notranslate"><span class="pre">?</span></code>) or named (<code class="docutils literal notranslate"><span class="pre">:some_name</span></code>). The latter form provides a more
+convenient way to refer to the variable for binding it and should generally be preferred.</p></li>
+</ul>
+</div>
+<div class="section" id="comments">
+<h2>Comments<a class="headerlink" href="#comments" title="Permalink to this headline">¶</a></h2>
+<p>A comment in CQL is a line beginning by either double dashes (<code class="docutils literal notranslate"><span class="pre">--</span></code>) or double slash (<code class="docutils literal notranslate"><span class="pre">//</span></code>).</p>
+<p>Multi-line comments are also supported through enclosure within <code class="docutils literal notranslate"><span class="pre">/*</span></code> and <code class="docutils literal notranslate"><span class="pre">*/</span></code> (but nesting is not supported).</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="c1">-- This is a comment</span>
+<span class="c1">// This is a comment too</span>
+<span class="cm">/* This is</span>
+<span class="cm">   a multi-line comment */</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="statements">
+<h2>Statements<a class="headerlink" href="#statements" title="Permalink to this headline">¶</a></h2>
+<p>CQL consists of statements that can be divided in the following categories:</p>
+<ul class="simple">
+<li><p><a class="reference internal" href="ddl.html#data-definition"><span class="std std-ref">Data Definition</span></a> statements, to define and change how the data is stored (keyspaces and tables).</p></li>
+<li><p><a class="reference internal" href="dml.html#data-manipulation"><span class="std std-ref">Data Manipulation</span></a> statements, for selecting, inserting and deleting data.</p></li>
+<li><p><a class="reference internal" href="indexes.html#secondary-indexes"><span class="std std-ref">Secondary Indexes</span></a> statements.</p></li>
+<li><p><a class="reference internal" href="mvs.html#materialized-views"><span class="std std-ref">Materialized Views</span></a> statements.</p></li>
+<li><p><a class="reference internal" href="security.html#cql-roles"><span class="std std-ref">Database Roles</span></a> statements.</p></li>
+<li><p><a class="reference internal" href="security.html#cql-permissions"><span class="std std-ref">Permissions</span></a> statements.</p></li>
+<li><p><a class="reference internal" href="functions.html#udfs"><span class="std std-ref">User-Defined Functions</span></a> statements.</p></li>
+<li><p><a class="reference internal" href="types.html#udts"><span class="std std-ref">User-Defined Types</span></a> statements.</p></li>
+<li><p><a class="reference internal" href="triggers.html#cql-triggers"><span class="std std-ref">Triggers</span></a> statements.</p></li>
+</ul>
+<p>All the statements are listed below and are described in the rest of this documentation (see links above):</p>
+<pre>
+<strong id="grammar-token-cql_statement"><span id="grammar-token-cql-statement"></span>cql_statement               </strong> ::=  <a class="reference internal" href="#grammar-token-statement"><code class="xref docutils literal notranslate"><span class="pre">statement</span></code></a> [ ';' ]
+<strong id="grammar-token-statement">statement                   </strong> ::=  <a class="reference internal" href="#grammar-token-ddl_statement"><code class="xref docutils literal notranslate"><span class="pre">ddl_statement</span></code></a>
+                                  | <a class="reference internal" href="#grammar-token-dml_statement"><code class="xref docutils literal notranslate"><span class="pre">dml_statement</span></code></a>
+                                  | <a class="reference internal" href="#grammar-token-secondary_index_statement"><code class="xref docutils literal notranslate"><span class="pre">secondary_index_statement</span></code></a>
+                                  | <a class="reference internal" href="#grammar-token-materialized_view_statement"><code class="xref docutils literal notranslate"><span class="pre">materialized_view_statement</span></code></a>
+                                  | <a class="reference internal" href="#grammar-token-role_or_permission_statement"><code class="xref docutils literal notranslate"><span class="pre">role_or_permission_statement</span></code></a>
+                                  | <a class="reference internal" href="#grammar-token-udf_statement"><code class="xref docutils literal notranslate"><span class="pre">udf_statement</span></code></a>
+                                  | <a class="reference internal" href="#grammar-token-udt_statement"><code class="xref docutils literal notranslate"><span class="pre">udt_statement</span></code></a>
+                                  | <a class="reference internal" href="#grammar-token-trigger_statement"><code class="xref docutils literal notranslate"><span class="pre">trigger_statement</span></code></a>
+<strong id="grammar-token-ddl_statement"><span id="grammar-token-ddl-statement"></span>ddl_statement               </strong> ::=  <a class="reference internal" href="ddl.html#grammar-token-use_statement"><code class="xref docutils literal notranslate"><span class="pre">use_statement</span></code></a>
+                                  | <a class="reference internal" href="ddl.html#grammar-token-create_keyspace_statement"><code class="xref docutils literal notranslate"><span class="pre">create_keyspace_statement</span></code></a>
+                                  | <a class="reference internal" href="ddl.html#grammar-token-alter_keyspace_statement"><code class="xref docutils literal notranslate"><span class="pre">alter_keyspace_statement</span></code></a>
+                                  | <a class="reference internal" href="ddl.html#grammar-token-drop_keyspace_statement"><code class="xref docutils literal notranslate"><span class="pre">drop_keyspace_statement</span></code></a>
+                                  | <a class="reference internal" href="ddl.html#grammar-token-create_table_statement"><code class="xref docutils literal notranslate"><span class="pre">create_table_statement</span></code></a>
+                                  | <a class="reference internal" href="ddl.html#grammar-token-alter_table_statement"><code class="xref docutils literal notranslate"><span class="pre">alter_table_statement</span></code></a>
+                                  | <a class="reference internal" href="ddl.html#grammar-token-drop_table_statement"><code class="xref docutils literal notranslate"><span class="pre">drop_table_statement</span></code></a>
+                                  | <a class="reference internal" href="ddl.html#grammar-token-truncate_statement"><code class="xref docutils literal notranslate"><span class="pre">truncate_statement</span></code></a>
+<strong id="grammar-token-dml_statement"><span id="grammar-token-dml-statement"></span>dml_statement               </strong> ::=  <a class="reference internal" href="dml.html#grammar-token-select_statement"><code class="xref docutils literal notranslate"><span class="pre">select_statement</span></code></a>
+                                  | <a class="reference internal" href="dml.html#grammar-token-insert_statement"><code class="xref docutils literal notranslate"><span class="pre">insert_statement</span></code></a>
+                                  | <a class="reference internal" href="dml.html#grammar-token-update_statement"><code class="xref docutils literal notranslate"><span class="pre">update_statement</span></code></a>
+                                  | <a class="reference internal" href="dml.html#grammar-token-delete_statement"><code class="xref docutils literal notranslate"><span class="pre">delete_statement</span></code></a>
+                                  | <a class="reference internal" href="dml.html#grammar-token-batch_statement"><code class="xref docutils literal notranslate"><span class="pre">batch_statement</span></code></a>
+<strong id="grammar-token-secondary_index_statement"><span id="grammar-token-secondary-index-statement"></span>secondary_index_statement   </strong> ::=  <a class="reference internal" href="indexes.html#grammar-token-create_index_statement"><code class="xref docutils literal notranslate"><span class="pre">create_index_statement</span></code></a>
+                                  | <a class="reference internal" href="indexes.html#grammar-token-drop_index_statement"><code class="xref docutils literal notranslate"><span class="pre">drop_index_statement</span></code></a>
+<strong id="grammar-token-materialized_view_statement"><span id="grammar-token-materialized-view-statement"></span>materialized_view_statement </strong> ::=  <a class="reference internal" href="mvs.html#grammar-token-create_materialized_view_statement"><code class="xref docutils literal notranslate"><span class="pre">create_materialized_view_statement</span></code></a>
+                                  | <a class="reference internal" href="mvs.html#grammar-token-drop_materialized_view_statement"><code class="xref docutils literal notranslate"><span class="pre">drop_materialized_view_statement</span></code></a>
+<strong id="grammar-token-role_or_permission_statement"><span id="grammar-token-role-or-permission-statement"></span>role_or_permission_statement</strong> ::=  <a class="reference internal" href="security.html#grammar-token-create_role_statement"><code class="xref docutils literal notranslate"><span class="pre">create_role_statement</span></code></a>
+                                  | <a class="reference internal" href="security.html#grammar-token-alter_role_statement"><code class="xref docutils literal notranslate"><span class="pre">alter_role_statement</span></code></a>
+                                  | <a class="reference internal" href="security.html#grammar-token-drop_role_statement"><code class="xref docutils literal notranslate"><span class="pre">drop_role_statement</span></code></a>
+                                  | <a class="reference internal" href="security.html#grammar-token-grant_role_statement"><code class="xref docutils literal notranslate"><span class="pre">grant_role_statement</span></code></a>
+                                  | <a class="reference internal" href="security.html#grammar-token-revoke_role_statement"><code class="xref docutils literal notranslate"><span class="pre">revoke_role_statement</span></code></a>
+                                  | <a class="reference internal" href="security.html#grammar-token-list_roles_statement"><code class="xref docutils literal notranslate"><span class="pre">list_roles_statement</span></code></a>
+                                  | <a class="reference internal" href="security.html#grammar-token-grant_permission_statement"><code class="xref docutils literal notranslate"><span class="pre">grant_permission_statement</span></code></a>
+                                  | <a class="reference internal" href="security.html#grammar-token-revoke_permission_statement"><code class="xref docutils literal notranslate"><span class="pre">revoke_permission_statement</span></code></a>
+                                  | <a class="reference internal" href="security.html#grammar-token-list_permissions_statement"><code class="xref docutils literal notranslate"><span class="pre">list_permissions_statement</span></code></a>
+                                  | <a class="reference internal" href="security.html#grammar-token-create_user_statement"><code class="xref docutils literal notranslate"><span class="pre">create_user_statement</span></code></a>
+                                  | <a class="reference internal" href="security.html#grammar-token-alter_user_statement"><code class="xref docutils literal notranslate"><span class="pre">alter_user_statement</span></code></a>
+                                  | <a class="reference internal" href="security.html#grammar-token-drop_user_statement"><code class="xref docutils literal notranslate"><span class="pre">drop_user_statement</span></code></a>
+                                  | <a class="reference internal" href="security.html#grammar-token-list_users_statement"><code class="xref docutils literal notranslate"><span class="pre">list_users_statement</span></code></a>
+<strong id="grammar-token-udf_statement"><span id="grammar-token-udf-statement"></span>udf_statement               </strong> ::=  <a class="reference internal" href="functions.html#grammar-token-create_function_statement"><code class="xref docutils literal notranslate"><span class="pre">create_function_statement</span></code></a>
+                                  | <a class="reference internal" href="functions.html#grammar-token-drop_function_statement"><code class="xref docutils literal notranslate"><span class="pre">drop_function_statement</span></code></a>
+                                  | <a class="reference internal" href="functions.html#grammar-token-create_aggregate_statement"><code class="xref docutils literal notranslate"><span class="pre">create_aggregate_statement</span></code></a>
+                                  | <a class="reference internal" href="functions.html#grammar-token-drop_aggregate_statement"><code class="xref docutils literal notranslate"><span class="pre">drop_aggregate_statement</span></code></a>
+<strong id="grammar-token-udt_statement"><span id="grammar-token-udt-statement"></span>udt_statement               </strong> ::=  <a class="reference internal" href="types.html#grammar-token-create_type_statement"><code class="xref docutils literal notranslate"><span class="pre">create_type_statement</span></code></a>
+                                  | <a class="reference internal" href="types.html#grammar-token-alter_type_statement"><code class="xref docutils literal notranslate"><span class="pre">alter_type_statement</span></code></a>
+                                  | <a class="reference internal" href="types.html#grammar-token-drop_type_statement"><code class="xref docutils literal notranslate"><span class="pre">drop_type_statement</span></code></a>
+<strong id="grammar-token-trigger_statement"><span id="grammar-token-trigger-statement"></span>trigger_statement           </strong> ::=  <a class="reference internal" href="triggers.html#grammar-token-create_trigger_statement"><code class="xref docutils literal notranslate"><span class="pre">create_trigger_statement</span></code></a>
+                                  | <a class="reference internal" href="triggers.html#grammar-token-drop_trigger_statement"><code class="xref docutils literal notranslate"><span class="pre">drop_trigger_statement</span></code></a>
+</pre>
+</div>
+<div class="section" id="prepared-statements">
+<span id="id3"></span><h2>Prepared Statements<a class="headerlink" href="#prepared-statements" title="Permalink to this headline">¶</a></h2>
+<p>CQL supports <em>prepared statements</em>. Prepared statements are an optimization that allows to parse a query only once but
+execute it multiple times with different concrete values.</p>
+<p>Any statement that uses at least one bind marker (see <a class="reference internal" href="#grammar-token-bind_marker"><code class="xref std std-token docutils literal notranslate"><span class="pre">bind_marker</span></code></a>) will need to be <em>prepared</em>. After which the statement
+can be <em>executed</em> by provided concrete values for each of its marker. The exact details of how a statement is prepared
+and then executed depends on the CQL driver used and you should refer to your driver documentation.</p>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+        <a href="types.html" class="btn btn-neutral float-right" title="Data Types" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="index.html" class="btn btn-neutral float-left" title="The Cassandra Query Language (CQL)" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 2016, The Apache Cassandra team.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/doc/3.11.10/cql/dml.html b/content/doc/3.11.10/cql/dml.html
new file mode 100644
index 0000000..9c55341
--- /dev/null
+++ b/content/doc/3.11.10/cql/dml.html
@@ -0,0 +1,696 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Data Manipulation &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Secondary Indexes" href="indexes.html" />
+    <link rel="prev" title="Data Definition" href="ddl.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Apache Cassandra
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                3.11.10
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">The Cassandra Query Language (CQL)</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="definitions.html">Definitions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Data Manipulation</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#select">SELECT</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#selection-clause">Selection clause</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#the-where-clause">The <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> clause</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#grouping-results">Grouping results</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#ordering-results">Ordering results</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#limiting-results">Limiting results</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#allowing-filtering">Allowing filtering</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#insert">INSERT</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#update">UPDATE</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#update-parameters">Update parameters</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#delete">DELETE</a></li>
+<li class="toctree-l3"><a class="reference internal" href="#batch">BATCH</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#unlogged-batches"><code class="docutils literal notranslate"><span class="pre">UNLOGGED</span></code> batches</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#counter-batches"><code class="docutils literal notranslate"><span class="pre">COUNTER</span></code> batches</a></li>
+</ul>
+</li>
+</ul>
+</li>
+<li class="toctree-l2"><a class="reference internal" href="indexes.html">Secondary Indexes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li>
+<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
+<li class="toctree-l2"><a class="reference internal" href="functions.html">Functions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="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"><a class="reference internal" href="changes.html">Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</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>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Apache Cassandra</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+          <li><a href="index.html">The Cassandra Query Language (CQL)</a> &raquo;</li>
+        
+      <li>Data Manipulation</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="../_sources/cql/dml.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="data-manipulation">
+<span id="id1"></span><h1>Data Manipulation<a class="headerlink" href="#data-manipulation" title="Permalink to this headline">¶</a></h1>
+<p>This section describes the statements supported by CQL to insert, update, delete and query data.</p>
+<div class="section" id="select">
+<span id="select-statement"></span><h2>SELECT<a class="headerlink" href="#select" title="Permalink to this headline">¶</a></h2>
+<p>Querying data from data is done using a <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement:</p>
+<pre>
+<strong id="grammar-token-select_statement"><span id="grammar-token-select-statement"></span>select_statement</strong> ::=  SELECT [ JSON | DISTINCT ] ( <a class="reference internal" href="#grammar-token-select_clause"><code class="xref docutils literal notranslate"><span class="pre">select_clause</span></code></a> | '*' )
+                      FROM <a class="reference internal" href="ddl.html#grammar-token-table_name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a>
+                      [ WHERE <a class="reference internal" href="#grammar-token-where_clause"><code class="xref docutils literal notranslate"><span class="pre">where_clause</span></code></a> ]
+                      [ GROUP BY <a class="reference internal" href="#grammar-token-group_by_clause"><code class="xref docutils literal notranslate"><span class="pre">group_by_clause</span></code></a> ]
+                      [ ORDER BY <a class="reference internal" href="#grammar-token-ordering_clause"><code class="xref docutils literal notranslate"><span class="pre">ordering_clause</span></code></a> ]
+                      [ PER PARTITION LIMIT (<a class="reference internal" href="definitions.html#grammar-token-integer"><code class="xref docutils literal notranslate"><span class="pre">integer</span></code></a> | <a class="reference internal" href="definitions.html#grammar-token-bind_marker"><code class="xref docutils literal notranslate"><span class="pre">bind_marker</span></code></a>) ]
+                      [ LIMIT (<a class="reference internal" href="definitions.html#grammar-token-integer"><code class="xref docutils literal notranslate"><span class="pre">integer</span></code></a> | <a class="reference internal" href="definitions.html#grammar-token-bind_marker"><code class="xref docutils literal notranslate"><span class="pre">bind_marker</span></code></a>) ]
+                      [ ALLOW FILTERING ]
+<strong id="grammar-token-select_clause"><span id="grammar-token-select-clause"></span>select_clause   </strong> ::=  <a class="reference internal" href="#grammar-token-selector"><code class="xref docutils literal notranslate"><span class="pre">selector</span></code></a> [ AS <a class="reference internal" href="definitions.html#grammar-token-identifier"><code class="xref docutils literal notranslate"><span class="pre">identifier</span></code></a> ] ( ',' <a class="reference internal" hre [...]
+<strong id="grammar-token-selector">selector        </strong> ::=  <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a>
+                      | <a class="reference internal" href="definitions.html#grammar-token-term"><code class="xref docutils literal notranslate"><span class="pre">term</span></code></a>
+                      | CAST '(' <a class="reference internal" href="#grammar-token-selector"><code class="xref docutils literal notranslate"><span class="pre">selector</span></code></a> AS <a class="reference internal" href="types.html#grammar-token-cql_type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a> ')'
+                      | <a class="reference internal" href="functions.html#grammar-token-function_name"><code class="xref docutils literal notranslate"><span class="pre">function_name</span></code></a> '(' [ <a class="reference internal" href="#grammar-token-selector"><code class="xref docutils literal notranslate"><span class="pre">selector</span></code></a> ( ',' <a class="reference internal" href="#grammar-token-selector"><code class="xref docutils literal notranslate"><span class="pr [...]
+                      | COUNT '(' '*' ')'
+<strong id="grammar-token-where_clause"><span id="grammar-token-where-clause"></span>where_clause    </strong> ::=  <a class="reference internal" href="#grammar-token-relation"><code class="xref docutils literal notranslate"><span class="pre">relation</span></code></a> ( AND <a class="reference internal" href="#grammar-token-relation"><code class="xref docutils literal notranslate"><span class="pre">relation</span></code></a> )*
+<strong id="grammar-token-relation">relation        </strong> ::=  <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> <a class="reference internal" href="#grammar-token-operator"><code class="xref docutils literal notranslate"><span class="pre">operator</span></code></a> <a class="reference internal" href="definitions.html#grammar-token-term"><code class="xref docutils lit [...]
+                      '(' <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ( ',' <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> )* ')' <a class="reference internal" href="#grammar-token-operator"><code class="xref docutils literal notranslate"><span cl [...]
+                      TOKEN '(' <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ( ',' <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> )* ')' <a class="reference internal" href="#grammar-token-operator"><code class="xref docutils literal notranslate"><s [...]
+<strong id="grammar-token-operator">operator        </strong> ::=  '=' | '&lt;' | '&gt;' | '&lt;=' | '&gt;=' | '!=' | IN | CONTAINS | CONTAINS KEY
+<strong id="grammar-token-group_by_clause"><span id="grammar-token-group-by-clause"></span>group_by_clause </strong> ::=  <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ( ',' <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> )*
+<strong id="grammar-token-ordering_clause"><span id="grammar-token-ordering-clause"></span>ordering_clause </strong> ::=  <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> [ ASC | DESC ] ( ',' <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> [ ASC | DESC ] )*
+</pre>
+<p>For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="n">name</span><span class="p">,</span> <span class="n">occupation</span> <span class="k">FROM</span> <span class="k">users</span> <span class="k">WHERE</span> <span class="n">userid</span> <span class="k">IN</span> <span class="p">(</span><span class="mf">199</span><span class="p">,</span> <span class="mf">200</span><span class="p">,</span> <span class="mf">207</span [...]
+<span class="k">SELECT</span> <span class="k">JSON</span> <span class="n">name</span><span class="p">,</span> <span class="n">occupation</span> <span class="k">FROM</span> <span class="k">users</span> <span class="k">WHERE</span> <span class="n">userid</span> <span class="o">=</span> <span class="mf">199</span><span class="p">;</span>
+<span class="k">SELECT</span> <span class="n">name</span> <span class="k">AS</span> <span class="n">user_name</span><span class="p">,</span> <span class="n">occupation</span> <span class="k">AS</span> <span class="n">user_occupation</span> <span class="k">FROM</span> <span class="k">users</span><span class="p">;</span>
+
+<span class="k">SELECT</span> <span class="nb">time</span><span class="p">,</span> <span class="n">value</span>
+<span class="k">FROM</span> <span class="n">events</span>
+<span class="k">WHERE</span> <span class="n">event_type</span> <span class="o">=</span> <span class="s1">&#39;myEvent&#39;</span>
+  <span class="k">AND</span> <span class="nb">time</span> <span class="o">&gt;</span> <span class="s1">&#39;2011-02-03&#39;</span>
+  <span class="k">AND</span> <span class="nb">time</span> <span class="o">&lt;=</span> <span class="s1">&#39;2012-01-01&#39;</span>
+
+<span class="k">SELECT</span> <span class="k">COUNT</span> <span class="p">(</span><span class="o">*</span><span class="p">)</span> <span class="k">AS</span> <span class="n">user_count</span> <span class="k">FROM</span> <span class="k">users</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statements reads one or more columns for one or more rows in a table. It returns a result-set of the rows
+matching the request, where each row contains the values for the selection corresponding to the query. Additionally,
+<a class="reference internal" href="functions.html#cql-functions"><span class="std std-ref">functions</span></a> including <a class="reference internal" href="functions.html#aggregate-functions"><span class="std std-ref">aggregation</span></a> ones can be applied to the result.</p>
+<p>A <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement contains at least a <a class="reference internal" href="#selection-clause"><span class="std std-ref">selection clause</span></a> and the name of the table on which
+the selection is on (note that CQL does <strong>not</strong> joins or sub-queries and thus a select statement only apply to a single
+table). In most case, a select will also have a <a class="reference internal" href="#where-clause"><span class="std std-ref">where clause</span></a> and it can optionally have additional
+clauses to <a class="reference internal" href="#ordering-clause"><span class="std std-ref">order</span></a> or <a class="reference internal" href="#limit-clause"><span class="std std-ref">limit</span></a> the results. Lastly, <a class="reference internal" href="#allow-filtering"><span class="std std-ref">queries that require
+filtering</span></a> can be allowed if the <code class="docutils literal notranslate"><span class="pre">ALLOW</span> <span class="pre">FILTERING</span></code> flag is provided.</p>
+<div class="section" id="selection-clause">
+<span id="id2"></span><h3>Selection clause<a class="headerlink" href="#selection-clause" title="Permalink to this headline">¶</a></h3>
+<p>The <a class="reference internal" href="#grammar-token-select_clause"><code class="xref std std-token docutils literal notranslate"><span class="pre">select_clause</span></code></a> determines which columns needs to be queried and returned in the result-set, as well as any
+transformation to apply to this result before returning. It consists of a comma-separated list of <em>selectors</em> or,
+alternatively, of the wildcard character (<code class="docutils literal notranslate"><span class="pre">*</span></code>) to select all the columns defined in the table.</p>
+<div class="section" id="selectors">
+<h4>Selectors<a class="headerlink" href="#selectors" title="Permalink to this headline">¶</a></h4>
+<p>A <a class="reference internal" href="#grammar-token-selector"><code class="xref std std-token docutils literal notranslate"><span class="pre">selector</span></code></a> can be one of:</p>
+<ul class="simple">
+<li><p>A column name of the table selected, to retrieve the values for that column.</p></li>
+<li><p>A term, which is usually used nested inside other selectors like functions (if a term is selected directly, then the
+corresponding column of the result-set will simply have the value of this term for every row returned).</p></li>
+<li><p>A casting, which allows to convert a nested selector to a (compatible) type.</p></li>
+<li><p>A function call, where the arguments are selector themselves. See the section on <a class="reference internal" href="functions.html#cql-functions"><span class="std std-ref">functions</span></a> for
+more details.</p></li>
+<li><p>The special call <code class="docutils literal notranslate"><span class="pre">COUNT(*)</span></code> to the <a class="reference internal" href="functions.html#count-function"><span class="std std-ref">COUNT function</span></a>, which counts all non-null results.</p></li>
+</ul>
+</div>
+<div class="section" id="aliases">
+<h4>Aliases<a class="headerlink" href="#aliases" title="Permalink to this headline">¶</a></h4>
+<p>Every <em>top-level</em> selector can also be aliased (using <cite>AS</cite>). If so, the name of the corresponding column in the result
+set will be that of the alias. For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="c1">// Without alias</span>
+<span class="k">SELECT</span> <span class="n">intAsBlob</span><span class="p">(</span><span class="mf">4</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">t</span><span class="p">;</span>
+
+<span class="c1">//  intAsBlob(4)</span>
+<span class="c1">// --------------</span>
+<span class="c1">//  0x00000004</span>
+
+<span class="c1">// With alias</span>
+<span class="k">SELECT</span> <span class="n">intAsBlob</span><span class="p">(</span><span class="mf">4</span><span class="p">)</span> <span class="k">AS</span> <span class="n">four</span> <span class="k">FROM</span> <span class="n">t</span><span class="p">;</span>
+
+<span class="c1">//  four</span>
+<span class="c1">// ------------</span>
+<span class="c1">//  0x00000004</span>
+</pre></div>
+</div>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>Currently, aliases aren’t recognized anywhere else in the statement where they are used (not in the <code class="docutils literal notranslate"><span class="pre">WHERE</span></code>
+clause, not in the <code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span></code> clause, …). You must use the orignal column name instead.</p>
+</div>
+</div>
+<div class="section" id="writetime-and-ttl-function">
+<h4><code class="docutils literal notranslate"><span class="pre">WRITETIME</span></code> and <code class="docutils literal notranslate"><span class="pre">TTL</span></code> function<a class="headerlink" href="#writetime-and-ttl-function" title="Permalink to this headline">¶</a></h4>
+<p>Selection supports two special functions (that aren’t allowed anywhere else): <code class="docutils literal notranslate"><span class="pre">WRITETIME</span></code> and <code class="docutils literal notranslate"><span class="pre">TTL</span></code>. Both function
+take only one argument and that argument <em>must</em> be a column name (so for instance <code class="docutils literal notranslate"><span class="pre">TTL(3)</span></code> is invalid).</p>
+<p>Those functions allow to retrieve meta-information that are stored internally for each column, namely:</p>
+<ul class="simple">
+<li><p>the timestamp of the value of the column for <code class="docutils literal notranslate"><span class="pre">WRITETIME</span></code>.</p></li>
+<li><p>the remaining time to live (in seconds) for the value of the column if it set to expire (and <code class="docutils literal notranslate"><span class="pre">null</span></code> otherwise).</p></li>
+</ul>
+</div>
+</div>
+<div class="section" id="the-where-clause">
+<span id="where-clause"></span><h3>The <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> clause<a class="headerlink" href="#the-where-clause" title="Permalink to this headline">¶</a></h3>
+<p>The <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> clause specifies which rows must be queried. It is composed of relations on the columns that are part of
+the <code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code> and/or have a <a class="reference external" href="#createIndexStmt">secondary index</a> defined on them.</p>
+<p>Not all relations are allowed in a query. For instance, non-equal relations (where <code class="docutils literal notranslate"><span class="pre">IN</span></code> is considered as an equal
+relation) on a partition key are not supported (but see the use of the <code class="docutils literal notranslate"><span class="pre">TOKEN</span></code> method below to do non-equal queries on
+the partition key). Moreover, for a given partition key, the clustering columns induce an ordering of rows and relations
+on them is restricted to the relations that allow to select a <strong>contiguous</strong> (for the ordering) set of rows. For
+instance, given:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">posts</span> <span class="p">(</span>
+    <span class="n">userid</span> <span class="nb">text</span><span class="p">,</span>
+    <span class="n">blog_title</span> <span class="nb">text</span><span class="p">,</span>
+    <span class="n">posted_at</span> <span class="nb">timestamp</span><span class="p">,</span>
+    <span class="n">entry_title</span> <span class="nb">text</span><span class="p">,</span>
+    <span class="n">content</span> <span class="nb">text</span><span class="p">,</span>
+    <span class="n">category</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">userid</span><span class="p">,</span> <span class="n">blog_title</span><span class="p">,</span> <span class="n">posted_at</span><span class="p">)</span>
+<span class="p">)</span>
+</pre></div>
+</div>
+<p>The following query is allowed:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="n">entry_title</span><span class="p">,</span> <span class="n">content</span> <span class="k">FROM</span> <span class="n">posts</span>
+ <span class="k">WHERE</span> <span class="n">userid</span> <span class="o">=</span> <span class="s1">&#39;john doe&#39;</span>
+   <span class="k">AND</span> <span class="n">blog_title</span><span class="o">=</span><span class="s1">&#39;John&#39;&#39;s Blog&#39;</span>
+   <span class="k">AND</span> <span class="n">posted_at</span> <span class="o">&gt;=</span> <span class="s1">&#39;2012-01-01&#39;</span> <span class="k">AND</span> <span class="n">posted_at</span> <span class="o">&lt;</span> <span class="s1">&#39;2012-01-31&#39;</span>
+</pre></div>
+</div>
+<p>But the following one is not, as it does not select a contiguous set of rows (and we suppose no secondary indexes are
+set):</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="c1">// Needs a blog_title to be set to select ranges of posted_at</span>
+<span class="k">SELECT</span> <span class="n">entry_title</span><span class="p">,</span> <span class="n">content</span> <span class="k">FROM</span> <span class="n">posts</span>
+ <span class="k">WHERE</span> <span class="n">userid</span> <span class="o">=</span> <span class="s1">&#39;john doe&#39;</span>
+   <span class="k">AND</span> <span class="n">posted_at</span> <span class="o">&gt;=</span> <span class="s1">&#39;2012-01-01&#39;</span> <span class="k">AND</span> <span class="n">posted_at</span> <span class="o">&lt;</span> <span class="s1">&#39;2012-01-31&#39;</span>
+</pre></div>
+</div>
+<p>When specifying relations, the <code class="docutils literal notranslate"><span class="pre">TOKEN</span></code> function can be used on the <code class="docutils literal notranslate"><span class="pre">PARTITION</span> <span class="pre">KEY</span></code> column to query. In that case,
+rows will be selected based on the token of their <code class="docutils literal notranslate"><span class="pre">PARTITION_KEY</span></code> rather than on the value. Note that the token of a
+key depends on the partitioner in use, and that in particular the RandomPartitioner won’t yield a meaningful order. Also
+note that ordering partitioners always order token values by bytes (so even if the partition key is of type int,
+<code class="docutils literal notranslate"><span class="pre">token(-1)</span> <span class="pre">&gt;</span> <span class="pre">token(0)</span></code> in particular). Example:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">posts</span>
+ <span class="k">WHERE</span> <span class="k">token</span><span class="p">(</span><span class="n">userid</span><span class="p">)</span> <span class="o">&gt;</span> <span class="k">token</span><span class="p">(</span><span class="s1">&#39;tom&#39;</span><span class="p">)</span> <span class="k">AND</span> <span class="k">token</span><span class="p">(</span><span class="n">userid</span><span class="p">)</span> <span class="o">&lt;</span> <span class="k">token</span><span class="p">(</span>< [...]
+</pre></div>
+</div>
+<p>Moreover, the <code class="docutils literal notranslate"><span class="pre">IN</span></code> relation is only allowed on the last column of the partition key and on the last column of the full
+primary key.</p>
+<p>It is also possible to “group” <code class="docutils literal notranslate"><span class="pre">CLUSTERING</span> <span class="pre">COLUMNS</span></code> together in a relation using the tuple notation. For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">posts</span>
+ <span class="k">WHERE</span> <span class="n">userid</span> <span class="o">=</span> <span class="s1">&#39;john doe&#39;</span>
+   <span class="k">AND</span> <span class="p">(</span><span class="n">blog_title</span><span class="p">,</span> <span class="n">posted_at</span><span class="p">)</span> <span class="o">&gt;</span> <span class="p">(</span><span class="s1">&#39;John&#39;&#39;s Blog&#39;</span><span class="p">,</span> <span class="s1">&#39;2012-01-01&#39;</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>will request all rows that sorts after the one having “John’s Blog” as <code class="docutils literal notranslate"><span class="pre">blog_tile</span></code> and ‘2012-01-01’ for <code class="docutils literal notranslate"><span class="pre">posted_at</span></code>
+in the clustering order. In particular, rows having a <code class="docutils literal notranslate"><span class="pre">post_at</span> <span class="pre">&lt;=</span> <span class="pre">'2012-01-01'</span></code> will be returned as long as their
+<code class="docutils literal notranslate"><span class="pre">blog_title</span> <span class="pre">&gt;</span> <span class="pre">'John''s</span> <span class="pre">Blog'</span></code>, which would not be the case for:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">posts</span>
+ <span class="k">WHERE</span> <span class="n">userid</span> <span class="o">=</span> <span class="s1">&#39;john doe&#39;</span>
+   <span class="k">AND</span> <span class="n">blog_title</span> <span class="o">&gt;</span> <span class="s1">&#39;John&#39;&#39;s Blog&#39;</span>
+   <span class="k">AND</span> <span class="n">posted_at</span> <span class="o">&gt;</span> <span class="s1">&#39;2012-01-01&#39;</span>
+</pre></div>
+</div>
+<p>The tuple notation may also be used for <code class="docutils literal notranslate"><span class="pre">IN</span></code> clauses on clustering columns:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">posts</span>
+ <span class="k">WHERE</span> <span class="n">userid</span> <span class="o">=</span> <span class="s1">&#39;john doe&#39;</span>
+   <span class="k">AND</span> <span class="p">(</span><span class="n">blog_title</span><span class="p">,</span> <span class="n">posted_at</span><span class="p">)</span> <span class="k">IN</span> <span class="p">((</span><span class="s1">&#39;John&#39;&#39;s Blog&#39;</span><span class="p">,</span> <span class="s1">&#39;2012-01-01&#39;</span><span class="p">),</span> <span class="p">(</span><span class="s1">&#39;Extreme Chess&#39;</span><span class="p">,</span> <span class="s1">&#39;2014- [...]
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">CONTAINS</span></code> operator may only be used on collection columns (lists, sets, and maps). In the case of maps,
+<code class="docutils literal notranslate"><span class="pre">CONTAINS</span></code> applies to the map values. The <code class="docutils literal notranslate"><span class="pre">CONTAINS</span> <span class="pre">KEY</span></code> operator may only be used on map columns and applies to the
+map keys.</p>
+</div>
+<div class="section" id="grouping-results">
+<span id="group-by-clause"></span><h3>Grouping results<a class="headerlink" href="#grouping-results" title="Permalink to this headline">¶</a></h3>
+<p>The <code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code> option allows to condense into a single row all selected rows that share the same values for a set
+of columns.</p>
+<p>Using the <code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code> option, it is only possible to group rows at the partition key level or at a clustering column
+level. By consequence, the <code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code> option only accept as arguments primary key column names in the primary key
+order. If a primary key column is restricted by an equality restriction it is not required to be present in the
+<code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code> clause.</p>
+<p>Aggregate functions will produce a separate value for each group. If no <code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code> clause is specified,
+aggregates functions will produce a single value for all the rows.</p>
+<p>If a column is selected without an aggregate function, in a statement with a <code class="docutils literal notranslate"><span class="pre">GROUP</span> <span class="pre">BY</span></code>, the first value encounter
+in each group will be returned.</p>
+</div>
+<div class="section" id="ordering-results">
+<span id="ordering-clause"></span><h3>Ordering results<a class="headerlink" href="#ordering-results" title="Permalink to this headline">¶</a></h3>
+<p>The <code class="docutils literal notranslate"><span class="pre">ORDER</span> <span class="pre">BY</span></code> clause allows to select the order of the returned results. It takes as argument a list of column names
+along with the order for the column (<code class="docutils literal notranslate"><span class="pre">ASC</span></code> for ascendant and <code class="docutils literal notranslate"><span class="pre">DESC</span></code> for descendant, omitting the order being
+equivalent to <code class="docutils literal notranslate"><span class="pre">ASC</span></code>). Currently the possible orderings are limited by the <a class="reference internal" href="ddl.html#clustering-order"><span class="std std-ref">clustering order</span></a>
+defined on the table:</p>
+<ul class="simple">
+<li><p>if the table has been defined without any specific <code class="docutils literal notranslate"><span class="pre">CLUSTERING</span> <span class="pre">ORDER</span></code>, then then allowed orderings are the order
+induced by the clustering columns and the reverse of that one.</p></li>
+<li><p>otherwise, the orderings allowed are the order of the <code class="docutils literal notranslate"><span class="pre">CLUSTERING</span> <span class="pre">ORDER</span></code> option and the reversed one.</p></li>
+</ul>
+</div>
+<div class="section" id="limiting-results">
+<span id="limit-clause"></span><h3>Limiting results<a class="headerlink" href="#limiting-results" title="Permalink to this headline">¶</a></h3>
+<p>The <code class="docutils literal notranslate"><span class="pre">LIMIT</span></code> option to a <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement limits the number of rows returned by a query, while the <code class="docutils literal notranslate"><span class="pre">PER</span> <span class="pre">PARTITION</span>
+<span class="pre">LIMIT</span></code> option limits the number of rows returned for a given partition by the query. Note that both type of limit can
+used in the same statement.</p>
+</div>
+<div class="section" id="allowing-filtering">
+<span id="allow-filtering"></span><h3>Allowing filtering<a class="headerlink" href="#allowing-filtering" title="Permalink to this headline">¶</a></h3>
+<p>By default, CQL only allows select queries that don’t involve “filtering” server side, i.e. queries where we know that
+all (live) record read will be returned (maybe partly) in the result set. The reasoning is that those “non filtering”
+queries have predictable performance in the sense that they will execute in a time that is proportional to the amount of
+data <strong>returned</strong> by the query (which can be controlled through <code class="docutils literal notranslate"><span class="pre">LIMIT</span></code>).</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">ALLOW</span> <span class="pre">FILTERING</span></code> option allows to explicitly allow (some) queries that require filtering. Please note that a
+query using <code class="docutils literal notranslate"><span class="pre">ALLOW</span> <span class="pre">FILTERING</span></code> may thus have unpredictable performance (for the definition above), i.e. even a query
+that selects a handful of records <strong>may</strong> exhibit performance that depends on the total amount of data stored in the
+cluster.</p>
+<p>For instance, considering the following table holding user profiles with their year of birth (with a secondary index on
+it) and country of residence:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="k">users</span> <span class="p">(</span>
+    <span class="n">username</span> <span class="nb">text</span> <span class="k">PRIMARY</span> <span class="k">KEY</span><span class="p">,</span>
+    <span class="n">firstname</span> <span class="nb">text</span><span class="p">,</span>
+    <span class="n">lastname</span> <span class="nb">text</span><span class="p">,</span>
+    <span class="n">birth_year</span> <span class="nb">int</span><span class="p">,</span>
+    <span class="n">country</span> <span class="nb">text</span>
+<span class="p">)</span>
+
+<span class="k">CREATE</span> <span class="k">INDEX</span> <span class="k">ON</span> <span class="k">users</span><span class="p">(</span><span class="n">birth_year</span><span class="p">);</span>
+</pre></div>
+</div>
+<p>Then the following queries are valid:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="k">users</span><span class="p">;</span>
+<span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="k">users</span> <span class="k">WHERE</span> <span class="n">birth_year</span> <span class="o">=</span> <span class="mf">1981</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>because in both case, Cassandra guarantees that these queries performance will be proportional to the amount of data
+returned. In particular, if no users are born in 1981, then the second query performance will not depend of the number
+of user profile stored in the database (not directly at least: due to secondary index implementation consideration, this
+query may still depend on the number of node in the cluster, which indirectly depends on the amount of data stored.
+Nevertheless, the number of nodes will always be multiple number of magnitude lower than the number of user profile
+stored). Of course, both query may return very large result set in practice, but the amount of data returned can always
+be controlled by adding a <code class="docutils literal notranslate"><span class="pre">LIMIT</span></code>.</p>
+<p>However, the following query will be rejected:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="k">users</span> <span class="k">WHERE</span> <span class="n">birth_year</span> <span class="o">=</span> <span class="mf">1981</span> <span class="k">AND</span> <span class="n">country</span> <span class="o">=</span> <span class="s1">&#39;FR&#39;</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>because Cassandra cannot guarantee that it won’t have to scan large amount of data even if the result to those query is
+small. Typically, it will scan all the index entries for users born in 1981 even if only a handful are actually from
+France. However, if you “know what you are doing”, you can force the execution of this query by using <code class="docutils literal notranslate"><span class="pre">ALLOW</span>
+<span class="pre">FILTERING</span></code> and so the following query is valid:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="k">users</span> <span class="k">WHERE</span> <span class="n">birth_year</span> <span class="o">=</span> <span class="mf">1981</span> <span class="k">AND</span> <span class="n">country</span> <span class="o">=</span> <span class="s1">&#39;FR&#39;</span> <span class="k">ALLOW</span> <span class="k">FILTERING</span><s [...]
+</pre></div>
+</div>
+</div>
+</div>
+<div class="section" id="insert">
+<span id="insert-statement"></span><h2>INSERT<a class="headerlink" href="#insert" title="Permalink to this headline">¶</a></h2>
+<p>Inserting data for a row is done using an <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> statement:</p>
+<pre>
+<strong id="grammar-token-insert_statement"><span id="grammar-token-insert-statement"></span>insert_statement</strong> ::=  INSERT INTO <a class="reference internal" href="ddl.html#grammar-token-table_name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a> ( <a class="reference internal" href="#grammar-token-names_values"><code class="xref docutils literal notranslate"><span class="pre">names_values</span></code></a> | <a class="reference inte [...]
+                      [ IF NOT EXISTS ]
+                      [ USING <a class="reference internal" href="#grammar-token-update_parameter"><code class="xref docutils literal notranslate"><span class="pre">update_parameter</span></code></a> ( AND <a class="reference internal" href="#grammar-token-update_parameter"><code class="xref docutils literal notranslate"><span class="pre">update_parameter</span></code></a> )* ]
+<strong id="grammar-token-names_values"><span id="grammar-token-names-values"></span>names_values    </strong> ::=  <a class="reference internal" href="#grammar-token-names"><code class="xref docutils literal notranslate"><span class="pre">names</span></code></a> VALUES <a class="reference internal" href="types.html#grammar-token-tuple_literal"><code class="xref docutils literal notranslate"><span class="pre">tuple_literal</span></code></a>
+<strong id="grammar-token-json_clause"><span id="grammar-token-json-clause"></span>json_clause     </strong> ::=  JSON <a class="reference internal" href="definitions.html#grammar-token-string"><code class="xref docutils literal notranslate"><span class="pre">string</span></code></a> [ DEFAULT ( NULL | UNSET ) ]
+<strong id="grammar-token-names">names           </strong> ::=  '(' <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ( ',' <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> )* ')'
+</pre>
+<p>For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">NerdMovies</span> <span class="p">(</span><span class="n">movie</span><span class="p">,</span> <span class="n">director</span><span class="p">,</span> <span class="n">main_actor</span><span class="p">,</span> <span class="n">year</span><span class="p">)</span>
+                <span class="k">VALUES</span> <span class="p">(</span><span class="s1">&#39;Serenity&#39;</span><span class="p">,</span> <span class="s1">&#39;Joss Whedon&#39;</span><span class="p">,</span> <span class="s1">&#39;Nathan Fillion&#39;</span><span class="p">,</span> <span class="mf">2005</span><span class="p">)</span>
+      <span class="k">USING</span> <span class="k">TTL</span> <span class="mf">86400</span><span class="p">;</span>
+
+<span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">NerdMovies</span> <span class="k">JSON</span> <span class="s1">&#39;{&quot;movie&quot;: &quot;Serenity&quot;,</span>
+<span class="s1">                              &quot;director&quot;: &quot;Joss Whedon&quot;,</span>
+<span class="s1">                              &quot;year&quot;: 2005}&#39;</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> statement writes one or more columns for a given row in a table. Note that since a row is identified by
+its <code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code>, at least the columns composing it must be specified. The list of columns to insert to must be
+supplied when using the <code class="docutils literal notranslate"><span class="pre">VALUES</span></code> syntax. When using the <code class="docutils literal notranslate"><span class="pre">JSON</span></code> syntax, they are optional. See the
+section on <a class="reference internal" href="json.html#cql-json"><span class="std std-ref">JSON support</span></a> for more detail.</p>
+<p>Note that unlike in SQL, <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> does not check the prior existence of the row by default: the row is created if none
+existed before, and updated otherwise. Furthermore, there is no mean to know which of creation or update happened.</p>
+<p>It is however possible to use the <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> condition to only insert if the row does not exist prior to the
+insertion. But please note that using <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> will incur a non negligible performance cost (internally, Paxos
+will be used) so this should be used sparingly.</p>
+<p>All updates for an <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> are applied atomically and in isolation.</p>
+<p>Please refer to the <a class="reference internal" href="#update-parameters"><span class="std std-ref">UPDATE</span></a> section for informations on the <a class="reference internal" href="#grammar-token-update_parameter"><code class="xref std std-token docutils literal notranslate"><span class="pre">update_parameter</span></code></a>.</p>
+<p>Also note that <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> does not support counters, while <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> does.</p>
+</div>
+<div class="section" id="update">
+<span id="update-statement"></span><h2>UPDATE<a class="headerlink" href="#update" title="Permalink to this headline">¶</a></h2>
+<p>Updating a row is done using an <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statement:</p>
+<pre>
+<strong id="grammar-token-update_statement"><span id="grammar-token-update-statement"></span>update_statement</strong> ::=  UPDATE <a class="reference internal" href="ddl.html#grammar-token-table_name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a>
+                      [ USING <a class="reference internal" href="#grammar-token-update_parameter"><code class="xref docutils literal notranslate"><span class="pre">update_parameter</span></code></a> ( AND <a class="reference internal" href="#grammar-token-update_parameter"><code class="xref docutils literal notranslate"><span class="pre">update_parameter</span></code></a> )* ]
+                      SET <a class="reference internal" href="#grammar-token-assignment"><code class="xref docutils literal notranslate"><span class="pre">assignment</span></code></a> ( ',' <a class="reference internal" href="#grammar-token-assignment"><code class="xref docutils literal notranslate"><span class="pre">assignment</span></code></a> )*
+                      WHERE <a class="reference internal" href="#grammar-token-where_clause"><code class="xref docutils literal notranslate"><span class="pre">where_clause</span></code></a>
+                      [ IF ( EXISTS | <a class="reference internal" href="#grammar-token-condition"><code class="xref docutils literal notranslate"><span class="pre">condition</span></code></a> ( AND <a class="reference internal" href="#grammar-token-condition"><code class="xref docutils literal notranslate"><span class="pre">condition</span></code></a> )*) ]
+<strong id="grammar-token-update_parameter"><span id="grammar-token-update-parameter"></span>update_parameter</strong> ::=  ( TIMESTAMP | TTL ) ( <a class="reference internal" href="definitions.html#grammar-token-integer"><code class="xref docutils literal notranslate"><span class="pre">integer</span></code></a> | <a class="reference internal" href="definitions.html#grammar-token-bind_marker"><code class="xref docutils literal notranslate"><span class="pre">bind_marker</span></code></a> )
+<strong id="grammar-token-assignment">assignment      </strong> ::=  <a class="reference internal" href="#grammar-token-simple_selection"><code class="xref docutils literal notranslate"><span class="pre">simple_selection</span></code></a> '=' <a class="reference internal" href="definitions.html#grammar-token-term"><code class="xref docutils literal notranslate"><span class="pre">term</span></code></a>
+                     | <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> '=' <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> ( '+' | '-' ) <a class="reference internal" href="definitions.html#grammar-token-term"><code class="xref docutils literal notrans [...]
+                     | <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> '=' <a class="reference internal" href="types.html#grammar-token-list_literal"><code class="xref docutils literal notranslate"><span class="pre">list_literal</span></code></a> '+' <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate">< [...]
+<strong id="grammar-token-simple_selection"><span id="grammar-token-simple-selection"></span>simple_selection</strong> ::=  <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a>
+                     | <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> '[' <a class="reference internal" href="definitions.html#grammar-token-term"><code class="xref docutils literal notranslate"><span class="pre">term</span></code></a> ']'
+                     | <a class="reference internal" href="ddl.html#grammar-token-column_name"><code class="xref docutils literal notranslate"><span class="pre">column_name</span></code></a> '.' `field_name
+<strong id="grammar-token-condition">condition       </strong> ::=  <a class="reference internal" href="#grammar-token-simple_selection"><code class="xref docutils literal notranslate"><span class="pre">simple_selection</span></code></a> <a class="reference internal" href="#grammar-token-operator"><code class="xref docutils literal notranslate"><span class="pre">operator</span></code></a> <a class="reference internal" href="definitions.html#grammar-token-term"><code class="xref docutils  [...]
+</pre>
+<p>For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">UPDATE</span> <span class="n">NerdMovies</span> <span class="k">USING</span> <span class="k">TTL</span> <span class="mf">400</span>
+   <span class="k">SET</span> <span class="n">director</span>   <span class="o">=</span> <span class="s1">&#39;Joss Whedon&#39;</span><span class="p">,</span>
+       <span class="n">main_actor</span> <span class="o">=</span> <span class="s1">&#39;Nathan Fillion&#39;</span><span class="p">,</span>
+       <span class="n">year</span>       <span class="o">=</span> <span class="mf">2005</span>
+ <span class="k">WHERE</span> <span class="n">movie</span> <span class="o">=</span> <span class="s1">&#39;Serenity&#39;</span><span class="p">;</span>
+
+<span class="k">UPDATE</span> <span class="n">UserActions</span>
+   <span class="k">SET</span> <span class="n">total</span> <span class="o">=</span> <span class="n">total</span> <span class="o">+</span> <span class="mf">2</span>
+   <span class="k">WHERE</span> <span class="k">user</span> <span class="o">=</span> <span class="m">B70DE1D0-9908-4AE3-BE34-5573E5B09F14</span>
+     <span class="k">AND</span> <span class="n">action</span> <span class="o">=</span> <span class="s1">&#39;click&#39;</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statement writes one or more columns for a given row in a table. The <a class="reference internal" href="#grammar-token-where_clause"><code class="xref std std-token docutils literal notranslate"><span class="pre">where_clause</span></code></a> is used to
+select the row to update and must include all columns composing the <code class="docutils literal notranslate"><span class="pre">PRIMARY</span> <span class="pre">KEY</span></code>. Non primary key columns are then
+set using the <code class="docutils literal notranslate"><span class="pre">SET</span></code> keyword.</p>
+<p>Note that unlike in SQL, <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> does not check the prior existence of the row by default (except through <code class="docutils literal notranslate"><span class="pre">IF</span></code>, see
+below): the row is created if none existed before, and updated otherwise. Furthermore, there are no means to know
+whether a creation or update occurred.</p>
+<p>It is however possible to use the conditions on some columns through <code class="docutils literal notranslate"><span class="pre">IF</span></code>, in which case the row will not be updated
+unless the conditions are met. But, please note that using <code class="docutils literal notranslate"><span class="pre">IF</span></code> conditions will incur a non-negligible performance
+cost (internally, Paxos will be used) so this should be used sparingly.</p>
+<p>In an <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statement, all updates within the same partition key are applied atomically and in isolation.</p>
+<p>Regarding the <a class="reference internal" href="#grammar-token-assignment"><code class="xref std std-token docutils literal notranslate"><span class="pre">assignment</span></code></a>:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">c</span> <span class="pre">=</span> <span class="pre">c</span> <span class="pre">+</span> <span class="pre">3</span></code> is used to increment/decrement counters. The column name after the ‘=’ sign <strong>must</strong> be the same than
+the one before the ‘=’ sign. Note that increment/decrement is only allowed on counters, and are the <em>only</em> update
+operations allowed on counters. See the section on <a class="reference internal" href="types.html#counters"><span class="std std-ref">counters</span></a> for details.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">id</span> <span class="pre">=</span> <span class="pre">id</span> <span class="pre">+</span> <span class="pre">&lt;some-collection&gt;</span></code> and <code class="docutils literal notranslate"><span class="pre">id[value1]</span> <span class="pre">=</span> <span class="pre">value2</span></code> are for collections, see the <a class="reference internal" href="types.html#collections"><span class="std std-ref">relevant sec [...]
+<li><p><code class="docutils literal notranslate"><span class="pre">id.field</span> <span class="pre">=</span> <span class="pre">3</span></code> is for setting the value of a field on a non-frozen user-defined types. see the <a class="reference internal" href="types.html#udts"><span class="std std-ref">relevant section</span></a> for details.</p></li>
+</ul>
+<div class="section" id="update-parameters">
+<span id="id3"></span><h3>Update parameters<a class="headerlink" href="#update-parameters" title="Permalink to this headline">¶</a></h3>
+<p>The <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code>, <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> (and <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> and <code class="docutils literal notranslate"><span class="pre">BATCH</span></code> for the <code class="docutils literal notranslate"><span class="pre">TIMESTAMP</span></code>) statements support the following
+parameters:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">TIMESTAMP</span></code>: sets the timestamp for the operation. If not specified, the coordinator will use the current time (in
+microseconds) at the start of statement execution as the timestamp. This is usually a suitable default.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">TTL</span></code>: specifies an optional Time To Live (in seconds) for the inserted values. If set, the inserted values are
+automatically removed from the database after the specified time. Note that the TTL concerns the inserted values, not
+the columns themselves. This means that any subsequent update of the column will also reset the TTL (to whatever TTL
+is specified in that update). By default, values never expire. A TTL of 0 is equivalent to no TTL. If the table has a
+default_time_to_live, a TTL of 0 will remove the TTL for the inserted or updated values. A TTL of <code class="docutils literal notranslate"><span class="pre">null</span></code> is equivalent
+to inserting with a TTL of 0.</p></li>
+</ul>
+</div>
+</div>
+<div class="section" id="delete">
+<span id="delete-statement"></span><h2>DELETE<a class="headerlink" href="#delete" title="Permalink to this headline">¶</a></h2>
+<p>Deleting rows or parts of rows uses the <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statement:</p>
+<pre>
+<strong id="grammar-token-delete_statement"><span id="grammar-token-delete-statement"></span>delete_statement</strong> ::=  DELETE [ <a class="reference internal" href="#grammar-token-simple_selection"><code class="xref docutils literal notranslate"><span class="pre">simple_selection</span></code></a> ( ',' <a class="reference internal" href="#grammar-token-simple_selection"><code class="xref docutils literal notranslate"><span class="pre">simple_selection</span></code></a> ) ]
+                      FROM <a class="reference internal" href="ddl.html#grammar-token-table_name"><code class="xref docutils literal notranslate"><span class="pre">table_name</span></code></a>
+                      [ USING <a class="reference internal" href="#grammar-token-update_parameter"><code class="xref docutils literal notranslate"><span class="pre">update_parameter</span></code></a> ( AND <a class="reference internal" href="#grammar-token-update_parameter"><code class="xref docutils literal notranslate"><span class="pre">update_parameter</span></code></a> )* ]
+                      WHERE <a class="reference internal" href="#grammar-token-where_clause"><code class="xref docutils literal notranslate"><span class="pre">where_clause</span></code></a>
+                      [ IF ( EXISTS | <a class="reference internal" href="#grammar-token-condition"><code class="xref docutils literal notranslate"><span class="pre">condition</span></code></a> ( AND <a class="reference internal" href="#grammar-token-condition"><code class="xref docutils literal notranslate"><span class="pre">condition</span></code></a> )*) ]
+</pre>
+<p>For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">DELETE</span> <span class="k">FROM</span> <span class="n">NerdMovies</span> <span class="k">USING</span> <span class="nb">TIMESTAMP</span> <span class="mf">1240003134</span>
+ <span class="k">WHERE</span> <span class="n">movie</span> <span class="o">=</span> <span class="s1">&#39;Serenity&#39;</span><span class="p">;</span>
+
+<span class="k">DELETE</span> <span class="n">phone</span> <span class="k">FROM</span> <span class="k">Users</span>
+ <span class="k">WHERE</span> <span class="n">userid</span> <span class="k">IN</span> <span class="p">(</span><span class="m">C73DE1D3-AF08-40F3-B124-3FF3E5109F22</span><span class="p">,</span> <span class="m">B70DE1D0-9908-4AE3-BE34-5573E5B09F14</span><span class="p">);</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statement deletes columns and rows. If column names are provided directly after the <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> keyword,
+only those columns are deleted from the row indicated by the <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> clause. Otherwise, whole rows are removed.</p>
+<p>The <code class="docutils literal notranslate"><span class="pre">WHERE</span></code> clause specifies which rows are to be deleted. Multiple rows may be deleted with one statement by using an
+<code class="docutils literal notranslate"><span class="pre">IN</span></code> operator. A range of rows may be deleted using an inequality operator (such as <code class="docutils literal notranslate"><span class="pre">&gt;=</span></code>).</p>
+<p><code class="docutils literal notranslate"><span class="pre">DELETE</span></code> supports the <code class="docutils literal notranslate"><span class="pre">TIMESTAMP</span></code> option with the same semantics as in <a class="reference internal" href="#update-parameters"><span class="std std-ref">updates</span></a>.</p>
+<p>In a <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statement, all deletions within the same partition key are applied atomically and in isolation.</p>
+<p>A <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> operation can be conditional through the use of an <code class="docutils literal notranslate"><span class="pre">IF</span></code> clause, similar to <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> and <code class="docutils literal notranslate"><span class="pre">INSERT</span></code>
+statements. However, as with <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> and <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statements, this will incur a non-negligible performance cost
+(internally, Paxos will be used) and so should be used sparingly.</p>
+</div>
+<div class="section" id="batch">
+<span id="batch-statement"></span><h2>BATCH<a class="headerlink" href="#batch" title="Permalink to this headline">¶</a></h2>
+<p>Multiple <code class="docutils literal notranslate"><span class="pre">INSERT</span></code>, <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> and <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> can be executed in a single statement by grouping them through a
+<code class="docutils literal notranslate"><span class="pre">BATCH</span></code> statement:</p>
+<pre>
+<strong id="grammar-token-batch_statement"><span id="grammar-token-batch-statement"></span>batch_statement       </strong> ::=  BEGIN [ UNLOGGED | COUNTER ] BATCH
+                            [ USING <a class="reference internal" href="#grammar-token-update_parameter"><code class="xref docutils literal notranslate"><span class="pre">update_parameter</span></code></a> ( AND <a class="reference internal" href="#grammar-token-update_parameter"><code class="xref docutils literal notranslate"><span class="pre">update_parameter</span></code></a> )* ]
+                            <a class="reference internal" href="#grammar-token-modification_statement"><code class="xref docutils literal notranslate"><span class="pre">modification_statement</span></code></a> ( ';' <a class="reference internal" href="#grammar-token-modification_statement"><code class="xref docutils literal notranslate"><span class="pre">modification_statement</span></code></a> )*
+                            APPLY BATCH
+<strong id="grammar-token-modification_statement"><span id="grammar-token-modification-statement"></span>modification_statement</strong> ::=  <a class="reference internal" href="#grammar-token-insert_statement"><code class="xref docutils literal notranslate"><span class="pre">insert_statement</span></code></a> | <a class="reference internal" href="#grammar-token-update_statement"><code class="xref docutils literal notranslate"><span class="pre">update_statement</span></code></a> | <a cla [...]
+</pre>
+<p>For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">BEGIN</span> <span class="k">BATCH</span>
+   <span class="k">INSERT</span> <span class="k">INTO</span> <span class="k">users</span> <span class="p">(</span><span class="n">userid</span><span class="p">,</span> <span class="k">password</span><span class="p">,</span> <span class="n">name</span><span class="p">)</span> <span class="k">VALUES</span> <span class="p">(</span><span class="s1">&#39;user2&#39;</span><span class="p">,</span> <span class="s1">&#39;ch@ngem3b&#39;</span><span class="p">,</span> <span class="s1">&#39;second u [...]
+   <span class="k">UPDATE</span> <span class="k">users</span> <span class="k">SET</span> <span class="k">password</span> <span class="o">=</span> <span class="s1">&#39;ps22dhds&#39;</span> <span class="k">WHERE</span> <span class="n">userid</span> <span class="o">=</span> <span class="s1">&#39;user3&#39;</span><span class="p">;</span>
+   <span class="k">INSERT</span> <span class="k">INTO</span> <span class="k">users</span> <span class="p">(</span><span class="n">userid</span><span class="p">,</span> <span class="k">password</span><span class="p">)</span> <span class="k">VALUES</span> <span class="p">(</span><span class="s1">&#39;user4&#39;</span><span class="p">,</span> <span class="s1">&#39;ch@ngem3c&#39;</span><span class="p">);</span>
+   <span class="k">DELETE</span> <span class="n">name</span> <span class="k">FROM</span> <span class="k">users</span> <span class="k">WHERE</span> <span class="n">userid</span> <span class="o">=</span> <span class="s1">&#39;user1&#39;</span><span class="p">;</span>
+<span class="k">APPLY</span> <span class="k">BATCH</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">BATCH</span></code> statement group multiple modification statements (insertions/updates and deletions) into a single
+statement. It serves several purposes:</p>
+<ul class="simple">
+<li><p>It saves network round-trips between the client and the server (and sometimes between the server coordinator and the
+replicas) when batching multiple updates.</p></li>
+<li><p>All updates in a <code class="docutils literal notranslate"><span class="pre">BATCH</span></code> belonging to a given partition key are performed in isolation.</p></li>
+<li><p>By default, all operations in the batch are performed as <em>logged</em>, to ensure all mutations eventually complete (or
+none will). See the notes on <a class="reference internal" href="#unlogged-batches"><span class="std std-ref">UNLOGGED batches</span></a> for more details.</p></li>
+</ul>
+<p>Note that:</p>
+<ul class="simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">BATCH</span></code> statements may only contain <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code>, <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> and <code class="docutils literal notranslate"><span class="pre">DELETE</span></code> statements (not other batches for instance).</p></li>
+<li><p>Batches are <em>not</em> a full analogue for SQL transactions.</p></li>
+<li><p>If a timestamp is not specified for each operation, then all operations will be applied with the same timestamp
+(either one generated automatically, or the timestamp provided at the batch level). Due to Cassandra’s conflict
+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 notranslate"><span class="pre">BATCH</span></code> statement. To force a
+particular operation ordering, you must specify per-operation timestamps.</p></li>
+<li><p>A LOGGED batch to a single partition will be converted to an UNLOGGED batch as an optimization.</p></li>
+</ul>
+<div class="section" id="unlogged-batches">
+<span id="id4"></span><h3><code class="docutils literal notranslate"><span class="pre">UNLOGGED</span></code> batches<a class="headerlink" href="#unlogged-batches" title="Permalink to this headline">¶</a></h3>
+<p>By default, Cassandra uses a batch log to ensure all operations in a batch eventually complete or none will (note
+however that operations are only isolated within a single partition).</p>
+<p>There is a performance penalty for batch atomicity when a batch spans multiple partitions. If you do not want to incur
+this penalty, you can tell Cassandra to skip the batchlog with the <code class="docutils literal notranslate"><span class="pre">UNLOGGED</span></code> option. If the <code class="docutils literal notranslate"><span class="pre">UNLOGGED</span></code> option is
+used, a failed batch might leave the patch only partly applied.</p>
+</div>
+<div class="section" id="counter-batches">
+<h3><code class="docutils literal notranslate"><span class="pre">COUNTER</span></code> batches<a class="headerlink" href="#counter-batches" title="Permalink to this headline">¶</a></h3>
+<p>Use the <code class="docutils literal notranslate"><span class="pre">COUNTER</span></code> option for batched counter updates. Unlike other
+updates in Cassandra, counter updates are not idempotent.</p>
+</div>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+        <a href="indexes.html" class="btn btn-neutral float-right" title="Secondary Indexes" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="ddl.html" class="btn btn-neutral float-left" title="Data Definition" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 2016, The Apache Cassandra team.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/doc/3.11.10/cql/functions.html b/content/doc/3.11.10/cql/functions.html
new file mode 100644
index 0000000..10d681f
--- /dev/null
+++ b/content/doc/3.11.10/cql/functions.html
@@ -0,0 +1,797 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Functions &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="JSON Support" href="json.html" />
+    <link rel="prev" title="Security" href="security.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Apache Cassandra
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                3.11.10
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
+<li class="toctree-l1 current"><a class="reference internal" href="index.html">The Cassandra Query Language (CQL)</a><ul class="current">
+<li class="toctree-l2"><a class="reference internal" href="definitions.html">Definitions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dml.html">Data Manipulation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="indexes.html">Secondary Indexes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li>
+<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
+<li class="toctree-l2 current"><a class="current reference internal" href="#">Functions</a><ul>
+<li class="toctree-l3"><a class="reference internal" href="#scalar-functions">Scalar functions</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#scalar-native-functions">Native functions</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#user-defined-functions">User-defined functions</a></li>
+</ul>
+</li>
+<li class="toctree-l3"><a class="reference internal" href="#aggregate-functions">Aggregate functions</a><ul>
+<li class="toctree-l4"><a class="reference internal" href="#native-aggregates">Native aggregates</a></li>
+<li class="toctree-l4"><a class="reference internal" href="#user-defined-aggregates">User-Defined Aggregates</a></li>
+</ul>
+</li>
+</ul>
+</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"><a class="reference internal" href="changes.html">Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</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>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Apache Cassandra</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+          <li><a href="index.html">The Cassandra Query Language (CQL)</a> &raquo;</li>
+        
+      <li>Functions</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="../_sources/cql/functions.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <span class="target" id="cql-functions"></span><div class="section" id="functions">
+<span id="native-functions"></span><span id="udfs"></span><h1>Functions<a class="headerlink" href="#functions" title="Permalink to this headline">¶</a></h1>
+<p>CQL supports 2 main categories of functions:</p>
+<ul class="simple">
+<li><p>the <a class="reference internal" href="#scalar-functions"><span class="std std-ref">scalar functions</span></a>, which simply take a number of values and produce an output with it.</p></li>
+<li><p>the <a class="reference internal" href="#aggregate-functions"><span class="std std-ref">aggregate functions</span></a>, which are used to aggregate multiple rows results from a
+<code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement.</p></li>
+</ul>
+<p>In both cases, CQL provides a number of native “hard-coded” functions as well as the ability to create new user-defined
+functions.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>By default, the use of user-defined functions is disabled by default for security concerns (even when
+enabled, the execution of user-defined functions is sandboxed and a “rogue” function should not be allowed to do
+evil, but no sandbox is perfect so using user-defined functions is opt-in). See the <code class="docutils literal notranslate"><span class="pre">enable_user_defined_functions</span></code>
+in <code class="docutils literal notranslate"><span class="pre">cassandra.yaml</span></code> to enable them.</p>
+</div>
+<p>A function is identifier by its name:</p>
+<pre>
+<strong id="grammar-token-function_name"><span id="grammar-token-function-name"></span>function_name</strong> ::=  [ <a class="reference internal" href="ddl.html#grammar-token-keyspace_name"><code class="xref docutils literal notranslate"><span class="pre">keyspace_name</span></code></a> '.' ] <a class="reference internal" href="ddl.html#grammar-token-name"><code class="xref docutils literal notranslate"><span class="pre">name</span></code></a>
+</pre>
+<div class="section" id="scalar-functions">
+<span id="id1"></span><h2>Scalar functions<a class="headerlink" href="#scalar-functions" title="Permalink to this headline">¶</a></h2>
+<div class="section" id="scalar-native-functions">
+<span id="id2"></span><h3>Native functions<a class="headerlink" href="#scalar-native-functions" title="Permalink to this headline">¶</a></h3>
+<div class="section" id="cast">
+<h4>Cast<a class="headerlink" href="#cast" title="Permalink to this headline">¶</a></h4>
+<p>The <code class="docutils literal notranslate"><span class="pre">cast</span></code> function can be used to converts one native datatype to another.</p>
+<p>The following table describes the conversions supported by the <code class="docutils literal notranslate"><span class="pre">cast</span></code> function. Cassandra will silently ignore any
+cast converting a datatype into its own datatype.</p>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 13%" />
+<col style="width: 87%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>From</p></th>
+<th class="head"><p>To</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">ascii</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">bigint</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">smallint</span></code>, <code class="docutils literal notranslate"><span class="pre">int</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>, <code class="docutils literal notranslate"><span class="pre">double</span></code>, <code class="docutils literal notranslate"><span class="pre">decimal</s [...]
+<code class="docutils literal notranslate"><span class="pre">varchar</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">boolean</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">counter</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">smallint</span></code>, <code class="docutils literal notranslate"><span class="pre">int</span></code>, <code class="docutils literal notranslate"><span class="pre">bigint</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>, <code class="docutils literal notranslate"><span class="pre">double</sp [...]
+<code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">date</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">timestamp</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">decimal</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">smallint</span></code>, <code class="docutils literal notranslate"><span class="pre">int</span></code>, <code class="docutils literal notranslate"><span class="pre">bigint</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>, <code class="docutils literal notranslate"><span class="pre">double</sp [...]
+<code class="docutils literal notranslate"><span class="pre">varchar</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">double</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">smallint</span></code>, <code class="docutils literal notranslate"><span class="pre">int</span></code>, <code class="docutils literal notranslate"><span class="pre">bigint</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>, <code class="docutils literal notranslate"><span class="pre">decimal</s [...]
+<code class="docutils literal notranslate"><span class="pre">varchar</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">float</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">smallint</span></code>, <code class="docutils literal notranslate"><span class="pre">int</span></code>, <code class="docutils literal notranslate"><span class="pre">bigint</span></code>, <code class="docutils literal notranslate"><span class="pre">double</span></code>, <code class="docutils literal notranslate"><span class="pre">decimal</ [...]
+<code class="docutils literal notranslate"><span class="pre">varchar</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">inet</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">int</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">smallint</span></code>, <code class="docutils literal notranslate"><span class="pre">bigint</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>, <code class="docutils literal notranslate"><span class="pre">double</span></code>, <code class="docutils literal notranslate"><span class="pre">decimal [...]
+<code class="docutils literal notranslate"><span class="pre">varchar</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">smallint</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">int</span></code>, <code class="docutils literal notranslate"><span class="pre">bigint</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>, <code class="docutils literal notranslate"><span class="pre">double</span></code>, <code class="docutils literal notranslate"><span class="pre">decimal</spa [...]
+<code class="docutils literal notranslate"><span class="pre">varchar</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">time</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">timestamp</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">date</span></code>, <code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">timeuuid</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">timestamp</span></code>, <code class="docutils literal notranslate"><span class="pre">date</span></code>, <code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">tinyint</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">smallint</span></code>, <code class="docutils literal notranslate"><span class="pre">int</span></code>, <code class="docutils literal notranslate"><span class="pre">bigint</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>, <code class="docutils literal notranslate"><span class="pre">double</sp [...]
+<code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">uuid</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">text</span></code>, <code class="docutils literal notranslate"><span class="pre">varchar</span></code></p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">varint</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">tinyint</span></code>, <code class="docutils literal notranslate"><span class="pre">smallint</span></code>, <code class="docutils literal notranslate"><span class="pre">int</span></code>, <code class="docutils literal notranslate"><span class="pre">bigint</span></code>, <code class="docutils literal notranslate"><span class="pre">float</span></code>, <code class="docutils literal notranslate"><span class="pre">double</sp [...]
+<code class="docutils literal notranslate"><span class="pre">varchar</span></code></p></td>
+</tr>
+</tbody>
+</table>
+<p>The conversions rely strictly on Java’s semantics. For example, the double value 1 will be converted to the text value
+‘1.0’. For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="n">avg</span><span class="p">(</span><span class="k">cast</span><span class="p">(</span><span class="k">count</span> <span class="k">as</span> <span class="nb">double</span><span class="p">))</span> <span class="k">FROM</span> <span class="n">myTable</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="token">
+<h4>Token<a class="headerlink" href="#token" title="Permalink to this headline">¶</a></h4>
+<p>The <code class="docutils literal notranslate"><span class="pre">token</span></code> function allows to compute the token for a given partition key. The exact signature of the token function
+depends on the table concerned and of the partitioner used by the cluster.</p>
+<p>The type of the arguments of the <code class="docutils literal notranslate"><span class="pre">token</span></code> depend on the type of the partition key columns. The return type depend on
+the partitioner in use:</p>
+<ul class="simple">
+<li><p>For Murmur3Partitioner, the return type is <code class="docutils literal notranslate"><span class="pre">bigint</span></code>.</p></li>
+<li><p>For RandomPartitioner, the return type is <code class="docutils literal notranslate"><span class="pre">varint</span></code>.</p></li>
+<li><p>For ByteOrderedPartitioner, the return type is <code class="docutils literal notranslate"><span class="pre">blob</span></code>.</p></li>
+</ul>
+<p>For instance, in a cluster using the default Murmur3Partitioner, if a table is defined by:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TABLE</span> <span class="k">users</span> <span class="p">(</span>
+    <span class="n">userid</span> <span class="nb">text</span> <span class="k">PRIMARY</span> <span class="k">KEY</span><span class="p">,</span>
+    <span class="n">username</span> <span class="nb">text</span><span class="p">,</span>
+<span class="p">)</span>
+</pre></div>
+</div>
+<p>then the <code class="docutils literal notranslate"><span class="pre">token</span></code> function will take a single argument of type <code class="docutils literal notranslate"><span class="pre">text</span></code> (in that case, the partition key is <code class="docutils literal notranslate"><span class="pre">userid</span></code>
+(there is no clustering columns so the partition key is the same than the primary key)), and the return type will be
+<code class="docutils literal notranslate"><span class="pre">bigint</span></code>.</p>
+</div>
+<div class="section" id="uuid">
+<h4>Uuid<a class="headerlink" href="#uuid" title="Permalink to this headline">¶</a></h4>
+<p>The <code class="docutils literal notranslate"><span class="pre">uuid</span></code> function takes no parameters and generates a random type 4 uuid suitable for use in <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> or
+<code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statements.</p>
+</div>
+<div class="section" id="timeuuid-functions">
+<span id="id3"></span><h4>Timeuuid functions<a class="headerlink" href="#timeuuid-functions" title="Permalink to this headline">¶</a></h4>
+<div class="section" id="now">
+<h5><code class="docutils literal notranslate"><span class="pre">now</span></code><a class="headerlink" href="#now" title="Permalink to this headline">¶</a></h5>
+<p>The <code class="docutils literal notranslate"><span class="pre">now</span></code> function takes no arguments and generates, on the coordinator node, a new unique timeuuid (at the time where
+the statement using it is executed). Note that this method is useful for insertion but is largely non-sensical in
+<code class="docutils literal notranslate"><span class="pre">WHERE</span></code> clauses. For instance, a query of the form:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">myTable</span> <span class="k">WHERE</span> <span class="n">t</span> <span class="o">=</span> <span class="n">now</span><span class="p">()</span>
+</pre></div>
+</div>
+<p>will never return any result by design, since the value returned by <code class="docutils literal notranslate"><span class="pre">now()</span></code> is guaranteed to be unique.</p>
+</div>
+<div class="section" id="mintimeuuid-and-maxtimeuuid">
+<h5><code class="docutils literal notranslate"><span class="pre">minTimeuuid</span></code> and <code class="docutils literal notranslate"><span class="pre">maxTimeuuid</span></code><a class="headerlink" href="#mintimeuuid-and-maxtimeuuid" title="Permalink to this headline">¶</a></h5>
+<p>The <code class="docutils literal notranslate"><span class="pre">minTimeuuid</span></code> (resp. <code class="docutils literal notranslate"><span class="pre">maxTimeuuid</span></code>) function takes a <code class="docutils literal notranslate"><span class="pre">timestamp</span></code> value <code class="docutils literal notranslate"><span class="pre">t</span></code> (which can be <cite>either a timestamp
+or a date string &lt;timestamps&gt;</cite>) and return a <em>fake</em> <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> corresponding to the <em>smallest</em> (resp. <em>biggest</em>)
+possible <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> having for timestamp <code class="docutils literal notranslate"><span class="pre">t</span></code>. So for instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="o">*</span> <span class="k">FROM</span> <span class="n">myTable</span>
+ <span class="k">WHERE</span> <span class="n">t</span> <span class="o">&gt;</span> <span class="n">maxTimeuuid</span><span class="p">(</span><span class="s1">&#39;2013-01-01 00:05+0000&#39;</span><span class="p">)</span>
+   <span class="k">AND</span> <span class="n">t</span> <span class="o">&lt;</span> <span class="n">minTimeuuid</span><span class="p">(</span><span class="s1">&#39;2013-02-02 10:00+0000&#39;</span><span class="p">)</span>
+</pre></div>
+</div>
+<p>will select all rows where the <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> column <code class="docutils literal notranslate"><span class="pre">t</span></code> is strictly older than <code class="docutils literal notranslate"><span class="pre">'2013-01-01</span> <span class="pre">00:05+0000'</span></code> but strictly
+younger than <code class="docutils literal notranslate"><span class="pre">'2013-02-02</span> <span class="pre">10:00+0000'</span></code>. Please note that <code class="docutils literal notranslate"><span class="pre">t</span> <span class="pre">&gt;=</span> <span class="pre">maxTimeuuid('2013-01-01</span> <span class="pre">00:05+0000')</span></code> would still
+<em>not</em> select a <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> generated exactly at ‘2013-01-01 00:05+0000’ and is essentially equivalent to <code class="docutils literal notranslate"><span class="pre">t</span> <span class="pre">&gt;</span>
+<span class="pre">maxTimeuuid('2013-01-01</span> <span class="pre">00:05+0000')</span></code>.</p>
+<div class="admonition note">
+<p class="admonition-title">Note</p>
+<p>We called the values generated by <code class="docutils literal notranslate"><span class="pre">minTimeuuid</span></code> and <code class="docutils literal notranslate"><span class="pre">maxTimeuuid</span></code> <em>fake</em> UUID because they do no respect
+the Time-Based UUID generation process specified by the <a class="reference external" href="http://www.ietf.org/rfc/rfc4122.txt">RFC 4122</a>. In
+particular, the value returned by these 2 methods will not be unique. This means you should only use those methods
+for querying (as in the example above). Inserting the result of those methods is almost certainly <em>a bad idea</em>.</p>
+</div>
+</div>
+</div>
+<div class="section" id="time-conversion-functions">
+<h4>Time conversion functions<a class="headerlink" href="#time-conversion-functions" title="Permalink to this headline">¶</a></h4>
+<p>A number of functions are provided to “convert” a <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code>, a <code class="docutils literal notranslate"><span class="pre">timestamp</span></code> or a <code class="docutils literal notranslate"><span class="pre">date</span></code> into another <code class="docutils literal notranslate"><span class="pre">native</span></code>
+type.</p>
+<table class="docutils align-default">
+<colgroup>
+<col style="width: 20%" />
+<col style="width: 15%" />
+<col style="width: 65%" />
+</colgroup>
+<thead>
+<tr class="row-odd"><th class="head"><p>Function name</p></th>
+<th class="head"><p>Input type</p></th>
+<th class="head"><p>Description</p></th>
+</tr>
+</thead>
+<tbody>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">toDate</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">timeuuid</span></code></p></td>
+<td><p>Converts the <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> argument into a <code class="docutils literal notranslate"><span class="pre">date</span></code> type</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">toDate</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">timestamp</span></code></p></td>
+<td><p>Converts the <code class="docutils literal notranslate"><span class="pre">timestamp</span></code> argument into a <code class="docutils literal notranslate"><span class="pre">date</span></code> type</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">toTimestamp</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">timeuuid</span></code></p></td>
+<td><p>Converts the <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> argument into a <code class="docutils literal notranslate"><span class="pre">timestamp</span></code> type</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">toTimestamp</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">date</span></code></p></td>
+<td><p>Converts the <code class="docutils literal notranslate"><span class="pre">date</span></code> argument into a <code class="docutils literal notranslate"><span class="pre">timestamp</span></code> type</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">toUnixTimestamp</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">timeuuid</span></code></p></td>
+<td><p>Converts the <code class="docutils literal notranslate"><span class="pre">timeuuid</span></code> argument into a <code class="docutils literal notranslate"><span class="pre">bigInt</span></code> raw value</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">toUnixTimestamp</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">timestamp</span></code></p></td>
+<td><p>Converts the <code class="docutils literal notranslate"><span class="pre">timestamp</span></code> argument into a <code class="docutils literal notranslate"><span class="pre">bigInt</span></code> raw value</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">toUnixTimestamp</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">date</span></code></p></td>
+<td><p>Converts the <code class="docutils literal notranslate"><span class="pre">date</span></code> argument into a <code class="docutils literal notranslate"><span class="pre">bigInt</span></code> raw value</p></td>
+</tr>
+<tr class="row-odd"><td><p><code class="docutils literal notranslate"><span class="pre">dateOf</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">timeuuid</span></code></p></td>
+<td><p>Similar to <code class="docutils literal notranslate"><span class="pre">toTimestamp(timeuuid)</span></code> (DEPRECATED)</p></td>
+</tr>
+<tr class="row-even"><td><p><code class="docutils literal notranslate"><span class="pre">unixTimestampOf</span></code></p></td>
+<td><p><code class="docutils literal notranslate"><span class="pre">timeuuid</span></code></p></td>
+<td><p>Similar to <code class="docutils literal notranslate"><span class="pre">toUnixTimestamp(timeuuid)</span></code> (DEPRECATED)</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="section" id="blob-conversion-functions">
+<h4>Blob conversion functions<a class="headerlink" href="#blob-conversion-functions" title="Permalink to this headline">¶</a></h4>
+<p>A number of functions are provided to “convert” the native types into binary data (<code class="docutils literal notranslate"><span class="pre">blob</span></code>). For every
+<code class="docutils literal notranslate"><span class="pre">&lt;native-type&gt;</span></code> <code class="docutils literal notranslate"><span class="pre">type</span></code> supported by CQL (a notable exceptions is <code class="docutils literal notranslate"><span class="pre">blob</span></code>, for obvious reasons), the function
+<code class="docutils literal notranslate"><span class="pre">typeAsBlob</span></code> takes a argument of type <code class="docutils literal notranslate"><span class="pre">type</span></code> and return it as a <code class="docutils literal notranslate"><span class="pre">blob</span></code>. Conversely, the function <code class="docutils literal notranslate"><span class="pre">blobAsType</span></code>
+takes a 64-bit <code class="docutils literal notranslate"><span class="pre">blob</span></code> argument and convert it to a <code class="docutils literal notranslate"><span class="pre">bigint</span></code> value. And so for instance, <code class="docutils literal notranslate"><span class="pre">bigintAsBlob(3)</span></code> is
+<code class="docutils literal notranslate"><span class="pre">0x0000000000000003</span></code> and <code class="docutils literal notranslate"><span class="pre">blobAsBigint(0x0000000000000003)</span></code> is <code class="docutils literal notranslate"><span class="pre">3</span></code>.</p>
+</div>
+</div>
+<div class="section" id="user-defined-functions">
+<span id="user-defined-scalar-functions"></span><h3>User-defined functions<a class="headerlink" href="#user-defined-functions" title="Permalink to this headline">¶</a></h3>
+<p>User-defined functions allow execution of user-provided code in Cassandra. By default, Cassandra supports defining
+functions in <em>Java</em> and <em>JavaScript</em>. Support for other JSR 223 compliant scripting languages (such as Python, Ruby, and
+Scala) can be added by adding a JAR to the classpath.</p>
+<p>UDFs are part of the Cassandra schema. As such, they are automatically propagated to all nodes in the cluster.</p>
+<p>UDFs can be <em>overloaded</em> - i.e. multiple UDFs with different argument types but the same function name. Example:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">FUNCTION</span> <span class="n">sample</span> <span class="p">(</span> <span class="n">arg</span> <span class="nb">int</span> <span class="p">)</span> <span class="mf">...</span><span class="p">;</span>
+<span class="k">CREATE</span> <span class="k">FUNCTION</span> <span class="n">sample</span> <span class="p">(</span> <span class="n">arg</span> <span class="nb">text</span> <span class="p">)</span> <span class="mf">...</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>User-defined functions are susceptible to all of the normal problems with the chosen programming language. Accordingly,
+implementations should be safe against null pointer exceptions, illegal arguments, or any other potential source of
+exceptions. An exception during function execution will result in the entire statement failing.</p>
+<p>It is valid to use <em>complex</em> types like collections, tuple types and user-defined types as argument and return types.
+Tuple types and user-defined types are handled by the conversion functions of the DataStax Java Driver. Please see the
+documentation of the Java Driver for details on handling tuple types and user-defined types.</p>
+<p>Arguments for functions can be literals or terms. Prepared statement placeholders can be used, too.</p>
+<p>Note that you can use the double-quoted string syntax to enclose the UDF source code. For example:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">FUNCTION</span> <span class="n">some_function</span> <span class="p">(</span> <span class="n">arg</span> <span class="nb">int</span> <span class="p">)</span>
+    <span class="k">RETURNS</span> <span class="k">NULL</span> <span class="k">ON</span> <span class="k">NULL</span> <span class="k">INPUT</span>
+    <span class="k">RETURNS</span> <span class="nb">int</span>
+    <span class="k">LANGUAGE</span> <span class="n">java</span>
+    <span class="k">AS</span> <span class="s">$$</span> <span class="k">return</span> <span class="n">arg</span><span class="p">;</span> <span class="s">$$</span><span class="p">;</span>
+
+<span class="k">SELECT</span> <span class="n">some_function</span><span class="p">(</span><span class="n">column</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">atable</span> <span class="mf">...</span><span class="p">;</span>
+<span class="k">UPDATE</span> <span class="n">atable</span> <span class="k">SET</span> <span class="n">col</span> <span class="o">=</span> <span class="n">some_function</span><span class="p">(</span><span class="o">?</span><span class="p">)</span> <span class="mf">...</span><span class="p">;</span>
+
+<span class="k">CREATE</span> <span class="k">TYPE</span> <span class="n">custom_type</span> <span class="p">(</span><span class="n">txt</span> <span class="nb">text</span><span class="p">,</span> <span class="n">i</span> <span class="nb">int</span><span class="p">);</span>
+<span class="k">CREATE</span> <span class="k">FUNCTION</span> <span class="n">fct_using_udt</span> <span class="p">(</span> <span class="n">udtarg</span> <span class="k">frozen</span> <span class="p">)</span>
+    <span class="k">RETURNS</span> <span class="k">NULL</span> <span class="k">ON</span> <span class="k">NULL</span> <span class="k">INPUT</span>
+    <span class="k">RETURNS</span> <span class="nb">text</span>
+    <span class="k">LANGUAGE</span> <span class="n">java</span>
+    <span class="k">AS</span> <span class="s">$$</span> <span class="k">return</span> <span class="n">udtarg</span><span class="p">.</span><span class="na">getString</span><span class="p">(</span><span class="s">&quot;txt&quot;</span><span class="p">);</span> <span class="s">$$</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>User-defined functions can be used in <code class="docutils literal notranslate"><span class="pre">SELECT</span></code>, <code class="docutils literal notranslate"><span class="pre">INSERT</span></code> and <code class="docutils literal notranslate"><span class="pre">UPDATE</span></code> statements.</p>
+<p>The implicitly available <code class="docutils literal notranslate"><span class="pre">udfContext</span></code> field (or binding for script UDFs) provides the necessary functionality to
+create new UDT and tuple values:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">TYPE</span> <span class="n">custom_type</span> <span class="p">(</span><span class="n">txt</span> <span class="nb">text</span><span class="p">,</span> <span class="n">i</span> <span class="nb">int</span><span class="p">);</span>
+<span class="k">CREATE</span> <span class="k">FUNCTION</span> <span class="n">fct</span><span class="err">\</span><span class="n">_using</span><span class="err">\</span><span class="n">_udt</span> <span class="p">(</span> <span class="n">somearg</span> <span class="nb">int</span> <span class="p">)</span>
+    <span class="k">RETURNS</span> <span class="k">NULL</span> <span class="k">ON</span> <span class="k">NULL</span> <span class="k">INPUT</span>
+    <span class="k">RETURNS</span> <span class="n">custom_type</span>
+    <span class="k">LANGUAGE</span> <span class="n">java</span>
+    <span class="k">AS</span> <span class="s">$$</span>
+        <span class="n">UDTValue</span> <span class="n">udt</span> <span class="o">=</span> <span class="n">udfContext</span><span class="p">.</span><span class="na">newReturnUDTValue</span><span class="p">();</span>
+        <span class="n">udt</span><span class="p">.</span><span class="na">setString</span><span class="p">(</span><span class="s">&quot;txt&quot;</span><span class="p">,</span> <span class="s">&quot;some string&quot;</span><span class="p">);</span>
+        <span class="n">udt</span><span class="p">.</span><span class="na">setInt</span><span class="p">(</span><span class="s">&quot;i&quot;</span><span class="p">,</span> <span class="mi">42</span><span class="p">);</span>
+        <span class="k">return</span> <span class="n">udt</span><span class="p">;</span>
+    <span class="s">$$</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>The definition of the <code class="docutils literal notranslate"><span class="pre">UDFContext</span></code> interface can be found in the Apache Cassandra source code for
+<code class="docutils literal notranslate"><span class="pre">org.apache.cassandra.cql3.functions.UDFContext</span></code>.</p>
+<div class="highlight-java notranslate"><div class="highlight"><pre><span></span><span class="kd">public</span> <span class="kd">interface</span> <span class="nc">UDFContext</span>
+<span class="p">{</span>
+    <span class="n">UDTValue</span> <span class="nf">newArgUDTValue</span><span class="p">(</span><span class="n">String</span> <span class="n">argName</span><span class="p">);</span>
+    <span class="n">UDTValue</span> <span class="nf">newArgUDTValue</span><span class="p">(</span><span class="kt">int</span> <span class="n">argNum</span><span class="p">);</span>
+    <span class="n">UDTValue</span> <span class="nf">newReturnUDTValue</span><span class="p">();</span>
+    <span class="n">UDTValue</span> <span class="nf">newUDTValue</span><span class="p">(</span><span class="n">String</span> <span class="n">udtName</span><span class="p">);</span>
+    <span class="n">TupleValue</span> <span class="nf">newArgTupleValue</span><span class="p">(</span><span class="n">String</span> <span class="n">argName</span><span class="p">);</span>
+    <span class="n">TupleValue</span> <span class="nf">newArgTupleValue</span><span class="p">(</span><span class="kt">int</span> <span class="n">argNum</span><span class="p">);</span>
+    <span class="n">TupleValue</span> <span class="nf">newReturnTupleValue</span><span class="p">();</span>
+    <span class="n">TupleValue</span> <span class="nf">newTupleValue</span><span class="p">(</span><span class="n">String</span> <span class="n">cqlDefinition</span><span class="p">);</span>
+<span class="p">}</span>
+</pre></div>
+</div>
+<p>Java UDFs already have some imports for common interfaces and classes defined. These imports are:</p>
+<div class="highlight-java notranslate"><div class="highlight"><pre><span></span><span class="kn">import</span> <span class="nn">java.nio.ByteBuffer</span><span class="p">;</span>
+<span class="kn">import</span> <span class="nn">java.util.List</span><span class="p">;</span>
+<span class="kn">import</span> <span class="nn">java.util.Map</span><span class="p">;</span>
+<span class="kn">import</span> <span class="nn">java.util.Set</span><span class="p">;</span>
+<span class="kn">import</span> <span class="nn">org.apache.cassandra.cql3.functions.UDFContext</span><span class="p">;</span>
+<span class="kn">import</span> <span class="nn">com.datastax.driver.core.TypeCodec</span><span class="p">;</span>
+<span class="kn">import</span> <span class="nn">com.datastax.driver.core.TupleValue</span><span class="p">;</span>
+<span class="kn">import</span> <span class="nn">com.datastax.driver.core.UDTValue</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>Please note, that these convenience imports are not available for script UDFs.</p>
+<div class="section" id="create-function">
+<span id="create-function-statement"></span><h4>CREATE FUNCTION<a class="headerlink" href="#create-function" title="Permalink to this headline">¶</a></h4>
+<p>Creating a new user-defined function uses the <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">FUNCTION</span></code> statement:</p>
+<pre>
+<strong id="grammar-token-create_function_statement"><span id="grammar-token-create-function-statement"></span>create_function_statement</strong> ::=  CREATE [ OR REPLACE ] FUNCTION [ IF NOT EXISTS]
+                                   <a class="reference internal" href="#grammar-token-function_name"><code class="xref docutils literal notranslate"><span class="pre">function_name</span></code></a> '(' <a class="reference internal" href="#grammar-token-arguments_declaration"><code class="xref docutils literal notranslate"><span class="pre">arguments_declaration</span></code></a> ')'
+                                   [ CALLED | RETURNS NULL ] ON NULL INPUT
+                                   RETURNS <a class="reference internal" href="types.html#grammar-token-cql_type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a>
+                                   LANGUAGE <a class="reference internal" href="definitions.html#grammar-token-identifier"><code class="xref docutils literal notranslate"><span class="pre">identifier</span></code></a>
+                                   AS <a class="reference internal" href="definitions.html#grammar-token-string"><code class="xref docutils literal notranslate"><span class="pre">string</span></code></a>
+<strong id="grammar-token-arguments_declaration"><span id="grammar-token-arguments-declaration"></span>arguments_declaration    </strong> ::=  <a class="reference internal" href="definitions.html#grammar-token-identifier"><code class="xref docutils literal notranslate"><span class="pre">identifier</span></code></a> <a class="reference internal" href="types.html#grammar-token-cql_type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a> ( ',' <a cl [...]
+</pre>
+<p>For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">OR</span> <span class="k">REPLACE</span> <span class="k">FUNCTION</span> <span class="n">somefunction</span><span class="p">(</span><span class="n">somearg</span> <span class="nb">int</span><span class="p">,</span> <span class="n">anotherarg</span> <span class="nb">text</span><span class="p">,</span> <span class="n">complexarg</span> <span class="k">frozen</span>< [...]
+    <span class="k">RETURNS</span> <span class="k">NULL</span> <span class="k">ON</span> <span class="k">NULL</span> <span class="k">INPUT</span>
+    <span class="k">RETURNS</span> <span class="nb">text</span>
+    <span class="k">LANGUAGE</span> <span class="n">java</span>
+    <span class="k">AS</span> <span class="s">$$</span>
+        <span class="c1">// some Java code</span>
+    <span class="s">$$</span><span class="p">;</span>
+
+<span class="k">CREATE</span> <span class="k">FUNCTION</span> <span class="k">IF</span> <span class="k">NOT</span> <span class="k">EXISTS</span> <span class="n">akeyspace</span><span class="mf">.</span><span class="n">fname</span><span class="p">(</span><span class="n">someArg</span> <span class="nb">int</span><span class="p">)</span>
+    <span class="k">CALLED</span> <span class="k">ON</span> <span class="k">NULL</span> <span class="k">INPUT</span>
+    <span class="k">RETURNS</span> <span class="nb">text</span>
+    <span class="k">LANGUAGE</span> <span class="n">java</span>
+    <span class="k">AS</span> <span class="s">$$</span>
+        <span class="c1">// some Java code</span>
+    <span class="s">$$</span><span class="p">;</span>
+</pre></div>
+</div>
+<p><code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">FUNCTION</span></code> with the optional <code class="docutils literal notranslate"><span class="pre">OR</span> <span class="pre">REPLACE</span></code> keywords either creates a function or replaces an existing one with
+the same signature. A <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">FUNCTION</span></code> without <code class="docutils literal notranslate"><span class="pre">OR</span> <span class="pre">REPLACE</span></code> fails if a function with the same signature already
+exists.</p>
+<p>If the optional <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> keywords are used, the function will
+only be created if another function with the same signature does not
+exist.</p>
+<p><code class="docutils literal notranslate"><span class="pre">OR</span> <span class="pre">REPLACE</span></code> and <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> cannot be used together.</p>
+<p>Behavior on invocation with <code class="docutils literal notranslate"><span class="pre">null</span></code> values must be defined for each
+function. There are two options:</p>
+<ol class="arabic simple">
+<li><p><code class="docutils literal notranslate"><span class="pre">RETURNS</span> <span class="pre">NULL</span> <span class="pre">ON</span> <span class="pre">NULL</span> <span class="pre">INPUT</span></code> declares that the function will always
+return <code class="docutils literal notranslate"><span class="pre">null</span></code> if any of the input arguments is <code class="docutils literal notranslate"><span class="pre">null</span></code>.</p></li>
+<li><p><code class="docutils literal notranslate"><span class="pre">CALLED</span> <span class="pre">ON</span> <span class="pre">NULL</span> <span class="pre">INPUT</span></code> declares that the function will always be
+executed.</p></li>
+</ol>
+<div class="section" id="function-signature">
+<h5>Function Signature<a class="headerlink" href="#function-signature" title="Permalink to this headline">¶</a></h5>
+<p>Signatures are used to distinguish individual functions. The signature consists of:</p>
+<ol class="arabic simple">
+<li><p>The fully qualified function name - i.e <em>keyspace</em> plus <em>function-name</em></p></li>
+<li><p>The concatenated list of all argument types</p></li>
+</ol>
+<p>Note that keyspace names, function names and argument types are subject to the default naming conventions and
+case-sensitivity rules.</p>
+<p>Functions belong to a keyspace. If no keyspace is specified in <code class="docutils literal notranslate"><span class="pre">&lt;function-name&gt;</span></code>, the current keyspace is used (i.e.
+the keyspace specified using the <code class="docutils literal notranslate"><span class="pre">USE</span></code> statement). It is not possible to create a user-defined function in one of the
+system keyspaces.</p>
+</div>
+</div>
+<div class="section" id="drop-function">
+<span id="drop-function-statement"></span><h4>DROP FUNCTION<a class="headerlink" href="#drop-function" title="Permalink to this headline">¶</a></h4>
+<p>Dropping a function uses the <code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">FUNCTION</span></code> statement:</p>
+<pre>
+<strong id="grammar-token-drop_function_statement"><span id="grammar-token-drop-function-statement"></span>drop_function_statement</strong> ::=  DROP FUNCTION [ IF EXISTS ] <a class="reference internal" href="#grammar-token-function_name"><code class="xref docutils literal notranslate"><span class="pre">function_name</span></code></a> [ '(' <a class="reference internal" href="#grammar-token-arguments_signature"><code class="xref docutils literal notranslate"><span class="pre">arguments_s [...]
+<strong id="grammar-token-arguments_signature"><span id="grammar-token-arguments-signature"></span>arguments_signature    </strong> ::=  <a class="reference internal" href="types.html#grammar-token-cql_type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a> ( ',' <a class="reference internal" href="types.html#grammar-token-cql_type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a> )*
+</pre>
+<p>For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">DROP</span> <span class="k">FUNCTION</span> <span class="n">myfunction</span><span class="p">;</span>
+<span class="k">DROP</span> <span class="k">FUNCTION</span> <span class="n">mykeyspace</span><span class="mf">.</span><span class="n">afunction</span><span class="p">;</span>
+<span class="k">DROP</span> <span class="k">FUNCTION</span> <span class="n">afunction</span> <span class="p">(</span> <span class="nb">int</span> <span class="p">);</span>
+<span class="k">DROP</span> <span class="k">FUNCTION</span> <span class="n">afunction</span> <span class="p">(</span> <span class="nb">text</span> <span class="p">);</span>
+</pre></div>
+</div>
+<p>You must specify the argument types (<a class="reference internal" href="#grammar-token-arguments_signature"><code class="xref std std-token docutils literal notranslate"><span class="pre">arguments_signature</span></code></a>) of the function to drop if there are multiple
+functions with the same name but a different signature (overloaded functions).</p>
+<p><code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">FUNCTION</span></code> with the optional <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">EXISTS</span></code> keywords drops a function if it exists, but does not throw an error if
+it doesn’t</p>
+</div>
+</div>
+</div>
+<div class="section" id="aggregate-functions">
+<span id="id4"></span><h2>Aggregate functions<a class="headerlink" href="#aggregate-functions" title="Permalink to this headline">¶</a></h2>
+<p>Aggregate functions work on a set of rows. They receive values for each row and returns one value for the whole set.</p>
+<p>If <code class="docutils literal notranslate"><span class="pre">normal</span></code> columns, <code class="docutils literal notranslate"><span class="pre">scalar</span> <span class="pre">functions</span></code>, <code class="docutils literal notranslate"><span class="pre">UDT</span></code> fields, <code class="docutils literal notranslate"><span class="pre">writetime</span></code> or <code class="docutils literal notranslate"><span class="pre">ttl</span></code> are selected together with
+aggregate functions, the values returned for them will be the ones of the first row matching the query.</p>
+<div class="section" id="native-aggregates">
+<h3>Native aggregates<a class="headerlink" href="#native-aggregates" title="Permalink to this headline">¶</a></h3>
+<div class="section" id="count">
+<span id="count-function"></span><h4>Count<a class="headerlink" href="#count" title="Permalink to this headline">¶</a></h4>
+<p>The <code class="docutils literal notranslate"><span class="pre">count</span></code> function can be used to count the rows returned by a query. Example:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="k">COUNT</span> <span class="p">(</span><span class="o">*</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">plays</span><span class="p">;</span>
+<span class="k">SELECT</span> <span class="k">COUNT</span> <span class="p">(</span><span class="mf">1</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">plays</span><span class="p">;</span>
+</pre></div>
+</div>
+<p>It also can be used to count the non null value of a given column:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="k">COUNT</span> <span class="p">(</span><span class="n">scores</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">plays</span><span class="p">;</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="max-and-min">
+<h4>Max and Min<a class="headerlink" href="#max-and-min" title="Permalink to this headline">¶</a></h4>
+<p>The <code class="docutils literal notranslate"><span class="pre">max</span></code> and <code class="docutils literal notranslate"><span class="pre">min</span></code> functions can be used to compute the maximum and the minimum value returned by a query for a
+given column. For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="n">MIN</span> <span class="p">(</span><span class="n">players</span><span class="p">),</span> <span class="n">MAX</span> <span class="p">(</span><span class="n">players</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">plays</span> <span class="k">WHERE</span> <span class="n">game</span> <span class="o">=</span> <span class="s1">&#39;quake&#3 [...]
+</pre></div>
+</div>
+</div>
+<div class="section" id="sum">
+<h4>Sum<a class="headerlink" href="#sum" title="Permalink to this headline">¶</a></h4>
+<p>The <code class="docutils literal notranslate"><span class="pre">sum</span></code> function can be used to sum up all the values returned by a query for a given column. For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="n">SUM</span> <span class="p">(</span><span class="n">players</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">plays</span><span class="p">;</span>
+</pre></div>
+</div>
+</div>
+<div class="section" id="avg">
+<h4>Avg<a class="headerlink" href="#avg" title="Permalink to this headline">¶</a></h4>
+<p>The <code class="docutils literal notranslate"><span class="pre">avg</span></code> function can be used to compute the average of all the values returned by a query for a given column. For
+instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">SELECT</span> <span class="n">AVG</span> <span class="p">(</span><span class="n">players</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">plays</span><span class="p">;</span>
+</pre></div>
+</div>
+</div>
+</div>
+<div class="section" id="user-defined-aggregates">
+<span id="user-defined-aggregates-functions"></span><h3>User-Defined Aggregates<a class="headerlink" href="#user-defined-aggregates" title="Permalink to this headline">¶</a></h3>
+<p>User-defined aggregates allow the creation of custom aggregate functions. Common examples of aggregate functions are
+<em>count</em>, <em>min</em>, and <em>max</em>.</p>
+<p>Each aggregate requires an <em>initial state</em> (<code class="docutils literal notranslate"><span class="pre">INITCOND</span></code>, which defaults to <code class="docutils literal notranslate"><span class="pre">null</span></code>) of type <code class="docutils literal notranslate"><span class="pre">STYPE</span></code>. The first
+argument of the state function must have type <code class="docutils literal notranslate"><span class="pre">STYPE</span></code>. The remaining arguments of the state function must match the
+types of the user-defined aggregate arguments. The state function is called once for each row, and the value returned by
+the state function becomes the new state. After all rows are processed, the optional <code class="docutils literal notranslate"><span class="pre">FINALFUNC</span></code> is executed with last
+state value as its argument.</p>
+<p><code class="docutils literal notranslate"><span class="pre">STYPE</span></code> is mandatory in order to be able to distinguish possibly overloaded versions of the state and/or final
+function (since the overload can appear after creation of the aggregate).</p>
+<p>User-defined aggregates can be used in <code class="docutils literal notranslate"><span class="pre">SELECT</span></code> statement.</p>
+<p>A complete working example for user-defined aggregates (assuming that a keyspace has been selected using the <code class="docutils literal notranslate"><span class="pre">USE</span></code>
+statement):</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">CREATE</span> <span class="k">OR</span> <span class="k">REPLACE</span> <span class="k">FUNCTION</span> <span class="n">averageState</span><span class="p">(</span><span class="n">state</span> <span class="k">tuple</span><span class="o">&lt;</span><span class="nb">int</span><span class="p">,</span><span class="nb">bigint</span><span class="o">&gt;</span><span class="p">,</span> <span class="n">v [...]
+    <span class="k">CALLED</span> <span class="k">ON</span> <span class="k">NULL</span> <span class="k">INPUT</span>
+    <span class="k">RETURNS</span> <span class="k">tuple</span>
+    <span class="k">LANGUAGE</span> <span class="n">java</span>
+    <span class="k">AS</span> <span class="s">$$</span>
+        <span class="k">if</span> <span class="p">(</span><span class="n">val</span> <span class="o">!=</span> <span class="kc">null</span><span class="p">)</span> <span class="p">{</span>
+            <span class="n">state</span><span class="p">.</span><span class="na">setInt</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">state</span><span class="p">.</span><span class="na">getInt</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">+</span><span class="mi">1</span><span class="p">);</span>
+            <span class="n">state</span><span class="p">.</span><span class="na">setLong</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="n">state</span><span class="p">.</span><span class="na">getLong</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">+</span><span class="n">val</span><span class="p">.</span><span class="na">intValue</span><span class="p">());</span>
+        <span class="p">}</span>
+        <span class="k">return</span> <span class="n">state</span><span class="p">;</span>
+    <span class="s">$$</span><span class="p">;</span>
+
+<span class="k">CREATE</span> <span class="k">OR</span> <span class="k">REPLACE</span> <span class="k">FUNCTION</span> <span class="n">averageFinal</span> <span class="p">(</span><span class="n">state</span> <span class="k">tuple</span><span class="o">&lt;</span><span class="nb">int</span><span class="p">,</span><span class="nb">bigint</span><span class="o">&gt;</span><span class="p">)</span>
+    <span class="k">CALLED</span> <span class="k">ON</span> <span class="k">NULL</span> <span class="k">INPUT</span>
+    <span class="k">RETURNS</span> <span class="nb">double</span>
+    <span class="k">LANGUAGE</span> <span class="n">java</span>
+    <span class="k">AS</span> <span class="s">$$</span>
+        <span class="kt">double</span> <span class="n">r</span> <span class="o">=</span> <span class="mi">0</span><span class="p">;</span>
+        <span class="k">if</span> <span class="p">(</span><span class="n">state</span><span class="p">.</span><span class="na">getInt</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span> <span class="o">==</span> <span class="mi">0</span><span class="p">)</span> <span class="k">return</span> <span class="kc">null</span><span class="p">;</span>
+        <span class="n">r</span> <span class="o">=</span> <span class="n">state</span><span class="p">.</span><span class="na">getLong</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
+        <span class="n">r</span> <span class="o">/=</span> <span class="n">state</span><span class="p">.</span><span class="na">getInt</span><span class="p">(</span><span class="mi">0</span><span class="p">);</span>
+        <span class="k">return</span> <span class="n">Double</span><span class="p">.</span><span class="na">valueOf</span><span class="p">(</span><span class="n">r</span><span class="p">);</span>
+    <span class="s">$$</span><span class="p">;</span>
+
+<span class="k">CREATE</span> <span class="k">OR</span> <span class="k">REPLACE</span> <span class="k">AGGREGATE</span> <span class="n">average</span><span class="p">(</span><span class="nb">int</span><span class="p">)</span>
+    <span class="k">SFUNC</span> <span class="n">averageState</span>
+    <span class="k">STYPE</span> <span class="k">tuple</span>
+    <span class="k">FINALFUNC</span> <span class="n">averageFinal</span>
+    <span class="k">INITCOND</span> <span class="p">(</span><span class="mf">0</span><span class="p">,</span> <span class="mf">0</span><span class="p">);</span>
+
+<span class="k">CREATE</span> <span class="k">TABLE</span> <span class="n">atable</span> <span class="p">(</span>
+    <span class="n">pk</span> <span class="nb">int</span> <span class="k">PRIMARY</span> <span class="k">KEY</span><span class="p">,</span>
+    <span class="n">val</span> <span class="nb">int</span>
+<span class="p">);</span>
+
+<span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">atable</span> <span class="p">(</span><span class="n">pk</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span> <span class="k">VALUES</span> <span class="p">(</span><span class="mf">1</span><span class="p">,</span><span class="mf">1</span><span class="p">);</span>
+<span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">atable</span> <span class="p">(</span><span class="n">pk</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span> <span class="k">VALUES</span> <span class="p">(</span><span class="mf">2</span><span class="p">,</span><span class="mf">2</span><span class="p">);</span>
+<span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">atable</span> <span class="p">(</span><span class="n">pk</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span> <span class="k">VALUES</span> <span class="p">(</span><span class="mf">3</span><span class="p">,</span><span class="mf">3</span><span class="p">);</span>
+<span class="k">INSERT</span> <span class="k">INTO</span> <span class="n">atable</span> <span class="p">(</span><span class="n">pk</span><span class="p">,</span> <span class="n">val</span><span class="p">)</span> <span class="k">VALUES</span> <span class="p">(</span><span class="mf">4</span><span class="p">,</span><span class="mf">4</span><span class="p">);</span>
+
+<span class="k">SELECT</span> <span class="n">average</span><span class="p">(</span><span class="n">val</span><span class="p">)</span> <span class="k">FROM</span> <span class="n">atable</span><span class="p">;</span>
+</pre></div>
+</div>
+<div class="section" id="create-aggregate">
+<span id="create-aggregate-statement"></span><h4>CREATE AGGREGATE<a class="headerlink" href="#create-aggregate" title="Permalink to this headline">¶</a></h4>
+<p>Creating (or replacing) a user-defined aggregate function uses the <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">AGGREGATE</span></code> statement:</p>
+<pre>
+<strong id="grammar-token-create_aggregate_statement"><span id="grammar-token-create-aggregate-statement"></span>create_aggregate_statement</strong> ::=  CREATE [ OR REPLACE ] AGGREGATE [ IF NOT EXISTS ]
+                                    <a class="reference internal" href="#grammar-token-function_name"><code class="xref docutils literal notranslate"><span class="pre">function_name</span></code></a> '(' <a class="reference internal" href="#grammar-token-arguments_signature"><code class="xref docutils literal notranslate"><span class="pre">arguments_signature</span></code></a> ')'
+                                    SFUNC <a class="reference internal" href="#grammar-token-function_name"><code class="xref docutils literal notranslate"><span class="pre">function_name</span></code></a>
+                                    STYPE <a class="reference internal" href="types.html#grammar-token-cql_type"><code class="xref docutils literal notranslate"><span class="pre">cql_type</span></code></a>
+                                    [ FINALFUNC <a class="reference internal" href="#grammar-token-function_name"><code class="xref docutils literal notranslate"><span class="pre">function_name</span></code></a> ]
+                                    [ INITCOND <a class="reference internal" href="definitions.html#grammar-token-term"><code class="xref docutils literal notranslate"><span class="pre">term</span></code></a> ]
+</pre>
+<p>See above for a complete example.</p>
+<p><code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">AGGREGATE</span></code> with the optional <code class="docutils literal notranslate"><span class="pre">OR</span> <span class="pre">REPLACE</span></code> keywords either creates an aggregate or replaces an existing one
+with the same signature. A <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">AGGREGATE</span></code> without <code class="docutils literal notranslate"><span class="pre">OR</span> <span class="pre">REPLACE</span></code> fails if an aggregate with the same signature
+already exists.</p>
+<p><code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">AGGREGATE</span></code> with the optional <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> keywords either creates an aggregate if it does not already
+exist.</p>
+<p><code class="docutils literal notranslate"><span class="pre">OR</span> <span class="pre">REPLACE</span></code> and <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">NOT</span> <span class="pre">EXISTS</span></code> cannot be used together.</p>
+<p><code class="docutils literal notranslate"><span class="pre">STYPE</span></code> defines the type of the state value and must be specified.</p>
+<p>The optional <code class="docutils literal notranslate"><span class="pre">INITCOND</span></code> defines the initial state value for the aggregate. It defaults to <code class="docutils literal notranslate"><span class="pre">null</span></code>. A non-<code class="docutils literal notranslate"><span class="pre">null</span></code>
+<code class="docutils literal notranslate"><span class="pre">INITCOND</span></code> must be specified for state functions that are declared with <code class="docutils literal notranslate"><span class="pre">RETURNS</span> <span class="pre">NULL</span> <span class="pre">ON</span> <span class="pre">NULL</span> <span class="pre">INPUT</span></code>.</p>
+<p><code class="docutils literal notranslate"><span class="pre">SFUNC</span></code> references an existing function to be used as the state modifying function. The type of first argument of the
+state function must match <code class="docutils literal notranslate"><span class="pre">STYPE</span></code>. The remaining argument types of the state function must match the argument types of
+the aggregate function. State is not updated for state functions declared with <code class="docutils literal notranslate"><span class="pre">RETURNS</span> <span class="pre">NULL</span> <span class="pre">ON</span> <span class="pre">NULL</span> <span class="pre">INPUT</span></code> and called
+with <code class="docutils literal notranslate"><span class="pre">null</span></code>.</p>
+<p>The optional <code class="docutils literal notranslate"><span class="pre">FINALFUNC</span></code> is called just before the aggregate result is returned. It must take only one argument with
+type <code class="docutils literal notranslate"><span class="pre">STYPE</span></code>. The return type of the <code class="docutils literal notranslate"><span class="pre">FINALFUNC</span></code> may be a different type. A final function declared with <code class="docutils literal notranslate"><span class="pre">RETURNS</span>
+<span class="pre">NULL</span> <span class="pre">ON</span> <span class="pre">NULL</span> <span class="pre">INPUT</span></code> means that the aggregate’s return value will be <code class="docutils literal notranslate"><span class="pre">null</span></code>, if the last state is <code class="docutils literal notranslate"><span class="pre">null</span></code>.</p>
+<p>If no <code class="docutils literal notranslate"><span class="pre">FINALFUNC</span></code> is defined, the overall return type of the aggregate function is <code class="docutils literal notranslate"><span class="pre">STYPE</span></code>. If a <code class="docutils literal notranslate"><span class="pre">FINALFUNC</span></code> is
+defined, it is the return type of that function.</p>
+</div>
+<div class="section" id="drop-aggregate">
+<span id="drop-aggregate-statement"></span><h4>DROP AGGREGATE<a class="headerlink" href="#drop-aggregate" title="Permalink to this headline">¶</a></h4>
+<p>Dropping an user-defined aggregate function uses the <code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">AGGREGATE</span></code> statement:</p>
+<pre>
+<strong id="grammar-token-drop_aggregate_statement"><span id="grammar-token-drop-aggregate-statement"></span>drop_aggregate_statement</strong> ::=  DROP AGGREGATE [ IF EXISTS ] <a class="reference internal" href="#grammar-token-function_name"><code class="xref docutils literal notranslate"><span class="pre">function_name</span></code></a> [ '(' <a class="reference internal" href="#grammar-token-arguments_signature"><code class="xref docutils literal notranslate"><span class="pre">argumen [...]
+</pre>
+<p>For instance:</p>
+<div class="highlight-cql notranslate"><div class="highlight"><pre><span></span><span class="k">DROP</span> <span class="k">AGGREGATE</span> <span class="n">myAggregate</span><span class="p">;</span>
+<span class="k">DROP</span> <span class="k">AGGREGATE</span> <span class="n">myKeyspace</span><span class="mf">.</span><span class="n">anAggregate</span><span class="p">;</span>
+<span class="k">DROP</span> <span class="k">AGGREGATE</span> <span class="n">someAggregate</span> <span class="p">(</span> <span class="nb">int</span> <span class="p">);</span>
+<span class="k">DROP</span> <span class="k">AGGREGATE</span> <span class="n">someAggregate</span> <span class="p">(</span> <span class="nb">text</span> <span class="p">);</span>
+</pre></div>
+</div>
+<p>The <code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">AGGREGATE</span></code> statement removes an aggregate created using <code class="docutils literal notranslate"><span class="pre">CREATE</span> <span class="pre">AGGREGATE</span></code>. You must specify the argument
+types of the aggregate to drop if there are multiple aggregates with the same name but a different signature (overloaded
+aggregates).</p>
+<p><code class="docutils literal notranslate"><span class="pre">DROP</span> <span class="pre">AGGREGATE</span></code> with the optional <code class="docutils literal notranslate"><span class="pre">IF</span> <span class="pre">EXISTS</span></code> keywords drops an aggregate if it exists, and does nothing if a
+function with the signature does not exist.</p>
+</div>
+</div>
+</div>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+        <a href="json.html" class="btn btn-neutral float-right" title="JSON Support" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="security.html" class="btn btn-neutral float-left" title="Security" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 2016, The Apache Cassandra team.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/doc/3.11.10/cql/index.html b/content/doc/3.11.10/cql/index.html
new file mode 100644
index 0000000..bb25283
--- /dev/null
+++ b/content/doc/3.11.10/cql/index.html
@@ -0,0 +1,362 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>The Cassandra Query Language (CQL) &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Definitions" href="definitions.html" />
+    <link rel="prev" title="Data Modeling" href="../data_modeling/index.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Apache Cassandra
+          
+
+          
+          </a>
+
+          
+            
+            
+              <div class="version">
+                3.11.10
+              </div>
+            
+          
+
+          
+<div role="search">
+  <form id="rtd-search-form" class="wy-form" action="../search.html" method="get">
+    <input type="text" name="q" placeholder="Search docs" />
+    <input type="hidden" name="check_keywords" value="yes" />
+    <input type="hidden" name="area" value="default" />
+  </form>
+</div>
+
+          
+        </div>
+
+        
+        <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
+          
+            
+            
+              
+            
+            
+              <ul class="current">
+<li class="toctree-l1"><a class="reference internal" href="../getting_started/index.html">Getting Started</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../architecture/index.html">Architecture</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../data_modeling/index.html">Data Modeling</a></li>
+<li class="toctree-l1 current"><a class="current reference internal" href="#">The Cassandra Query Language (CQL)</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="definitions.html">Definitions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="types.html">Data Types</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ddl.html">Data Definition</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dml.html">Data Manipulation</a></li>
+<li class="toctree-l2"><a class="reference internal" href="indexes.html">Secondary Indexes</a></li>
+<li class="toctree-l2"><a class="reference internal" href="mvs.html">Materialized Views</a></li>
+<li class="toctree-l2"><a class="reference internal" href="security.html">Security</a></li>
+<li class="toctree-l2"><a class="reference internal" href="functions.html">Functions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="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"><a class="reference internal" href="changes.html">Changes</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="../configuration/index.html">Configuring Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../operating/index.html">Operating Cassandra</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../tools/index.html">Cassandra Tools</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../troubleshooting/index.html">Troubleshooting</a></li>
+<li class="toctree-l1"><a class="reference internal" href="../development/index.html">Cassandra Development</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>
+</ul>
+
+            
+          
+        </div>
+        
+      </div>
+    </nav>
+
+    <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
+
+      
+      <nav class="wy-nav-top" aria-label="top navigation">
+        
+          <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
+          <a href="../index.html">Apache Cassandra</a>
+        
+      </nav>
+
+
+      <div class="wy-nav-content">
+        
+        <div class="rst-content">
+        
+          
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+<div role="navigation" aria-label="breadcrumbs navigation">
+
+  <ul class="wy-breadcrumbs">
+    
+      <li><a href="../index.html" class="icon icon-home"></a> &raquo;</li>
+        
+      <li>The Cassandra Query Language (CQL)</li>
+    
+    
+      <li class="wy-breadcrumbs-aside">
+        
+          
+            <a href="../_sources/cql/index.rst.txt" rel="nofollow"> View page source</a>
+          
+        
+      </li>
+    
+  </ul>
+
+  
+  <hr/>
+</div>
+          <div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
+           <div itemprop="articleBody">
+            
+  <div class="section" id="the-cassandra-query-language-cql">
+<span id="cql"></span><h1>The Cassandra Query Language (CQL)<a class="headerlink" href="#the-cassandra-query-language-cql" title="Permalink to this headline">¶</a></h1>
+<p>This document describes the Cassandra Query Language (CQL) <a class="footnote-reference brackets" href="#id2" id="id1">1</a>. Note that this document describes the last version of
+the languages. However, the <a class="reference external" href="#changes">changes</a> section provides the diff between the different versions of CQL.</p>
+<p>CQL offers a model close to SQL in the sense that data is put in <em>tables</em> containing <em>rows</em> of <em>columns</em>. For
+that reason, when used in this document, these terms (tables, rows and columns) have the same definition than they have
+in SQL. But please note that as such, they do <strong>not</strong> refer to the concept of rows and columns found in the deprecated
+thrift API (and earlier version 1 and 2 of CQL).</p>
+<div class="toctree-wrapper compound">
+<ul>
+<li class="toctree-l1"><a class="reference internal" href="definitions.html">Definitions</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="definitions.html#conventions">Conventions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="definitions.html#identifiers">Identifiers and keywords</a></li>
+<li class="toctree-l2"><a class="reference internal" href="definitions.html#constants">Constants</a></li>
+<li class="toctree-l2"><a class="reference internal" href="definitions.html#terms">Terms</a></li>
+<li class="toctree-l2"><a class="reference internal" href="definitions.html#comments">Comments</a></li>
+<li class="toctree-l2"><a class="reference internal" href="definitions.html#statements">Statements</a></li>
+<li class="toctree-l2"><a class="reference internal" href="definitions.html#prepared-statements">Prepared Statements</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="types.html">Data Types</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="types.html#native-types">Native Types</a></li>
+<li class="toctree-l2"><a class="reference internal" href="types.html#working-with-timestamps">Working with timestamps</a></li>
+<li class="toctree-l2"><a class="reference internal" href="types.html#working-with-dates">Working with dates</a></li>
+<li class="toctree-l2"><a class="reference internal" href="types.html#working-with-times">Working with times</a></li>
+<li class="toctree-l2"><a class="reference internal" href="types.html#working-with-durations">Working with durations</a></li>
+<li class="toctree-l2"><a class="reference internal" href="types.html#collections">Collections</a></li>
+<li class="toctree-l2"><a class="reference internal" href="types.html#user-defined-types">User-Defined Types</a></li>
+<li class="toctree-l2"><a class="reference internal" href="types.html#tuples">Tuples</a></li>
+<li class="toctree-l2"><a class="reference internal" href="types.html#custom-types">Custom Types</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="ddl.html">Data Definition</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="ddl.html#common-definitions">Common definitions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ddl.html#create-keyspace">CREATE KEYSPACE</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ddl.html#use">USE</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ddl.html#alter-keyspace">ALTER KEYSPACE</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ddl.html#drop-keyspace">DROP KEYSPACE</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ddl.html#create-table">CREATE TABLE</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ddl.html#alter-table">ALTER TABLE</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ddl.html#drop-table">DROP TABLE</a></li>
+<li class="toctree-l2"><a class="reference internal" href="ddl.html#truncate">TRUNCATE</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="dml.html">Data Manipulation</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="dml.html#select">SELECT</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dml.html#insert">INSERT</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dml.html#update">UPDATE</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dml.html#delete">DELETE</a></li>
+<li class="toctree-l2"><a class="reference internal" href="dml.html#batch">BATCH</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="indexes.html">Secondary Indexes</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="indexes.html#create-index">CREATE INDEX</a></li>
+<li class="toctree-l2"><a class="reference internal" href="indexes.html#drop-index">DROP INDEX</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="mvs.html">Materialized Views</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="mvs.html#create-materialized-view">CREATE MATERIALIZED VIEW</a></li>
+<li class="toctree-l2"><a class="reference internal" href="mvs.html#alter-materialized-view">ALTER MATERIALIZED VIEW</a></li>
+<li class="toctree-l2"><a class="reference internal" href="mvs.html#drop-materialized-view">DROP MATERIALIZED VIEW</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="security.html">Security</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="security.html#database-roles">Database Roles</a></li>
+<li class="toctree-l2"><a class="reference internal" href="security.html#users">Users</a></li>
+<li class="toctree-l2"><a class="reference internal" href="security.html#data-control">Data Control</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="functions.html">Functions</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="functions.html#scalar-functions">Scalar functions</a></li>
+<li class="toctree-l2"><a class="reference internal" href="functions.html#aggregate-functions">Aggregate functions</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="json.html">JSON Support</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="json.html#select-json">SELECT JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="json.html#insert-json">INSERT JSON</a></li>
+<li class="toctree-l2"><a class="reference internal" href="json.html#json-encoding-of-cassandra-data-types">JSON Encoding of Cassandra Data Types</a></li>
+<li class="toctree-l2"><a class="reference internal" href="json.html#the-fromjson-function">The fromJson() Function</a></li>
+<li class="toctree-l2"><a class="reference internal" href="json.html#the-tojson-function">The toJson() Function</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="triggers.html">Triggers</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="triggers.html#create-trigger">CREATE TRIGGER</a></li>
+<li class="toctree-l2"><a class="reference internal" href="triggers.html#drop-trigger">DROP TRIGGER</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="appendices.html">Appendices</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="appendices.html#appendix-a-cql-keywords">Appendix A: CQL Keywords</a></li>
+<li class="toctree-l2"><a class="reference internal" href="appendices.html#appendix-b-cql-reserved-types">Appendix B: CQL Reserved Types</a></li>
+<li class="toctree-l2"><a class="reference internal" href="appendices.html#appendix-c-dropping-compact-storage">Appendix C: Dropping Compact Storage</a></li>
+</ul>
+</li>
+<li class="toctree-l1"><a class="reference internal" href="changes.html">Changes</a><ul>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id1">3.4.4</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id2">3.4.3</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id5">3.4.2</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id6">3.4.1</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id7">3.4.0</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id8">3.3.1</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id9">3.3.0</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id10">3.2.0</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id11">3.1.7</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id12">3.1.6</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id13">3.1.5</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id14">3.1.4</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id15">3.1.3</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id16">3.1.2</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id17">3.1.1</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id18">3.1.0</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id19">3.0.5</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id20">3.0.4</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id21">3.0.3</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id22">3.0.2</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#id23">3.0.1</a></li>
+<li class="toctree-l2"><a class="reference internal" href="changes.html#versioning">Versioning</a></li>
+</ul>
+</li>
+</ul>
+</div>
+<dl class="footnote brackets">
+<dt class="label" id="id2"><span class="brackets"><a class="fn-backref" href="#id1">1</a></span></dt>
+<dd><p>Technically, this document CQL version 3, which is not backward compatible with CQL version 1 and 2 (which have
+been deprecated and remove) and differs from it in numerous ways.</p>
+</dd>
+</dl>
+</div>
+
+
+           </div>
+           
+          </div>
+          <footer>
+    <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
+        <a href="definitions.html" class="btn btn-neutral float-right" title="Definitions" accesskey="n" rel="next">Next <span class="fa fa-arrow-circle-right" aria-hidden="true"></span></a>
+        <a href="../data_modeling/index.html" class="btn btn-neutral float-left" title="Data Modeling" accesskey="p" rel="prev"><span class="fa fa-arrow-circle-left" aria-hidden="true"></span> Previous</a>
+    </div>
+
+  <hr/>
+
+  <div role="contentinfo">
+    <p>
+        &#169; Copyright 2016, The Apache Cassandra team.
+
+    </p>
+  </div>
+    
+    
+    
+    Built with <a href="https://www.sphinx-doc.org/">Sphinx</a> using a
+    
+    <a href="https://github.com/readthedocs/sphinx_rtd_theme">theme</a>
+    
+    provided by <a href="https://readthedocs.org">Read the Docs</a>. 
+
+</footer>
+        </div>
+      </div>
+
+    </section>
+
+  </div>
+  
+
+  <script type="text/javascript">
+      jQuery(function () {
+          SphinxRtdTheme.Navigation.enable(true);
+      });
+  </script>
+
+  
+  
+    
+   
+
+</body>
+</html>
\ No newline at end of file
diff --git a/content/doc/3.11.10/cql/indexes.html b/content/doc/3.11.10/cql/indexes.html
new file mode 100644
index 0000000..eb17e8e
--- /dev/null
+++ b/content/doc/3.11.10/cql/indexes.html
@@ -0,0 +1,294 @@
+
+
+<!DOCTYPE html>
+<html class="writer-html5" lang="en" >
+<head>
+  <meta charset="utf-8" />
+  
+  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+  
+  <title>Secondary Indexes &mdash; Apache Cassandra Documentation v3.11.10</title>
+  
+
+  
+  <link rel="stylesheet" href="../_static/css/theme.css" type="text/css" />
+  <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
+    <link rel="stylesheet" href="../_static/extra.css" type="text/css" />
+
+  
+  
+
+  
+  
+
+  
+
+  
+  <!--[if lt IE 9]>
+    <script src="../_static/js/html5shiv.min.js"></script>
+  <![endif]-->
+  
+    
+      <script type="text/javascript" id="documentation_options" data-url_root="../" src="../_static/documentation_options.js"></script>
+        <script src="../_static/jquery.js"></script>
+        <script src="../_static/underscore.js"></script>
+        <script src="../_static/doctools.js"></script>
+    
+    <script type="text/javascript" src="../_static/js/theme.js"></script>
+
+    
+    <link rel="index" title="Index" href="../genindex.html" />
+    <link rel="search" title="Search" href="../search.html" />
+    <link rel="next" title="Materialized Views" href="mvs.html" />
+    <link rel="prev" title="Data Manipulation" href="dml.html" /> 
+</head>
+
+<body class="wy-body-for-nav">
+
+   
+  <div class="wy-grid-for-nav">
+    
+    <nav data-toggle="wy-nav-shift" class="wy-nav-side">
+      <div class="wy-side-scroll">
+        <div class="wy-side-nav-search" >
+          
+
+          
+            <a href="../index.html" class="icon icon-home"> Apache Cassandra
... 400316 lines suppressed ...

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