Commit 44d4940f authored by unknown's avatar unknown
Browse files

Merge pilot.blaudden:/home/msvensson/mysql/mysql-4.1-maint

into  pilot.blaudden:/home/msvensson/mysql/mysql-5.0-maint


myisam/mi_open.c:
  Auto merged
sql/table.cc:
  Auto merged
mysql-test/r/create.result:
  SCCS merged
mysql-test/t/create.test:
  SCCS merged
parents 5bf24b2b 0bb2f43d
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -225,7 +225,7 @@ MI_INFO *mi_open(const char *name, int mode, uint open_flags)

    key_parts+=fulltext_keys*FT_SEGS;
    if (share->base.max_key_length > MI_MAX_KEY_BUFF || keys > MI_MAX_KEY ||
	key_parts > MI_MAX_KEY * MI_MAX_KEY_SEG)
	key_parts >= MI_MAX_KEY * MI_MAX_KEY_SEG)
    {
      DBUG_PRINT("error",("Wrong key info:  Max_key_length: %d  keys: %d  key_parts: %d", share->base.max_key_length, keys, key_parts));
      my_errno=HA_ERR_UNSUPPORTED;
+0 −517

File changed.

Preview size limit exceeded, changes collapsed.

+1 −211

File changed.

Preview size limit exceeded, changes collapsed.

+1 −12
Original line number Diff line number Diff line
@@ -1442,18 +1442,7 @@ File create_frm(THD *thd, my_string name, const char *db,
    fileinfo[3]= (uchar) ha_checktype(thd,create_info->db_type,0,0);
    fileinfo[4]=1;
    int2store(fileinfo+6,IO_SIZE);		/* Next block starts here */
    /*
      For each key (see unireg.cc::pack_keys()):
        8 bytes for the key header
        9 bytes for each key-part (MAX_REF_PARTS)
        NAME_LEN bytes for the name
        1 byte for the NAMES_SEP_CHAR (before the name)
      For all keys:
        6 bytes for the header
        1 byte for the NAMES_SEP_CHAR (after the last name)
        9 extra bytes (padding for safety? alignment?)
    */
    key_length= keys * (8 + MAX_REF_PARTS * 9 + NAME_LEN + 1) + 16;
    key_length=keys*(7+NAME_LEN+MAX_REF_PARTS*9)+16;
    length= next_io_size((ulong) (IO_SIZE+key_length+reclength+
                                  create_info->extra_size));
    int4store(fileinfo+10,length);