Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
M
MariaDB
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
MariaDB
Commits
37b46ed2
Commit
37b46ed2
authored
Aug 12, 2004
by
wax@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge mysql.com:/home/wax/mysql/mysql-4.1
into mysql.com:/home/wax/mysql/mysql-4.1group_concat
parents
33c976e1
83efb948
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
158 additions
and
24 deletions
+158
-24
.bzrignore
.bzrignore
+13
-0
mysql-test/mysql-test-run.sh
mysql-test/mysql-test-run.sh
+1
-1
mysql-test/r/ctype_uca.result
mysql-test/r/ctype_uca.result
+110
-0
mysql-test/t/ctype_uca.test
mysql-test/t/ctype_uca.test
+1
-1
mysys/mf_keycache.c
mysys/mf_keycache.c
+21
-21
sql/share/charsets/cp852.xml
sql/share/charsets/cp852.xml
+2
-0
strings/ctype-simple.c
strings/ctype-simple.c
+9
-0
strings/ctype-uca.c
strings/ctype-uca.c
+1
-1
No files found.
.bzrignore
View file @
37b46ed2
...
...
@@ -792,3 +792,16 @@ libmysql/my_time.c
libmysqld/my_time.c
sql/mysql_tzinfo_to_sql
sql/mysql_tzinfo_to_sql.cc
ndb/src/cw/cpcd/ndb_cpcd
ndb/src/kernel/ndbd
ndb/src/kernel/blocks/backup/restore/ndb_restore
ndb/src/mgmclient/ndb_mgm
ndb/src/mgmsrv/ndb_mgmd
ndb/tools/ndb_delete_all
ndb/tools/ndb_desc
ndb/tools/ndb_drop_index
ndb/tools/ndb_drop_table
ndb/tools/ndb_select_all
ndb/tools/ndb_select_count
ndb/tools/ndb_show_tables
ndb/tools/ndb_waiter
mysql-test/mysql-test-run.sh
View file @
37b46ed2
...
...
@@ -1449,7 +1449,7 @@ then
if
[
-z
"
$USE_RUNNING_NDBCLUSTER
"
]
then
echo
"Starting ndbcluster"
./ndb/ndbcluster
--port-base
=
$NDBCLUSTER_PORT
--small
--
diskless
--
initial
--data-dir
=
$MYSQL_TEST_DIR
/var
||
exit
1
./ndb/ndbcluster
--port-base
=
$NDBCLUSTER_PORT
--small
--initial
--data-dir
=
$MYSQL_TEST_DIR
/var
||
exit
1
NDB_CONNECTSTRING
=
"host=localhost:
$NDBCLUSTER_PORT
"
export
NDB_CONNECTSTRING
else
...
...
mysql-test/r/ctype_uca.result
View file @
37b46ed2
...
...
@@ -1548,6 +1548,116 @@ Z,z,Ź,ź,Ż,ż
ǁ
ǂ
ǃ
select group_concat(c1 order by c1) from t1 group by c1 collate utf8_slovak_ci;
group_concat(c1 order by c1)
÷
×
A,a,À,Á,Â,Ã,Å,à,á,â,ã,å,Ā,ā,Ă,ă,Ą,ą,Ǎ,ǎ,Ǟ,ǟ,Ǡ,ǡ,Ǻ,ǻ
AA,Aa,aA,aa
Ä,ä
Æ,æ,Ǣ,ǣ,Ǽ,ǽ
B,b
ƀ
Ɓ
Ƃ,ƃ
C,c,Ç,ç,Ć,ć,Ĉ,ĉ,Ċ,ċ
cH
Č,č
Ƈ,ƈ
D,d,Ď,ď
DZ,Dz,dZ,dz,DŽ,Dž,dž,DZ,Dz,dz
Đ,đ
Ɖ
Ɗ
Ƌ,ƌ
Ð,ð
E,e,È,É,Ê,Ë,è,é,ê,ë,Ē,ē,Ĕ,ĕ,Ė,ė,Ę,ę,Ě,ě
Ǝ,ǝ
Ə
Ɛ
F,f
Ƒ,ƒ
G,g,Ĝ,ĝ,Ğ,ğ,Ġ,ġ,Ģ,ģ,Ǧ,ǧ,Ǵ,ǵ
Ǥ,ǥ
Ɠ
Ɣ
Ƣ,ƣ
H,h,Ĥ,ĥ
CH,Ch,ch
ƕ,Ƕ
Ħ,ħ
I,i,Ì,Í,Î,Ï,ì,í,î,ï,Ĩ,ĩ,Ī,ī,Ĭ,ĭ,Į,į,İ,Ǐ,ǐ
IJ,Ij,iJ,ij,IJ,ij
ı
Ɨ
Ɩ
J,j,Ĵ,ĵ,ǰ
K,k,Ķ,ķ,Ǩ,ǩ
Ƙ,ƙ
L,l,Ĺ,ĺ,Ļ,ļ,Ľ,ľ
Ŀ,ŀ
LJ,Lj,lJ,lj,LJ,Lj,lj
LL,Ll,lL,ll
Ł,ł
ƚ
ƛ
M,m
N,n,Ñ,ñ,Ń,ń,Ņ,ņ,Ň,ň,Ǹ,ǹ
NJ,Nj,nJ,nj,NJ,Nj,nj
Ɲ
ƞ
Ŋ,ŋ
O,o,Ò,Ó,Õ,Ö,ò,ó,õ,ö,Ō,ō,Ŏ,ŏ,Ő,ő,Ơ,ơ,Ǒ,ǒ,Ǫ,ǫ,Ǭ,ǭ
OE,Oe,oE,oe,Œ,œ
Ô,ô
Ø,ø,Ǿ,ǿ
Ɔ
Ɵ
P,p
Ƥ,ƥ
Q,q
ĸ
R,r,Ŕ,ŕ,Ŗ,ŗ,Ř,ř
RR,Rr,rR,rr
Ʀ
S,s,Ś,ś,Ŝ,ŝ,Ş,ş,ſ
SS,Ss,sS,ss,ß
Š,š
Ʃ
ƪ
T,t,Ţ,ţ,Ť,ť
ƾ
Ŧ,ŧ
ƫ
Ƭ,ƭ
Ʈ
U,u,Ù,Ú,Û,Ü,ù,ú,û,ü,Ũ,ũ,Ū,ū,Ŭ,ŭ,Ů,ů,Ű,ű,Ų,ų,Ư,ư,Ǔ,ǔ,Ǖ,ǖ,Ǘ,ǘ,Ǚ,ǚ,Ǜ,ǜ
Ɯ
Ʊ
V,v
Ʋ
W,w,Ŵ,ŵ
X,x
Y,y,Ý,ý,ÿ,Ŷ,ŷ,Ÿ
Ƴ,ƴ
Z,z,Ź,ź,Ż,ż
ƍ
Ž,ž
Ƶ,ƶ
Ʒ,Ǯ,ǯ
Ƹ,ƹ
ƺ
Þ,þ
ƿ,Ƿ
ƻ
Ƨ,ƨ
Ƽ,ƽ
Ƅ,ƅ
ʼn
ǀ
ǁ
ǂ
ǃ
select group_concat(c1 order by c1) from t1 group by c1 collate utf8_spanish2_ci;
group_concat(c1 order by c1)
÷
...
...
mysql-test/t/ctype_uca.test
View file @
37b46ed2
...
...
@@ -176,7 +176,7 @@ select group_concat(c1 order by c1) from t1 group by c1 collate utf8_turkish_ci;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_czech_ci
;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_danish_ci
;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_lithuanian_ci
;
--
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_slovak_ci
;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_slovak_ci
;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_spanish2_ci
;
select
group_concat
(
c1
order
by
c1
)
from
t1
group
by
c1
collate
utf8_roman_ci
;
mysys/mf_keycache.c
View file @
37b46ed2
...
...
@@ -29,10 +29,10 @@
to disk, if neccessary. This is handled in find_key_block().
With the new free list, the blocks can have three temperatures:
hot, warm and cold (which is free). This is remembered in the block header
by the enum BLOCK_TEMPERATURE temperature variable. Remembering the
temperature is neccessary to correctly count the number of warm blocks,
which is required to decide when blocks are allowed to become hot. Whenever
a block is inserted to another (sub-)chain, we take the old and new
by the enum BLOCK_TEMPERATURE temperature variable. Remembering the
temperature is neccessary to correctly count the number of warm blocks,
which is required to decide when blocks are allowed to become hot. Whenever
a block is inserted to another (sub-)chain, we take the old and new
temperature into account to decide if we got one more or less warm block.
blocks_unused is the sum of never used blocks in the pool and of currently
free blocks. blocks_used is the number of blocks fetched from the pool and
...
...
@@ -475,13 +475,13 @@ int resize_key_cache(KEY_CACHE *keycache, uint key_cache_block_size,
if
(
!
keycache
->
key_cache_inited
)
DBUG_RETURN
(
keycache
->
disk_blocks
);
if
(
key_cache_block_size
==
keycache
->
key_cache_block_size
&&
use_mem
==
keycache
->
key_cache_mem_size
)
{
change_key_cache_param
(
keycache
,
division_limit
,
age_threshold
);
DBUG_RETURN
(
keycache
->
disk_blocks
);
}
}
keycache_pthread_mutex_lock
(
&
keycache
->
cache_lock
);
...
...
@@ -504,7 +504,7 @@ int resize_key_cache(KEY_CACHE *keycache, uint key_cache_block_size,
goto
finish
;
}
keycache
->
resize_in_flush
=
0
;
keycache
->
can_be_used
=
0
;
keycache
->
can_be_used
=
0
;
while
(
keycache
->
cnt_for_resize_op
)
{
keycache_pthread_cond_wait
(
&
thread
->
suspend
,
&
keycache
->
cache_lock
);
...
...
@@ -540,9 +540,9 @@ static inline void inc_counter_for_resize_op(KEY_CACHE *keycache)
*/
static
inline
void
dec_counter_for_resize_op
(
KEY_CACHE
*
keycache
)
{
struct
st_my_thread_var
*
last_thread
;
struct
st_my_thread_var
*
last_thread
;
if
(
!--
keycache
->
cnt_for_resize_op
&&
(
last_thread
=
keycache
->
resize_queue
.
last_thread
))
(
last_thread
=
keycache
->
resize_queue
.
last_thread
))
keycache_pthread_cond_signal
(
&
last_thread
->
next
->
suspend
);
}
...
...
@@ -551,7 +551,7 @@ static inline void dec_counter_for_resize_op(KEY_CACHE *keycache)
SYNOPSIS
change_key_cache_param()
keycache pointer to a key cache data structure
keycache pointer to a key cache data structure
division_limit new division limit (if not zero)
age_threshold new age threshold (if not zero)
...
...
@@ -625,7 +625,7 @@ writes: %ld r_requests: %ld reads: %ld",
if
(
cleanup
)
{
pthread_mutex_destroy
(
&
keycache
->
cache_lock
);
keycache
->
key_cache_inited
=
0
;
keycache
->
key_cache_inited
=
keycache
->
can_be_used
=
0
;
KEYCACHE_DEBUG_CLOSE
;
}
DBUG_VOID_RETURN
;
...
...
@@ -1315,7 +1315,7 @@ static BLOCK_LINK *find_key_block(KEY_CACHE *keycache,
return
0
;
}
if
(
!
(
block
->
status
&
BLOCK_IN_FLUSH
))
{
{
hash_link
->
requests
--
;
/*
Remove block to invalidate the page in the block buffer
...
...
@@ -1326,9 +1326,9 @@ static BLOCK_LINK *find_key_block(KEY_CACHE *keycache,
buffer. Still we are guaranteed not to have any readers
of the key part we are writing into until the block is
removed from the cache as we set the BLOCL_REASSIGNED
flag (see the code below that handles reading requests).
flag (see the code below that handles reading requests).
*/
free_block
(
keycache
,
block
);
free_block
(
keycache
,
block
);
return
0
;
}
/* Wait intil the page is flushed on disk */
...
...
@@ -1348,7 +1348,7 @@ static BLOCK_LINK *find_key_block(KEY_CACHE *keycache,
free_block
(
keycache
,
block
);
return
0
;
}
if
(
page_status
==
PAGE_READ
&&
(
block
->
status
&
(
BLOCK_IN_SWITCH
|
BLOCK_REASSIGNED
)))
{
...
...
@@ -1693,7 +1693,7 @@ byte *key_cache_read(KEY_CACHE *keycache,
do
{
keycache_pthread_mutex_lock
(
&
keycache
->
cache_lock
);
if
(
!
keycache
->
can_be_used
)
if
(
!
keycache
->
can_be_used
)
{
keycache_pthread_mutex_unlock
(
&
keycache
->
cache_lock
);
goto
no_key_cache
;
...
...
@@ -1829,7 +1829,7 @@ int key_cache_insert(KEY_CACHE *keycache,
{
uint
offset
;
keycache_pthread_mutex_lock
(
&
keycache
->
cache_lock
);
if
(
!
keycache
->
can_be_used
)
if
(
!
keycache
->
can_be_used
)
{
keycache_pthread_mutex_unlock
(
&
keycache
->
cache_lock
);
DBUG_RETURN
(
0
);
...
...
@@ -1873,7 +1873,7 @@ int key_cache_insert(KEY_CACHE *keycache,
error
=
(
block
->
status
&
BLOCK_ERROR
);
dec_counter_for_resize_op
(
keycache
);
dec_counter_for_resize_op
(
keycache
);
keycache_pthread_mutex_unlock
(
&
keycache
->
cache_lock
);
...
...
@@ -1953,7 +1953,7 @@ int key_cache_write(KEY_CACHE *keycache,
{
uint
offset
;
keycache_pthread_mutex_lock
(
&
keycache
->
cache_lock
);
if
(
!
keycache
->
can_be_used
)
if
(
!
keycache
->
can_be_used
)
{
keycache_pthread_mutex_unlock
(
&
keycache
->
cache_lock
);
goto
no_key_cache
;
...
...
@@ -2028,7 +2028,7 @@ int key_cache_write(KEY_CACHE *keycache,
dec_counter_for_resize_op
(
keycache
);
keycache_pthread_mutex_unlock
(
&
keycache
->
cache_lock
);
next_block:
buff
+=
read_length
;
filepos
+=
read_length
;
...
...
@@ -2149,7 +2149,7 @@ static int flush_cached_blocks(KEY_CACHE *keycache,
if
(
!
last_errno
)
last_errno
=
errno
?
errno
:
-
1
;
}
/*
/*
Let to proceed for possible waiting requests to write to the block page.
It might happen only during an operation to resize the key cache.
*/
...
...
sql/share/charsets/cp852.xml
View file @
37b46ed2
...
...
@@ -114,6 +114,8 @@
</map>
</collation>
<collation
name=
"cp852_bin"
flag=
"binary"
/>
</charset>
</charsets>
strings/ctype-simple.c
View file @
37b46ed2
...
...
@@ -1171,6 +1171,15 @@ static my_bool create_fromuni(CHARSET_INFO *cs, void *(*alloc)(uint))
uni_idx
idx
[
PLANE_NUM
];
int
i
,
n
;
/*
Check that Unicode map is loaded.
It can be not loaded when the collation is
listed in Index.xml but not specified
in the character set specific XML file.
*/
if
(
!
cs
->
tab_to_uni
)
return
TRUE
;
/* Clear plane statistics */
bzero
(
idx
,
sizeof
(
idx
));
...
...
strings/ctype-uca.c
View file @
37b46ed2
...
...
@@ -6645,7 +6645,7 @@ static const char slovak[]=
"& H < ch <<< Ch <<< CH"
"& O <
\\
u00F4 <<<
\\
u00D4"
"& S <
\\
u0161 <<<
\\
u0160"
"& Z <
\\
u017E <<<
\\
017D"
;
"& Z <
\\
u017E <<<
\\
u
017D"
;
static
const
char
spanish2
[]
=
/* Also good for Asturian and Galician */
"&C < ch <<< Ch <<< CH"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment