Commit 23dc0829 authored by unknown's avatar unknown

Merge bk-internal:/home/bk/mysql-4.1/

into serg.mylan:/usr/home/serg/Abk/mysql-4.1
parents 8ef59f52 151337d9
...@@ -95,6 +95,7 @@ $SI_DESC= <$SUPFILEDIR/StartupItem.Description.plist>; ...@@ -95,6 +95,7 @@ $SI_DESC= <$SUPFILEDIR/StartupItem.Description.plist>;
$SI_PARAMS= <$SUPFILEDIR/StartupParameters.plist>; $SI_PARAMS= <$SUPFILEDIR/StartupParameters.plist>;
$SI_POST= <$SUPFILEDIR/StartupItem.postinstall>; $SI_POST= <$SUPFILEDIR/StartupItem.postinstall>;
$SI_NAME= "MySQLStartupItem"; $SI_NAME= "MySQLStartupItem";
$SI_DIR_NAME= "MySQLCOM";
$SI_SCRIPT= <$SUPFILEDIR/MySQL>; $SI_SCRIPT= <$SUPFILEDIR/MySQL>;
@RESOURCES= qw/ ReadMe.txt postinstall preinstall /; @RESOURCES= qw/ ReadMe.txt postinstall preinstall /;
@LICENSES= ("$SRCBASEDIR/COPYING","$SRCBASEDIR/MySQLEULA.txt"); @LICENSES= ("$SRCBASEDIR/COPYING","$SRCBASEDIR/MySQLEULA.txt");
...@@ -195,16 +196,18 @@ unless ($opt_skip_si) ...@@ -195,16 +196,18 @@ unless ($opt_skip_si)
&logger("Cleaning up $RESOURCE_DIR"); &logger("Cleaning up $RESOURCE_DIR");
&run_command("rm -rf $RESOURCE_DIR/*", "Unable to clean up $RESOURCE_DIR!"); &run_command("rm -rf $RESOURCE_DIR/*", "Unable to clean up $RESOURCE_DIR!");
&logger("Installing MySQL StartupItem files into $PKGROOT/MySQL"); my $SI_DIR= $PKGROOT . "/" . $SI_DIR_NAME;
&logger("Installing MySQL StartupItem files into $SI_DIR");
unless($opt_dry_run) unless($opt_dry_run)
{ {
mkdir("$PKGROOT/MySQL") or &abort("Error creating $PKGROOT/MySQL"); mkdir("$SI_DIR")
copy("$SI_SCRIPT", "$PKGROOT/MySQL/") or &abort("Error creating $SI_DIR");
copy("$SI_SCRIPT", "$SI_DIR/")
or &abort("Error copying $SI_SCRIPT!"); or &abort("Error copying $SI_SCRIPT!");
chmod(0755, "$PKGROOT/MySQL/" . basename("$SI_SCRIPT")); chmod(0755, "$SI_DIR/" . basename("$SI_SCRIPT"));
copy("$SI_PARAMS", "$PKGROOT/MySQL/") copy("$SI_PARAMS", "$SI_DIR/")
or &abort("Error copying $SI_PARAMS!"); or &abort("Error copying $SI_PARAMS!");
chmod(0644, "$PKGROOT/MySQL/" . basename("$SI_PARAMS")); chmod(0644, "$SI_DIR/" . basename("$SI_PARAMS"));
&run_command("chown -R root:wheel $PKGROOT/*", "Cannot chown $PKGROOT!"); &run_command("chown -R root:wheel $PKGROOT/*", "Cannot chown $PKGROOT!");
copy("$SI_POST", "$RESOURCE_DIR/postinstall") copy("$SI_POST", "$RESOURCE_DIR/postinstall")
or &abort("Error copying $SI_POST!"); or &abort("Error copying $SI_POST!");
......
...@@ -55,14 +55,8 @@ int vio_close_pipe(Vio * vio); ...@@ -55,14 +55,8 @@ int vio_close_pipe(Vio * vio);
void vio_delete(Vio* vio); void vio_delete(Vio* vio);
int vio_close(Vio* vio); int vio_close(Vio* vio);
void vio_reset(Vio* vio, enum enum_vio_type type,
#ifdef EMBEDDED_LIBRARY my_socket sd, HANDLE hPipe, my_bool localhost);
void vio_reset(Vio *vio);
#else
void vio_reset(Vio* vio, enum enum_vio_type type,
my_socket sd, HANDLE hPipe, my_bool localhost);
#endif
int vio_read(Vio *vio, gptr buf, int size); int vio_read(Vio *vio, gptr buf, int size);
int vio_write(Vio *vio, const gptr buf, int size); int vio_write(Vio *vio, const gptr buf, int size);
int vio_blocking(Vio *vio, my_bool onoff, my_bool *old_mode); int vio_blocking(Vio *vio, my_bool onoff, my_bool *old_mode);
......
...@@ -129,16 +129,6 @@ ut_str_catenate( ...@@ -129,16 +129,6 @@ ut_str_catenate(
char* str1, /* in: null-terminated string */ char* str1, /* in: null-terminated string */
char* str2); /* in: null-terminated string */ char* str2); /* in: null-terminated string */
/**************************************************************************
Return a copy of the given string. The returned string must be freed
using mem_free. */
char*
ut_strdup(
/*======*/
/* out, own: cnull-terminated string */
char* str); /* in: null-terminated string */
#ifndef UNIV_NONINL #ifndef UNIV_NONINL
#include "ut0mem.ic" #include "ut0mem.ic"
#endif #endif
......
...@@ -2314,18 +2314,18 @@ os_file_dirname( ...@@ -2314,18 +2314,18 @@ os_file_dirname(
if (last_slash < 0) { if (last_slash < 0) {
/* no slash in the path, return "." */ /* no slash in the path, return "." */
return(ut_strdup((char*)".")); return(mem_strdup("."));
} }
/* ok, there is a slash */ /* ok, there is a slash */
if (last_slash == 0) { if (last_slash == 0) {
/* last slash is the first char of the path */ /* last slash is the first char of the path */
return(ut_strdup((char*)"/")); return(mem_strdup("/"));
} }
/* non-trivial directory component */ /* non-trivial directory component */
dir = ut_strdup(path); dir = mem_strdup(path);
dir[last_slash] = 0; dir[last_slash] = 0;
return(dir); return(dir);
......
...@@ -299,27 +299,3 @@ ut_str_catenate( ...@@ -299,27 +299,3 @@ ut_str_catenate(
return(str); return(str);
} }
/**************************************************************************
Return a copy of the given string. The returned string must be freed
using mem_free. */
char*
ut_strdup(
/*======*/
/* out, own: cnull-terminated string */
char* str) /* in: null-terminated string */
{
ulint len;
char* copy;
len = ut_strlen(str);
copy = mem_alloc(len + 1);
ut_memcpy(copy, str, len);
copy[len] = 0;
return(copy);
}
...@@ -42,7 +42,7 @@ my_bool handle_local_infile(MYSQL *mysql, const char *net_filename); ...@@ -42,7 +42,7 @@ my_bool handle_local_infile(MYSQL *mysql, const char *net_filename);
void mysql_read_default_options(struct st_mysql_options *options, void mysql_read_default_options(struct st_mysql_options *options,
const char *filename,const char *group); const char *filename,const char *group);
MYSQL * MYSQL * STDCALL
cli_mysql_real_connect(MYSQL *mysql,const char *host, const char *user, cli_mysql_real_connect(MYSQL *mysql,const char *host, const char *user,
const char *passwd, const char *db, const char *passwd, const char *db,
uint port, const char *unix_socket,ulong client_flag); uint port, const char *unix_socket,ulong client_flag);
......
...@@ -295,7 +295,7 @@ uint emb_count_querycache_size(THD *thd) ...@@ -295,7 +295,7 @@ uint emb_count_querycache_size(THD *thd)
cur_row= thd->data->data; cur_row= thd->data->data;
n_rows= thd->data->rows; n_rows= thd->data->rows;
} }
result= 4+8 + (42 + 4*n_rows)*mysql->field_count; result= (uint) (4+8 + (42 + 4*n_rows)*mysql->field_count);
for(; field < field_end; field++) for(; field < field_end; field++)
{ {
...@@ -414,8 +414,8 @@ int emb_load_querycache_result(THD *thd, Querycache_stream *src) ...@@ -414,8 +414,8 @@ int emb_load_querycache_result(THD *thd, Querycache_stream *src)
goto err; goto err;
thd->data= data; thd->data= data;
init_alloc_root(&data->alloc, 8192,0); init_alloc_root(&data->alloc, 8192,0);
row= (MYSQL_ROWS *)alloc_root(&data->alloc, rows * sizeof(MYSQL_ROWS) + row= (MYSQL_ROWS *)alloc_root(&data->alloc, (uint) (rows * sizeof(MYSQL_ROWS) +
rows * (mysql->field_count+1)*sizeof(char*)); rows * (mysql->field_count+1)*sizeof(char*)));
end_row= row + rows; end_row= row + rows;
columns= (MYSQL_ROW)end_row; columns= (MYSQL_ROW)end_row;
......
drop table if exists t1;
SET NAMES latin1;
CREATE TABLE t1 (a char(1) character set latin1);
INSERT INTO t1 VALUES (0x00),(0x01),(0x02),(0x03),(0x04),(0x05),(0x06),(0x07);
INSERT INTO t1 VALUES (0x08),(0x09),(0x0A),(0x0B),(0x0C),(0x0D),(0x0E),(0x0F);
INSERT INTO t1 VALUES (0x10),(0x11),(0x12),(0x13),(0x14),(0x15),(0x16),(0x17);
INSERT INTO t1 VALUES (0x18),(0x19),(0x1A),(0x1B),(0x1C),(0x1D),(0x1E),(0x1F);
INSERT INTO t1 VALUES (0x20),(0x21),(0x22),(0x23),(0x24),(0x25),(0x26),(0x27);
INSERT INTO t1 VALUES (0x28),(0x29),(0x2A),(0x2B),(0x2C),(0x2D),(0x2E),(0x2F);
INSERT INTO t1 VALUES (0x30),(0x31),(0x32),(0x33),(0x34),(0x35),(0x36),(0x37);
INSERT INTO t1 VALUES (0x38),(0x39),(0x3A),(0x3B),(0x3C),(0x3D),(0x3E),(0x3F);
INSERT INTO t1 VALUES (0x40),(0x41),(0x42),(0x43),(0x44),(0x45),(0x46),(0x47);
INSERT INTO t1 VALUES (0x48),(0x49),(0x4A),(0x4B),(0x4C),(0x4D),(0x4E),(0x4F);
INSERT INTO t1 VALUES (0x50),(0x51),(0x52),(0x53),(0x54),(0x55),(0x56),(0x57);
INSERT INTO t1 VALUES (0x58),(0x59),(0x5A),(0x5B),(0x5C),(0x5D),(0x5E),(0x5F);
INSERT INTO t1 VALUES (0x60),(0x61),(0x62),(0x63),(0x64),(0x65),(0x66),(0x67);
INSERT INTO t1 VALUES (0x68),(0x69),(0x6A),(0x6B),(0x6C),(0x6D),(0x6E),(0x6F);
INSERT INTO t1 VALUES (0x70),(0x71),(0x72),(0x73),(0x74),(0x75),(0x76),(0x77);
INSERT INTO t1 VALUES (0x78),(0x79),(0x7A),(0x7B),(0x7C),(0x7D),(0x7E),(0x7F);
INSERT INTO t1 VALUES (0x80),(0x81),(0x82),(0x83),(0x84),(0x85),(0x86),(0x87);
INSERT INTO t1 VALUES (0x88),(0x89),(0x8A),(0x8B),(0x8C),(0x8D),(0x8E),(0x8F);
INSERT INTO t1 VALUES (0x90),(0x91),(0x92),(0x93),(0x94),(0x95),(0x96),(0x97);
INSERT INTO t1 VALUES (0x98),(0x99),(0x9A),(0x9B),(0x9C),(0x9D),(0x9E),(0x9F);
INSERT INTO t1 VALUES (0xA0),(0xA1),(0xA2),(0xA3),(0xA4),(0xA5),(0xA6),(0xA7);
INSERT INTO t1 VALUES (0xA8),(0xA9),(0xAA),(0xAB),(0xAC),(0xAD),(0xAE),(0xAF);
INSERT INTO t1 VALUES (0xB0),(0xB1),(0xB2),(0xB3),(0xB4),(0xB5),(0xB6),(0xB7);
INSERT INTO t1 VALUES (0xB8),(0xB9),(0xBA),(0xBB),(0xBC),(0xBD),(0xBE),(0xBF);
INSERT INTO t1 VALUES (0xC0),(0xC1),(0xC2),(0xC3),(0xC4),(0xC5),(0xC6),(0xC7);
INSERT INTO t1 VALUES (0xC8),(0xC9),(0xCA),(0xCB),(0xCC),(0xCD),(0xCE),(0xCF);
INSERT INTO t1 VALUES (0xD0),(0xD1),(0xD2),(0xD3),(0xD4),(0xD5),(0xD6),(0xD7);
INSERT INTO t1 VALUES (0xD8),(0xD9),(0xDA),(0xDB),(0xDC),(0xDD),(0xDE),(0xDF);
INSERT INTO t1 VALUES (0xE0),(0xE1),(0xE2),(0xE3),(0xE4),(0xE5),(0xE6),(0xE7);
INSERT INTO t1 VALUES (0xE8),(0xE9),(0xEA),(0xEB),(0xEC),(0xED),(0xEE),(0xEF);
INSERT INTO t1 VALUES (0xF0),(0xF1),(0xF2),(0xF3),(0xF4),(0xF5),(0xF6),(0xF7);
INSERT INTO t1 VALUES (0xF8),(0xF9),(0xFA),(0xFB),(0xFC),(0xFD),(0xFE),(0xFF);
SELECT
hex(a),
hex(@u:=convert(a using utf8)),
hex(@l:=convert(@u using latin1)),
a=@l FROM t1;
hex(a) hex(@u:=convert(a using utf8)) hex(@l:=convert(@u using latin1)) a=@l
00 00 00 1
01 01 01 1
02 02 02 1
03 03 03 1
04 04 04 1
05 05 05 1
06 06 06 1
07 07 07 1
08 08 08 1
09 09 09 1
0A 0A 0A 1
0B 0B 0B 1
0C 0C 0C 1
0D 0D 0D 1
0E 0E 0E 1
0F 0F 0F 1
10 10 10 1
11 11 11 1
12 12 12 1
13 13 13 1
14 14 14 1
15 15 15 1
16 16 16 1
17 17 17 1
18 18 18 1
19 19 19 1
1A 1A 1A 1
1B 1B 1B 1
1C 1C 1C 1
1D 1D 1D 1
1E 1E 1E 1
1F 1F 1F 1
1
21 21 21 1
22 22 22 1
23 23 23 1
24 24 24 1
25 25 25 1
26 26 26 1
27 27 27 1
28 28 28 1
29 29 29 1
2A 2A 2A 1
2B 2B 2B 1
2C 2C 2C 1
2D 2D 2D 1
2E 2E 2E 1
2F 2F 2F 1
30 30 30 1
31 31 31 1
32 32 32 1
33 33 33 1
34 34 34 1
35 35 35 1
36 36 36 1
37 37 37 1
38 38 38 1
39 39 39 1
3A 3A 3A 1
3B 3B 3B 1
3C 3C 3C 1
3D 3D 3D 1
3E 3E 3E 1
3F 3F 3F 1
40 40 40 1
41 41 41 1
42 42 42 1
43 43 43 1
44 44 44 1
45 45 45 1
46 46 46 1
47 47 47 1
48 48 48 1
49 49 49 1
4A 4A 4A 1
4B 4B 4B 1
4C 4C 4C 1
4D 4D 4D 1
4E 4E 4E 1
4F 4F 4F 1
50 50 50 1
51 51 51 1
52 52 52 1
53 53 53 1
54 54 54 1
55 55 55 1
56 56 56 1
57 57 57 1
58 58 58 1
59 59 59 1
5A 5A 5A 1
5B 5B 5B 1
5C 5C 5C 1
5D 5D 5D 1
5E 5E 5E 1
5F 5F 5F 1
60 60 60 1
61 61 61 1
62 62 62 1
63 63 63 1
64 64 64 1
65 65 65 1
66 66 66 1
67 67 67 1
68 68 68 1
69 69 69 1
6A 6A 6A 1
6B 6B 6B 1
6C 6C 6C 1
6D 6D 6D 1
6E 6E 6E 1
6F 6F 6F 1
70 70 70 1
71 71 71 1
72 72 72 1
73 73 73 1
74 74 74 1
75 75 75 1
76 76 76 1
77 77 77 1
78 78 78 1
79 79 79 1
7A 7A 7A 1
7B 7B 7B 1
7C 7C 7C 1
7D 7D 7D 1
7E 7E 7E 1
7F 7F 7F 1
80 E282AC 80 1
81 3F 3F 0
82 E2809A 82 1
83 C692 83 1
84 E2809E 84 1
85 E280A6 85 1
86 E280A0 86 1
87 E280A1 87 1
88 CB86 88 1
89 E280B0 89 1
8A C5A0 8A 1
8B E280B9 8B 1
8C C592 8C 1
8D 3F 3F 0
8E C5BD 8E 1
8F 3F 3F 0
90 3F 3F 0
91 E28098 91 1
92 E28099 92 1
93 E2809C 93 1
94 E2809D 94 1
95 E280A2 95 1
96 E28093 96 1
97 E28094 97 1
98 CB9C 98 1
99 E284A2 99 1
9A C5A1 9A 1
9B E280BA 9B 1
9C C593 9C 1
9D 3F 3F 0
9E C5BE 9E 1
9F C5B8 9F 1
A0 C2A0 A0 1
A1 C2A1 A1 1
A2 C2A2 A2 1
A3 C2A3 A3 1
A4 C2A4 A4 1
A5 C2A5 A5 1
A6 C2A6 A6 1
A7 C2A7 A7 1
A8 C2A8 A8 1
A9 C2A9 A9 1
AA C2AA AA 1
AB C2AB AB 1
AC C2AC AC 1
AD C2AD AD 1
AE C2AE AE 1
AF C2AF AF 1
B0 C2B0 B0 1
B1 C2B1 B1 1
B2 C2B2 B2 1
B3 C2B3 B3 1
B4 C2B4 B4 1
B5 C2B5 B5 1
B6 C2B6 B6 1
B7 C2B7 B7 1
B8 C2B8 B8 1
B9 C2B9 B9 1
BA C2BA BA 1
BB C2BB BB 1
BC C2BC BC 1
BD C2BD BD 1
BE C2BE BE 1
BF C2BF BF 1
C0 C380 C0 1
C1 C381 C1 1
C2 C382 C2 1
C3 C383 C3 1
C4 C384 C4 1
C5 C385 C5 1
C6 C386 C6 1
C7 C387 C7 1
C8 C388 C8 1
C9 C389 C9 1
CA C38A CA 1
CB C38B CB 1
CC C38C CC 1
CD C38D CD 1
CE C38E CE 1
CF C38F CF 1
D0 C390 D0 1
D1 C391 D1 1
D2 C392 D2 1
D3 C393 D3 1
D4 C394 D4 1
D5 C395 D5 1
D6 C396 D6 1
D7 C397 D7 1
D8 C398 D8 1
D9 C399 D9 1
DA C39A DA 1
DB C39B DB 1
DC C39C DC 1
DD C39D DD 1
DE C39E DE 1
DF C39F DF 1
E0 C3A0 E0 1
E1 C3A1 E1 1
E2 C3A2 E2 1
E3 C3A3 E3 1
E4 C3A4 E4 1
E5 C3A5 E5 1
E6 C3A6 E6 1
E7 C3A7 E7 1
E8 C3A8 E8 1
E9 C3A9 E9 1
EA C3AA EA 1
EB C3AB EB 1
EC C3AC EC 1
ED C3AD ED 1
EE C3AE EE 1
EF C3AF EF 1
F0 C3B0 F0 1
F1 C3B1 F1 1
F2 C3B2 F2 1
F3 C3B3 F3 1
F4 C3B4 F4 1
F5 C3B5 F5 1
F6 C3B6 F6 1
F7 C3B7 F7 1
F8 C3B8 F8 1
F9 C3B9 F9 1
FA C3BA FA 1
FB C3BB FB 1
FC C3BC FC 1
FD C3BD FD 1
FE C3BE FE 1
FF C3BF FF 1
DROP TABLE t1;
#
# Tests with the latin1 character set
#
--disable_warnings
drop table if exists t1;
--enable_warnings
#
# WL 1494: Treat latin1 as cp1252 for unicode conversion
#
SET NAMES latin1;
CREATE TABLE t1 (a char(1) character set latin1);
INSERT INTO t1 VALUES (0x00),(0x01),(0x02),(0x03),(0x04),(0x05),(0x06),(0x07);
INSERT INTO t1 VALUES (0x08),(0x09),(0x0A),(0x0B),(0x0C),(0x0D),(0x0E),(0x0F);
INSERT INTO t1 VALUES (0x10),(0x11),(0x12),(0x13),(0x14),(0x15),(0x16),(0x17);
INSERT INTO t1 VALUES (0x18),(0x19),(0x1A),(0x1B),(0x1C),(0x1D),(0x1E),(0x1F);
INSERT INTO t1 VALUES (0x20),(0x21),(0x22),(0x23),(0x24),(0x25),(0x26),(0x27);
INSERT INTO t1 VALUES (0x28),(0x29),(0x2A),(0x2B),(0x2C),(0x2D),(0x2E),(0x2F);
INSERT INTO t1 VALUES (0x30),(0x31),(0x32),(0x33),(0x34),(0x35),(0x36),(0x37);
INSERT INTO t1 VALUES (0x38),(0x39),(0x3A),(0x3B),(0x3C),(0x3D),(0x3E),(0x3F);
INSERT INTO t1 VALUES (0x40),(0x41),(0x42),(0x43),(0x44),(0x45),(0x46),(0x47);
INSERT INTO t1 VALUES (0x48),(0x49),(0x4A),(0x4B),(0x4C),(0x4D),(0x4E),(0x4F);
INSERT INTO t1 VALUES (0x50),(0x51),(0x52),(0x53),(0x54),(0x55),(0x56),(0x57);
INSERT INTO t1 VALUES (0x58),(0x59),(0x5A),(0x5B),(0x5C),(0x5D),(0x5E),(0x5F);
INSERT INTO t1 VALUES (0x60),(0x61),(0x62),(0x63),(0x64),(0x65),(0x66),(0x67);
INSERT INTO t1 VALUES (0x68),(0x69),(0x6A),(0x6B),(0x6C),(0x6D),(0x6E),(0x6F);
INSERT INTO t1 VALUES (0x70),(0x71),(0x72),(0x73),(0x74),(0x75),(0x76),(0x77);
INSERT INTO t1 VALUES (0x78),(0x79),(0x7A),(0x7B),(0x7C),(0x7D),(0x7E),(0x7F);
INSERT INTO t1 VALUES (0x80),(0x81),(0x82),(0x83),(0x84),(0x85),(0x86),(0x87);
INSERT INTO t1 VALUES (0x88),(0x89),(0x8A),(0x8B),(0x8C),(0x8D),(0x8E),(0x8F);
INSERT INTO t1 VALUES (0x90),(0x91),(0x92),(0x93),(0x94),(0x95),(0x96),(0x97);
INSERT INTO t1 VALUES (0x98),(0x99),(0x9A),(0x9B),(0x9C),(0x9D),(0x9E),(0x9F);
INSERT INTO t1 VALUES (0xA0),(0xA1),(0xA2),(0xA3),(0xA4),(0xA5),(0xA6),(0xA7);
INSERT INTO t1 VALUES (0xA8),(0xA9),(0xAA),(0xAB),(0xAC),(0xAD),(0xAE),(0xAF);
INSERT INTO t1 VALUES (0xB0),(0xB1),(0xB2),(0xB3),(0xB4),(0xB5),(0xB6),(0xB7);
INSERT INTO t1 VALUES (0xB8),(0xB9),(0xBA),(0xBB),(0xBC),(0xBD),(0xBE),(0xBF);
INSERT INTO t1 VALUES (0xC0),(0xC1),(0xC2),(0xC3),(0xC4),(0xC5),(0xC6),(0xC7);
INSERT INTO t1 VALUES (0xC8),(0xC9),(0xCA),(0xCB),(0xCC),(0xCD),(0xCE),(0xCF);
INSERT INTO t1 VALUES (0xD0),(0xD1),(0xD2),(0xD3),(0xD4),(0xD5),(0xD6),(0xD7);
INSERT INTO t1 VALUES (0xD8),(0xD9),(0xDA),(0xDB),(0xDC),(0xDD),(0xDE),(0xDF);
INSERT INTO t1 VALUES (0xE0),(0xE1),(0xE2),(0xE3),(0xE4),(0xE5),(0xE6),(0xE7);
INSERT INTO t1 VALUES (0xE8),(0xE9),(0xEA),(0xEB),(0xEC),(0xED),(0xEE),(0xEF);
INSERT INTO t1 VALUES (0xF0),(0xF1),(0xF2),(0xF3),(0xF4),(0xF5),(0xF6),(0xF7);
INSERT INTO t1 VALUES (0xF8),(0xF9),(0xFA),(0xFB),(0xFC),(0xFD),(0xFE),(0xFF);
#
# 0x81 0x8D 0x8F 0x90 0x9D are undefined in cp1252
#
SELECT
hex(a),
hex(@u:=convert(a using utf8)),
hex(@l:=convert(@u using latin1)),
a=@l FROM t1;
DROP TABLE t1;
This diff is collapsed.
...@@ -4474,6 +4474,11 @@ my_wc_mb_sjis(CHARSET_INFO *cs __attribute__((unused)), ...@@ -4474,6 +4474,11 @@ my_wc_mb_sjis(CHARSET_INFO *cs __attribute__((unused)),
if ((int) wc < 0x80) if ((int) wc < 0x80)
{ {
if (wc == 0x5c)
{
code= 0x815f;
goto mb;
}
s[0]= (uchar) wc; s[0]= (uchar) wc;
return 1; return 1;
} }
...@@ -4486,7 +4491,8 @@ my_wc_mb_sjis(CHARSET_INFO *cs __attribute__((unused)), ...@@ -4486,7 +4491,8 @@ my_wc_mb_sjis(CHARSET_INFO *cs __attribute__((unused)),
s[0]= code; s[0]= code;
return 1; return 1;
} }
mb:
if (s+2>e) if (s+2>e)
return MY_CS_TOOSMALL; return MY_CS_TOOSMALL;
......
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
static void print_short_array(unsigned short *a) static void print_short_array(unsigned short *a, size_t width)
{ {
int i; int i;
printf("{\n"); printf("{\n");
for (i=0; i<=0xFF; i++) for (i=0; i<=0xFF; i++)
{ {
printf("0x%04X%s%s",(int)a[i],i<0xFF?",":"",(i+1) % 8 ? "" :"\n"); const char *fmt= (width==4) ? "0x%04X" : "0x%02X";
printf(fmt,(int)a[i]);
printf("%s%s",i<0xFF?",":"",(i+1) % 8 ? "" :"\n");
} }
printf("};\n"); printf("};\n");
...@@ -41,7 +43,7 @@ int main(void) ...@@ -41,7 +43,7 @@ int main(void)
} }
printf("unsigned short cs_to_uni[256]="); printf("unsigned short cs_to_uni[256]=");
print_short_array(touni); print_short_array(touni, 4);
for (i=0;i<=0xFF;i++) for (i=0;i<=0xFF;i++)
{ {
...@@ -53,7 +55,7 @@ int main(void) ...@@ -53,7 +55,7 @@ int main(void)
if (fromstat[i]) if (fromstat[i])
{ {
printf("unsigned char pl%02X[256]=",i); printf("unsigned char pl%02X[256]=",i);
print_short_array(fromuni+i*256); print_short_array(fromuni+i*256, 2);
} }
} }
......
...@@ -10,6 +10,6 @@ ...@@ -10,6 +10,6 @@
<key>IFPkgDescriptionTitle</key> <key>IFPkgDescriptionTitle</key>
<string>MySQL Startup Item</string> <string>MySQL Startup Item</string>
<key>IFPkgDescriptionVersion</key> <key>IFPkgDescriptionVersion</key>
<string>1.0</string> <string>1.1</string>
</dict> </dict>
</plist> </plist>
...@@ -31,6 +31,7 @@ max_allowed_packet = 1M ...@@ -31,6 +31,7 @@ max_allowed_packet = 1M
table_cache = 512 table_cache = 512
sort_buffer_size = 2M sort_buffer_size = 2M
read_buffer_size = 2M read_buffer_size = 2M
read_rnd_buffer_size = 8M
myisam_sort_buffer_size = 64M myisam_sort_buffer_size = 64M
thread_cache = 8 thread_cache = 8
query_cache_size = 32M query_cache_size = 32M
......
...@@ -31,6 +31,7 @@ max_allowed_packet = 1M ...@@ -31,6 +31,7 @@ max_allowed_packet = 1M
table_cache = 256 table_cache = 256
sort_buffer_size = 1M sort_buffer_size = 1M
read_buffer_size = 1M read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M myisam_sort_buffer_size = 64M
thread_cache = 8 thread_cache = 8
query_cache_size= 16M query_cache_size= 16M
......
...@@ -32,6 +32,8 @@ max_allowed_packet = 1M ...@@ -32,6 +32,8 @@ max_allowed_packet = 1M
table_cache = 64 table_cache = 64
sort_buffer_size = 512K sort_buffer_size = 512K
net_buffer_length = 8K net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M myisam_sort_buffer_size = 8M
# Don't listen on a TCP/IP port at all. This can be a security enhancement, # Don't listen on a TCP/IP port at all. This can be a security enhancement,
......
...@@ -31,6 +31,8 @@ key_buffer = 16K ...@@ -31,6 +31,8 @@ key_buffer = 16K
max_allowed_packet = 1M max_allowed_packet = 1M
table_cache = 4 table_cache = 4
sort_buffer_size = 64K sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K net_buffer_length = 2K
thread_stack = 64K thread_stack = 64K
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment