Commit graph

2800 commits

Author SHA1 Message Date
tnurnberg@mysql.com/sin.intern.azundris.com
cc3f0af2e1 Bug #15327: configure: --with-tcp-port option being partially ignored
after merge fix :-/
2007-09-15 04:59:46 +02:00
tnurnberg@sin.intern.azundris.com
7451aaf48c Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint
into  mysql.com:/home/tnurnberg/15327/50-15327
2007-09-15 04:45:20 +02:00
tnurnberg@sin.intern.azundris.com
d5174aad89 Merge mysql.com:/home/tnurnberg/15327/50-15327
into  mysql.com:/home/tnurnberg/15327/51-15327
2007-09-15 04:09:38 +02:00
tnurnberg@mysql.com/sin.intern.azundris.com
3c6ca8d6ed Bug #15327: configure: --with-tcp-port option being partially ignored
make sure that if builder configured with a non-standard (!= 3306)
default TCP port that value actually gets used throughout. if they
didn't configure a value, assume "use a sensible default", which
will be read from /etc/services or, failing that, from the factory
default. That makes the order of preference
- command-line option
- my.cnf, where applicable
- $MYSQL_TCP_PORT environment variable
- /etc/services (unless configured --with-tcp-port)
- default port (--with-tcp-port=... or factory default)
2007-09-13 16:19:46 +02:00
gshchepa/uchum@gleb.loc
bd4fd0473c Merge gleb.loc:/home/uchum/work/bk/5.1
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-09-13 00:44:50 +05:00
gshchepa/uchum@gleb.loc
ff042427cf Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-09-12 23:41:35 +05:00
malff@lambda.weblab
18300001c1 WL#4030 (Deprecate RENAME DATABASE: replace with ALTER DATABASE <name>
UPGRADE)

Bug 17565 (RENAME DATABASE destroys events)
Bug#28360 (RENAME DATABASE destroys routines)

Removed the
  RENAME DATABASE db1 TO db2
statement.

Implemented the
  ALTER DATABASE db UPGRADE DATA DIRECTORY NAME
statement, which has the same function.
2007-09-10 16:10:37 -06:00
gshchepa/uchum@gleb.loc
1926819d5b Merge gleb.loc:/home/uchum/work/bk/5.1
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-09-06 22:31:25 +05:00
gshchepa/uchum@gleb.loc
d330a49105 Merge gleb.loc:/home/uchum/work/bk/5.0
into  gleb.loc:/home/uchum/work/bk/5.0-opt
2007-09-06 22:27:13 +05:00
malff@omega.weblab
d55b2bd13b Merge omega.weblab:/home/malff/TREE/mysql-5.1-base
into  omega.weblab:/home/malff/TREE/mysql-5.1-rt-merge
2007-09-05 14:52:40 -06:00
gshchepa/uchum@gleb.loc
582b69686c Merge gleb.loc:/home/uchum/work/bk/5.1-opt-29938
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-09-05 11:43:40 +05:00
gshchepa/uchum@gleb.loc
adfbea368d Fixed bug #29938.
mysqldump --skip-events --all-databases dumped data of the mysqld.event table,
and during the restoration from this dump events were created in spite
of the --skip-events option.

The mysqldump client has been modified to ignore mysql.event table data
in case of --skip-events options.
2007-09-05 11:35:29 +05:00
brian@zim.(none)
e235ccd13a Discovered a bug while working with backup. Since it is possible to execute a statement in a pre/post statment clause that can return a result, we need to test for that and free it. 2007-09-04 20:03:12 -07:00
malff/marcsql@weblab.(none)
3a7bcd72f3 Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.0-rt-merge
2007-09-04 14:38:26 -06:00
malff/marcsql@weblab.(none)
0f58ed7e74 Merge weblab.(none):/home/marcsql/TREE/mysql-5.1-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-rt50-merge
2007-09-04 12:25:54 -06:00
gshchepa/uchum@gleb.loc
a6d644e7b5 Merge gleb.loc:/home/uchum/work/bk/5.0-opt-30126
into  gleb.loc:/home/uchum/work/bk/5.1-opt
2007-08-31 17:50:52 +05:00
gshchepa/uchum@gleb.loc
3e49bbd8e7 Fixed bug #30126.
When dumping database from a 4.x server, the mysqldump client
inserted a delimiter sign inside special commentaries of the form:
  /*!... CREATE DATABASE IF NOT EXISTS ... ;*/
During restoration that dump file was splitten by delimiter signs on
the client side, and the rest of some commentary strings was prepended
to following statements.

The 4x_server_emul test case option has been added for use with the
DBUG_EXECUTE_IF debugging macro. This option affects debug server
builds only to emulate particular behavior of a 4.x server for
the mysqldump client testing. Non-debugging builds are not affected.
2007-08-31 16:59:07 +05:00
malff/marcsql@weblab.(none)
2482c59740 Merge weblab.(none):/home/marcsql/TREE/mysql-5.1-base
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-rt50-merge
2007-08-30 13:23:59 -06:00
kaa@polly.(none)
e79902aa5c Merge polly.(none):/home/kaa/src/bug30164/my50-bug30164
into  polly.(none):/home/kaa/src/bug30164/my51-bug30164
2007-08-30 12:55:29 +04:00
kaa@polly.(none)
2bb849644b Bug #30164: Using client side macro inside server side comments generates broken queries
Problem:
  
In cases when a client-side macro appears inside a server-side comment, the add_line() function in mysql.cc discarded all characters until the next delimiter to remove macro arguments from the query string. This resulted in broken queries being sent to the server when the next delimiter character appeared past the comment's boundaries, because the comment closing sequence ('*/') was discarded.
  
Fix:
  
If a client-side macro appears inside a server-side comment, discard all characters in the comment after the macro (that is, until the end of the comment rather than the next delimiter).
This is a minimal fix to allow only simple cases used by the mysqlbinlog utility. Limitations that are worth documenting:
  
- Nested server-side and/or client-side comments are not supported by mysql.cc
- Using client-side macros in multi-line server-side comments is not supported
- All characters after a client-side macro in a server-side comment will be omitted from the query string (and thus, will not be sent to server).
2007-08-30 12:53:24 +04:00
msvensson@pilot.(none)
3df9790e41 Merge pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
2007-08-28 16:47:41 +02:00
msvensson@pilot.(none)
4a7087526f Streamline "do_close_connection" and "do_send_quit"
Fix typo, "next_con" -> "con"
2007-08-28 16:47:05 +02:00
msvensson@pilot.(none)
221dba148e Merge pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
2007-08-28 15:33:14 +02:00
msvensson@pilot.(none)
4a013e295d Move "analyze_testcase_failure" to mysqltest(since it knows best when
to perform this analyzis)
2007-08-28 15:32:13 +02:00
msvensson@pilot.(none)
ccfbae831f Fix warning 2007-08-28 11:39:29 +02:00
tsmith@ramayana.hindu.god
c87236ce91 Merge ramayana.hindu.god:/home/tsmith/m/bk/51
into  ramayana.hindu.god:/home/tsmith/m/bk/maint/51
2007-08-27 18:20:54 -06:00
baker@bk-internal.mysql.com
25c467bf6f Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-arch
2007-08-27 20:20:08 +02:00
msvensson@pilot.(none)
bc49f3b652 Merge pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
2007-08-27 11:32:34 +02:00
msvensson@pilot.(none)
f9c245611e Bug#29805 mysql_upgrade test fail if ~/.my.cnf contain a password
- "mysql" and "mysqlcheck" should not read defaults file
2007-08-27 11:31:49 +02:00
msvensson@pilot.(none)
0b27b3bc0e Merge pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
2007-08-27 10:50:44 +02:00
msvensson@pilot.(none)
a91bd85215 Bug#28560 mysql_upgrade test links /usr/local/mysql/lib libraries
- Chop off .libs/ part of path if running in non installed builddir
   using libtool
2007-08-27 10:25:34 +02:00
jani@hynda.mysql.fi
6519de0469 Merge hynda.mysql.fi:/home/my/mysql-5.1-main
into  hynda.mysql.fi:/home/my/mysql-5.1-marvel
2007-08-22 17:29:38 +03:00
brian@piggy.tangent.org
e00b72de19 Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-arch
into  piggy.tangent.org:/home/mysql/trees/mysql-5.1-arch
2007-08-20 13:18:40 -07:00
brian@piggy.tangent.org
bd0bcb70f5 Extending tests for detach (found a memory issue in it, this fixes that and now tests it). 2007-08-20 13:03:50 -07:00
msvensson@pilot.(none)
d2fdcd908a Merge pilot.(none):/data/msvensson/mysql/work/my51-work
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
2007-08-20 13:47:31 +02:00
kostja@bodhi.(none)
91fe15bb9d Fix doxygen warnings. 2007-08-15 17:43:08 +04:00
monty@mysql.com/narttu.mysql.fi
5d1c2dc913 Fixed problem that Start_log_event_v3::created was not set properly
(This is becasue 'when' is not anymore set in constructor)
2007-08-14 15:20:05 +03:00
monty@narttu.mysql.fi
9d609a59fd Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/my/mysql-5.1
2007-08-14 00:22:34 +03:00
msvensson@pilot.(none)
40bcf44eff Merge pilot.(none):/data/msvensson/mysql/work/my50-work
into  pilot.(none):/data/msvensson/mysql/work/my51-work
2007-08-13 15:48:26 +02:00
msvensson@pilot.(none)
51580c6405 Improve error messages
Write test results to var/log
Add test for "source" and variable expansion
2007-08-13 15:46:11 +02:00
monty@mysql.com/nosik.monty.fi
e53a73e26c Fixed a lot of compiler warnings and errors detected by Forte C++ on Solaris
Faster thr_alarm()
Added 'Opened_files' status variable to track calls to my_open()
Don't give warnings when running mysql_install_db
Added option --source-install to mysql_install_db

I had to do the following renames() as used polymorphism didn't work with Forte compiler on 64 bit systems
index_read()      -> index_read_map()
index_read_idx()  -> index_read_idx_map()
index_read_last() -> index_read_last_map()
2007-08-13 16:11:25 +03:00
msvensson@pilot.(none)
02419588a4 Merge bk-internal:/home/bk/mysql-5.1-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
2007-08-13 11:35:10 +02:00
msvensson@pilot.(none)
cee0fe85ac Merge bk-internal:/home/bk/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
2007-08-13 11:29:58 +02:00
baker@bk-internal.mysql.com
bc6e5b08dd Merge bk-internal.mysql.com:/data0/bk/mysql-5.1
into  bk-internal.mysql.com:/data0/bk/mysql-5.1-arch
2007-08-09 22:12:13 +02:00
brian@piggy.tangent.org
ae2b243a2e Two bugs in one! The count call was duplicating internally the counts for loaded tests (not autosql tests, just loaded). This could manifest itself by executing by file, or by executing a pre statement.
BUG#29803
2007-08-09 13:01:29 -07:00
msvensson@pilot.(none)
55c448bc1b Merge pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
2007-08-08 18:09:21 +02:00
msvensson@pilot.(none)
179cd4e016 Merge 192.168.0.7:mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
2007-08-08 18:03:56 +02:00
msvensson@shellback.(none)
6d2f738ff9 Don't require a space between "if" and "(". This should
also fix "while" and "connect"
It's now possible to write "if("
2007-08-08 18:03:44 +02:00
msvensson@pilot.(none)
24666e55cf Merge pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
2007-08-08 16:49:15 +02:00
msvensson@pilot.(none)
a2f59d74f4 Merge 192.168.0.7:mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
2007-08-08 16:47:35 +02:00
msvensson@shellback.(none)
792ac3fdcd Use "create_temp_file" to create a temporary file name for the perl script 2007-08-08 16:45:18 +02:00
msvensson@shellback.(none)
87f81bce4e Remove extra newline added to files created by write_file and append_file 2007-08-08 16:44:01 +02:00
msvensson@pilot.(none)
5e4b4ca6ab Merge pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
2007-08-08 10:05:09 +02:00
kostja@bodhi.(none)
28f1f1828d Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
2007-08-08 11:36:55 +04:00
msvensson@pilot.(none)
8d8123341b Fix warning 2007-08-08 09:31:45 +02:00
msvensson@pilot.(none)
a7ba7109c7 Merge pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
2007-08-07 12:15:19 +02:00
msvensson@pilot.(none)
7c0341376d Merge 192.168.0.7:mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
2007-08-07 11:58:00 +02:00
msvensson@shellback.(none)
86658784a1 Bug#29547 mysql-test-run to retrieve warnings for failed command
- Run "SHOW WARNINGS" when mysqltest fails and display all but the
   last warning(since it's the same as "last error") on stderr
 - Fix typo
2007-08-07 11:56:30 +02:00
msvensson@pilot.(none)
66b74f6a33 Merge pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
2007-08-07 11:42:14 +02:00
msvensson@pilot.(none)
f785bf00de Bug#20037 mysqltest requires cygwin on windows(part 1, new mysqltest commands)
- Update comments
 - Make "write_file" fail if file already exist
 - Remove temporary files created by test cases
2007-08-07 11:40:03 +02:00
kostja@bodhi.(none)
256450d881 Fix one more warning. 2007-08-06 23:43:53 +04:00
kostja@bodhi.(none)
4cc808b7cf Fix "db_cl_altered might be used uninitialized" warning. 2007-08-06 22:52:50 +04:00
kostja@bodhi.(none)
057ab256cc Fix warnings. 2007-08-06 22:49:47 +04:00
kostja@bodhi.(none)
0c4d8e0032 Fix failing ddl_i18n* tests in the team tree. 2007-08-06 22:42:13 +04:00
msvensson@pilot.(none)
35503e7678 Merge bk-internal:/home/bk/mysql-5.1-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
2007-08-06 15:14:11 +02:00
msvensson@shellback.(none)
260fabd481 Add missing '
Extend buffer size to allow for longer log messages
2007-08-06 13:42:00 +02:00
msvensson@shellback.(none)
b8a2161673 Remove NOT_YET code
Update comments
Add more tests for "let from query"
2007-08-06 11:20:36 +02:00
msvensson@shellback.(none)
42b32d7df3 Fix spelling errors 2007-08-06 10:39:48 +02:00
msvensson@shellback.(none)
5fdd29e3d1 Merge bk-internal:/home/bk/mysql-5.0-maint
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
2007-08-06 09:41:24 +02:00
iggy@amd64.(none)
64b6c61108 Merge amd64.(none):/src/mysql-5.1-maint
into  amd64.(none):/src/mysql-5.1-build_29903
2007-08-03 21:44:59 -04:00
iggy@amd64.(none)
3ed9739c82 Bug#29903 The CMake build method does not produce the embedded library.
- Changes to correct and test Windows embedded build.
2007-08-03 14:43:12 -04:00
df@pippilotta.erinye.com
493634e4c7 Merge bk-internal:/home/bk/mysql-5.1-marvel
into  pippilotta.erinye.com:/shared/home/df/mysql/build/mysql-5.1-build-marvel-engines
2007-08-03 17:15:23 +02:00
df@pippilotta.erinye.com
5ad3f6083e add mysqlslap back to windows builds for 5.1 2007-08-03 14:43:11 +02:00
msvensson@pilot.(none)
f7986a6307 Merge pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
2007-08-03 13:40:38 +02:00
msvensson@pilot.(none)
fecdca6754 Add extra newline between diff and error message 2007-08-03 13:39:55 +02:00
msvensson@pilot.(none)
e4817a3843 Update after merge, change "byte" and "gptr" into "uchar" and "uchar*" 2007-08-03 13:29:30 +02:00
msvensson@pilot.(none)
7afa0163e5 Merge pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
2007-08-03 13:26:43 +02:00
msvensson@pilot.(none)
51abee54c5 Merge 192.168.0.7:mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
2007-08-03 13:15:03 +02:00
msvensson@shellback.(none)
cc00660f95 WL#3935 Improve mysqltest report and exitcode for diff
- Move the code to generate test report to the test tool(in this
   case mysqltest) where the best control of what failed is
- Simplify the code in mysql-test-run.pl
- mysqltest will now find what diff to use in a best effort attempt
  using "diff -u", "diff -c" and finally dumping the two files verbatim
  in the report.
2007-08-03 13:12:53 +02:00
msvensson@pilot.(none)
2258a423b2 Merge 192.168.0.7:mysql/mysql-5.0-maint
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
2007-08-03 12:57:09 +02:00
msvensson@shellback.(none)
7e86c5971a Remove the temporary file created by mysql_upgrade 2007-08-03 12:54:06 +02:00
joerg@trift2.
d63f8f48fb Re-apply fixes originally made by Kent,
they got lost because of a merge conflict with the CMakeLists.txt 
dependency fix (numer 29982 in our bugs DB).

These changes are for bug#30118.
2007-08-03 11:06:53 +02:00
anozdrin/alik@ibm.
e76351df1a Fix for BUG#30123: mysqldump is unable to work with old servers.
New server (as of 5.1.21) provides new features:
  - SHOW CREATE TRIGGER;
  - character set information for SHOW TRIGGERS and SHOW CREATE
    EVENT | FUNCTION | PROCEDURE statements.
Mysqldump uses these features to generate proper dump.

The bug happened when new mysqldump was used to dump older servers.
The problem was that 5.1.21 new features are not available, so
mysqldump exited with error code or just crashed.

The fix is to detect if mysqldump has ben run against older server
and don't use new 5.1.21 functionality in this case. Certainly,
the dump generated for the older server suffers from the character
set problems fixed by BUG#16291 and the like.
2007-08-03 11:50:17 +04:00
monty@mysql.com/nosik.monty.fi
237d586700 Simplify logging code a bit (to make code smaller and faster)
Moved duplicated code to inline function store_timestamp()
Save thd->time_zone_used when logging to table as CSV internally cases it to be changed
Added MYSQL_LOCK_IGNORE_FLUSH to log tables to avoid deadlock in case of flush tables.
Mark log tables with TIMESTAMP_NO_AUTO_SET to avoid automatic timestamping
Set TABLE->no_replicate on open
2007-08-03 01:14:27 +03:00
gluh@mysql.com/eagle.(none)
27ab885525 WL#3732 Information schema optimization 2007-08-03 03:14:05 +05:00
joerg@trift2.
7ddc8c35b2 Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.1-build
into  trift2.:/MySQL/M51/push-5.1
2007-08-02 21:18:24 +02:00
joerg@trift2.
c9e9d735af Merge trift2.:/MySQL/M51/bug29982-5.1
into  trift2.:/MySQL/M51/push-5.1
2007-08-02 20:19:21 +02:00
kent@kent-amd64.(none)
b976f18c1b Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0-build
into  mysql.com:/home/kent/bk/cmake-tls/mysql-5.0-build
2007-08-02 15:39:34 +02:00
kent@mysql.com/kent-amd64.(none)
10778d6fe2 Makefile.am:
Add CMakeLists.txt to source distribution
CMakeLists.txt:
  Added missing '${MYSQLD_EXE_SUFFIX}' to "mysqld" targets new in 5.1
  Manual merge from 5.0 (bug#30118)
CMakeLists.txt, mysqlbinlog.cc, lib_sql.cc:
  No need to test on USING_CMAKE, it is the only Windows build
2007-08-02 15:37:33 +02:00
kent@mysql.com/kent-amd64.(none)
74267ad9b8 CMakeLists.txt (several), make_win_bin_dist:
Aligned client library build and use with the Unix version when it
  comes to what source to include directly in the builds, and what
  libraries to link with (bug#30118).

  Also reviewed, corrected and made more clear when static or dynamic
  Thread Local Storage is to be used. Some code duplication was removed,
  and some redundant library usage were removed, reducing the risk of
  incorrect TLS usage.
2007-08-02 12:49:27 +02:00
monty@nosik.monty.fi
93f0771fca Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/my/mysql-5.1
2007-08-02 07:55:33 +03:00
monty@mysql.com/nosik.monty.fi
4f33d95fa3 Set --debug-check if one uses DBUG_PUSH in all clients
Fixed bug in query cache that made it impossible to run mysqld with --debug
Fixed memory leaks in mysqldump and mysqltest
Memory leaks associated with wrong usage of mysqltest is not fixed. To find these, run
mysql-test-run --debug mysqltest
2007-08-02 07:49:29 +03:00
monty@mysql.com/nosik.monty.fi
96f90711a7 Fixes Bug#30127: --debug-info no longer prints memory usage in mysql
Fixed compiler warnings, errors and link errors
Fixed new bug on Solaris with gethrtime()
Added --debug-check option to all mysql clients to print errors and memory leaks
Added --debug-info to all clients. This now works as --debug-check but also prints memory and cpu usage
2007-08-01 22:59:05 +03:00
kostja@bodhi.(none)
6238763281 Merge bk-internal.mysql.com:/home/bk/mysql-5.1
into  bodhi.(none):/opt/local/work/mysql-5.1-runtime
2007-07-31 23:47:38 +04:00
joerg@trift2.
22d445ee70 Fix a bad BitKeeper dependency structure for the "CMakeLists.txt" files.
They had been introduced in 5.1 and were only later backported to 5.0;
as a consequence, the files in the 5.1 tree do not depend on the 5.0 ones,
and changes in 5.0 do not propagate into the 5.1 files.

To fix this, the (previous) files in 5.1 now are deleted ("bk rm"),
and the previously deleted files depending on 5.0 are now moved to the 
respective source directories ("bk mv").
The current 5.1 contents is restored in these files.

If you need the previous history of the 5.1 files ("bk revtool"),
access those in "BitKeeper/deleted".

Contrary to the original plan, I did not introduce the name
"CMakeLists.historic" - mostly in order not to clutter the source tree.

This fixes bug#29982.
2007-07-31 19:35:13 +02:00
kostja@bodhi.(none)
1bf318b895 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  bodhi.(none):/opt/local/work/mysql-5.0-runtime
2007-07-31 20:03:52 +04:00
malff/marcsql@weblab.(none)
32668a2e08 Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime
into  weblab.(none):/home/marcsql/TREE/mysql-5.1-25422-d
2007-07-27 12:22:00 -06:00
anozdrin/alik@ibm.
af9e57562d Merge ibm.:/home/alik/Documents/MySQL/devel/5.0-rt
into  ibm.:/home/alik/Documents/MySQL/devel/5.1-rt-merge
2007-07-27 21:30:43 +04:00
anozdrin/alik@ibm.
e73f004fe6 Fix for BUG#30027: mysqldump does not dump views properly.
mysqldump generates view defitions in two stages:

  - dump CREATE TABLE statements for the temporary tables.  For each view a
    temporary table, that has the same structure as the view is created.

  - dump DROP TABLE statements for the temporary tables and CREATE VIEW
    statements for the view.

This approach is required because views can have dependencies on each other
(a view can use other views). So, they should be created in the particular
order. mysqldump however is not smart enough, so in order to resolve
dependencies it creates temporary tables first of all.

The problem was that mysqldump might have generated incorrect dump for the
temporary table when a view has non-ASCII column name. That happened when
default-character-set is not utf8.

The fix is to:

  1. Switch character_set_client for the mysqldump's connection to binary
     before issuing SHOW FIELDS statement in order to avoid conversion.
    
  2. Dump switch character_set_client statements to UTF8 and back for
     CREATE TABLE statement that is issued to create temporary table.
2007-07-27 18:20:17 +04:00
malff/marcsql@weblab.(none)
c7bbd8917c WL#3984 (Revise locking of mysql.general_log and mysql.slow_log)
Bug#25422 (Hang with log tables)
Bug 17876 (Truncating mysql.slow_log in a SP after using cursor locks the
          thread)
Bug 23044 (Warnings on flush of a log table)
Bug 29129 (Resetting general_log while the GLOBAL READ LOCK is set causes
           a deadlock)

Prior to this fix, the server would hang when performing concurrent
ALTER TABLE or TRUNCATE TABLE statements against the LOG TABLES,
which are mysql.general_log and mysql.slow_log.

The root cause traces to the following code:
in sql_base.cc, open_table()
  if (table->in_use != thd)
  {
    /* wait_for_condition will unlock LOCK_open for us */
    wait_for_condition(thd, &LOCK_open, &COND_refresh);
  }
The problem with this code is that the current implementation of the
LOGGER creates 'fake' THD objects, like
- Log_to_csv_event_handler::general_log_thd
- Log_to_csv_event_handler::slow_log_thd
which are not associated to a real thread running in the server,
so that waiting for these non-existing threads to release table locks
cause the dead lock.

In general, the design of Log_to_csv_event_handler does not fit into the
general architecture of the server, so that the concept of general_log_thd
and slow_log_thd has to be abandoned:
- this implementation does not work with table locking
- it will not work with commands like SHOW PROCESSLIST
- having the log tables always opened does not integrate well with DDL
operations / FLUSH TABLES / SET GLOBAL READ_ONLY

With this patch, the fundamental design of the LOGGER has been changed to:
- always open and close a log table when writing a log
- remove totally the usage of fake THD objects
- clarify how locking of log tables is implemented in general.

See WL#3984 for details related to the new locking design.

Additional changes (misc bugs exposed and fixed):

1)

mysqldump which would ignore some tables in dump_all_tables_in_db(),
 but forget to ignore the same in dump_all_views_in_db().

2)

mysqldump would also issue an empty "LOCK TABLE" command when all the tables
to lock are to be ignored (numrows == 0), instead of not issuing the query.

3)

Internal errors handlers could intercept errors but not warnings
(see sql_error.cc).

4)

Implementing a nested call to open tables, for the performance schema tables,
exposed an existing bug in remove_table_from_cache(), which would perform:
  in_use->some_tables_deleted=1;
against another thread, without any consideration about thread locking.
This call inside remove_table_from_cache() was not required anyway,
since calling mysql_lock_abort() takes care of aborting -- cleanly -- threads
that might hold a lock on a table.
This line (in_use->some_tables_deleted=1) has been removed.
2007-07-27 00:31:06 -06:00