Commit graph

58538 commits

Author SHA1 Message Date
Jon Olav Hauglid
0eccb93214 Bug #44651 "have_community_features" variable should be renamed
"have_profiling"

1) Renamed have_community_features server system variable to
have_profiling.
2) Removed eable-community-features configure option and
ENABLE_COMMUNITY_FEATURES macro.
3) Removed COMMUNITY_SERVER macro and replaced its usage by 
ENABLED_PROFILING.

Only --enable-profiling is now needed to enable profiling.
It was the only existing "community feature", so there was
no need for both configure options.

Using --enable-community-features will give a warning message
since it no longer exists.
2009-10-09 15:59:25 +02:00
Staale Smedseng
5eb71aca21 This is a backport of the two patches for Bug #28299:
To-number conversion warnings work differenly with CHAR 
and VARCHAR sp variables.

The original revision-IDs are:
  staale.smedseng@sun.com-20081124095339-2qdvzkp0rn1ljs30
  staale.smedseng@sun.com-20081125104611-rtxic5d12e83ag2o
                                                
The patch provides ER_TRUNCATED_WRONG_VALUE warning messages
for conversion of VARCHAR to numberic values, in line with
messages provided for CHAR conversions. Conversions are
checked for success, and the message is emitted in case
failure.
                                                
The tests are amended to accept the added warning messages,
and explicit conversion of ON/OFF values is added for
statements checking system variables. In test
rpl.rpl_switch_stm_row_mixed checking for warnings is
temporarily disabled for one statement, as this generates
warning messages for strings that vary between executions.
2009-10-09 15:34:07 +02:00
Magne Mahre
e15708d5d2 Bug #31031 ALTER TABLE regression in 5.0
An ALTER TABLE statement which added a column and added
a non-partial index on it failed with:
            
"ERROR 1089 (HY000): Incorrect sub part key; the used
key part isn't a string, the used length is longer than
the key part, or the storage engine doesn't support unique
sub keys"
            
In a check introduced to fix an earlier bug (no. 26794),
to allow for indices on spatial type columns, the
test expression was flawed (a logical OR was used instead
of a logical AND), which led to this regression.
            
The code in question does a sanity check on the key, and
the flawed code mistakenly classified any index created
in the way specified above as a partial index.  Since
many data types does not allow partial indices, the
statement would fail.
2009-10-09 15:04:58 +02:00
Magne Mahre
63350dfc8b Bug #33831 mysql_real_connect() connects again if
given an already connected MYSQL handle

mysql_real_connect() did not check whether the MYSQL connection
handler was already connected and connected again even if so. 
Now a CR_ALREADY_CONNECTED error is returned.
2009-10-09 14:30:54 +02:00
Alexander Nozdrin
10b43fcdcf Merge RT patches from mysql-next-mr-bugfixing. 2009-10-09 15:45:18 +04:00
Alexander Nozdrin
92bd11a9b0 Merge from mysql-next-mr. 2009-10-09 15:42:31 +04:00
Jon Olav Hauglid
12516d0525 Bug #25863 No database selected error, but documentation
says * for global allowed

The current behaviour of 'GRANT *' was changed as a part of the fix
for Bug#19022, Bug#17199 and Bug#18444. To avoid regression, we keep
the current behavior and update the documentation. 
Test case added to grant.test.
2009-10-09 11:57:55 +02:00
Alexander Nozdrin
0845f51f4f Pull from mysql-next-mr. 2009-10-09 13:50:49 +04:00
Alexander Nozdrin
8a14764cfc Pull from mysql-next-mr. 2009-10-09 13:27:24 +04:00
Konstantin Osipov
5f6d811e5a Backport the following revision from 6.0:
----------------------------------------------------------
revno: 2476.657.210
committer: kostja@bodhi.(none)
timestamp: Tue 2007-12-04 18:27:44 +0300
message:
  Fix a potential linking error with libmysql and libmysqld on Windows:
  remove declarations of removed functions (Bug#31952)
----------------------------------------------------------
2009-10-09 13:23:56 +04:00
Alexander Nozdrin
5afc219d01 Merge from mysql-trunk. 2009-10-09 13:23:23 +04:00
Alexander Nozdrin
f1c6580b49 Change the version tag (to 5.5.0). 2009-10-09 13:22:26 +04:00
Konstantin Osipov
62672568bd 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.
2009-10-09 13:06:41 +04:00
Alexander Nozdrin
256a3b3795 Merge from mysql-next-mr. 2009-10-09 13:00:36 +04:00
Dmitry Lenev
a7b0148057 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.
2009-10-09 13:00:18 +04:00
Alexander Nozdrin
952b6f5360 Merge from mysql-trunk. 2009-10-09 12:56:39 +04:00
Alexander Nozdrin
0ca1292d3b Fix default.cof. 2009-10-09 12:48:08 +04:00
Alexander Nozdrin
4e3fbcd156 Merge from mysql-trunk-bugfixing. 2009-10-09 12:30:34 +04:00
Alexander Nozdrin
3f76ffd433 Mark main.log_tables experimental (Bug 47924). 2009-10-08 23:13:33 +04:00
Alexander Nozdrin
a2dfafd4d7 Merge from mysql-trunk-bugfixing. 2009-10-08 13:29:48 +04:00
Alexander Nozdrin
633625e8fc Fix index_merge_innodb.result (Bug 45727). 2009-10-08 13:27:45 +04:00
Alexander Nozdrin
f4d27e81bb Merge from mysql-next-mr. 2009-10-08 11:42:38 +04:00
Alexander Nozdrin
83177656d9 A backport of a patch for Bug#35297.
Original revision in mysql-6.0-codebase is:

revno: 2617.31.14
committer: Konstantin Osipov <kostja@sun.com>
branch nick: mysql-6.0-runtime
timestamp: Sat 2009-03-28 11:42:55 +0300
message:
  Bug#35297 SHOW CREATE EVENT does not show the DEFINER:
  update test result after a merge from now.
2009-10-08 00:57:03 +04:00
Alexander Nozdrin
4db0f8b832 A backport a patch of Bug#34828.
Original revision is from mysql-6.0-codebase:

revno: 2617.23.13
committer: Alexander Nozdrin <alik@sun.com>
branch nick: 6.0-rt-bug34828
timestamp: Tue 2009-02-24 14:25:46 +0300
message:
  A patch for Bug#34828: OF is taken as OFF and a value of 0
  is set for variable SQL_notes.
  
  The problem was that partial match was allowed for keywords.
  
  A fix is to disable partial match and require full match.
2009-10-07 20:49:26 +04:00
Alexander Nozdrin
104efe86ab A backport of patch for Bug#26704.
Original revision is from mysql-6.0-codebase:

revno: 2630.3.1
committer: Alexander Nozdrin <alik@mysql.com>
branch nick: 6.0-rt-bug26704
timestamp: Thu 2008-05-29 21:04:06 +0400
message:
  A fix for Bug#26704: Failing DROP DATABASE brings
  mysql-client out of sync.

  The problem was that we changed current database w/o caring
  whether it was dropped successfully or not.

  The fix is not to change current database if we failed to drop it.
2009-10-07 20:39:57 +04:00
Alexander Nozdrin
d8a8170863 Merge from mysql-trunk-bugfixing. 2009-10-07 19:42:50 +04:00
Alexander Nozdrin
019f5121ad Disabled index_merge2.inc due to Bug 45727. 2009-10-07 19:37:36 +04:00
Guilhem Bichot
528ab7bb11 Backport of the fix for BUG#33730 "Full table scan instead selected partitions for query more than 10 partitions"
from 6.0, made in sergefp@mysql.com-20090205190644-q8632sniogedhtsu
2009-10-05 22:59:19 +02:00
Guilhem Bichot
843b73b34b Port of fix for BUG#42893 "main.information_schema times out sporadically"
(from revision konstantin@mysql.com-20080627154042-923m6lzk7z77lrgj ). This moves the slow part
(10 seconds over 13) into a separate big test.
2009-10-05 16:22:48 +02:00
Alexander Nozdrin
4863e5ceb8 Merge from mysql-next-mr. 2009-10-04 00:04:53 +04:00
Alexander Nozdrin
9aeb382731 Fix default.conf. 2009-10-03 23:59:28 +04:00
Alexander Nozdrin
651390e818 Fix default.conf. 2009-10-03 23:47:25 +04:00
Alexander Nozdrin
2758bb8aa8 Merge from mysql-trunk-bugfixing. 2009-10-02 16:50:18 +04:00
Alexander Nozdrin
073c5a932d Made two test cases experimental. 2009-10-02 16:48:51 +04:00
Alexander Nozdrin
8e0204fb58 Merge from mysq-next-mr-wtf. 2009-10-02 16:14:59 +04:00
Alexander Nozdrin
03d124c036 Merge from mysql-next-mr. 2009-10-02 16:02:56 +04:00
Alexander Nozdrin
dbab87af6a Merge from mysql-trunk-bugfixing. 2009-10-01 15:32:45 +04:00
Alexander Nozdrin
83566cd4f1 1. Respect experimental tag in gcov mode;
2. Mark ndb, rpl_ndb test suites experimental.
2009-10-01 15:31:54 +04:00
Alexander Nozdrin
5485e4475e Merge from mysql-next-mr. 2009-10-01 15:22:37 +04:00
Alexander Nozdrin
668c2c1f0f Update default.conf 2009-10-01 15:18:24 +04:00
Alexander Barkov
f3d36ea8d2 After-fix for back-port of WL#3759. 2009-10-01 12:22:31 +05:00
Joerg Bruehe
de0285a2e5 Merge "trunk-build" up into "next-mr". 2009-09-30 22:31:22 +02:00
Vladislav Vaintroub
6e6b84fd02 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
9cf8d12c85 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
2801599323 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)
2009-09-30 15:35:01 +02:00
Ingo Struewing
309ffb8b13 auto-merge 2009-09-30 12:30:09 +02:00
Ingo Struewing
1e87babb19 Bug#37267 - connect() EINPROGRESS failures mishandled in client library
We cann connect() in a non-blocking mode to be able to specify a
non-standard timeout.

The problem was that we did not fetch the status from the
non-blocking connect(). We assumed that poll() would not return
a POLLIN flag if the connect failed. But on some platforms this
is not true.

After a successful poll() we do now retrieve the status value
from connect() with getsockopt(...SO_ERROR...). Now we do know
if (and how) the connect failed.

The test case for my investigation was rpl.rlp_ssl1 on an
Ubuntu 9.04 x86_64 machine. Both, IPV4 and IPV6 were active.
'localhost' resolved first for IPV6 and then for IPV4. The
connection over IPV6 was blocked. rpl.rlp_ssl1 timed out
as it did not notice the failed connect(). The first read()
failed, which was interpreted as a master crash and the
connection was tried to reestablish with the same result
until the retry limit was reached.

With the fix, the connect() problem is immediately recognized,
and the connect() is retried on the second resolution for
'localhost', which is successful.
2009-09-30 12:28:15 +02:00
Guilhem Bichot
b3886f46da Fix for BUG#42980 "Client doesn't set NUM_FLAG for DECIMAL and TIMESTAMP":
DECIMAL and TIMESTAMP used to have NUM_FLAG, but NEWDECIMAL was forgotten.
It's correct that TIMESTAMP does not have the flag nowadays (manual will be updated, connectors
developers will be notified).
2009-09-30 12:25:50 +02:00
Alexander Barkov
482d3bfd80 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
46d04ebdef 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