← Back to team overview

drizzle-discuss team mailing list archive

Extending CREATE TABLE syntax.

 

Hi Drizzlers,

I was wondering if there is a way to extend the CREATE TABLE syntax so
that storage engines can provide their own option for specific tables
(such as table specific optimization argument). MariaDB has done this
and has a good documentation on it.

  - http://askmonty.org/wiki/Manual:Extending_CREATE_TABLE

In Drizzleverse, I immediately looked at drizzled/message/table.proto
since this message structure is what's given at
Cursor::doCreateTable(). From looking at TableOptions (below), I'm not
sure if this is possible at the moment. Perhaps I'm missing something
but it would be great if I could get some help on this matter.

Right now this is a "want" and not a "need" in BlitzDB. However, it
would certainly be nice to have this feature.


  message TableOptions {
    optional uint64 auto_increment = 1;
    optional string collation = 2;
    optional uint32 collation_id = 3;
    optional string data_file_name = 5;
    optional string index_file_name = 6;
    optional uint64 max_rows = 7;
    optional uint64 min_rows = 8;
    optional uint64 auto_increment_value = 9;
    optional uint32 avg_row_length = 11;
    optional uint32 block_size = 13;
    optional string comment = 14;
    optional bool pack_record = 16;
    optional bool checksum = 17;
    optional bool page_checksum = 18;
    optional bool delay_key_write = 19;

    enum RowType {
         ROW_TYPE_DEFAULT = 0;
         ROW_TYPE_FIXED = 1;
         ROW_TYPE_DYNAMIC = 2;
         ROW_TYPE_COMPRESSED = 3;
         ROW_TYPE_REDUNDANT = 4;
         ROW_TYPE_COMPACT = 5;
         ROW_TYPE_PAGE = 6;
    }

    optional RowType row_type = 20;
  }


Cheers!
-- 
Toru Maesaka <dev@xxxxxxxxx>



Follow ups