lp:~laurynas-biveinis/percona-server/tokudb-multiple-clust-keys

Created by Laurynas Biveinis on 2013-12-03 and last modified on 2014-03-26
Get this branch:
bzr branch lp:~laurynas-biveinis/percona-server/tokudb-multiple-clust-keys
Only Laurynas Biveinis can upload to this branch. If you are Laurynas Biveinis please log in for upload directions.

Branch merges

Related bugs

Related blueprints

Branch information

Recent revisions

568. By Laurynas Biveinis on 2014-03-26

Add support for CLUSTERING key type that is a clustering secondary
key, that is, the whole of the row can be accessed through a
CLUSTERING key without going through the primary clustered index. This
implements the query parser and index definition persistence bits,
https://blueprints.launchpad.net/percona-server/+spec/multiple-clustering-keys.

- New lexer symbol CLUSTERING, handle it in the parser grammar and
  add_field_to_list as a key type modifier in key definitions for
  CREATE TABLE, ALTER TABLE ADD INDEX, and CREATE INDEX; and as a
  field attribute. Allow it in constraint definitions if it's present
  in combination with UNIQUE.
- New handlerton flag HTON_SUPPORTS_CLUSTERED_KEYS. Use it to return
  HA_ILLEGAL_HA_CREATE_OPTION if CLUSTERING key specified but the
  handlerton does not support them.
- New key flag HA_CLUSTERING, new key type Key::Keytype::CLUSTERING,
  assign values to all Key::Keytype constants to support OR'ing them,
  handle CLUSTERING in SHOW CREATE TABLE, write it out to FRM as a
  combination of spatial and fulltext key types, handle this
  combination on FRM read. This is to avoid a FRM format
  change. Return error if this combination is present for a storage
  engine that does not support clustering keys.
- New field flag CLUSTERING_FLAG. Set it up in setup_key_part_field in
  table.cc. Return it through INFORMATION_SCHEMA.COLUMNS.COLUMN_KEY if
  it's the only field flag. Handle it in test_field_flags of
  mysql_client_test.c.
- New testcase tokudb_clustering_key_grammar.

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:percona-server/5.6
This branch contains Public information 
Everyone can see this information.