Commit graph

2100 commits

Author SHA1 Message Date
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
cmiller@zippy.cornsilk.net
c9ffb4c1cb Merge zippy.cornsilk.net:/home/cmiller/work/mysql/.deleted/mysql-5.1-new-maint--bug27894
into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.1-maint
2007-08-02 12:51:49 -04: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@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
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
kent@mysql.com/kent-amd64.(none)
e99df6fd02 my_pthread.c:
Backport of correction for Mac OS X build problem, global variable not
  initiated is "common" and can't be used in shared libraries, unless
  special flags are used (bug#26218)
2007-07-30 20:40:49 +02:00
monty@mysql.com/nosik.monty.fi
b16289a5e0 Slow query log to file now displays queries with microsecond precission
--long-query-time is now given in seconds with microseconds as decimals
--min_examined_row_limit added for slow query log
long_query_time user variable is now double with 6 decimals
Added functions to get time in microseconds
Added faster time() functions for system that has gethrtime()  (Solaris)
We now do less time() calls.
Added field->in_read_set() and field->in_write_set() for easier field manipulation by handlers
set_var.cc and my_getopt() can now handle DOUBLE variables.
All time() calls changed to my_time()
my_time() now does retry's if time() call fails.
Added debug function for stopping in mysql_admin_table() when tables are locked
Some trivial function and struct variable renames to avoid merge errors.
Fixed compiler warnings
Initialization of some time variables on windows moved to my_init()
2007-07-30 11:33:50 +03:00
monty@mysql.com/nosik.monty.fi
dd81895e45 Added support for 'internal temporary tables' in HEAP tables.
Now we don't take any mutexes when creating or dropping internal HEAP tables during SELECT.
Change buffer sizes to size_t to make keycache 64 bit safe on platforms where sizeof(ulong) != sizeof(size_t)
2007-07-25 01:58:12 +03:00
kent@kent-amd64.(none)
9d247f296a Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/kent/bk/tmp3/mysql-5.0-build
2007-07-21 01:53:19 +02:00
kent@kent-amd64.(none)
60b78f9f1a Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.1
into  mysql.com:/home/kent/bk/tmp3/mysql-5.1-build
2007-07-21 01:52:15 +02:00
joerg@trift-lap.none
7b703eaa12 Merge trift-lap.none:/MySQL/M50/bug14151-5.0
into  trift-lap.none:/MySQL/M51/bug14151-5.1
2007-07-19 15:11:01 +02:00
joerg@trift-lap.none
af3c675bc1 Avoid the name conflict between the system-provided "md5.h" and the MySQL one
by renaming "include/md5.h" to "include/my_md5.h".

Fixes bug#14151.
2007-07-19 14:14:03 +02:00
gkodinov/kgeorge@magare.gmz
aeddb42304 Merge magare.gmz:/home/kgeorge/mysql/work/B29325-my_errno-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/merge-5.0-5.1-opt
2007-07-18 15:57:17 +03:00
gkodinov/kgeorge@magare.gmz
94535ca828 Bug #29325: create table overwrites .MYD file of other
table (datadir)
Set errno when retunring an error in my_create_with_symlink.
2007-07-18 15:33:41 +03:00
gkodinov/kgeorge@magare.gmz
b4ad2eccd1 Merge magare.gmz:/home/kgeorge/mysql/autopush/B29325-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/work/B29325-merge-5.1-opt
2007-07-11 12:44:49 +03:00
gkodinov/kgeorge@magare.gmz
7735a2f2eb Bug #29469: Client dies if a query is issued after hitting Ctrl + C
The Ctrl-C handler in mysql closes the console while ReadConsole()
waits for console input.
But the main thread was detecting that ReadConsole() haven't read 
anything and was processing as if there're data in the buffer.
Fixed to handle correctly this error condition.
No test case added as the test relies on Ctrl-C sent to the client
from its console.
2007-07-10 10:43:12 +03:00
antony@ppcg5.local
6402e4324a Merge anubis.xiphis.org:/usr/home/antony/work/mysql-5.1-engines
into  anubis.xiphis.org:/usr/home/antony/work/mysql-5.1-engines.merge
2007-07-06 09:03:50 -07:00
svoj@june.mysql.com
00e72528ad Merge mysql.com:/home/svoj/devel/mysql/BUG27564/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG27564/mysql-5.1-engines
2007-07-05 11:47:53 +05:00
svoj@june.mysql.com
9b5dace071 Merge mysql.com:/home/svoj/devel/mysql/BUG27564/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG27564/mysql-5.0-engines
2007-07-05 11:45:58 +05:00
svoj@mysql.com/june.mysql.com
c2120c40ee BUG#27564 - Valgrind: UDF does not cleanup correctly
Dropping an user defined function may cause server crash in
case this function is still in use by another thread.

The problem was that our hash implementation didn't update
hash link list properly when hash_update() was called.
2007-07-05 11:45:14 +05:00
anozdrin/alik@ibm.
9fae9ef66f Patch for the following bugs:
- BUG#11986: Stored routines and triggers can fail if the code
    has a non-ascii symbol
  - BUG#16291: mysqldump corrupts string-constants with non-ascii-chars
  - BUG#19443: INFORMATION_SCHEMA does not support charsets properly
  - BUG#21249: Character set of SP-var can be ignored
  - BUG#25212: Character set of string constant is ignored (stored routines)
  - BUG#25221: Character set of string constant is ignored (triggers)

There were a few general problems that caused these bugs:
1. Character set information of the original (definition) query for views,
   triggers, stored routines and events was lost.
2. mysqldump output query in client character set, which can be
   inappropriate to encode definition-query.
3. INFORMATION_SCHEMA used strings with mixed encodings to display object
   definition;

1. No query-definition-character set.

In order to compile query into execution code, some extra data (such as
environment variables or the database character set) is used. The problem
here was that this context was not preserved. So, on the next load it can
differ from the original one, thus the result will be different.

The context contains the following data:
  - client character set;
  - connection collation (character set and collation);
  - collation of the owner database;

The fix is to store this context and use it each time we parse (compile)
and execute the object (stored routine, trigger, ...).

2. Wrong mysqldump-output.

The original query can contain several encodings (by means of character set
introducers). The problem here was that we tried to convert original query
to the mysqldump-client character set.

Moreover, we stored queries in different character sets for different
objects (views, for one, used UTF8, triggers used original character set).

The solution is
  - to store definition queries in the original character set;
  - to change SHOW CREATE statement to output definition query in the
    binary character set (i.e. without any conversion);
  - introduce SHOW CREATE TRIGGER statement;
  - to dump special statements to switch the context to the original one
    before dumping and restore it afterwards.

Note, in order to preserve the database collation at the creation time,
additional ALTER DATABASE might be used (to temporary switch the database
collation back to the original value). In this case, ALTER DATABASE
privilege will be required. This is a backward-incompatible change.

3. INFORMATION_SCHEMA showed non-UTF8 strings

The fix is to generate UTF8-query during the parsing, store it in the object
and show it in the INFORMATION_SCHEMA.

Basically, the idea is to create a copy of the original query convert it to
UTF8. Character set introducers are removed and all text literals are
converted to UTF8.

This UTF8 query is intended to provide user-readable output. It must not be
used to recreate the object.  Specialized SHOW CREATE statements should be
used for this.

The reason for this limitation is the following: the original query can
contain symbols from several character sets (by means of character set
introducers).

Example:

  - original query:
    CREATE VIEW v1 AS SELECT _cp1251 'Hello' AS c1;

  - UTF8 query (for INFORMATION_SCHEMA):
    CREATE VIEW v1 AS SELECT 'Hello' AS c1;
2007-06-28 21:34:54 +04:00
tsmith@maint1.mysql.com
8ee2c2b04e Merge maint1.mysql.com:/data/localhome/tsmith/bk/maint/50
into  maint1.mysql.com:/data/localhome/tsmith/bk/maint/51
2007-06-21 20:55:37 +02:00
kostja@bodhi.(none)
68632318dc Manual merge. 2007-06-19 15:02:08 +04:00
lars/lthalmann@dl145h.mysql.com
c5c624a752 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
2007-06-18 12:02:39 +02:00
lars/lthalmann@dl145j.mysql.com
519e26e801 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
2007-06-18 09:33:43 +02:00
istruewing@chilla.local
938fc3d66e Merge chilla.local:/home/mydev/mysql-5.1-amain
into  chilla.local:/home/mydev/mysql-5.1-axmrg
2007-06-16 13:14:23 +02:00
istruewing@chilla.local
70600c15d8 Merge chilla.local:/home/mydev/mysql-5.0-amain
into  chilla.local:/home/mydev/mysql-5.0-axmrg
2007-06-16 11:34:21 +02:00
tsmith@quadxeon.mysql.com
918090030b Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.1-build
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/jun14/51
2007-06-15 01:57:33 +02:00
anozdrin/alik@ibm.
62e3e46275 This the 4-th patch in scope of CS patch (BUG#11986).
The patch contains the following changes:
  - Introduce auxilary functions to convenient work with character sets:
    - resolve_charset();
    - resolve_collation();
    - get_default_db_collation();
  - Introduce lex_string_set();
  - Refactor Table_trigger_list::process_triggers() &
    sp_head::execute_trigger() to be consistent with other code;
  - Move reusable code from add_table_for_trigger() into
    build_trn_path(), check_trn_exists() and load_table_name_for_trigger()
    to be used in the following patch.
  - Rename triggers_file_ext and trigname_file_ext into TRN_EXT and
    TRG_EXT respectively.
2007-06-14 19:23:55 +04:00
istruewing@chilla.local
630450679a Merge chilla.local:/home/mydev/mysql-5.1-amain
into  chilla.local:/home/mydev/mysql-5.1-axmrg
2007-06-11 19:25:12 +02:00
lars/lthalmann@dl145k.mysql.com
d798f52aa0 Merge mysql.com:/nfsdisk1/lars/bkroot/mysql-5.0-rpl
into  mysql.com:/nfsdisk1/lars/MERGE/mysql-5.0-merge
2007-06-11 09:44:15 +02:00
bar@mysql.com/bar.myoffice.izhnet.ru
d3c4f1b22b Bug#28916 LDML doesn't work for utf8
and is not described in the manual
- Adding missing initialization for utf8 collations
- Minor code clean-ups: renaming variables,
  moving code into a new separate function.
- Adding test, to check that both ucs2 and utf8 user
  defined collations work (ucs2_test_ci and utf8_test_ci)
- Adding Vietnamese collation as a complex user defined
  collation example.
2007-06-07 17:55:55 +05:00
msvensson@pilot.(none)
2792966d7c Merge pilot.(none):/data/msvensson/mysql/bug28690/my51-bug28690
into  pilot.(none):/data/msvensson/mysql/mysql-5.1-new-maint
2007-06-07 10:00:43 +02:00
msvensson@pilot.(none)
ee9e271420 Merge pilot.(none):/data/msvensson/mysql/bug28690/my50-bug28690
into  pilot.(none):/data/msvensson/mysql/mysql-5.0-maint
2007-06-07 10:00:23 +02:00
msvensson@pilot.(none)
5ca0edd73f Merge pilot.(none):/data/msvensson/mysql/bug28690/my50-bug28690
into  pilot.(none):/data/msvensson/mysql/bug28690/my51-bug28690
2007-06-07 09:50:53 +02:00
msvensson@pilot.(none)
b5ebfe45ed Bug#28690 mysql-enterprise-gpl-5.0.40-linux-i686-glibc won't start on Debian Sarge
- Only use the "hack for bug in NTPL" if using NTPL, by dynamically
   checking the thd_lib_detected flag
2007-06-07 09:48:37 +02:00
acurtis/antony@ltamd64.xiphis.org
af72b54f3e Merge xiphis.org:/home/antony/work2/mysql-5.0-engines
into  xiphis.org:/home/antony/work2/mysql-5.0-engines.merge
2007-06-06 12:03:54 -07:00
acurtis/antony@ltamd64.xiphis.org
5a7f1f8a68 Merge xiphis.org:/home/antony/work2/mysql-5.1-engines
into  xiphis.org:/home/antony/work2/mysql-5.1-engines.merge
2007-06-06 12:00:35 -07:00
joerg@trift2.
449cd28598 Merge trift2.:/MySQL/M51/mysql-5.1
into  trift2.:/MySQL/M51/push-5.1
2007-06-06 19:59:18 +02:00
tsmith@quadxeon.mysql.com
4b93804592 Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/51
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/jun05/51
2007-06-05 17:51:30 +02:00
svoj@april.(none)
262ea6aafa Merge mysql.com:/home/svoj/devel/mysql/BUG27141/mysql-5.0-engines
into  mysql.com:/home/svoj/devel/mysql/BUG27141/mysql-5.1-engines
2007-06-05 03:43:11 +05:00
svoj@mysql.com/april.(none)
bb437f8205 BUG#27141 - Calling tell(-1) under Windows causes assertion failure in Debug mode
Original problem was fixed by Magnus (see BUG25807).

Currently only windows debug build causes assertion failure. This patch assures
that my_tell gets correct file descriptor on any platform by DBUG_ASSERT macro.
2007-06-05 03:16:02 +05:00
joerg@debian.(none)
b953f1b2c1 Avoid a compile error which arises from a redefinition of "inline":
If it has been defined (by "configure", in "include/my_config.h"),
then an "#undef" is needed to avoid a redefinition.

This is needed to prevent a compile error of the debug server on AIX.
2007-06-01 17:43:48 +02:00
istruewing@chilla.local
8e11f17504 Merge chilla.local:/home/mydev/mysql-5.0-axmrg
into  chilla.local:/home/mydev/mysql-5.1-axmrg
2007-05-31 21:34:05 +02:00
istruewing@chilla.local
937e400833 Merge chilla.local:/home/mydev/mysql-5.0-bug23068
into  chilla.local:/home/mydev/mysql-5.0-axmrg
2007-05-31 20:08:23 +02:00
istruewing@chilla.local
59a0542209 Bug#28478 - Improper key_cache_block_size corrupts MyISAM tables
Setting a key_cache_block_size which is not a power of 2
could corrupt MyISAM tables.

A couple of computations in the key cache code use bit
operations which do only work if key_cache_block_size
is a power of 2.

Replaced bit operations by arithmetic operations
to make key cache able to handle block sizes that are
not a power of 2.
2007-05-31 20:04:54 +02:00
jani@a88-113-38-195.elisa-laajakaista.fi
2c8f4f9791 Added casts to avoid compiler warnings and fixed a wrong type.
---
Added casts and fixed wrong type.
---
Added casts and fixed wrong type.
---
Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1-marvel
into  a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-marvel
---
Don't give warning that readonly variable is forced to be readonly
mysql-test-run run now fails if we have [Warning] and [ERROR] as tags in .err file
Fixed wrong reference to the mysql manual
Fixed wrong prototype that caused some tests to fail on 64 bit platforms
---
Disabled compiler warnings mainly for Win 64.
---
Added casts to remove compiler warnings on windows
Give warnings also for safe_mutex errors found by test system
Added some warnings from different machines in pushbuild
---
Merge bk-internal.mysql.com:/home/bk/mysql-5.1-marvel
into  mysql.com:/home/my/mysql-5.1
---
Added escapes for double quotes and parenthesis.
---
Archive db fix plus added non-critical warnings
in ignore list.
---
Fixed previously added patch and added new ignored warning.
2007-05-31 17:45:22 +03:00
tsmith@quadxeon.mysql.com
91c484339c Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/51
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/51
2007-05-30 23:48:20 +02:00
tsmith@quadxeon.mysql.com
64f582396b Merge quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/50
into  quadxeon.mysql.com:/benchmarks/ext3/TOSAVE/tsmith/bk/maint/50
2007-05-30 23:46:21 +02:00