summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BitKeeper/etc/logging_ok5
-rw-r--r--Docs/manual.texi107
-rw-r--r--client/mysqltest.c7
-rw-r--r--configure.in2
-rw-r--r--include/mysql_com.h2
-rw-r--r--mysql-test/r/user_var.result6
-rw-r--r--mysql-test/t/kill.test19
-rw-r--r--mysql-test/t/user_var.test10
-rw-r--r--sql-bench/run-all-tests.sh3
-rw-r--r--sql/item_func.h2
-rw-r--r--sql/mysqld.cc8
11 files changed, 130 insertions, 41 deletions
diff --git a/BitKeeper/etc/logging_ok b/BitKeeper/etc/logging_ok
index 6f6dc95a208..049e31bff81 100644
--- a/BitKeeper/etc/logging_ok
+++ b/BitKeeper/etc/logging_ok
@@ -1,11 +1,12 @@
heikki@donna.mysql.fi
+jcole@abel.spaceapes.com
jcole@tetra.spaceapes.com
monty@donna.mysql.fi
+monty@tik.mysql.fi
mwagner@evoq.mwagner.org
+paul@central.snake.net
sasha@mysql.sashanet.com
sasha@work.mysql.com
serg@serg.mysql.com
tim@threads.polyesthetic.msg
tim@work.mysql.com
-jcole@abel.spaceapes.com
-paul@central.snake.net
diff --git a/Docs/manual.texi b/Docs/manual.texi
index 2e18d62c02b..a90a1b5e9d0 100644
--- a/Docs/manual.texi
+++ b/Docs/manual.texi
@@ -206,6 +206,8 @@ Types of Commercial Support
* Extended email support:: Extended email support
* Login support:: Login support
* Extended login support:: Extended login support
+* Telephone support:: Telephone support
+* Table handler support:: Support for other table handlers
Installing MySQL
@@ -595,7 +597,7 @@ Replication in MySQL
* Replication Options:: Replication Options in my.cnf
* Replication SQL:: SQL Commands related to replication
* Replication FAQ:: Frequently Asked Questions about replication
-* Troubleshooting Replication:: Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication
+* Troubleshooting Replication:: Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication.
Getting Maximum Performance from MySQL
@@ -2457,6 +2459,9 @@ A Windows GUI client by David Ecker.
Kiosk; a @strong{MySQL} client for database management. Written in Perl.
Will be a part of Bazaar.
+@item @uref{http://www.casestudio.com/}
+Db design tool that supports MySQL 3.23.
+
@item @uref{http://home.skif.net/~voland/zeos/eng/index.html}@*
Zeos - A client that supports @strong{MySQL}, Interbase and PostgreSQL.
@@ -3700,18 +3705,18 @@ EURO (European Union Euro) so the prices will differ slightly.
@multitable @columnfractions .3 .3 .3
@item @strong{Number of licenses} @tab @strong{Per copy} @tab @strong{Total}
-@item 1 @tab US $200 @tab US $200
-@item 10 pack @tab US $150 @tab US $1500
-@item 50 pack @tab US $120 @tab US $6000
+@item 1 @tab 200 EURO @tab 200 EURO
+@item 10 pack @tab 150 EURO @tab 1500 EURO
+@item 50 pack @tab 120 EURO @tab 6000 EURO
@end multitable
For high volume (OEM) purchases, the following prices apply:
@multitable @columnfractions .25 .2 .3 .25
@item @strong{Number of licenses} @tab @strong{Per copy} @tab @strong{Minimum } @tab @strong{Minimum payment}
-@item 100-999 @tab US $40 @tab 100 @tab US $4000
-@item 1000-2499 @tab US $25 @tab 200 @tab US $5000
-@item 2500-4999 @tab US $20 @tab 400 @tab US $8000
+@item 100-999 @tab 40 EURO @tab 100 @tab 4000 EURO
+@item 1000-2499 @tab 25 EURO @tab 200 @tab 5000 EURO
+@item 2500-4999 @tab 20 EURO @tab 400 @tab 8000 EURO
@end multitable
For OEM purchases, you must act as the middle-man for eventual problems
@@ -3740,14 +3745,15 @@ status instead of just fixing it in a later release.
More comprehensive support is sold separately. Descriptions of what each
level of support includes are given in @ref{Support}. Costs for the various
types of commercial support are shown below. Support level prices are in
-EURO (European Union Euro). One EURO is about 1.17 USD.
+EURO (European Union Euro). One EURO is about 1.06 USD.
@multitable @columnfractions .5 .5
@item @strong{Type of support} @tab @strong{Cost per year}
-@item Basic e-mail support. @xref{Basic email support}. @tab EURO 170
+@item Basic e-mail support. @xref{Basic email support}. @tab EURO 200
@item Extended e-mail support @xref{Extended email support}. @tab EURO 1000
@item Login support @xref{Login support}. @tab EURO 2000
@item Extended login support @xref{Extended login support}. @tab EURO 5000
+@item Telephone support @xref{Telephone support}. @tab EURO 12000
@end multitable
You may upgrade from any lower level of support to a higher level of
@@ -3859,6 +3865,8 @@ please send e-mail to @email{webmaster@@mysql.com}.
* Extended email support:: Extended email support
* Login support:: Login support
* Extended login support:: Extended login support
+* Telephone support:: Telephone support
+* Table handler support:: Support for other table handlers
@end menu
@cindex email, technical support
@@ -4023,7 +4031,7 @@ before talking on phone, to be able to work as efficiently as possible on
solving the problem.
@end itemize
-@node Extended login support, , Login support, Support
+@node Extended login support, Telephone support, Login support, Support
@subsection Extended Login Support
Extended login support includes everything in login support with these
@@ -4060,6 +4068,45 @@ without charge. For the hours above 8 hours, you will be charged with a
rate that is at least 20 % less than our standard rates.
@end itemize
+@node Telephone support, Table handler support, Extended login support, Support
+@subsection Telephone Support
+
+Telephone support includes everything in extended login support with
+these additions:
+
+@itemize @bullet
+@item
+We will provide you with a dynamic web page showing the current list of
+@code{MySQL} developers that you can phone when you have a critical
+problem.
+@item
+For non critical problem, you can request a @strong{MySQL} developer to
+phone back within 48 hours to discuss @code{MySQL} related issues.
+@end itemize
+
+@cindex support, BDB Tables
+@cindex support, INNOBASE Tables
+@cindex support, GEMENI Tables
+@node Table handler support, , Telephone support, Support
+@subsection Support for other table handlers
+
+To get support for @code{BDB} tables, @code{INNOBASE} tables or
+@code{GEMINI} tales you has to pay and additional 30 % on the basic
+support price for each of the table handlers you want to get support on.
+This extra cost is cover the back support cost for the other table
+handlers.
+
+We at @code{MySQL AB} will help you create a proper bug report for the
+table handler and submit it to the developers for to specific table
+handler. We will also do our best to ensure that you will get a timely
+answer/solution from the developers of the table handler.
+
+Even if we are quite confident that we can solve most problems within a
+timely manner, we can't guarantee a quick solution for any problems you
+can get with the different table handlers. We will however do our best
+to help you get the problem solved.
+
+
@node Installing, Compatibility, Licensing and Support, Top
@chapter Installing MySQL
@cindex installing, overview
@@ -6176,11 +6223,8 @@ Once @strong{BitKeeper} is installed, if you want to clone 3.23 branch,
@code{bk clone bk://work.mysql.com:7000 mysql}, and
@code{bk clone bk://work.mysql.com:7001 mysql-4.0} for 4.0 branch
-- the initial download
-may take a while, depending on the speed of your connection. If you have the
-most
-recent beta version of @strong{BitKeeper}, replace @code{clone} with
-@code{oclone}.
+The initial download may take a while, depending on the speed of your
+connection.
@item
You will need GNU autoconf/automake, libtool, and m4 to do the next stage.
If you get some strange error during the first stage, check that you really
@@ -6206,8 +6250,7 @@ you @code{./configure} with different values for @code{prefix},
@code{tcp-port}, and @code{unix-socket-path}.
@item
Play hard with your new installation and try to make the new features
-crash. Start by running @code{make test}. Report bugs to @email{bugs@@lists.mysql.com}. As always, make
-sure you have a full test case for the bug that we can run.
+crash. Start by running @code{make test}. @xref{MySQL test suite}.
@item
If you have gotten to the @code{make} stage and it does not compile,
please report it to @email{bugs@@lists.mysql.com}. If you have
@@ -23387,8 +23430,9 @@ SUM_OVER_ALL_KEYS(max_length_of_key + sizeof(char*) * 2)
@node BDB overview, BDB install, BDB, BDB
@subsection Overview over BDB tables
-BDB is included in the @strong{MySQL} source distribution starting
-from 3.23.34 and will be activated in the @strong{MySQL}-max binary.
+BDB tables are included in the @strong{MySQL} source distribution
+starting from 3.23.34 and will be activated in the @strong{MySQL}-max
+binary.
Berkeley DB (@uref{http://www.sleepycat.com}) has provided
@strong{MySQL} with a transaction-safe table handler. This will survive
@@ -23680,8 +23724,9 @@ NuSphere is working on removing these limitations.
@node INNOBASE overview, INNOBASE start, INNOBASE, INNOBASE
@subsection INNOBASE Tables overview
-Innobase is included in the @strong{MySQL} source distribution starting
-from 3.23.34a and will be activated in the @strong{MySQL}-max binary.
+Innobase tables are included in the @strong{MySQL} source distribution
+starting from 3.23.34 and will be activated in the @strong{MySQL}-max
+binary.
If you have downloaded a binary version of @strong{MySQL} that includes
support for Innobase, simply follow the instructions for
@@ -26631,7 +26676,7 @@ tables}.
* Replication Options:: Replication Options in my.cnf
* Replication SQL:: SQL Commands related to replication
* Replication FAQ:: Frequently Asked Questions about replication
-* Troubleshooting Replication:: Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication
+* Troubleshooting Replication:: Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication. Troubleshooting Replication.
@end menu
@node Replication Intro, Replication Implementation, Replication, Replication
@@ -42062,7 +42107,6 @@ users uses this code as the rest of the code and because of this we are
not yet 100 % confident in this code.
@menu
-
* News-3.23.35:: Changes in release 3.23.35
* News-3.23.34a:: Changes in release 3.23.34a
* News-3.23.34:: Changes in release 3.23.34
@@ -42105,6 +42149,14 @@ not yet 100 % confident in this code.
@node News-3.23.35, News-3.23.34a, News-3.23.x, News-3.23.x
@appendixsubsec Changes in release 3.23.35
@itemize @bullet
+@item
+Fixed newly introduce bug in @code{ORDER BY}.
+@item
+Fixed wrong define @code{CLIENT_TRANSACTIONS}.
+@item
+Fixed bug in @code{SHOW VARIABLES} when using INNOBASE tables.
+@item
+Setting and using user variables in @code{SELECT DISTINCT} didn't work.
@end itemize
@node News-3.23.34a, News-3.23.34, News-3.23.35, News-3.23.x
@@ -42126,6 +42178,8 @@ Updated the documentation about @code{GEMINI} tables.
Fixed thread-hang-bug in @code{INSERT DELAYED} when inserting
@code{NULL} into an @code{AUTO_INCREMENT} column.
@item
+Fixed thread-hang bug in @code{CHECK TABLE} / @code{REPAIR TABLE}.
+@item
@code{REPLACE} will not replace a row that conflicts with an
@code{auto_increment} generated key.
@item
@@ -46937,6 +46991,10 @@ in a database, it will take a long time to use the @code{mysql} client
on the database if you are not using the @code{-A} option or if you are
using @code{rehash}. This is especially notable when you have a big table
cache.
+
+@item
+Th current replication protocol cannot deal with @code{LOAD DATA INFILE}
+and line terminator characters of more than 1 character.
@end itemize
The following problems are known and will be fixed in due time:
@@ -47244,6 +47302,9 @@ at the same time.
@item
Change @code{INSERT ... SELECT} to use concurrent inserts.
@item
+Return the original field types() when doing @code{SELECT MIN(column)
+... GROUP BY}.
+@item
Add range checking to @code{MERGE} tables.
@item
Port of @strong{MySQL} to BeOS.
diff --git a/client/mysqltest.c b/client/mysqltest.c
index 9e50fb064cb..d38bf40a678 100644
--- a/client/mysqltest.c
+++ b/client/mysqltest.c
@@ -43,7 +43,7 @@
**********************************************************************/
-#define MTEST_VERSION "1.6"
+#define MTEST_VERSION "1.7"
#include <global.h>
#include <my_sys.h>
@@ -156,6 +156,7 @@ struct st_query
Q_SYNC_WITH_MASTER, Q_ERROR,
Q_SEND, Q_REAP,
Q_DIRTY_CLOSE, Q_REPLACE,
+ Q_PING,
Q_UNKNOWN, /* Unknown command. */
Q_COMMENT, /* Comments, ignored. */
Q_COMMENT_WITH_COMMAND
@@ -174,6 +175,7 @@ const char *command_names[] = {
"sync_with_master", "error",
"send", "reap",
"dirty_close", "replace_result",
+ "ping",
0
};
@@ -1662,6 +1664,9 @@ int main(int argc, char** argv)
case Q_SYNC_WITH_MASTER: do_sync_with_master(q); break;
case Q_COMMENT: /* Ignore row */
case Q_COMMENT_WITH_COMMAND:
+ case Q_PING:
+ (void) mysql_ping(&cur_con->mysql);
+ break;
default: processed = 0; break;
}
}
diff --git a/configure.in b/configure.in
index 05392da9a61..6cacea83f36 100644
--- a/configure.in
+++ b/configure.in
@@ -4,7 +4,7 @@ dnl Process this file with autoconf to produce a configure script.
AC_INIT(sql/mysqld.cc)
AC_CANONICAL_SYSTEM
# The Docs Makefile.am parses this line!
-AM_INIT_AUTOMAKE(mysql, 3.23.34a)
+AM_INIT_AUTOMAKE(mysql, 3.23.35)
AM_CONFIG_HEADER(config.h)
PROTOCOL_VERSION=10
diff --git a/include/mysql_com.h b/include/mysql_com.h
index f03dc0bf96e..8a5eea1024c 100644
--- a/include/mysql_com.h
+++ b/include/mysql_com.h
@@ -90,7 +90,7 @@ enum enum_server_command {COM_SLEEP,COM_QUIT,COM_INIT_DB,COM_QUERY,
#define CLIENT_INTERACTIVE 1024 /* This is an interactive client */
#define CLIENT_SSL 2048 /* Switch to SSL after handshake */
#define CLIENT_IGNORE_SIGPIPE 4096 /* IGNORE sigpipes */
-#define CLIENT_TRANSACTIONS 8196 /* Client knows about transactions */
+#define CLIENT_TRANSACTIONS 8192 /* Client knows about transactions */
#define SERVER_STATUS_IN_TRANS 1 /* Transaction has started */
#define SERVER_STATUS_AUTOCOMMIT 2 /* Server in auto_commit mode */
diff --git a/mysql-test/r/user_var.result b/mysql-test/r/user_var.result
index f1bfdf9116d..1be79d90cd6 100644
--- a/mysql-test/r/user_var.result
+++ b/mysql-test/r/user_var.result
@@ -1,2 +1,8 @@
@a - connection_id()
3
+i
+1
+2
+i @vv1:=if(sv1.i,1,0) @vv2:=if(sv2.i,1,0) @vv3:=if(sv3.i,1,0) @vv1+@vv2+@vv3
+1 1 0 1 2
+2 1 0 0 1
diff --git a/mysql-test/t/kill.test b/mysql-test/t/kill.test
index 19739c88673..0191461f73f 100644
--- a/mysql-test/t/kill.test
+++ b/mysql-test/t/kill.test
@@ -3,21 +3,24 @@ connect (con2, localhost, root,,test,0, mysql-master.sock);
#remember id of con1
connection con1;
-drop table if exists connection_kill;
-create table connection_kill (kill_id int);
-insert into connection_kill values(connection_id());
+drop table if exists t1;
+create table t1 (kill_id int);
+insert into t1 values(connection_id());
#kill con1
connection con2;
-select ((@id := kill_id) - kill_id) from connection_kill;
+select ((@id := kill_id) - kill_id) from t1;
kill @id;
-# verify that con1 is really dead
+# Wait for thread to do.
+--sleep 5
+# verify that con1 is doning a reconnect
connection con1;
-error 2013;
-select 1;
+ping
+ping
+select @id != connection_id();
#make sure the server is still alive
connection con2;
select 4;
-drop table connection_kill;
+drop table t1;
diff --git a/mysql-test/t/user_var.test b/mysql-test/t/user_var.test
index 711b23b7ac1..4cef5ea6ce9 100644
--- a/mysql-test/t/user_var.test
+++ b/mysql-test/t/user_var.test
@@ -3,3 +3,13 @@ set @a := foo;
set @a := connection_id() + 3;
select @a - connection_id();
+# Check using and setting variables with SELECT DISTINCT
+
+drop table if exists t1,t2;
+CREATE TABLE t1 ( i int not null, v int not null,index (i));
+insert into t1 values (1,1),(1,3),(2,1);
+create table t2 (i int not null, unique (i));
+insert into t2 select distinct i from t1;
+select * from t2;
+select distinct t2.i,@vv1:=if(sv1.i,1,0),@vv2:=if(sv2.i,1,0),@vv3:=if(sv3.i,1,0), @vv1+@vv2+@vv3 from t2 left join t1 as sv1 on sv1.i=t2.i and sv1.v=1 left join t1 as sv2 on sv2.i=t2.i and sv2.v=2 left join t1 as sv3 on sv3.i=t2.i and sv3.v=3;
+drop table t1,t2;
diff --git a/sql-bench/run-all-tests.sh b/sql-bench/run-all-tests.sh
index 31d48c837df..c2f687a9375 100644
--- a/sql-bench/run-all-tests.sh
+++ b/sql-bench/run-all-tests.sh
@@ -37,6 +37,7 @@ use DBI;
$opt_silent=1; # Don't write header
+@ORG_ARGV=@ARGV;
chomp($pwd = `pwd`); $pwd = "." if ($pwd eq '');
require "$pwd/bench-init.pl" || die "Can't read Configuration file: $!\n";
$opt_silent=0;
@@ -46,7 +47,7 @@ $redirect= !($machine =~ /windows/i || $machine =~ "^NT\s") ? "2>&1" : "";
$dir= ($pwd =~ /\\/) ? '\\' : '/'; # directory symbol for shell
$prog_args="";
-foreach $arg (@ARGV)
+foreach $arg (@ORG_ARGV)
{
if ($redirect)
{
diff --git a/sql/item_func.h b/sql/item_func.h
index 71eab66270e..595329d4bf4 100644
--- a/sql/item_func.h
+++ b/sql/item_func.h
@@ -835,6 +835,8 @@ public:
void fix_length_and_dec();
enum Item_result result_type() const;
const char *func_name() const { return "get_user_var"; }
+ bool const_item() const { return 0; }
+ table_map used_tables() const { return RAND_TABLE_BIT; }
};
class Item_func_inet_aton : public Item_int_func
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index 2f672c6f409..e85afd6b856 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -2717,12 +2717,12 @@ struct show_var_st init_vars[]= {
{"have_ssl", (char*) &have_ssl, SHOW_HAVE},
{"init_file", (char*) &opt_init_file, SHOW_CHAR_PTR},
#ifdef HAVE_INNOBASE_DB
- {"innobase_data_file_path", innobase_data_file_path, SHOW_CHAR},
- {"innobase_data_home_dir", innobase_data_home_dir, SHOW_CHAR},
+ {"innobase_data_file_path", (char*) &innobase_data_file_path, SHOW_CHAR_PTR},
+ {"innobase_data_home_dir", (char*) &innobase_data_home_dir, SHOW_CHAR_PTR},
{"innobase_flush_log_at_trx_commit", (char*) &innobase_flush_log_at_trx_commit, SHOW_MY_BOOL},
- {"innobase_log_arch_dir", innobase_log_arch_dir, SHOW_CHAR},
+ {"innobase_log_arch_dir", (char*) &innobase_log_arch_dir, SHOW_CHAR_PTR},
{"innobase_log_archive", (char*) &innobase_log_archive, SHOW_MY_BOOL},
- {"innobase_log_group_home_dir", innobase_log_group_home_dir, SHOW_CHAR},
+ {"innobase_log_group_home_dir", (char*) &innobase_log_group_home_dir, SHOW_CHAR_PTR},
#endif
{"interactive_timeout", (char*) &net_interactive_timeout, SHOW_LONG},
{"join_buffer_size", (char*) &join_buff_size, SHOW_LONG},