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