Commit 3184dc1f authored by monty@hundin.mysql.fi's avatar monty@hundin.mysql.fi

Merge work:/home/bk/mysql-4.0 into hundin.mysql.fi:/my/bk/mysql-4.0

parents 0d8e1397 6ad30c9b
......@@ -4745,7 +4745,7 @@ code, we are better able to coordinate new features and releases.
@cindex PostgreSQL vs. MySQL, features
On the crash-me page
On the @code{crash-me} page
(@uref{http://www.mysql.com/information/crash-me.php})
you can find a list of those database constructs and limits that
one can detect automatically with a program. Note, however, that a lot of
......@@ -4807,7 +4807,7 @@ MySQL replication has been thoroughly tested, and is used by sites like:
@item
Included in the MySQL distribution are two different testing suites,
@file{mysql-test-run} and crash-me
@file{mysql-test-run} and @code{crash-me}
(@uref{http://www.mysql.com/information/crash-me.php}), as well
as a benchmark suite. The test system is actively updated with code to
test each new feature and almost all reproduceable bugs that have come to
......@@ -24885,7 +24885,7 @@ application that is fast with many databases it becomes even harder!
To make a complex application portable you need to choose a number of
SQL servers that it should work with.
You can use the MySQL crash-me program/web-page
You can use the MySQL @code{crash-me} program/web-page
@uref{http://www.mysql.com/information/crash-me.php} to find functions,
types, and limits you can use with a selection of database
servers. Crash-me now tests far from everything possible, but it
......@@ -24894,7 +24894,7 @@ is still comprehensive with about 450 things tested.
For example, you shouldn't have column names longer than 18 characters
if you want to be able to use Informix or DB2.
Both the MySQL benchmarks and crash-me programs are very
Both the MySQL benchmarks and @code{crash-me} programs are very
database-independent. By taking a look at how we have handled this, you
can get a feeling for what you have to do to write your application
database-independent. The benchmarks themselves can be found in the
......@@ -25095,7 +25095,7 @@ How big a query can be
How big a @code{VARCHAR} column can be
@end itemize
We can find the result from crash-me on a lot of different databases at
We can find the result from @code{crash-me} on a lot of different databases at
@uref{http://www.mysql.com/information/crash-me.php}.
......@@ -38520,7 +38520,7 @@ Corresponding columns in the foreign key
and the referenced key must have similar internal data types
inside InnoDB so that they can be compared without a type
conversion.
The size and the signedness of integer types has to be the same.
The @strong{size and the signedness of integer types has to be the same}.
The length of string types need not be the same.
Starting from version 3.23.50 you can also associate the
......@@ -48967,7 +48967,7 @@ also Unireg, a curses-based application tool with many utilities.
Porting of @code{mSQL} tools like @code{msqlperl}, @code{DBD}/@code{DBI}, and
@code{DB2mysql}.
@item
Most of crash-me and the foundation for the MySQL benchmarks.
Most of @code{crash-me} and the foundation for the MySQL benchmarks.
@end itemize
@item David Axmark
......@@ -49019,7 +49019,7 @@ Multi-row @code{INSERT}
@item
@code{mysqldump} -e option
@item
@code{LOAD DATA INFILE LOCAL}
@code{LOAD DATA LOCAL INFILE}
@item
@code{SQL_CALC_FOUND_ROWS} @code{SELECT} option
@item
......@@ -49045,14 +49045,14 @@ Maintainer of @code{MySQL++}.
@item
Our security expert.
@item
Vio interface (the foundation for the encrypted client/server protocol).
VIO interface (the foundation for the encrypted client/server protocol).
@item
MySQL Filesystem (a way to use MySQL databases as files
and directories).
@item
The CASE expression.
The @code{CASE} expression.
@item
The MD5() and COALESCE() functions.
The @code{MD5()} and @code{COALESCE()} functions.
@item
@code{RAID} support for @code{MyISAM} tables.
@end itemize
......@@ -49979,10 +49979,10 @@ not yet 100% confident in this code.
@itemize @bullet
@item
Fixed possible problem in replication when doing @code{DROP DATABASE} on a
database with InnoDB tables.
database with @code{InnoDB} tables.
@item
Fixed that @code{mysql_info()} returns 0 for 'Duplicates' when using
@code{INSERT DELAYED IGNORE}.
Fixed @code{mysql_info()} to return 0 for the 'Duplicates' value for
@code{INSERT DELAYED IGNORE} statements.
@end itemize
@node News-3.23.51, News-3.23.50, News-3.23.52, News-3.23.x
......@@ -49990,46 +49990,47 @@ Fixed that @code{mysql_info()} returns 0 for 'Duplicates' when using
@itemize @bullet
@item
Remove end space from @code{enum} values. (This fixed a problem with
@code{SHOW CREATE TABLE}).
Remove end space from @code{ENUM} values. (This fixed a problem with
@code{SHOW CREATE TABLE}.)
@item
Fixed bug in @code{CONCAT_WS()} that cut the result.
@item
Changed name of variables @code{Com_show_master_stat} to
Changed name of server variables @code{Com_show_master_stat} to
@code{Com_show_master_status} and @code{Com_show_slave_stat} to
@code{Com_show_slave_status}.
@item
Changed handling of @code{gethostbyname()} to make the client library
threadsafe even if @code{gethostbyname_r} doesn't exists.
thread-safe even if @code{gethostbyname_r} doesn't exist.
@item
Fixed core-dump problem when giving a wrong password string to @code{GRANT}.
@item
Fixed bug in @code{DROP DATABASE} with symlinked directory.
@item
Fixed optimization problem with @code{DATETIME} and value outside
Fixed optimisation problem with @code{DATETIME} and value outside
@code{DATETIME} range.
@item
Removed BDB documentation.
@item
Fixed mit-pthreads to compile with glibc 2.2 (needed for @code{make dist}).
Fixed MIT-pthreads to compile with @code{glibc} 2.2 (needed for
@code{make dist}).
@item
Fixed the @code{FLOAT(X+1,X)} is not converted to @code{FLOAT(X+2,X)}.
(This also affected @code{DECIMAL}, @code{DOUBLE} and @code{REAL} types)
@item
Fixed the result from @code{IF()} is case in-sensitive if the 2 and
third arguments are case-sensitive.
Fixed the result from @code{IF()} is case in-sensitive if the second and
third arguments are case sensitive.
@item
Fixed core dump problem on OSF in @code{gethostbyname_r}.
Fixed core dump problem on OSF/1 in @code{gethostbyname_r}.
@item
Fixed that underflowed decimal fields is not zero filled.
Fixed that underflowed decimal fields are not zero filled.
@item
If we get an overflow when inserting @code{'+11111'} for
@code{decimal(5,0) unsigned} columns, we will just drop the sign.
@code{DECIMAL(5,0) UNSIGNED} columns, we will just drop the sign.
@item
Fixed optimization bug with @code{ISNULL(expression_which_cannot_be_null)} and
Fixed optimisation bug with @code{ISNULL(expression_which_cannot_be_null)} and
@code{ISNULL(constant_expression)}.
@item
Fixed host lookup bug in the glibc library that we used with the 3.23.50
Fixed host lookup bug in the @code{glibc} library that we used with the 3.23.50
Linux-x86 binaries.
@end itemize
......@@ -25,6 +25,9 @@ int myrg_rprev(MYRG_INFO *info, byte *buf, int inx)
int err;
MI_INFO *mi;
if (!info || !info->current_table)
return HA_ERR_UNSUPPORTED;
/* at first, do rprev for the table found before */
if ((err=mi_rprev(info->current_table->table,NULL,inx)))
{
......
......@@ -470,4 +470,7 @@ CREATE TABLE t ( a int(11) NOT NULL default '0', b int(11) NOT NULL default '0
select max(b) from t where a = 2;
max(b)
NULL
select max(b) from t1 where a = 2;
max(b)
1
drop table if exists t,t1,t2;
......@@ -174,4 +174,5 @@ CREATE TABLE t2 ( a int(11) NOT NULL default '0', b int(11) NOT NULL default '
INSERT INTO t2 VALUES (1,2), (2,2);
CREATE TABLE t ( a int(11) NOT NULL default '0', b int(11) NOT NULL default '0', KEY a (a,b)) TYPE=MRG_MyISAM UNION=(t1,t2);
select max(b) from t where a = 2;
select max(b) from t1 where a = 2;
drop table if exists t,t1,t2;
......@@ -152,10 +152,9 @@ int opt_sum_query(TABLE_LIST *tables, List<Item> &all_fields,COND *conds)
error=table->file->index_last(table->record[0]) !=0;
else
{
error= table->file->index_read(table->record[0], key_buff,
(void)table->file->index_read(table->record[0], key_buff,
ref.key_length,
HA_READ_AFTER_KEY);
if (!error)
error=table->file->index_prev(table->record[0]) ||
key_cmp(table,key_buff,ref.key,ref.key_length);
}
......
......@@ -506,7 +506,7 @@ multi_update::prepare(List<Item> &values)
void
multi_update::initialize_tables(JOIN *join)
{
/*
#ifdef NOT_YET
We skip it as it only makes a mess ...........
TABLE_LIST *walk;
table_map tables_to_update_from=0;
......@@ -522,12 +522,12 @@ multi_update::initialize_tables(JOIN *join)
{
We are going to update from this table
TABLE *tbl=walk->table=tab->table;
Don't use KEYREAD optimization on this table
/* Don't use KEYREAD optimization on this table */
tbl->no_keyread=1;
walk=walk->next;
}
}
*/
#endif
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment