Commit graph

58539 commits

Author SHA1 Message Date
Alexander Barkov
4def52165d A postfix for backporting WL#1397 convert XML -> SQL
mysql-test/r/loadxml.result
mysql-test/t/loadxml.test
  Fixing non-deterministic test results

sql/sql_yacc.yy
  Initializing fname_first using get_tok_end() instead of get_ptr().
  The latter is grammar-dependant. The former is not.
2009-10-14 17:10:22 +05:00
Alexander Barkov
93c885bd36 WL#1397 convert XML -> SQL 2009-10-12 11:22:53 +05:00
Alexander Nozdrin
829525756e Merge from mysql-next-mr. 2009-10-10 19:22:31 +04:00
Alexander Nozdrin
c4aab48095 Merge. Backport WL#4085 from 6.0. 2009-10-10 19:19:12 +04:00
Alexander Nozdrin
dea2a8daee Merge from mysql-trunk. 2009-10-09 19:56:30 +04:00
Alexander Nozdrin
eddd727a3a Update version in default.conf. 2009-10-09 19:54:56 +04:00
Alexander Nozdrin
d8521d6575 Merge from mysql-next-mr-alik (WL#4085). 2009-10-09 17:10:13 +04:00
Alexander Nozdrin
5db160c884 Merge from mysql-next-mr. 2009-10-09 17:09:16 +04:00
Alexander Nozdrin
0c3e1aa157 Merge from mysql-next-mr. 2009-10-09 17:05:11 +04:00
Alexander Nozdrin
798cbaa22a Merge from mysql-trunk. 2009-10-09 13:23:23 +04:00
Alexander Nozdrin
a8b2c0585c Change the version tag (to 5.5.0). 2009-10-09 13:22:26 +04:00
Alexander Nozdrin
09cdd045dc Merge from mysql-trunk. 2009-10-09 12:56:39 +04:00
Alexander Nozdrin
f6e3ec53c7 Fix default.cof. 2009-10-09 12:48:08 +04:00
Alexander Nozdrin
a89855c537 Merge from mysql-trunk-bugfixing. 2009-10-09 12:30:34 +04:00
Alexander Nozdrin
1031d8e7f1 Mark main.log_tables experimental (Bug 47924). 2009-10-08 23:13:33 +04:00
Alexander Nozdrin
4efe5b948a Merge from mysql-trunk-bugfixing. 2009-10-08 13:29:48 +04:00
Alexander Nozdrin
6e5f97e150 Fix index_merge_innodb.result (Bug 45727). 2009-10-08 13:27:45 +04:00
Alexander Nozdrin
01b455d84e Merge from mysql-next-mr. 2009-10-08 11:42:38 +04:00
Alexander Nozdrin
1733a974b4 Merge from mysql-trunk-bugfixing. 2009-10-07 19:42:50 +04:00
Alexander Nozdrin
f6dddce2ff Disabled index_merge2.inc due to Bug 45727. 2009-10-07 19:37:36 +04:00
Alexander Nozdrin
21916790a1 Backport WL#4085: Merge revno:2617.56.29 from 6.0. 2009-10-06 14:57:07 +04:00
Alexander Nozdrin
682eb07ad6 Merge revno:2617.31.54 from 6.0. 2009-10-06 14:56:23 +04:00
Alexander Nozdrin
0191eb8d3e Backport WL#4085: Merge revno:2476.1338.9 from 6.0. 2009-10-06 14:53:47 +04:00
Alexander Nozdrin
aea063c2dc Backport WL#4085: Merge revno:2476.1105.1 from 6.0. 2009-10-06 14:52:26 +04:00
Alexander Nozdrin
068d170b3c Backport WL#4085: Merge revno:2476.657.219 from 6.0. 2009-10-06 14:47:04 +04:00
Alexander Barkov
f628035317 Bsckporting WL#3764 Sinhala Collation
modified:
  mysql-test/r/ctype_utf8.result
  mysql-test/t/ctype_utf8.test
  mysys/charset-def.c
  strings/ctype-uca.c
2009-10-06 15:34:49 +05:00
Alexander Barkov
27936529e0 Backporting WL#4642 Greek locale for DAYNAME, MONTHNAME, DATE_FORMAT
added:
  mysql-test/r/locale.result
  mysql-test/t/locale.test
modified:
  mysql-test/r/variables.result
  mysql-test/t/variables.test
  sql/sql_locale.cc
2009-10-06 11:02:51 +05:00
Guilhem Bichot
56312dc7cf 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
Alexander Barkov
636ea6a1c4 WL#4584 Internationalized number format
@ mysql-test/r/func_str.result
   Adding tests
@ mysql-test/t/func_str.test
   Adding tests
@ mysql-test/t/variables.test
   Fixing error number
@ sql/item_create.cc
   Allowing 2 and 3 arguments to format()
@ sql/item_strfunc.cc
   Adding new formatting code.
@ sql/item_strfunc.h
   Adding new contructors and "locale" member
@ sql/mysql_priv.h
   Adding number formatting members into MY_LOCALE
@ sql/sql_locale.cc
   Adding number formatting data into locale constants
@ sql/set_var.cc
   Using new error message
@ sql/share/errmgs.txt
   Adding new error message
2009-10-05 20:06:04 +05:00
Guilhem Bichot
42e8077834 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
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
d045cded3e Merge from mysql-trunk-bugfixing. 2009-10-02 16:50:18 +04:00
Alexander Nozdrin
2a7edfbe9c Made two test cases experimental. 2009-10-02 16:48:51 +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 Nozdrin
c7dd21688d Merge from mysql-trunk-bugfixing. 2009-10-01 15:32:45 +04:00
Alexander Nozdrin
35d2352cfb 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
a485a837fa Merge from mysql-next-mr. 2009-10-01 15:22:37 +04:00
Alexander Nozdrin
b9ca003a86 Update default.conf 2009-10-01 15:18:24 +04:00
Alexander Barkov
78c65d561c After-fix for back-port of WL#3759. 2009-10-01 12:22:31 +05:00
Joerg Bruehe
3fddd10268 Merge "trunk-build" up into "next-mr". 2009-09-30 22:31:22 +02: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
Ingo Struewing
1f49cf7409 auto-merge 2009-09-30 12:30:09 +02:00
Ingo Struewing
7dacca0ff0 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.


libmysqld/libmysqld.c:
  Bug#37267 - connect() EINPROGRESS failures mishandled in client library
  Changed a DBUG print string to distinguish the two mysql_real_connect()
  implementations in DBUG traces.
mysql-test/include/wait_for_slave_param.inc:
  Bug#37267 - connect() EINPROGRESS failures mishandled in client library
  Made timeout value available in error message.
mysql-test/suite/rpl/r/rpl_get_master_version_and_clock.result:
  Bug#37267 - connect() EINPROGRESS failures mishandled in client library
  Fixed test result. Connect error is now detected as CR_CONN_HOST_ERROR
  (2003) instead of CR_SERVER_LOST (2013).
sql-common/client.c:
  Bug#37267 - connect() EINPROGRESS failures mishandled in client library
  Added retrieval of the error code from the non-blocking connect().
  Added DBUG.
  Added comment.
2009-09-30 12:28:15 +02:00
Guilhem Bichot
12e822039d 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).

client/mysqldump.c:
  IS_NUM_FIELD(f) removed and replaced by its definition (f>flags & NUM_FLAG).
include/mysql.h:
  - IS_NUM_FIELD() is removed because name is too close to IS_NUM() and it is not used a lot
  - INTERNAL_NUM_FIELD() is removed:
    * it forgets to test NEWDECIMAL (when IS_NUM() was updated for NEWDECIMAL we forgot
    to update INTERNAL_NUM_FIELD()), that's why client didn't mark NEWDECIMAL with NUM_FLAG (a bug).
    * it has an obsolete test for length of the TIMESTAMP field: test became accidentally wrong when length
    of TIMESTAMP was changed to always be 19 (when the format was changed from YYYYMMDDhhmmss to
    YYYY-MM-DD hh:mm:ss), never 8 or 14 anymore. That obsolete test caused TIMESTAMP to lose NUM_FLAG,
    which was an accidental but good change (see below).
    * IS_NUM() should be used instead
  - IS_NUM(f) is changed: TIMESTAMP used to be parsable as a number without quotes (when it was formatted as
  "YYYYMMDDhhmmss"); but it is not anymore (now that it is "YYYY-MM-DD hh:mm:ss"), so it should not have NUM_FLAG
  (mysqldump needs to quote TIMESTAMP values), so IS_NUM() should return false for it.
libmysqld/lib_sql.cc:
  use IS_NUM() instead of INTERNAL_NUM_FIELD()
mysql-test/r/bigint.result:
  result change: NEWDECIMAL fields now have NUM_FLAG (32768)
mysql-test/r/metadata.result:
  result change: NEWDECIMAL fields now have NUM_FLAG (32768)
mysql-test/r/mysqldump.result:
  DECIMAL columns are not quoted anymore by mysqldump. Which is ok, the parser does not need '' for them
mysql-test/r/ps_2myisam.result:
  result change: NEWDECIMAL fields now have NUM_FLAG (32768)
mysql-test/r/ps_3innodb.result:
  result change: NEWDECIMAL fields now have NUM_FLAG (32768)
mysql-test/r/ps_4heap.result:
  result change: NEWDECIMAL fields now have NUM_FLAG (32768)
mysql-test/r/ps_5merge.result:
  result change: NEWDECIMAL fields now have NUM_FLAG (32768)
mysql-test/suite/ndb/r/ps_7ndb.result:
  result change: NEWDECIMAL fields now have NUM_FLAG (32768)
mysql-test/t/metadata.test:
  test for BUG#42980
sql-common/client.c:
  use IS_NUM() instead of INTERNAL_NUM_FIELD()
2009-09-30 12:25:50 +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