Fixed problem with default & InnoDB tables.
Docs/manual.texi: ChangeLog
This commit is contained in:
parent
2d1e16eb04
commit
c0de7ffcc8
@ -46839,6 +46839,8 @@ not yet 100% confident in this code.
|
|||||||
@appendixsubsec Changes in release 3.23.47
|
@appendixsubsec Changes in release 3.23.47
|
||||||
@itemize @bullet
|
@itemize @bullet
|
||||||
@item
|
@item
|
||||||
|
Fix default values for InnoDB tables.
|
||||||
|
@item
|
||||||
Fixed that @code{GROUP BY expr DESC} works.
|
Fixed that @code{GROUP BY expr DESC} works.
|
||||||
@item
|
@item
|
||||||
Fixed bug when using @code{t1 LEFT JOIN t2 ON t2.key=constant}.
|
Fixed bug when using @code{t1 LEFT JOIN t2 ON t2.key=constant}.
|
||||||
|
@ -499,3 +499,5 @@ table type possible_keys key key_len ref rows Extra
|
|||||||
t1 index NULL b 4 NULL 4 Using index
|
t1 index NULL b 4 NULL 4 Using index
|
||||||
table type possible_keys key key_len ref rows Extra
|
table type possible_keys key key_len ref rows Extra
|
||||||
t1 ALL NULL NULL NULL NULL 4
|
t1 ALL NULL NULL NULL NULL 4
|
||||||
|
Field Type Null Key Default Extra
|
||||||
|
testint int(11) 1
|
||||||
|
@ -529,3 +529,11 @@ explain select a,b from t1 order by b;
|
|||||||
explain select a,b from t1;
|
explain select a,b from t1;
|
||||||
explain select a,b,c from t1;
|
explain select a,b,c from t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Check describe
|
||||||
|
#
|
||||||
|
|
||||||
|
create table t1 (testint int not null default 1) type=innodb;
|
||||||
|
desc t1;
|
||||||
|
drop table t1;
|
||||||
|
@ -120,10 +120,8 @@ int openfrm(const char *name, const char *alias, uint db_stat, uint prgflag,
|
|||||||
outparam->db_record_offset=1;
|
outparam->db_record_offset=1;
|
||||||
if (db_create_options & HA_OPTION_LONG_BLOB_PTR)
|
if (db_create_options & HA_OPTION_LONG_BLOB_PTR)
|
||||||
outparam->blob_ptr_size=portable_sizeof_char_ptr;
|
outparam->blob_ptr_size=portable_sizeof_char_ptr;
|
||||||
outparam->db_low_byte_first=test(outparam->db_type == DB_TYPE_MYISAM ||
|
/* Set temporaryly a good value for db_low_byte_first */
|
||||||
outparam->db_type == DB_TYPE_BERKELEY_DB ||
|
outparam->db_low_byte_first=test(outparam->db_type != DB_TYPE_ISAM);
|
||||||
outparam->db_type == DB_TYPE_HEAP);
|
|
||||||
|
|
||||||
error=4;
|
error=4;
|
||||||
outparam->max_rows=uint4korr(head+18);
|
outparam->max_rows=uint4korr(head+18);
|
||||||
outparam->min_rows=uint4korr(head+22);
|
outparam->min_rows=uint4korr(head+22);
|
||||||
|
@ -515,16 +515,23 @@ static bool make_empty_rec(File file,enum db_type table_type,
|
|||||||
uchar *buff,*null_pos;
|
uchar *buff,*null_pos;
|
||||||
TABLE table;
|
TABLE table;
|
||||||
create_field *field;
|
create_field *field;
|
||||||
|
handler *handler;
|
||||||
DBUG_ENTER("make_empty_rec");
|
DBUG_ENTER("make_empty_rec");
|
||||||
|
|
||||||
/* We need a table to generate columns for default values */
|
/* We need a table to generate columns for default values */
|
||||||
bzero((char*) &table,sizeof(table));
|
bzero((char*) &table,sizeof(table));
|
||||||
table.db_low_byte_first=test(table_type == DB_TYPE_MYISAM ||
|
handler= get_new_handler((TABLE*) 0, table_type);
|
||||||
table_type == DB_TYPE_HEAP);
|
|
||||||
|
if (!handler ||
|
||||||
|
!(buff=(uchar*) my_malloc((uint) reclength,MYF(MY_WME | MY_ZEROFILL))))
|
||||||
|
{
|
||||||
|
delete handler;
|
||||||
|
DBUG_RETURN(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
table.db_low_byte_first= handler->low_byte_first();
|
||||||
table.blob_ptr_size=portable_sizeof_char_ptr;
|
table.blob_ptr_size=portable_sizeof_char_ptr;
|
||||||
|
|
||||||
if (!(buff=(uchar*) my_malloc((uint) reclength,MYF(MY_WME | MY_ZEROFILL))))
|
|
||||||
DBUG_RETURN(1);
|
|
||||||
firstpos=reclength;
|
firstpos=reclength;
|
||||||
null_count=0;
|
null_count=0;
|
||||||
if (!(table_options & HA_OPTION_PACK_RECORD))
|
if (!(table_options & HA_OPTION_PACK_RECORD))
|
||||||
@ -574,8 +581,11 @@ static bool make_empty_rec(File file,enum db_type table_type,
|
|||||||
regfield->reset();
|
regfield->reset();
|
||||||
delete regfield;
|
delete regfield;
|
||||||
}
|
}
|
||||||
bfill((byte*) buff+null_length,firstpos-null_length,255);/* Fill not used startpos */
|
|
||||||
|
/* Fill not used startpos */
|
||||||
|
bfill((byte*) buff+null_length,firstpos-null_length,255);
|
||||||
error=(int) my_write(file,(byte*) buff,(uint) reclength,MYF_RW);
|
error=(int) my_write(file,(byte*) buff,(uint) reclength,MYF_RW);
|
||||||
my_free((gptr) buff,MYF(MY_FAE));
|
my_free((gptr) buff,MYF(MY_FAE));
|
||||||
|
delete handler;
|
||||||
DBUG_RETURN(error);
|
DBUG_RETURN(error);
|
||||||
} /* make_empty_rec */
|
} /* make_empty_rec */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user