Commit a01a0840 authored by monty@mashka.mysql.fi's avatar monty@mashka.mysql.fi
Browse files

Some trivial optimzations

Check if AND/OR expression can be NULL; Fixed bug in GROUP BY and-or-expression where expression could be NULL
Bug fix for SHOW OPEN TABLES when user didn't have privilege to access all open tables.
Better fix for ALTER TABLE on BDB tables.
parent a5f9e95a
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -50351,6 +50351,9 @@ each individual 4.0.x release.
@itemize @bullet
@item
Fixed bug with the @code{--slow-log} when logging an administrator command
(like @code{FLUSH TABLES}).
@item
Fixed a bug that @code{OPTIMIZE} of locked and modified table,
reported table corruption.
@item
@@ -50359,6 +50362,12 @@ Fixed a bug in my_getopt in handling of special prefixes (--skip-, --enable-).
similar options.
@item
Fixed bug in checking for output file name of the @code{tee} option.
@item
Added some more optimisation to use index for
@code{SELECT ... FROM many_tables .. ORDER BY key limit #}
@item
Fixed problem in @code{SHOW OPEN TABLES} when a user didn't have access right
to one of the opened tables.
@end itemize
@node News-4.0.3, News-4.0.2, News-4.0.4, News-4.0.x
+1 −1
Original line number Diff line number Diff line
@@ -1857,7 +1857,7 @@ com_tee(String *buffer, char *line __attribute__((unused)))
  while (end > file_name && (isspace(end[-1]) || iscntrl(end[-1])))
    end--;
  end[0]= 0;
  if (!strlen(file_name))
  if (end == file_name)
  {
    printf("No outfile specified!\n");
    return 0;
+1 −2
Original line number Diff line number Diff line
@@ -1351,13 +1351,12 @@ mysql_init(MYSQL *mysql)
    if (!(mysql=(MYSQL*) my_malloc(sizeof(*mysql),MYF(MY_WME | MY_ZEROFILL))))
      return 0;
    mysql->free_me=1;
    mysql->net.vio = 0;
  }
  else
    bzero((char*) (mysql),sizeof(*(mysql)));
  mysql->options.connect_timeout=CONNECT_TIMEOUT;
  mysql->last_used_con = mysql->next_slave = mysql->master = mysql;
  mysql->last_used_slave = 0;

  /*
    By default, we are a replication pivot. The caller must reset it
    after we return if this is not the case.
+1 −1
Original line number Diff line number Diff line
@@ -186,7 +186,7 @@ static struct my_option my_long_options[] =
   (gptr*) &check_param.max_data_file_length,
   0, GET_LL, REQUIRED_ARG, 0, 0, 0, 0, 0, 0},
  {"extend-check", 'e',
   "Try to recover every possible row from the data file. Normally this will also find a lot of garbage rows; Don't use this option if you are not totally desperate.",
   "If used when checking a table, ensure that the table is 100 percent consistent, which will take a long time. If used when repairing a table, try to recover every possible row from the data file. Normally this will also find a lot of garbage rows; Don't use this option with repair if you are not totally desperate.",
   0, 0, 0, GET_NO_ARG, NO_ARG, 0, 0, 0, 0, 0, 0},
  {"fast", 'F',
   "Check only tables that haven't been closed properly.",
+7 −0
Original line number Diff line number Diff line
drop table if exists t1;
create table t1(objid BIGINT not null, tablename  varchar(64), oid BIGINT not null, test BIGINT,  PRIMARY KEY (objid), UNIQUE(tablename))  type=BDB;
insert into t1 values(1, 't1',4,9);
insert into t1 values(2, 'metatable',1,9);
insert into t1 values(3, 'metaindex',1,9 );
select * from t1;
objid	tablename	oid	test
1	t1	4	9
2	metatable	1	9
3	metaindex	1	9
alter table t1 drop column test;
Loading