summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorunknown <istruewing@chilla.local>2007-01-23 20:19:19 +0100
committerunknown <istruewing@chilla.local>2007-01-23 20:19:19 +0100
commit4bec8b037fb976c222725efb3f07f641eaa16207 (patch)
treef9e0802bd1c053bd81c26ea9d64f1ae376f64133
parentca2aa14312ee5414ba69ed2022bc0bc1617e58c3 (diff)
parent848a663b43e7950ba54c5e8586eef35719bf9ca6 (diff)
downloadmariadb-git-4bec8b037fb976c222725efb3f07f641eaa16207.tar.gz
Merge bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into chilla.local:/home/mydev/mysql-5.0-bug24607 mysql-test/r/myisam.result: Auto merged mysql-test/t/myisam.test: Auto merged
-rw-r--r--myisam/mi_create.c13
-rw-r--r--mysql-test/r/myisam.result5
-rw-r--r--mysql-test/t/myisam.test8
3 files changed, 20 insertions, 6 deletions
diff --git a/myisam/mi_create.c b/myisam/mi_create.c
index d99c74f6136..d46672444e0 100644
--- a/myisam/mi_create.c
+++ b/myisam/mi_create.c
@@ -815,18 +815,19 @@ uint mi_get_pointer_length(ulonglong file_length, uint def)
if (file_length) /* If not default */
{
#ifdef NOT_YET_READY_FOR_8_BYTE_POINTERS
- if (file_length >= (longlong) 1 << 56)
+ if (file_length >= ULL(1) << 56)
def=8;
+ else
#endif
- if (file_length >= (longlong) 1 << 48)
+ if (file_length >= ULL(1) << 48)
def=7;
- if (file_length >= (longlong) 1 << 40)
+ else if (file_length >= ULL(1) << 40)
def=6;
- else if (file_length >= (longlong) 1 << 32)
+ else if (file_length >= ULL(1) << 32)
def=5;
- else if (file_length >= (1L << 24))
+ else if (file_length >= ULL(1) << 24)
def=4;
- else if (file_length >= (1L << 16))
+ else if (file_length >= ULL(1) << 16)
def=3;
else
def=2;
diff --git a/mysql-test/r/myisam.result b/mysql-test/r/myisam.result
index 3cc37701e86..76a5ce16293 100644
--- a/mysql-test/r/myisam.result
+++ b/mysql-test/r/myisam.result
@@ -1637,3 +1637,8 @@ a
2
3
DROP TABLE t1;
+CREATE TABLE t1 (c1 TEXT) AVG_ROW_LENGTH=70100 MAX_ROWS=5100100100;
+SHOW TABLE STATUS LIKE 't1';
+Name Engine Version Row_format Rows Avg_row_length Data_length Max_data_length Index_length Data_free Auto_increment Create_time Update_time Check_time Collation Checksum Create_options Comment
+t1 MyISAM 10 Dynamic X X X 72057594037927935 X X X X X X latin1_swedish_ci X max_rows=4294967295 avg_row_length=70100
+DROP TABLE t1;
diff --git a/mysql-test/t/myisam.test b/mysql-test/t/myisam.test
index 34267c3754a..040ab3fce09 100644
--- a/mysql-test/t/myisam.test
+++ b/mysql-test/t/myisam.test
@@ -1023,4 +1023,12 @@ UPDATE t1,t1 AS t2 SET t1.a=t1.a+2 WHERE t1.a=t2.a-1;
SELECT * FROM t1 ORDER BY a;
DROP TABLE t1;
+#
+# Bug#24607 - MyISAM pointer size determined incorrectly
+#
+CREATE TABLE t1 (c1 TEXT) AVG_ROW_LENGTH=70100 MAX_ROWS=5100100100;
+--replace_column 5 X 6 X 7 X 9 X 10 X 11 X 12 X 13 X 14 X 16 X
+SHOW TABLE STATUS LIKE 't1';
+DROP TABLE t1;
+
# End of 4.1 tests