mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
MDEV-11371 - column compression
Storage engine independent support for column compression. TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB, TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT, VARCHAR and VARBINARY columns can be compressed. New COMPRESSED column attribute added: COMPRESSED[=<compression_method>] System variables added: column_compression_threshold column_compression_zlib_level column_compression_zlib_strategy column_compression_zlib_wrap Status variables added: Column_compressions Column_decompressions Limitations: - the only supported method currently is zlib - CSV storage engine stores data uncompressed on-disk even if COMPRESSED attribute is present - it is not possible to create indexes over compressed columns.
This commit is contained in:
@ -2525,6 +2525,14 @@ public:
|
||||
};
|
||||
|
||||
|
||||
class Type_handler_varchar_compressed: public Type_handler_varchar
|
||||
{
|
||||
public:
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
const Field *target) const;
|
||||
};
|
||||
|
||||
|
||||
class Type_handler_blob_common: public Type_handler_longstr
|
||||
{
|
||||
public:
|
||||
@ -2625,6 +2633,14 @@ public:
|
||||
};
|
||||
|
||||
|
||||
class Type_handler_blob_compressed: public Type_handler_blob
|
||||
{
|
||||
public:
|
||||
Field *make_conversion_table_field(TABLE *, uint metadata,
|
||||
const Field *target) const;
|
||||
};
|
||||
|
||||
|
||||
#ifdef HAVE_SPATIAL
|
||||
class Type_handler_geometry: public Type_handler_string_result
|
||||
{
|
||||
|
Reference in New Issue
Block a user