?? manual_news.html
字號:
</pre>
<p>This allows some ODBC programs (Delphi, Access) to retrieve the newly inserted row to
fetch the <code>AUTO_INCREMENT</code> id. </p>
</li>
<li><code>DROP TABLE</code> now waits for all users to free a table before deleting it. </li>
<li>Fixed small memory leak in the new connect protocol. </li>
<li>New functions <code>BIN()</code>, <code>OCT()</code>, <code>HEX()</code> and <code>CONV()</code>
for converting between different number bases. </li>
<li>Added function <code>SUBSTRING()</code> with 2 arguments. </li>
<li>If you created a table with a record length smaller than 5, you couldn't delete rows
from the table. </li>
<li>Added optimization to remove const reference tables from <code>ORDER BY</code> and <code>GROUP
BY</code>. </li>
<li><code>mysqld</code> now automatically disables system locking on Linux and Win32, and
for systems that use MIT-pthreads. You can force the use of locking with the <code>--enable-locking</code>
option. </li>
<li>Added <code>--console</code> option to <code>mysqld</code>, to force a console window
(for error messages) when using Win32. </li>
<li>Fixed table locks for Win32. </li>
<li>Allow <samp>`$'</samp> in identifiers. </li>
<li>Changed name of user-specific configuration file from <tt>`my.cnf'</tt> to <tt>`.my.cnf'</tt>
(Unix only). </li>
<li>Added <code>DATE_ADD()</code> and <code>DATE_SUB()</code> functions. </li>
</ul>
<h3><a href="manual_toc.html#News-3.22.3" name="News-3.22.3">D.2.26 Changes in release
3.22.3</a></h3>
<ul>
<li>Fixed a lock problem (bug in <strong>MySQL</strong> 3.22.1) when closing temporary
tables. </li>
<li>Added missing <code>mysql_ping()</code> to the client library. </li>
<li>Added <code>--compress</code> option to all <strong>MySQL</strong> clients. </li>
<li>Changed <code>byte</code> to <code>char</code> in <tt>`mysql.h'</tt> and <tt>`mysql_com.h'</tt>.
</li>
</ul>
<h3><a href="manual_toc.html#News-3.22.2" name="News-3.22.2">D.2.27 Changes in release
3.22.2</a></h3>
<ul>
<li>Searching on multiple constant keys that matched more than 30% of the rows didn't always
use the best possible key. </li>
<li>New functions <code><<</code>, <code>>></code>, <code>RPAD()</code> and <code>LPAD()</code>.
</li>
<li>You can now save default options (like passwords) in a configuration file (<tt>`my.cnf'</tt>).
</li>
<li>Lots of small changes to get <code>ORDER BY</code> to work when no records are found
when using fields that are not in <code>GROUP BY</code> (<strong>MySQL</strong>
extension). </li>
<li>Added <code>--chroot</code> option to <code>mysqld</code>, to start <code>mysqld</code>
in a chroot environment (by Nikki Chumakov <a href="mailto:nikkic@cityline.ru">nikkic@cityline.ru</a>).
</li>
<li>Trailing spaces are now ignored when comparing case-sensitive strings; this should fix
some problems with ODBC and flag 512! </li>
<li>Fixed a core-dump bug in the range optimizer. </li>
<li>Added <code>--one-thread</code> option to <code>mysqld</code>, for debugging with
LinuxThreads (or <code>glibc</code>). (This replaces the <code>-T32</code> flag) </li>
<li>Added <code>DROP TABLE IF EXISTS</code> to prevent an error from occurring if the table
doesn't exist. </li>
<li><code>IF</code> and <code>EXISTS</code> are now reserved words (they would have to be
sooner or later). </li>
<li>Added lots of new options to <code>mysqldump</code>. </li>
<li>Server error messages are now in <tt>`mysqld_error.h'</tt>. </li>
<li>The server/client protocol now supports compression. </li>
<li>All bug fixes from <strong>MySQL</strong> 3.21.32. </li>
</ul>
<h3><a href="manual_toc.html#News-3.22.1" name="News-3.22.1">D.2.28 Changes in release
3.22.1</a></h3>
<ul>
<li>Added new C API function <code>mysql_ping()</code>. </li>
<li>Added new API functions <code>mysql_init()</code> and <code>mysql_options()</code>. You
now MUST call <code>mysql_init()</code> before you call <code>mysql_real_connect()</code>.
You don't have to call <code>mysql_init()</code> if you only use <code>mysql_connect()</code>.
</li>
<li>Added <code>mysql_options(...,MYSQL_OPT_CONNECT_TIMEOUT,...)</code> so you can set a
timeout for connecting to a server. </li>
<li>Added <code>--timeout</code> option to <code>mysqladmin</code>, as a test of <code>mysql_options()</code>.
</li>
<li>Added <code>AFTER column</code> and <code>FIRST</code> options to <code>ALTER TABLE ...
ADD columns</code>. This makes it possible to add a new column at some specific location
within a row in an existing table. </li>
<li><code>WEEK()</code> now takes an optional argument to allow handling of weeks when the
week starts on Monday (some European countries). By default, <code>WEEK()</code> assumes
the week starts on Sunday. </li>
<li><code>TIME</code> columns weren't stored properly (bug in <strong>MySQL</strong>
3.22.0). </li>
<li><code>UPDATE</code> now returns information about how many rows were matched and
updated, and how many ``warnings'' occurred when doing the update. </li>
<li>Fixed incorrect result from <code>FORMAT(-100,2)</code>. </li>
<li><code>ENUM</code> and <code>SET</code> columns were compared in binary (case-sensitive)
fashion; changed to be case insensitive. </li>
</ul>
<h3><a href="manual_toc.html#News-3.22.0" name="News-3.22.0">D.2.29 Changes in release
3.22.0</a></h3>
<ul>
<li>New (backward compatible) connect protocol that allows you to specify the database to
use when connecting, to get much faster connections to a specific database. The <code>mysql_real_connect()</code>
call is changed to: <pre>mysql_real_connect(MYSQL *mysql, const char *host, const char *user,
const char *passwd, const char *db, uint port,
const char *unix_socket, uint client_flag)
</pre>
</li>
<li>Each connection is handled by its own thread, rather than by the master <code>accept()</code>
thread. This fixes permanently the telnet bug that was a topic on the mail list some time
ago. </li>
<li>All TCP/IP connections are now checked with backward resolution of the hostname to get
better security. <code>mysqld</code> now has a local hostname resolver cache so
connections should actually be faster than before, even with this feature. </li>
<li>A site automatically will be blocked from future connections if someone repeatedly
connects with an ``improper header'' (like when one uses telnet). </li>
<li>You can now refer to tables in different databases with references of the form <code>tbl_name@db_name</code>
or <code>db_name.tbl_name</code>. This makes it possible to give a user read access to
some tables and write access to others simply by keeping them in different databases! </li>
<li>Added <code>--user</code> option to <code>mysqld</code>, to allow it to run as another
Unix user (if it is started as the Unix <code>root</code> user). </li>
<li>Added caching of users and access rights (for faster access rights checking) </li>
<li>Normal users (not anonymous ones) can change their password with <code>mysqladmin
password 'new_password'</code>. This uses encrypted passwords that are not logged in the
normal <strong>MySQL</strong> log! </li>
<li>All important string functions are now coded in assembler for x86 Linux machines. This
gives a speedup of 10% in many cases. </li>
<li>For tables that have many columns, the column names are now hashed for much faster
column name lookup (this will speed up some benchmark tests a lot!) </li>
<li>Some benchmarks are changed to get better individual timing. (Some loops were so short
that a specific test took < 2 seconds. The loops have been changed to take about 20
seconds to make it easier to compare different databases. A test that took 1-2 seconds
before now takes 11-24 seconds, which is much better) </li>
<li>Re-arranged <code>SELECT</code> code to handle some very specific queries involving
group functions (like <code>COUNT(*)</code>) without a <code>GROUP BY</code> but with <code>HAVING</code>.
The following now works: <pre>mysql> SELECT count(*) as C FROM table HAVING C > 1;
</pre>
</li>
<li>Changed the protocol for field functions to be faster and avoid some calls to <code>malloc()</code>.
</li>
<li>Added <code>-T32</code> option to <code>mysqld</code>, for running all queries under the
main thread. This makes it possible to debug <code>mysqld</code> under Linux with <code>gdb</code>!
</li>
<li>Added optimization of <code>not_null_column IS NULL</code> (needed for some Access
queries). </li>
<li>Allow <code>STRAIGHT_JOIN</code> to be used between two tables to force the optimizer to
join them in a specific order. </li>
<li>String functions now return <code>VARCHAR</code> rather than <code>CHAR</code> and the
column type is now <code>VARCHAR</code> for fields saved as <code>VARCHAR</code>. This
should make the <strong>MyODBC</strong> driver better, but may break some old <strong>MySQL</strong>
clients that don't handle <code>FIELD_TYPE_VARCHAR</code> the same way as <code>FIELD_TYPE_CHAR</code>.
</li>
<li><code>CREATE INDEX</code> and <code>DROP INDEX</code> are now implemented through <code>ALTER
TABLE</code>. <code>CREATE TABLE</code> is still the recommended (fast) way to create
indexes. </li>
<li>Added <code>--set-variable</code> option <code>wait_timeout</code> to <code>mysqld</code>.
</li>
<li>Added time column to <code>mysqladmin processlist</code> to show how long a query has
taken or how long a thread has slept. </li>
<li>Added lots of new variables to <code>show variables</code> and some new to <code>show
status</code>. </li>
<li>Added new type <code>YEAR</code>. <code>YEAR</code> is stored in 1 byte with allowable
values of 0, and 1901 to 2155. </li>
<li>Added new <code>DATE</code> type that is stored in 3 bytes rather than 4 bytes. All new
tables are created with the new date type if you don't use the <code>--old-protocol</code>
option to <code>mysqld</code>. </li>
<li>Fixed bug in record caches; for some queries, you could get <code>Error from table
handler: #</code> on some operating systems. </li>
<li>Added <code>--enable-assembler</code> option to <code>configure</code>, for x86 machines
(tested on Linux + <code>gcc</code>). This will enable assembler functions for the most
important string functions for more speed! </li>
</ul>
<h2><a href="manual_toc.html#News-3.21.x" name="News-3.21.x">D.3 Changes in release 3.21.x</a></h2>
<h3><a href="manual_toc.html#News-3.21.33" name="News-3.21.33">D.3.1 Changes in release
3.21.33</a></h3>
<ul>
<li>Fixed problem when sending <code>SIGHUP</code> to <code>mysqld</code>; <code>mysqld</code>
core dumped when starting from boot on some systems. </li>
<li>Fixed problem with losing a little memory for some connections. </li>
<li><code>DELETE FROM tbl_name</code> without a <code>WHERE</code> condition is now done the
long way when you use <code>LOCK TABLES</code> or if the table is in use, to avoid race
conditions. </li>
<li><code>INSERT INTO TABLE (timestamp_column) VALUES (NULL);</code> didn't set timestamp. </li>
</ul>
<h3><a href="manual_toc.html#News-3.21.32" name="News-3.21.32">D.3.2 Changes in release
3.21.32</a></h3>
<ul>
<li>Fixed some possible race conditions when doing many reopen/close on the same tables
under heavy load! This can happen if you execute <code>mysqladmin refresh</code> often.
This could in some very rare cases corrupt the header of the index file and cause error
126 or 138. </li>
<li>Fixed fatal bug in <code>refresh()</code> when running with the <code>--skip-locking</code>
option. There was a ``very small'' time gap after a <code>mysqladmin refresh</code> when a
table could be corrupted if one thread updated a table while another thread did <code>mysqladmin
refresh</code> and another thread started a new update ont the same table before the first
thread had finished. A refresh (or <code>--flush-tables</code>) will now not return until
all used tables are closed! </li>
<li><code>SELECT DISTINCT</code> with a <code>WHERE</code> clause that didn't match any rows
returned a row in some contexts (bug only in 3.21.31). </li>
<li><code>GROUP BY</code> + <code>ORDER BY</code> returned one empty row when no rows where
found. </li>
<li>Fixed a bug in the range optimizer that wrote <code>Use_count: Wrong count for ...</code>
in the error log file. </li>
</ul>
<h3><a href="manual_toc.html#News-3.21.31" name="News-3.21.31">D.3.3 Changes in release
3.21.31</a></h3>
<ul>
<li>Fixed a sign extension problem for the <code>TINYINT</code> type on Irix. </li>
<li>Fixed problem with <code>LEFT("constant_string",function)</code>. </li>
<li>Fixed prob
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -