Commit graph

58491 commits

Author SHA1 Message Date
Konstantin Osipov
9dff84347d Backport to 5.4 the following changesets:
revno: 2476.785.24
committer: kostja@bodhi.(none)
timestamp: Tue 2007-10-16 20:19:00 +0400
message:
  Reflect a rename of a member in the client ABI (a compatible change).
----------------------------------------------------------
revno: 2476.423.26
committer: kostja@bodhi.(none)
timestamp: Tue 2007-10-16 20:12:37 +0400
message:
  Update the client ABI to reflect member rename
  (this is a backward-compatible change).
----------------------------------------------------------
revno: 2476.785.22
committer: kostja@bodhi.(none)
timestamp: Tue 2007-10-16 19:37:25 +0400
message:
  Remove some remains of support of 3.22 protocol. This was in fact dead code,
  since the option to talk 3.22 protocol was removed in 4.1 and there
  is no other protocol negotiation mechanism besides this option.

include/mysql.h.pp:
  Update ABI.
include/mysql_com.h:
  Remove an unused 3.22 protocol member.
sql/field.cc:
  Remove an unused 3.22 protocol check.
sql/mysqld.cc:
  Remove an unused 3.22 protocol check.
sql/net_serv.cc:
  Remove an unused 3.22 protocol variable initialization.
sql/protocol.cc:
  Remove an unused 3.22 protocol check.
2009-10-09 13:06:41 +04:00
Dmitry Lenev
b20a4f01c3 Fix for bug #44738 "fill_schema_table_from_frm() opens tables without
lowercasing table name".

In lower_case_table_names > 0 mode some queries to I_S left entries
with incorrect key in table definition cache. This wasted memory and
caused some of the further queries to I_S to produce stale results
in cases when table definition was changed by a DDL statement.
Also in combination with similar problem in CREATE TABLE (which also
has peeked into table definition cache using non-normalized key) this
issue led to to spurious ER_TABLE_EXISTS_ERROR errors when one tried
to create a table with the same name as a previously existing but
dropped table (assuming that table name contained characters in upper
case).

This problem occured due to fact that fill_schema_table_from_frm()
was not properly normalizing (lowercasing) database and table names
which it used for lookups in table definition cache.

This fix adds proper normalization to this function. It also solves
similar problem in CREATE TABLE's code by ensuring that it uses
properly normalized version of table name when it peeks into table
definition cache instead of non-normalized one.

mysql-test/r/lowercase_table2.result:
  Added test for #44738 "fill_schema_table_from_frm() opens tables
  without lowercasing table name".
mysql-test/t/lowercase_table2.test:
  Added test for #44738 "fill_schema_table_from_frm() opens tables
  without lowercasing table name".
sql/sql_show.cc:
  Normalize database and table name before using them for looking
  up entry in table definition cache.
sql/sql_table.cc:
  Ensure that CREATE TABLE uses properly normalized version of table
  name when it peeks into table definition cache.
2009-10-09 13:00:18 +04:00
Alexander Nozdrin
80f6940f07 Merge from mysql-next-mr. 2009-10-04 00:04:53 +04:00
Alexander Nozdrin
5b13393908 Fix default.conf. 2009-10-03 23:59:28 +04:00
Alexander Nozdrin
8bc5d18bd8 Fix default.conf. 2009-10-03 23:47:25 +04:00
Alexander Nozdrin
b966a29740 Merge from mysq-next-mr-wtf. 2009-10-02 16:14:59 +04:00
Alexander Nozdrin
d23d61ef60 Merge from mysql-next-mr. 2009-10-02 16:02:56 +04:00
Alexander Barkov
78c65d561c After-fix for back-port of WL#3759. 2009-10-01 12:22:31 +05:00
Vladislav Vaintroub
4acaca0202 backport of
Revision: 
2597.72.1 revid:sp1r-Reggie@core.-20080403153947-15243
removed instances of __NT__ from code. We now only build "NT" binaries
2009-09-30 22:10:22 +02:00
Vladislav Vaintroub
14c2cfb568 Backport of this changeset
http://lists.mysql.com/commits/59686

Cleanup pthread_self(), pthread_create(), pthread_join() implementation on Windows.
Prior implementation is was unnecessarily complicated and even differs in embedded
and non-embedded case.
      
Improvements in this patch:
* pthread_t is now the unique thread ID, instead of HANDLE returned by beginthread
      
This simplifies pthread_self() to be just straight GetCurrentThreadId().
prior it was much  art involved in passing the beginthread() handle from the caller
to the TLS structure in the child thread ( did not work for the main thread of
course)
      
* remove MySQL specific my_thread_init()/my_thread_end() from pthread_create.
No automagic is done on Unix on pthread_create(). Having the same on Windows will 
improve portability and avoid extra #ifdef's
      
* remove redefinition of getpid() - it was defined as GetCurrentThreadId()
2009-09-30 17:40:12 +02:00
Vladislav Vaintroub
eaba74fee5 Backport http://lists.mysql.com/commits/57778
2677 Vladislav Vaintroub	2008-11-04
CMakeLists.txt files cleanup
- remove SAFEMALLOC and SAFE_MUTEX definitions that were 
present in *each* CMakeLists.txt. Instead, put them into top level 
CMakeLists.txt, but disable on Windows, because
a) SAFEMALLOC does not add any functionality that is not already
present in Debug C runtime ( and 2 safe malloc one on top of the other 
only unnecessarily slows down the server) 
      
b)SAFE_MUTEX does not work on Windows  and have been
explicitely  disabled on Windows with #undef previously.  Fortunately,
ntdll does  pretty good  job identifying l problems with 
CRITICAL_SECTIONs.
DebugBreak()s on using uninited critical section, unlocking unowned 
critical section)
      
-Also, remove occationally used -D_DEBUG (added by compiler 
anyway)


sql/udf_example.c:
  use unixish end of line
2009-09-30 15:35:01 +02:00
Alexander Barkov
f02800bd97 Backporting WL#3759 Optimize identifier conversion in client-server protocol
This patch provides performance improvements:
- send_fields() when character_set_results = latin1
  is now about twice faster for column/table/database
  names, consisting on ASCII characters.

Changes:

- Protocol doesn't use "convert" temporary buffer anymore,
  and converts strings directly to "packet".

- General conversion optimization: quick conversion
  of ASCII strings was added.

modified files:

include/m_ctype.h
- Adding a new flag.
- Adding a new function prototype

libmysqld/lib_sql.cc
- Adding quick conversion method for embedded library:
  conversion is now done directly to result buffer,
  without using a temporary buffer.

mysys/charset.c
- Mark all dynamic ucs2 character sets as non-ASCII
- Mark some dymamic 7bit and 8bit charsets as non-ASCII
  (for example swe7 is not fully ASCII compatible).

sql/protocol.cc
- Adding quick method to convert a string directly
  into protocol buffer, without using a temporary buffer.

sql/protocol.h
- Adding a new method prototype

sql/sql_string.cc
  Optimization for conversion between two ASCII-compatible charsets:
- quickly convert ASCII strings,
  switch to mc_wc->wc_mb method only when a non-ASCII character is met.
- copy four ASCII characters at once on i386

strings/conf_to_src.c
- Marking non-ASCII character sets with a flag.

strings/ctype-extra.c
- Regenerating ctype-extra.c by running "conf_to_src".

strings/ctype-uca.c
- Marking UCS2 character set as non-ASCII.

strings/ctype-ucs2.c
- Marking UCS2 character set as non-ASCII.

strings/ctype.c
- A new function to detect if a 7bit or 8bit character set
  is ascii compatible.
2009-09-30 10:09:28 +05:00
Vladislav Vaintroub
b73763e0f9 Backport of the patch
http://lists.mysql.com/commits/57725

Vladislav Vaintroub	2008-11-03
Cleanup CMakeLists.txt(s) - remove winsock2 (ws2_32) from 
TARGET_LINK_LIBRARIES. 
      
Every exe or dll linked with mysys needs ws2_32, because
mysys uses winsock function WSAStartup in my_init().
However, there is no need to explicitely add ws2_32 to
the list of TARGET_LINK_LIBRARIES multiple times. 
Visual Studio comes with a handy pragma that tells linker
to add library. So patch replaces bunch of ws2_32 in 
CMakeLists with  single pragma comment(lib,"ws2_32")
in my_init.c
      
Additionally, reference to non-existing "debug" library
has been removed from TARGET_LINK_LIBRARIES. The correct
name of the library is "dbug".
2009-09-30 03:39:37 +02:00
Vladislav Vaintroub
2bc1930c6c Windows improvements : manual backport of
htttp://lists.mysql.com/commits/50957?f=plain
      
Always use TLS functions instead of __declspec(thread) to access 
thread local storage variables.
The change removes the necessity to recomplile the same source
files twice -  with USE_TLS for DLLs and without USE_TLS for EXEs.
Real benefit of this change is better readability and maintainability
of TLS functions within MySQL.
              
There is a performance loss using TlsXXX functions compared to __declspec 
but the difference is negligible in practice. In a sysbench-like benchmark 
I ran with with TlsGetValue, pthread_[get|set]_specific was called 600000000 
times and took 0.17sec of total 35min CPU time, or 0.008%.
2009-09-30 03:22:57 +02:00
Vladislav Vaintroub
28a7d5042b fix tree name 2009-09-30 03:21:00 +02:00
Georgi Kodinov
e004e26624 merge mysql-trunk-wl4444_4571 to mysql-wl3220-next-mr 2009-09-29 10:34:37 +03:00
Mikael Ronstrom
ccae404afa Merge to mysql-next-mr 2009-09-28 09:39:50 +02:00
Georgi Kodinov
2118bd104c Ported WL#3220 to mysql-next-mr. 2009-09-28 10:21:25 +03:00
Alexander Nozdrin
a8edd0aabb Update default.conf. 2009-09-28 00:54:22 +04:00
Alexander Nozdrin
bc11a8d044 Merge from mysql-next-mr. 2009-09-25 18:58:53 +04:00
Alexander Nozdrin
db5c088b45 Merge from mysql-trunk (update default.conf). 2009-09-25 13:47:58 +04:00
Alexander Nozdrin
3baea8b9e8 Update default.conf 2009-09-25 13:42:54 +04:00
Alexander Nozdrin
c991aa4e1a Merge from mysql-trunl-alik. 2009-09-25 13:40:53 +04:00
Alexander Nozdrin
3f0caab6e5 Mark rpl.rpl_innodb_bug30888 experimental. 2009-09-25 13:40:25 +04:00
Alexander Nozdrin
20430985f9 Merge from mysql-trunl-alik. 2009-09-25 13:23:30 +04:00
Alexander Nozdrin
350fad0e46 Mark rpl.rpl_trigger experimental. 2009-09-25 13:21:49 +04:00
Alexander Nozdrin
f4b49e55cd Merge from mysql-trunk-alik (stabilizing changes). 2009-09-24 16:40:09 +04:00
Alexander Nozdrin
63b2a5ac78 Merge from mysql-next-mr. 2009-09-24 16:38:47 +04:00
Alexander Nozdrin
b893cc510c Disable ndb and rpl_ndb test suites from regular tests. 2009-09-24 16:30:13 +04:00
Alexander Nozdrin
45921153db Mark some tests experimental.
Update default.conf.
2009-09-24 16:29:29 +04:00
Vladislav Vaintroub
626bac8471 merge mysql-next-mr-alik 2009-09-24 12:35:16 +02:00
Vladislav Vaintroub
2b2ef99ebf merge 2009-09-23 22:19:11 +02:00
Vladislav Vaintroub
7ddb103b8e merge 2009-09-23 22:15:22 +02:00
Alexander Nozdrin
4e83ce7ce7 Merge from mysql-trunk. 2009-09-23 22:52:21 +04:00
Alexander Nozdrin
41a8a63857 Update disabled.def files. 2009-09-23 22:50:13 +04:00
Alexander Nozdrin
b0220ff9ff Ignore a new symbolic link. 2009-09-23 18:02:39 +04:00
Alexander Nozdrin
ff83a42853 Merge mysql-trunk-signal (into mysql-next-mr-alik, which is mysql-next-mr). 2009-09-23 17:57:39 +04:00
Alexander Nozdrin
7947948c52 Update default.conf. 2009-09-23 14:12:43 +04:00
Alexander Nozdrin
8b9361663d Merge from mysql-next-mr. 2009-09-23 14:11:41 +04:00
Alexander Nozdrin
44927973c0 Merge from mysql-trunk. 2009-09-23 14:10:04 +04:00
Alexander Nozdrin
7cd113e57c Update default.conf. 2009-09-23 14:08:38 +04:00
Alexander Nozdrin
5a361c26cf Update default.conf. 2009-09-23 14:04:08 +04:00
Alexander Nozdrin
b42b46142d Merge from mysql-trunk. 2009-09-23 13:59:23 +04:00
Alexander Nozdrin
5f6299cfe7 Merge from mysql-trunk-alik. 2009-09-23 13:51:45 +04:00
Alexander Nozdrin
60781e320f Update version in configure.in. 2009-09-23 13:50:31 +04:00
Alexander Nozdrin
aaae814e14 Merge from mysql-trunk(-alik). 2009-09-23 11:17:49 +04:00
Alexander Nozdrin
68a9b7dbe3 Merge from mysql-5.1. 2009-09-23 11:16:11 +04:00
Bjorn Munch
60bd6508b6 merge 5.1-mtr -> 5.1 -> trunk 2009-09-23 00:49:34 +02:00
Bjorn Munch
868d45c80f merge from 5.1 of merge from 5.1-mtr 2009-09-22 23:41:37 +02:00
Marc Alff
1ecaf1bc1e Merge mysql-next-mr (revno 2882) --> mysql-trunk-signal 2009-09-22 09:22:22 -06:00