mirror of
https://github.com/MariaDB/server.git
synced 2025-07-30 16:24:05 +03:00
Merge from mysql-5.1 to mysql-5.5.
This commit is contained in:
@ -126,12 +126,12 @@ CREATE TABLE t1(
|
||||
c TEXT NOT NULL, d TEXT NOT NULL,
|
||||
PRIMARY KEY (c(767),d(767)))
|
||||
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
|
||||
ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
|
||||
CREATE TABLE t1(
|
||||
c TEXT NOT NULL, d TEXT NOT NULL,
|
||||
PRIMARY KEY (c(767),d(767)))
|
||||
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=2 CHARSET=ASCII;
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
|
||||
ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
|
||||
CREATE TABLE t1(
|
||||
c TEXT NOT NULL, d TEXT NOT NULL,
|
||||
PRIMARY KEY (c(767),d(767)))
|
||||
@ -139,7 +139,7 @@ ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=4 CHARSET=ASCII;
|
||||
drop table t1;
|
||||
CREATE TABLE t1(c TEXT, PRIMARY KEY (c(440)))
|
||||
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
|
||||
ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
|
||||
CREATE TABLE t1(c TEXT, PRIMARY KEY (c(438)))
|
||||
ENGINE=InnoDB ROW_FORMAT=COMPRESSED KEY_BLOCK_SIZE=1 CHARSET=ASCII;
|
||||
INSERT INTO t1 VALUES(REPEAT('A',512)),(REPEAT('B',512));
|
||||
|
@ -3085,7 +3085,7 @@ c21 CHAR(255), c22 CHAR(255), c23 CHAR(255), c24 CHAR(255),
|
||||
c25 CHAR(255), c26 CHAR(255), c27 CHAR(255), c28 CHAR(255),
|
||||
c29 CHAR(255), c30 CHAR(255), c31 CHAR(255), c32 CHAR(255)
|
||||
) ENGINE = InnoDB;
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
|
||||
ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
|
||||
DROP TABLE IF EXISTS t1;
|
||||
Warnings:
|
||||
Note 1051 Unknown table 't1'
|
||||
|
@ -8,7 +8,7 @@ ERROR HY000: Too big row
|
||||
SHOW WARNINGS;
|
||||
Level Code Message
|
||||
Error 139 Too big row
|
||||
Error 1118 Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
|
||||
Error 1118 Row size too large (> 8126). Changing some columns to TEXT or BLOB may help. In current row format, BLOB prefix of 0 bytes is stored inline.
|
||||
Error 1030 Got error 139 from storage engine
|
||||
DROP TABLE bug53591;
|
||||
SET GLOBAL innodb_file_format=Antelope;
|
||||
|
@ -779,7 +779,7 @@ c21 CHAR(255), c22 CHAR(255), c23 CHAR(255), c24 CHAR(255),
|
||||
c25 CHAR(255), c26 CHAR(255), c27 CHAR(255), c28 CHAR(255),
|
||||
c29 CHAR(255), c30 CHAR(255), c31 CHAR(255), c32 CHAR(255)
|
||||
) ENGINE = InnoDB;
|
||||
ERROR 42000: Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs
|
||||
ERROR 42000: Row size too large (> 8126). Changing some columns to TEXT or BLOB or using ROW_FORMAT=DYNAMIC or ROW_FORMAT=COMPRESSED may help. In current row format, BLOB prefix of 768 bytes is stored inline.
|
||||
SET innodb_strict_mode=OFF;
|
||||
DROP TABLE IF EXISTS t1;
|
||||
Warnings:
|
||||
|
@ -1008,11 +1008,23 @@ convert_error_code_to_mysql(
|
||||
case DB_TABLE_NOT_FOUND:
|
||||
return(HA_ERR_NO_SUCH_TABLE);
|
||||
|
||||
case DB_TOO_BIG_RECORD:
|
||||
my_error(ER_TOO_BIG_ROWSIZE, MYF(0),
|
||||
page_get_free_space_of_empty(flags
|
||||
& DICT_TF_COMPACT) / 2);
|
||||
case DB_TOO_BIG_RECORD: {
|
||||
/* If prefix is true then a 768-byte prefix is stored
|
||||
locally for BLOB fields. Refer to dict_table_get_format() */
|
||||
bool prefix = ((flags & DICT_TF_FORMAT_MASK)
|
||||
>> DICT_TF_FORMAT_SHIFT) < UNIV_FORMAT_B;
|
||||
my_printf_error(ER_TOO_BIG_ROWSIZE,
|
||||
"Row size too large (> %lu). Changing some columns "
|
||||
"to TEXT or BLOB %smay help. In current row "
|
||||
"format, BLOB prefix of %d bytes is stored inline.",
|
||||
MYF(0),
|
||||
page_get_free_space_of_empty(flags &
|
||||
DICT_TF_COMPACT) / 2,
|
||||
prefix ? "or using ROW_FORMAT=DYNAMIC "
|
||||
"or ROW_FORMAT=COMPRESSED ": "",
|
||||
prefix ? DICT_MAX_FIXED_COL_LEN : 0);
|
||||
return(HA_ERR_TO_BIG_ROW);
|
||||
}
|
||||
|
||||
case DB_TOO_BIG_INDEX_COL:
|
||||
my_error(ER_INDEX_COLUMN_TOO_LONG, MYF(0),
|
||||
|
@ -295,6 +295,24 @@ management to ensure correct alignment for doubles etc. */
|
||||
========================
|
||||
*/
|
||||
|
||||
/** There are currently two InnoDB file formats which are used to group
|
||||
features with similar restrictions and dependencies. Using an enum allows
|
||||
switch statements to give a compiler warning when a new one is introduced. */
|
||||
enum innodb_file_formats_enum {
|
||||
/** Antelope File Format: InnoDB/MySQL up to 5.1.
|
||||
This format includes REDUNDANT and COMPACT row formats */
|
||||
UNIV_FORMAT_A = 0,
|
||||
|
||||
/** Barracuda File Format: Introduced in InnoDB plugin for 5.1:
|
||||
This format includes COMPRESSED and DYNAMIC row formats. It
|
||||
includes the ability to create secondary indexes from data that
|
||||
is not on the clustered index page and the ability to store more
|
||||
data off the clustered index page. */
|
||||
UNIV_FORMAT_B = 1
|
||||
};
|
||||
|
||||
typedef enum innodb_file_formats_enum innodb_file_formats_t;
|
||||
|
||||
/* The 2-logarithm of UNIV_PAGE_SIZE: */
|
||||
#define UNIV_PAGE_SIZE_SHIFT 14
|
||||
/* The universal page size of the database */
|
||||
|
Reference in New Issue
Block a user