Commit graph

58471 commits

Author SHA1 Message Date
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
Alexander Nozdrin
3a5c4ab4b2 Update default.conf. 2009-09-28 00:54:22 +04:00
Alexander Nozdrin
23e8e0a1c1 Merge from mysql-next-mr. 2009-09-25 18:58:53 +04:00
Alexander Nozdrin
b21cd91780 Merge from mysql-trunk (update default.conf). 2009-09-25 13:47:58 +04:00
Alexander Nozdrin
1984a19bdd Update default.conf 2009-09-25 13:42:54 +04:00
Alexander Nozdrin
150511556f Merge from mysql-trunl-alik. 2009-09-25 13:40:53 +04:00
Alexander Nozdrin
753b7c3d1d Mark rpl.rpl_innodb_bug30888 experimental. 2009-09-25 13:40:25 +04:00
Alexander Nozdrin
bee4da8d23 Merge from mysql-trunl-alik. 2009-09-25 13:23:30 +04:00
Alexander Nozdrin
98b69441e7 Mark rpl.rpl_trigger experimental. 2009-09-25 13:21:49 +04:00
Alexander Nozdrin
19a223fee4 Merge from mysql-trunk-alik (stabilizing changes). 2009-09-24 16:40:09 +04:00
Alexander Nozdrin
7004ce6de1 Merge from mysql-next-mr. 2009-09-24 16:38:47 +04:00
Alexander Nozdrin
ddaaeb6fad Disable ndb and rpl_ndb test suites from regular tests. 2009-09-24 16:30:13 +04:00
Alexander Nozdrin
31189ee8be Mark some tests experimental.
Update default.conf.
2009-09-24 16:29:29 +04:00
Vladislav Vaintroub
281909362c merge mysql-next-mr-alik 2009-09-24 12:35:16 +02:00
Vladislav Vaintroub
ff3acc311f merge 2009-09-23 22:19:11 +02:00
Vladislav Vaintroub
47fedb97b4 merge 2009-09-23 22:15:22 +02:00
Alexander Nozdrin
28d3028216 Merge from mysql-trunk. 2009-09-23 22:52:21 +04:00
Alexander Nozdrin
de9037bb0a Update disabled.def files. 2009-09-23 22:50:13 +04:00
Alexander Nozdrin
1df46c4e5b Ignore a new symbolic link. 2009-09-23 18:02:39 +04:00
Alexander Nozdrin
2ff2b14477 Merge mysql-trunk-signal (into mysql-next-mr-alik, which is mysql-next-mr). 2009-09-23 17:57:39 +04:00
Alexander Nozdrin
8dd75c98ed Update default.conf. 2009-09-23 14:12:43 +04:00
Alexander Nozdrin
9b9f814d63 Merge from mysql-next-mr. 2009-09-23 14:11:41 +04:00
Alexander Nozdrin
1bb4ba29be Merge from mysql-trunk. 2009-09-23 14:10:04 +04:00
Alexander Nozdrin
04fff1e8fe Update default.conf. 2009-09-23 14:08:38 +04:00
Alexander Nozdrin
e4ebc5c6d9 Update default.conf. 2009-09-23 14:04:08 +04:00
Alexander Nozdrin
928de7ede6 Merge from mysql-trunk. 2009-09-23 13:59:23 +04:00
Alexander Nozdrin
abf845b9d4 Merge from mysql-trunk-alik. 2009-09-23 13:51:45 +04:00
Alexander Nozdrin
72feecb4f0 Update version in configure.in. 2009-09-23 13:50:31 +04:00
Alexander Nozdrin
665fda8b55 Merge from mysql-trunk(-alik). 2009-09-23 11:17:49 +04:00
Alexander Nozdrin
22ceefcb58 Merge from mysql-5.1. 2009-09-23 11:16:11 +04:00
Bjorn Munch
c82ce4629c merge 5.1-mtr -> 5.1 -> trunk 2009-09-23 00:49:34 +02:00
Bjorn Munch
726df480f9 merge from 5.1 of merge from 5.1-mtr 2009-09-22 23:41:37 +02:00
Marc Alff
12a6ee6da3 Merge mysql-next-mr (revno 2882) --> mysql-trunk-signal 2009-09-22 09:22:22 -06:00
Alexander Nozdrin
46a04938eb Merge from mysql-next-mr. 2009-09-22 18:26:17 +04:00
Alexander Nozdrin
8878213408 Merge from mysql-trunk. 2009-09-22 18:24:53 +04:00
Alexander Nozdrin
d6022269a6 Merge from mysql-trunk. 2009-09-22 18:23:12 +04:00
Alexander Nozdrin
140d81e96d Update version. 2009-09-22 18:21:44 +04:00
Bjorn Munch
edea810223 merge from trunk (with trunk-mtr) 2009-09-22 14:39:18 +02:00
Bjorn Munch
8e59a23d7d merge from trunk-mtr 2009-09-22 12:52:31 +02:00
Jonathan Perkin
54cc3ecd0e Merge from mysql-5.1.39-release 2009-09-21 12:10:32 +02:00
Bjorn Munch
59b1991bc0 new merge from trunk 2009-09-21 11:43:01 +02:00
Bjorn Munch
52dc273d79 tiny suppression fix: avoid / 2009-09-21 11:28:49 +02:00
Marc Alff
66ba77336a Merge mysql-next-mr (revno 2880) --> mysql-trunk-signal 2009-09-20 22:50:05 -06:00
Alexander Nozdrin
1ff8e28a3e Update default.experimental. 2009-09-20 01:09:02 +04:00
Alexander Nozdrin
fa96b36887 Merge from mysql-trunk. 2009-09-19 13:38:17 +04:00
Alexander Nozdrin
e68f09ab6b Mark some tests experimental. 2009-09-19 13:37:22 +04:00
Alexander Nozdrin
eeec93f305 Merge from mysql-5.1. 2009-09-19 13:07:51 +04:00
Alexander Nozdrin
ab165ae65f Merge next-mr -> next-mr-bugfixing. 2009-09-18 19:24:18 +04:00
Alexander Nozdrin
eeb31576b1 Merge trunk -> trunk-bugfixing. 2009-09-18 19:23:44 +04:00
Alexander Nozdrin
f4a1177c1a Merge trunk -> next-mr. 2009-09-18 19:13:29 +04:00