summaryrefslogtreecommitdiff
path: root/sql/table.cc
diff options
context:
space:
mode:
authorGuilhem Bichot <guilhem@mysql.com>2009-07-29 10:54:20 +0200
committerGuilhem Bichot <guilhem@mysql.com>2009-07-29 10:54:20 +0200
commita58b887c17c696c6e67adf0714254c57371d9cc2 (patch)
tree11695ad26b01f87834d8b8b7c8dece060209048c /sql/table.cc
parentd871bef758aab5993daea0a7727a358a1f0b576e (diff)
downloadmariadb-git-a58b887c17c696c6e67adf0714254c57371d9cc2.tar.gz
Bug#45829 "CREATE TABLE TRANSACTIONAL PAGE_CHECKSUM ROW_FORMAT=PAGE accepted, does nothing":
those keywords do nothing in 5.1 (they are meant for future versions, for example featuring the Maria engine) so they are here removed from the syntax. Adding those keywords to future versions when needed is: - WL#5034 "Add TRANSACTIONA=0|1 and PAGE_CHECKSUM=0|1 clauses to CREATE TABLE" - WL#5037 "New ROW_FORMAT value for CREATE TABLE: PAGE" mysql-test/r/create.result: test that syntax is not accepted mysql-test/t/create.test: test that syntax is not accepted sql/handler.cc: remove ROW_FORMAT=PAGE sql/handler.h: Mark unused objects, but I don't remove them by fear of breaking any plugin which includes this file (see also table.h) sql/lex.h: removing syntax sql/sql_show.cc: removing output of noise keywords in SHOW CREATE TABLE and INFORMATION_SCHEMA.TABLES sql/sql_table.cc: removing TRANSACTIONAL sql/sql_yacc.yy: removing syntax sql/table.cc: removing TRANSACTIONAL, PAGE_CHECKSUM. Their place in the frm file is not reclaimed, for compatibility with older 5.1. sql/table.h: Mark unused objects, but I don't remove them by fear of breaking any plugin which includes this file (and there are several engines which use the content TABLE_SHARE and thus rely on a certain binary layout of this structure).
Diffstat (limited to 'sql/table.cc')
-rw-r--r--sql/table.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/sql/table.cc b/sql/table.cc
index 60a27e136b1..c1d79bdcdd3 100644
--- a/sql/table.cc
+++ b/sql/table.cc
@@ -724,8 +724,6 @@ static int open_binary_frm(THD *thd, TABLE_SHARE *share, uchar *head,
if (!head[32]) // New frm file in 3.23
{
share->avg_row_length= uint4korr(head+34);
- share->transactional= (ha_choice) (head[39] & 3);
- share->page_checksum= (ha_choice) ((head[39] >> 2) & 3);
share->row_type= (row_type) head[40];
share->table_charset= get_charset((uint) head[38],MYF(0));
share->null_field_first= 1;
@@ -2492,8 +2490,11 @@ File create_frm(THD *thd, const char *name, const char *db,
int4store(fileinfo+34,create_info->avg_row_length);
fileinfo[38]= (create_info->default_table_charset ?
create_info->default_table_charset->number : 0);
- fileinfo[39]= (uchar) ((uint) create_info->transactional |
- ((uint) create_info->page_checksum << 2));
+ /*
+ In future versions, we will store in fileinfo[39] the values of the
+ TRANSACTIONAL and PAGE_CHECKSUM clauses of CREATE TABLE.
+ */
+ fileinfo[39]= 0;
fileinfo[40]= (uchar) create_info->row_type;
/* Next few bytes where for RAID support */
fileinfo[41]= 0;