diff options
author | Sergei Golubchik <sergii@pisem.net> | 2013-04-09 16:18:33 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2013-04-09 16:18:33 +0200 |
commit | 02c712aa546df8d6e9c285e6adc95309925673e3 (patch) | |
tree | 8d6654dac2666dcd738db1f10dbd919610087795 /sql/unireg.h | |
parent | f6168bb67bb5cab0584809c876c674a92051b5d1 (diff) | |
download | mariadb-git-02c712aa546df8d6e9c285e6adc95309925673e3.tar.gz |
* frm extra2 segment.
* persistent table versions in the extra2
* ha_archive::frm_compare using TABLE_SHARE::tabledef_version
* distinguish between "important" and "optional" extra2 frm values
* write engine-defined attributes (aka "table options") to extra2, not to extra,
but still read from the old location, if they're found there.
Diffstat (limited to 'sql/unireg.h')
-rw-r--r-- | sql/unireg.h | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/sql/unireg.h b/sql/unireg.h index 89dae6b2e97..8fba6e5cfbe 100644 --- a/sql/unireg.h +++ b/sql/unireg.h @@ -167,6 +167,22 @@ #include "sql_list.h" /* List<> */ #include "field.h" /* Create_field */ +/* + Types of values in the MariaDB extra2 frm segment. + Each value is written as + type: 1 byte + length: 1 byte (1..255) or \0 and 2 bytes. + binary value of the 'length' bytes. + + Older MariaDB servers can ignore values of unknown types if + the type code is less than 128. Otherwise older servers are required + to report an error. +*/ +enum extra2_frm_value_type { + EXTRA2_TABLEDEF_VERSION=0, + EXTRA2_ENGINE_TABLEOPTS=128, +}; + int rea_create_table(THD *thd, LEX_CUSTRING *frm, const char *path, const char *db, const char *table_name, HA_CREATE_INFO *create_info, handler *file); |