=================
Changes for Crate
=================

Unreleased
==========

2013/11/07 0.18.3
=================

 - values of a row inserted using the sql parameter substitution feature are
   now also mapped to the correct format if the table has a defined type for
   the column.

 - fix: default SQL settings were missing at distribution config file

 - fix: default cluster name(and so the log file) was not `crate`

 - bugfix: SQL statements with `group by` and `limit` clauses returned wrong
   result sets.

 - make information_schema behave like "normal" crate-tables

 - bugfix: NullPointerException when querying for non existent information_schema tables

 - Added the ``routines`` table to information_schema to contain analyzers, tokenizers,
   token-filters and char-filters

2013/11/06 0.18.2
=================

 - Fix: use update-by-path instead of merge on primary-keys queries as well

 - Added virtual table ``indices`` to the ``information_schema``, holds information about all
   available indices.

 - Added virtual table ``columns`` to the ``information_schema``, holds information about all
   available columns.

 - Added the ``table_constraints`` table to information_schema

 - Table index definition documentation overhaul

 - bugfix: the `LIKE` operand now also works on nested columns

2013/11/01 0.18.1
=================

 - Added index method ``plain`` which is the default behaviour

2013/10/31 0.18.0
=================

 - Added the `information_schema` schema that contains a virtual `tables` table
   which can be queries to get information about the currently available
   tables.

 - Added fulltext search support

 - Added support for indices on table creation

 - Implemented ``CREATE ANALYZER`` to create custom analyzers for fulltext-search

2013/10/29 0.17.3
=================

 - fixed a NullPointerException that occured if a `select` statement  got
   optimized to a primary key lookup and returned an object column.

 - fixed a NullPointerException that occured when `null` was passed as `args`
   argument to the `_sql` REST endpoint and the statement contained a `group
   by` clause.

2013/10/28 0.17.2
=================

 - bugfix: the `LIKE` operand only worked with literals, not with parameter
   substitution.

2013/10/25 0.17.1
=================

 - On update, values of kind `object` or `nested` will be overwritten instead of merged.

 - fixed sigar library loading which broke os stats of nodes

2013/10/25 0.17.0
=================

 - Implemented support for optimistic concurrent updates and deletes.

 - Use new crate-cli (crash) version with row count output at doctests.

 - Prevent table creation with routing definition on non-primary key columns.

 - removed `*` and `?` as wildcard characters for the `LIKE` clause to be more
   consistent with the SQL standard.

 - Optimize simple Select Queries with where clauses like <pk_col>=<constant_value> OR <pk_col>=<constant_value> 
   and without order-by- or group-by-clauses to use MultiGetRequests

2013/10/21 0.16.0
=================

 - Added support for the SQL `LIKE` operand.

 - Implemented ``drop table``.

 - Implemented the `group by` sql clause.

 - Implemented ``CREATE TABLE`` with core data types, replicas, routing and shard settings.

 - Support for: WHERE <column_name> IN ( <value_1>, <value_2>, ..., <value_n>)

 - Query Planner Optimizes Select / Update / Delete Queries where:

   - Where clause is: <pk_col> = <constant_value>
   - Where clause is like: <pk_col> = <constant_value> OR <pk_col> = <constant_value> OR <pk_col> = ...
   - Where clause is like: <pk_col> = <constant_value> AND ...
   - Where clause is like: <pk_col> IN (<constant_value>) [ OR <pk_col> = <constant_value> ... ]

2013/10/11 0.15.1
=================

 - Rowcount in Integrationtests

2013/10/11 0.15.0
=================

 - created Benchmark to check performance and verify improvements by query planner

 - added rowcount to all SELECT responses

 - fixed filtering by a boolean constant

 - implemented SQL query planner:
   - optimize primary key queries to hit only one single shard

 - set explicit default limit on select to 1000 rows.

2013/10/08 0.14.0
=================

 - set ``primary keys`` definition under the type mappings ``_meta`` instead of index
   ``settings.crate``

 - added support for `select count(*) from ...`

 - updated elasticsearch to 0.90.5

 - included the python clients sqlalchemy documentation

2013/10/02 0.13.2
=================

 - updated crate-python client documentation

 - If a shard or version conflict occurs during select query or update the
   errors are now correctly thrown. Extended the documentation to mention the
   VerionConflictException

 - don't load any JS files from externals domains (CDN) at the admin web interface

2013/10/02 0.13.1
=================

 - include rowcount of affected rows into update responses

 - [test] create temporary directory for test data, will be deleted after test run

2013/10/02 0.13.0
=================

 - add support for sql update statements.

 - set the ``keyword analyzer`` as the default analyzer

 - bugfix: use ES operation type ``create`` for SQL ``INSERT``.

2013/09/27 0.12.0
=================

 - implemented support for selecting and querying inner/nested object properties.

 - calling _sql with `null` in the `args` no longer causes an error.

 - fixed a regression that caused chunk requests to only work for blobs

 - included foundationDB/akiban ``sql-parser`` code into the ``sql`` module

2013/09/20 0.11.3
=================

 - sql parameter substitution now also works for the limit and offset clauses

2013/09/18 0.11.2
=================

 - fixed support for ``object`` type mappings, objects are now supported
   by the transport layer (so also by the java client library).
   In addition the `/_sql`  endpoint now properly accepts nested objects inside
   the `args` key of the request body.

2013/09/18 0.11.1
=================

 - fixed the namespace error in the startscript that resulted in crate not
   starting correctly in the background.

2013/09/17 0.11.0
=================

 - the `_sql` endpoint now supports SQL parameter substitution.

 - DELETE and INSERT SQL statements are now supported.

2013/09/05 0.10.2
=================

 - added java client library in client project

2013/09/04 0.10.1
=================

 - fixed a serialization error in the sql module

2013/09/03 0.10.0
=================

 - blob support is now included

 - sql response format changed

 - use crate fork for elasticsearch dependency

 - use gradle instead of maven

 - integrate plugins from submodules to internal folders

 - removed timefacts plugin since it is not 0.90.3 compatible

 NOTE:
    this update makes crate incompatible with other elasticsearch-plugins

2013/08/08 0.9.2
================

 - updated crate-sql-plugin to 0.1.0

2013/07/24 0.9.1
================

 - fixed scrolling issue in the sql console of the admin interface

2013/07/24 0.9.0
================

 - changed the admin interface to open the linked plugins and documentation in
   a frame.

 - added a custom sphinx theme for the documentation.

 - included sql and inout plugin documentation

 - sphinx generated text documentation added to distribution

 - docs are now tested in the maven verify phase

 - added a link to the documentation in the crate-admin interface available
   under `/admin`

 - added a SQL console to the crate admin interface.

 - added the crate-sql-plugin. Therefore it is now possible to query crate
   using SQL.

 - docs are now available under /_plugins/docs

2013/07/10 0.8.5
================

 - added default config path to start script

 - reverted loading behaviour for settings

 - added DEVELOP.rst file

 - tarball now include CHANGES file

2013/07/09 0.8.4
================

 - added whitelist to allow some hard coded system properties

 - altered start scripts to use valid system properties

2013/07/09 0.8.3
================

 - loading system settings given by the command line as well

2013/07/08 0.8.2
================

 - fixed wrong inclusion path of sigar libs

2013/07/08 0.8.1
================

 - updated elasticsearch-inout-plugin to 0.5.0

2013/07/05 0.8.0
================

 - updated elasticsearch-timefacets-plugin to 0.8.0

 - updated elasticsearch to 0.90.2

 - organized project structure

 - included elasticsearch-inout-plugin and
   elasticsearch-timefacets-plugin as git submodule instead of maven
   dependencs

 - added /admin rest endpoint redirecting to crate-admin

 - added crate-admin site plugin

 - upgraded bigdesk to 2.2.1, which fixes cache memory display issues

2013/06/26 0.7.0
================

 - added elasticsearch-cratedefaults-plugin as sub-module

 - mvn package now also creates a zip file in addition to the tar.gz

 - updated elasticsearch-timefacets-plugin to 0.7.1

2013/06/10 0.6.0
================

 - updated elasticsearch-timefacets-plugin to 0.7.0

 - updated elasticsearch-inout-plugin to 0.4.0

 - updated elasticsearch to 0.90.1

2013/05/28 0.5.0
================

 - included elasticsearch-timefacets-plugin
   (https://github.com/crate/elasticsearch-timefacets-plugin)

2013/05/15 0.4.0
================

 - included segmentspy as site-plugin
   (https://github.com/polyfractal/elasticsearch-segmentspy)

 - included bigdesk as site-plugin
   (https://github.com/lukas-vlcek/bigdesk)

 - included elasticsearch-head as site-plugin
   (https://github.com/mobz/elasticsearch-head)

2013/05/15 0.3.0
================

 - updated elasticsearch-inout-plugin to 0.3.0

 - updated elasticsearch to 0.90.0

2013/05/02 0.2.1
================

 - bugfix: used wrong groupId in common-bin.xml

2013/05/02 0.2.0
================

 - updated elasticsearch-inout-plugin to 0.2.0-SNAPSHOT

2013/04/25 0.1.1
================

 - added missing sigar libraries in rpm as well

2013/04/25 0.1.0
================

 - added missing sigar libraries

 - depending on elasticsearch-inout-plugin

2013/04/17 0.0.8
================

 - updated export plugin to 0.0.3

2013/04/15 0.0.7
================

 - increased version of elasticsearch

 - increased version of elasticsearch-export-plugin

2013/04/15 0.0.6
================

 - added NOTICE file
