{"action":"created","comment":{"url":"https://api.github.com/repos/percona/percona-server/pulls/comments/83671208","pull_request_review_id":4498827,"id":83671208,"diff_hunk":"@@ -0,0 +1,213 @@\n+.. _compressed_columns:\n+\n+====================================\n+Compressed columns with dictionaries\n+====================================\n+\n+In :rn:`5.6.33-79.0` |Percona Server| has been extended with a new per-column\n+compression feature. It is a data type modifier, independent from user-level\n+SQL and |InnoDB| data compression, that causes the data stored in the column to\n+be compressed on writing to storage and decompressed on read. For all other\n+purposes the data type is identical to the one without modifier, i.e. no new\n+data types are created.\n+\n+This feature provides:\n+\n+* a better compression ratio for text data which consist of a large number of\n+  predefined words (e.g. JSON or XML) using compression methods with static\n+  dictionaries,\n+* in contrast to |InnoDB| row compression method it provides a way to select\n+  which columns in the table must be compressed.\n+\n+Specifications\n+==============\n+\n+The feature is limited to InnoDB/XtraDB storage engine and to:\n+\n+* ``BLOB`` (including ``TINYBLOB``, ``MEDIUMBLOB``, ``LONGBLOG``),\n+\n+* ``TEXT`` (including ``LONGTEXT``),\n+\n+* ``VARCHAR``, and\n+\n+* ``VARBINARY`` columns.\n+\n+The syntax to declare a compressed column is using an extension of an existing\n+``COLUMN_FORMAT`` modifier: ``COLUMN_FORMAT COMPRESSED``. If this modifier is\n+applied on an unsupported column type or storage engine, an error is returned.\n+\n+The compression can be specified:\n+\n+* at the table create time:\n+  ``CREATE TABLE ... (..., foo BLOB COLUMN_FORMAT COMPRESSED, ...);``\n+\n+* or a table can be modified to compress/decompress a column later:\n+  ``ALTER TABLE ... MODIFY [COLUMN] ... COLUMN_FORMAT COMPRESSED``, or\n+  ``ALTER TABLE ... CHANGE [COLUMN] ... COLUMN_FORMAT COMPRESSED``.\n+\n+To decompress a column, a ``COLUMN_FORMAT`` value any other than ``COMPRESSED``\n+can be specified: ``FIXED``, ``DYNAMIC``, or ``DEFAULT``. If there is a column\n+compression/decompression request in an ``ALTER TABLE``, it is forced to the\n+``COPY`` algorithm.\n+\n+Two new variables: :variable:`innodb_compressed_columns_zip_level` and\n+:variable:`innodb_compressed_columns_threshold` have been implemented.\n+\n+Compression dictionary support\n+==============================\n+\n+To achieve better compression ration on relatively small individual data items,\n+it is possible to pre-define compression dictionary, which is a set of strings\n+for each compressed column.\n+\n+The compression dictionary is stored in a new system |InnoDB| table or tables.\n+As this table or tables are of the data dictionary kind, concurrent reads are\n+allowed, but writes are serialized, and reads are blocked by writes. Table read\n+through old read views are unsupported, similarly to |InnoDB| internal DDL\n+transactions. The enforcement of these constraints depends on the\n+implementation option below.\n+\n+Compression dictionaries can be represented as a list of words in a form of a\n+string (comma or any other character can be used as a delimiter although not\n+required). In other words, ``a,bb,ccc``, ``a bb ccc`` and ``abbccc`` will have\n+the same effect. However, the latter is more space-efficient. Quote symbol\n+quoting is handled by regular SQL quoting. Dictionaries of at least 128KB","path":"doc/source/flexibility/compressed_columns.rst","position":67,"original_position":74,"commit_id":"302e1725742cbe55829ad076d2aaa8b08d3f96dc","original_commit_id":"04eb8bdf5166b1651ee3cc5381f61393596590d7","user":{"login":"laurynas-biveinis","id":58894,"avatar_url":"https://avatars.githubusercontent.com/u/58894?v=3","gravatar_id":"","url":"https://api.github.com/users/laurynas-biveinis","html_url":"https://github.com/laurynas-biveinis","followers_url":"https://api.github.com/users/laurynas-biveinis/followers","following_url":"https://api.github.com/users/laurynas-biveinis/following{/other_user}","gists_url":"https://api.github.com/users/laurynas-biveinis/gists{/gist_id}","starred_url":"https://api.github.com/users/laurynas-biveinis/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/laurynas-biveinis/subscriptions","organizations_url":"https://api.github.com/users/laurynas-biveinis/orgs","repos_url":"https://api.github.com/users/laurynas-biveinis/repos","events_url":"https://api.github.com/users/laurynas-biveinis/events{/privacy}","received_events_url":"https://api.github.com/users/laurynas-biveinis/received_events","type":"User","site_admin":false},"body":"zlib limitation comment is not addressed","created_at":"2016-10-17T15:38:58Z","updated_at":"2016-10-17T15:44:16Z","html_url":"https://github.com/percona/percona-server/pull/1107#discussion_r83671208","pull_request_url":"https://api.github.com/repos/percona/percona-server/pulls/1107","_links":{"self":{"href":"https://api.github.com/repos/percona/percona-server/pulls/comments/83671208"},"html":{"href":"https://github.com/percona/percona-server/pull/1107#discussion_r83671208"},"pull_request":{"href":"https://api.github.com/repos/percona/percona-server/pulls/1107"}}},"pull_request":{"url":"https://api.github.com/repos/percona/percona-server/pulls/1107","id":89630058,"html_url":"https://github.com/percona/percona-server/pull/1107","diff_url":"https://github.com/percona/percona-server/pull/1107.diff","patch_url":"https://github.com/percona/percona-server/pull/1107.patch","issue_url":"https://api.github.com/repos/percona/percona-server/issues/1107","number":1107,"state":"open","locked":false,"title":"Release notes for Percona Server 5.6.33-79.0 (5.6)","user":{"login":"hrvojem","id":2334261,"avatar_url":"https://avatars.githubusercontent.com/u/2334261?v=3","gravatar_id":"","url":"https://api.github.com/users/hrvojem","html_url":"https://github.com/hrvojem","followers_url":"https://api.github.com/users/hrvojem/followers","following_url":"https://api.github.com/users/hrvojem/following{/other_user}","gists_url":"https://api.github.com/users/hrvojem/gists{/gist_id}","starred_url":"https://api.github.com/users/hrvojem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrvojem/subscriptions","organizations_url":"https://api.github.com/users/hrvojem/orgs","repos_url":"https://api.github.com/users/hrvojem/repos","events_url":"https://api.github.com/users/hrvojem/events{/privacy}","received_events_url":"https://api.github.com/users/hrvojem/received_events","type":"User","site_admin":false},"body":"Compressed columns documentation\r\nTokuDB files and file management docs including the new per-dir docs\r\nFixed LP Bug #1626439 (wrong version)","created_at":"2016-10-17T14:05:45Z","updated_at":"2016-10-17T15:44:16Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6ba34777b0c427b8523ea25eaa8bcaf7cd39d77b","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/percona/percona-server/pulls/1107/commits","review_comments_url":"https://api.github.com/repos/percona/percona-server/pulls/1107/comments","review_comment_url":"https://api.github.com/repos/percona/percona-server/pulls/comments{/number}","comments_url":"https://api.github.com/repos/percona/percona-server/issues/1107/comments","statuses_url":"https://api.github.com/repos/percona/percona-server/statuses/302e1725742cbe55829ad076d2aaa8b08d3f96dc","head":{"label":"hrvojem:5.6-ps-rn-5.6.33-79.0","ref":"5.6-ps-rn-5.6.33-79.0","sha":"302e1725742cbe55829ad076d2aaa8b08d3f96dc","user":{"login":"hrvojem","id":2334261,"avatar_url":"https://avatars.githubusercontent.com/u/2334261?v=3","gravatar_id":"","url":"https://api.github.com/users/hrvojem","html_url":"https://github.com/hrvojem","followers_url":"https://api.github.com/users/hrvojem/followers","following_url":"https://api.github.com/users/hrvojem/following{/other_user}","gists_url":"https://api.github.com/users/hrvojem/gists{/gist_id}","starred_url":"https://api.github.com/users/hrvojem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrvojem/subscriptions","organizations_url":"https://api.github.com/users/hrvojem/orgs","repos_url":"https://api.github.com/users/hrvojem/repos","events_url":"https://api.github.com/users/hrvojem/events{/privacy}","received_events_url":"https://api.github.com/users/hrvojem/received_events","type":"User","site_admin":false},"repo":{"id":31358610,"name":"percona-server","full_name":"hrvojem/percona-server","owner":{"login":"hrvojem","id":2334261,"avatar_url":"https://avatars.githubusercontent.com/u/2334261?v=3","gravatar_id":"","url":"https://api.github.com/users/hrvojem","html_url":"https://github.com/hrvojem","followers_url":"https://api.github.com/users/hrvojem/followers","following_url":"https://api.github.com/users/hrvojem/following{/other_user}","gists_url":"https://api.github.com/users/hrvojem/gists{/gist_id}","starred_url":"https://api.github.com/users/hrvojem/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hrvojem/subscriptions","organizations_url":"https://api.github.com/users/hrvojem/orgs","repos_url":"https://api.github.com/users/hrvojem/repos","events_url":"https://api.github.com/users/hrvojem/events{/privacy}","received_events_url":"https://api.github.com/users/hrvojem/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/hrvojem/percona-server","description":null,"fork":true,"url":"https://api.github.com/repos/hrvojem/percona-server","forks_url":"https://api.github.com/repos/hrvojem/percona-server/forks","keys_url":"https://api.github.com/repos/hrvojem/percona-server/keys{/key_id}","collaborators_url":"https://api.github.com/repos/hrvojem/percona-server/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/hrvojem/percona-server/teams","hooks_url":"https://api.github.com/repos/hrvojem/percona-server/hooks","issue_events_url":"https://api.github.com/repos/hrvojem/percona-server/issues/events{/number}","events_url":"https://api.github.com/repos/hrvojem/percona-server/events","assignees_url":"https://api.github.com/repos/hrvojem/percona-server/assignees{/user}","branches_url":"https://api.github.com/repos/hrvojem/percona-server/branches{/branch}","tags_url":"https://api.github.com/repos/hrvojem/percona-server/tags","blobs_url":"https://api.github.com/repos/hrvojem/percona-server/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/hrvojem/percona-server/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/hrvojem/percona-server/git/refs{/sha}","trees_url":"https://api.github.com/repos/hrvojem/percona-server/git/trees{/sha}","statuses_url":"https://api.github.com/repos/hrvojem/percona-server/statuses/{sha}","languages_url":"https://api.github.com/repos/hrvojem/percona-server/languages","stargazers_url":"https://api.github.com/repos/hrvojem/percona-server/stargazers","contributors_url":"https://api.github.com/repos/hrvojem/percona-server/contributors","subscribers_url":"https://api.github.com/repos/hrvojem/percona-server/subscribers","subscription_url":"https://api.github.com/repos/hrvojem/percona-server/subscription","commits_url":"https://api.github.com/repos/hrvojem/percona-server/commits{/sha}","git_commits_url":"https://api.github.com/repos/hrvojem/percona-server/git/commits{/sha}","comments_url":"https://api.github.com/repos/hrvojem/percona-server/comments{/number}","issue_comment_url":"https://api.github.com/repos/hrvojem/percona-server/issues/comments{/number}","contents_url":"https://api.github.com/repos/hrvojem/percona-server/contents/{+path}","compare_url":"https://api.github.com/repos/hrvojem/percona-server/compare/{base}...{head}","merges_url":"https://api.github.com/repos/hrvojem/percona-server/merges","archive_url":"https://api.github.com/repos/hrvojem/percona-server/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/hrvojem/percona-server/downloads","issues_url":"https://api.github.com/repos/hrvojem/percona-server/issues{/number}","pulls_url":"https://api.github.com/repos/hrvojem/percona-server/pulls{/number}","milestones_url":"https://api.github.com/repos/hrvojem/percona-server/milestones{/number}","notifications_url":"https://api.github.com/repos/hrvojem/percona-server/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/hrvojem/percona-server/labels{/name}","releases_url":"https://api.github.com/repos/hrvojem/percona-server/releases{/id}","deployments_url":"https://api.github.com/repos/hrvojem/percona-server/deployments","created_at":"2015-02-26T08:54:50Z","updated_at":"2016-01-11T09:25:47Z","pushed_at":"2016-10-17T15:33:15Z","git_url":"git://github.com/hrvojem/percona-server.git","ssh_url":"git@github.com:hrvojem/percona-server.git","clone_url":"https://github.com/hrvojem/percona-server.git","svn_url":"https://github.com/hrvojem/percona-server","homepage":null,"size":517926,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"5.7"}},"base":{"label":"percona:5.6","ref":"5.6","sha":"ab2fbc3464f94c889dcb03c1c7066a61092b450b","user":{"login":"percona","id":1683025,"avatar_url":"https://avatars.githubusercontent.com/u/1683025?v=3","gravatar_id":"","url":"https://api.github.com/users/percona","html_url":"https://github.com/percona","followers_url":"https://api.github.com/users/percona/followers","following_url":"https://api.github.com/users/percona/following{/other_user}","gists_url":"https://api.github.com/users/percona/gists{/gist_id}","starred_url":"https://api.github.com/users/percona/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/percona/subscriptions","organizations_url":"https://api.github.com/users/percona/orgs","repos_url":"https://api.github.com/users/percona/repos","events_url":"https://api.github.com/users/percona/events{/privacy}","received_events_url":"https://api.github.com/users/percona/received_events","type":"Organization","site_admin":false},"repo":{"id":30753733,"name":"percona-server","full_name":"percona/percona-server","owner":{"login":"percona","id":1683025,"avatar_url":"https://avatars.githubusercontent.com/u/1683025?v=3","gravatar_id":"","url":"https://api.github.com/users/percona","html_url":"https://github.com/percona","followers_url":"https://api.github.com/users/percona/followers","following_url":"https://api.github.com/users/percona/following{/other_user}","gists_url":"https://api.github.com/users/percona/gists{/gist_id}","starred_url":"https://api.github.com/users/percona/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/percona/subscriptions","organizations_url":"https://api.github.com/users/percona/orgs","repos_url":"https://api.github.com/users/percona/repos","events_url":"https://api.github.com/users/percona/events{/privacy}","received_events_url":"https://api.github.com/users/percona/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/percona/percona-server","description":"Percona Server","fork":false,"url":"https://api.github.com/repos/percona/percona-server","forks_url":"https://api.github.com/repos/percona/percona-server/forks","keys_url":"https://api.github.com/repos/percona/percona-server/keys{/key_id}","collaborators_url":"https://api.github.com/repos/percona/percona-server/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/percona/percona-server/teams","hooks_url":"https://api.github.com/repos/percona/percona-server/hooks","issue_events_url":"https://api.github.com/repos/percona/percona-server/issues/events{/number}","events_url":"https://api.github.com/repos/percona/percona-server/events","assignees_url":"https://api.github.com/repos/percona/percona-server/assignees{/user}","branches_url":"https://api.github.com/repos/percona/percona-server/branches{/branch}","tags_url":"https://api.github.com/repos/percona/percona-server/tags","blobs_url":"https://api.github.com/repos/percona/percona-server/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/percona/percona-server/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/percona/percona-server/git/refs{/sha}","trees_url":"https://api.github.com/repos/percona/percona-server/git/trees{/sha}","statuses_url":"https://api.github.com/repos/percona/percona-server/statuses/{sha}","languages_url":"https://api.github.com/repos/percona/percona-server/languages","stargazers_url":"https://api.github.com/repos/percona/percona-server/stargazers","contributors_url":"https://api.github.com/repos/percona/percona-server/contributors","subscribers_url":"https://api.github.com/repos/percona/percona-server/subscribers","subscription_url":"https://api.github.com/repos/percona/percona-server/subscription","commits_url":"https://api.github.com/repos/percona/percona-server/commits{/sha}","git_commits_url":"https://api.github.com/repos/percona/percona-server/git/commits{/sha}","comments_url":"https://api.github.com/repos/percona/percona-server/comments{/number}","issue_comment_url":"https://api.github.com/repos/percona/percona-server/issues/comments{/number}","contents_url":"https://api.github.com/repos/percona/percona-server/contents/{+path}","compare_url":"https://api.github.com/repos/percona/percona-server/compare/{base}...{head}","merges_url":"https://api.github.com/repos/percona/percona-server/merges","archive_url":"https://api.github.com/repos/percona/percona-server/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/percona/percona-server/downloads","issues_url":"https://api.github.com/repos/percona/percona-server/issues{/number}","pulls_url":"https://api.github.com/repos/percona/percona-server/pulls{/number}","milestones_url":"https://api.github.com/repos/percona/percona-server/milestones{/number}","notifications_url":"https://api.github.com/repos/percona/percona-server/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/percona/percona-server/labels{/name}","releases_url":"https://api.github.com/repos/percona/percona-server/releases{/id}","deployments_url":"https://api.github.com/repos/percona/percona-server/deployments","created_at":"2015-02-13T11:32:01Z","updated_at":"2016-10-17T02:46:42Z","pushed_at":"2016-10-17T15:33:16Z","git_url":"git://github.com/percona/percona-server.git","ssh_url":"git@github.com:percona/percona-server.git","clone_url":"https://github.com/percona/percona-server.git","svn_url":"https://github.com/percona/percona-server","homepage":"https://www.percona.com/software/mysql-database/percona-server","size":582933,"stargazers_count":222,"watchers_count":222,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":85,"mirror_url":null,"open_issues_count":17,"forks":85,"open_issues":17,"watchers":222,"default_branch":"5.7"}},"_links":{"self":{"href":"https://api.github.com/repos/percona/percona-server/pulls/1107"},"html":{"href":"https://github.com/percona/percona-server/pull/1107"},"issue":{"href":"https://api.github.com/repos/percona/percona-server/issues/1107"},"comments":{"href":"https://api.github.com/repos/percona/percona-server/issues/1107/comments"},"review_comments":{"href":"https://api.github.com/repos/percona/percona-server/pulls/1107/comments"},"review_comment":{"href":"https://api.github.com/repos/percona/percona-server/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/percona/percona-server/pulls/1107/commits"},"statuses":{"href":"https://api.github.com/repos/percona/percona-server/statuses/302e1725742cbe55829ad076d2aaa8b08d3f96dc"}}}}
{"actor":{"display_login":"laurynas-biveinis"}}