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
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
mariadb
Commits
934c57c7
Commit
934c57c7
authored
Jan 07, 2011
by
Michael Widenius
Browse files
Options
Browse Files
Download
Plain Diff
merge with 5.1
parents
b2abd1cb
c0fc6d42
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
26 additions
and
11 deletions
+26
-11
scripts/mysql_convert_table_format.sh
scripts/mysql_convert_table_format.sh
+1
-1
storage/maria/ha_maria.cc
storage/maria/ha_maria.cc
+1
-1
storage/maria/ma_check.c
storage/maria/ma_check.c
+14
-5
storage/maria/ma_sort.c
storage/maria/ma_sort.c
+10
-4
No files found.
scripts/mysql_convert_table_format.sh
View file @
934c57c7
...
@@ -28,7 +28,7 @@ $opt_port=0;
...
@@ -28,7 +28,7 @@ $opt_port=0;
$exit_status
=
0
;
$exit_status
=
0
;
GetOptions
(
GetOptions
(
"e|engine|type=s"
=>
\$
opt_
typ
e,
"e|engine|type=s"
=>
\$
opt_
engin
e,
"f|force"
=>
\$
opt_force,
"f|force"
=>
\$
opt_force,
"help|?"
=>
\$
opt_help,
"help|?"
=>
\$
opt_help,
"h|host=s"
=>
\$
opt_host,
"h|host=s"
=>
\$
opt_host,
...
...
storage/maria/ha_maria.cc
View file @
934c57c7
...
@@ -2058,6 +2058,7 @@ bool ha_maria::check_and_repair(THD *thd)
...
@@ -2058,6 +2058,7 @@ bool ha_maria::check_and_repair(THD *thd)
DBUG_ENTER
(
"ha_maria::check_and_repair"
);
DBUG_ENTER
(
"ha_maria::check_and_repair"
);
check_opt
.
init
();
check_opt
.
init
();
check_opt
.
flags
=
T_MEDIUM
|
T_AUTO_REPAIR
;
error
=
1
;
error
=
1
;
if
((
file
->
s
->
state
.
changed
&
if
((
file
->
s
->
state
.
changed
&
...
@@ -2078,7 +2079,6 @@ bool ha_maria::check_and_repair(THD *thd)
...
@@ -2078,7 +2079,6 @@ bool ha_maria::check_and_repair(THD *thd)
DBUG_RETURN
(
error
);
DBUG_RETURN
(
error
);
error
=
0
;
error
=
0
;
check_opt
.
flags
=
T_MEDIUM
|
T_AUTO_REPAIR
;
// Don't use quick if deleted rows
// Don't use quick if deleted rows
if
(
!
file
->
state
->
del
&&
(
maria_recover_options
&
HA_RECOVER_QUICK
))
if
(
!
file
->
state
->
del
&&
(
maria_recover_options
&
HA_RECOVER_QUICK
))
check_opt
.
flags
|=
T_QUICK
;
check_opt
.
flags
|=
T_QUICK
;
...
...
storage/maria/ma_check.c
View file @
934c57c7
...
@@ -2630,6 +2630,7 @@ int maria_repair(HA_CHECK *param, register MARIA_HA *info,
...
@@ -2630,6 +2630,7 @@ int maria_repair(HA_CHECK *param, register MARIA_HA *info,
maria_lock_memory
(
param
);
/* Everything is alloced */
maria_lock_memory
(
param
);
/* Everything is alloced */
sort_param
.
sort_info
->
info
->
in_check_table
=
1
;
/* Re-create all keys, which are set in key_map. */
/* Re-create all keys, which are set in key_map. */
while
(
!
(
error
=
sort_get_next_record
(
&
sort_param
)))
while
(
!
(
error
=
sort_get_next_record
(
&
sort_param
)))
{
{
...
@@ -2797,6 +2798,7 @@ err:
...
@@ -2797,6 +2798,7 @@ err:
VOID
(
end_io_cache
(
&
sort_info
.
new_info
->
rec_cache
));
VOID
(
end_io_cache
(
&
sort_info
.
new_info
->
rec_cache
));
info
->
opt_flag
&=
~
(
READ_CACHE_USED
|
WRITE_CACHE_USED
);
info
->
opt_flag
&=
~
(
READ_CACHE_USED
|
WRITE_CACHE_USED
);
sort_info
.
new_info
->
opt_flag
&=
~
(
READ_CACHE_USED
|
WRITE_CACHE_USED
);
sort_info
.
new_info
->
opt_flag
&=
~
(
READ_CACHE_USED
|
WRITE_CACHE_USED
);
sort_param
.
sort_info
->
info
->
in_check_table
=
0
;
/* this below could fail, shouldn't we detect error? */
/* this below could fail, shouldn't we detect error? */
if
(
got_error
)
if
(
got_error
)
{
{
...
@@ -3247,6 +3249,7 @@ static my_bool maria_zerofill_index(HA_CHECK *param, MARIA_HA *info,
...
@@ -3247,6 +3249,7 @@ static my_bool maria_zerofill_index(HA_CHECK *param, MARIA_HA *info,
uint
block_size
=
share
->
block_size
;
uint
block_size
=
share
->
block_size
;
my_bool
zero_lsn
=
(
share
->
base
.
born_transactional
&&
my_bool
zero_lsn
=
(
share
->
base
.
born_transactional
&&
!
(
param
->
testflag
&
T_ZEROFILL_KEEP_LSN
));
!
(
param
->
testflag
&
T_ZEROFILL_KEEP_LSN
));
int
error
=
1
;
DBUG_ENTER
(
"maria_zerofill_index"
);
DBUG_ENTER
(
"maria_zerofill_index"
);
if
(
!
(
param
->
testflag
&
T_SILENT
))
if
(
!
(
param
->
testflag
&
T_SILENT
))
...
@@ -3271,7 +3274,7 @@ static my_bool maria_zerofill_index(HA_CHECK *param, MARIA_HA *info,
...
@@ -3271,7 +3274,7 @@ static my_bool maria_zerofill_index(HA_CHECK *param, MARIA_HA *info,
_ma_check_print_error
(
param
,
_ma_check_print_error
(
param
,
"Page %9s: Got error %d when reading index file"
,
"Page %9s: Got error %d when reading index file"
,
llstr
(
pos
,
llbuff
),
my_errno
);
llstr
(
pos
,
llbuff
),
my_errno
);
DBUG_RETURN
(
1
)
;
goto
end
;
}
}
if
(
zero_lsn
)
if
(
zero_lsn
)
bzero
(
buff
,
LSN_SIZE
);
bzero
(
buff
,
LSN_SIZE
);
...
@@ -3279,7 +3282,7 @@ static my_bool maria_zerofill_index(HA_CHECK *param, MARIA_HA *info,
...
@@ -3279,7 +3282,7 @@ static my_bool maria_zerofill_index(HA_CHECK *param, MARIA_HA *info,
if
(
share
->
base
.
born_transactional
)
if
(
share
->
base
.
born_transactional
)
{
{
uint
keynr
=
_ma_get_keynr
(
share
,
buff
);
uint
keynr
=
_ma_get_keynr
(
share
,
buff
);
if
(
keynr
!=
MARIA_DELETE_KEY_NR
)
if
(
keynr
<
share
->
base
.
keys
)
{
{
MARIA_PAGE
page
;
MARIA_PAGE
page
;
DBUG_ASSERT
(
keynr
<
share
->
base
.
keys
);
DBUG_ASSERT
(
keynr
<
share
->
base
.
keys
);
...
@@ -3291,7 +3294,7 @@ static my_bool maria_zerofill_index(HA_CHECK *param, MARIA_HA *info,
...
@@ -3291,7 +3294,7 @@ static my_bool maria_zerofill_index(HA_CHECK *param, MARIA_HA *info,
"Page %9s: Got error %d when reading index "
"Page %9s: Got error %d when reading index "
"file"
,
"file"
,
llstr
(
pos
,
llbuff
),
my_errno
);
llstr
(
pos
,
llbuff
),
my_errno
);
DBUG_RETURN
(
1
)
;
goto
end
;
}
}
}
}
}
}
...
@@ -3305,10 +3308,13 @@ static my_bool maria_zerofill_index(HA_CHECK *param, MARIA_HA *info,
...
@@ -3305,10 +3308,13 @@ static my_bool maria_zerofill_index(HA_CHECK *param, MARIA_HA *info,
PAGECACHE_UNPIN
,
LSN_IMPOSSIBLE
,
PAGECACHE_UNPIN
,
LSN_IMPOSSIBLE
,
LSN_IMPOSSIBLE
,
1
,
FALSE
);
LSN_IMPOSSIBLE
,
1
,
FALSE
);
}
}
error
=
0
;
/* ok */
end:
if
(
flush_pagecache_blocks
(
share
->
pagecache
,
&
share
->
kfile
,
if
(
flush_pagecache_blocks
(
share
->
pagecache
,
&
share
->
kfile
,
FLUSH_FORCE_WRITE
))
FLUSH_FORCE_WRITE
))
DBUG_RETURN
(
1
);
DBUG_RETURN
(
1
);
DBUG_RETURN
(
0
);
DBUG_RETURN
(
error
);
}
}
...
@@ -4768,7 +4774,7 @@ static int sort_get_next_record(MARIA_SORT_PARAM *sort_param)
...
@@ -4768,7 +4774,7 @@ static int sort_get_next_record(MARIA_SORT_PARAM *sort_param)
DBUG_RETURN
(
-
1
);
DBUG_RETURN
(
-
1
);
}
}
/* Retry only if wrong record, not if disk error */
/* Retry only if wrong record, not if disk error */
if
(
flag
!=
HA_ERR_WRONG_IN_RECORD
)
if
(
flag
!=
HA_ERR_WRONG_IN_RECORD
&&
flag
!=
HA_ERR_WRONG_CRC
)
{
{
retry_if_quick
(
sort_param
,
flag
);
retry_if_quick
(
sort_param
,
flag
);
DBUG_RETURN
(
flag
);
DBUG_RETURN
(
flag
);
...
@@ -6458,6 +6464,9 @@ static void change_data_file_descriptor(MARIA_HA *info, File new_file)
...
@@ -6458,6 +6464,9 @@ static void change_data_file_descriptor(MARIA_HA *info, File new_file)
static
void
unuse_data_file_descriptor
(
MARIA_HA
*
info
)
static
void
unuse_data_file_descriptor
(
MARIA_HA
*
info
)
{
{
(
void
)
flush_pagecache_blocks
(
info
->
s
->
pagecache
,
&
info
->
s
->
bitmap
.
file
,
FLUSH_IGNORE_CHANGED
);
info
->
dfile
.
file
=
info
->
s
->
bitmap
.
file
.
file
=
-
1
;
info
->
dfile
.
file
=
info
->
s
->
bitmap
.
file
.
file
=
-
1
;
_ma_bitmap_reset_cache
(
info
->
s
);
_ma_bitmap_reset_cache
(
info
->
s
);
}
}
...
...
storage/maria/ma_sort.c
View file @
934c57c7
...
@@ -275,12 +275,13 @@ static ha_rows find_all_keys(MARIA_SORT_PARAM *info, uint keys,
...
@@ -275,12 +275,13 @@ static ha_rows find_all_keys(MARIA_SORT_PARAM *info, uint keys,
idx
=
error
=
0
;
idx
=
error
=
0
;
sort_keys
[
0
]
=
(
uchar
*
)
(
sort_keys
+
keys
);
sort_keys
[
0
]
=
(
uchar
*
)
(
sort_keys
+
keys
);
info
->
sort_info
->
info
->
in_check_table
=
1
;
while
(
!
(
error
=
(
*
info
->
key_read
)(
info
,
sort_keys
[
idx
])))
while
(
!
(
error
=
(
*
info
->
key_read
)(
info
,
sort_keys
[
idx
])))
{
{
if
(
info
->
real_key_length
>
info
->
key_length
)
if
(
info
->
real_key_length
>
info
->
key_length
)
{
{
if
(
write_key
(
info
,
sort_keys
[
idx
],
tempfile_for_exceptions
))
if
(
write_key
(
info
,
sort_keys
[
idx
],
tempfile_for_exceptions
))
DBUG_RETURN
(
HA_POS_ERROR
);
/* purecov: inspected */
goto
err
;
/* purecov: inspected */
continue
;
continue
;
}
}
...
@@ -289,7 +290,7 @@ static ha_rows find_all_keys(MARIA_SORT_PARAM *info, uint keys,
...
@@ -289,7 +290,7 @@ static ha_rows find_all_keys(MARIA_SORT_PARAM *info, uint keys,
if
(
info
->
write_keys
(
info
,
sort_keys
,
idx
-
1
,
if
(
info
->
write_keys
(
info
,
sort_keys
,
idx
-
1
,
(
BUFFPEK
*
)
alloc_dynamic
(
buffpek
),
(
BUFFPEK
*
)
alloc_dynamic
(
buffpek
),
tempfile
))
tempfile
))
DBUG_RETURN
(
HA_POS_ERROR
);
/* purecov: inspected */
goto
err
;
/* purecov: inspected */
sort_keys
[
0
]
=
(
uchar
*
)
(
sort_keys
+
keys
);
sort_keys
[
0
]
=
(
uchar
*
)
(
sort_keys
+
keys
);
memcpy
(
sort_keys
[
0
],
sort_keys
[
idx
-
1
],(
size_t
)
info
->
key_length
);
memcpy
(
sort_keys
[
0
],
sort_keys
[
idx
-
1
],(
size_t
)
info
->
key_length
);
...
@@ -298,18 +299,23 @@ static ha_rows find_all_keys(MARIA_SORT_PARAM *info, uint keys,
...
@@ -298,18 +299,23 @@ static ha_rows find_all_keys(MARIA_SORT_PARAM *info, uint keys,
sort_keys
[
idx
]
=
sort_keys
[
idx
-
1
]
+
info
->
key_length
;
sort_keys
[
idx
]
=
sort_keys
[
idx
-
1
]
+
info
->
key_length
;
}
}
if
(
error
>
0
)
if
(
error
>
0
)
DBUG_RETURN
(
HA_POS_ERROR
);
/* Aborted by get_key */
/* purecov: inspected */
goto
err
;
/* purecov: inspected */
if
(
buffpek
->
elements
)
if
(
buffpek
->
elements
)
{
{
if
(
info
->
write_keys
(
info
,
sort_keys
,
idx
,(
BUFFPEK
*
)
alloc_dynamic
(
buffpek
),
if
(
info
->
write_keys
(
info
,
sort_keys
,
idx
,(
BUFFPEK
*
)
alloc_dynamic
(
buffpek
),
tempfile
))
tempfile
))
DBUG_RETURN
(
HA_POS_ERROR
);
/* purecov: inspected */
goto
err
;
/* purecov: inspected */
*
maxbuffer
=
buffpek
->
elements
-
1
;
*
maxbuffer
=
buffpek
->
elements
-
1
;
}
}
else
else
*
maxbuffer
=
0
;
*
maxbuffer
=
0
;
info
->
sort_info
->
info
->
in_check_table
=
0
;
DBUG_RETURN
((
*
maxbuffer
)
*
(
keys
-
1
)
+
idx
);
DBUG_RETURN
((
*
maxbuffer
)
*
(
keys
-
1
)
+
idx
);
err:
info
->
sort_info
->
info
->
in_check_table
=
0
;
/* purecov: inspected */
DBUG_RETURN
(
HA_POS_ERROR
);
/* purecov: inspected */
}
/* find_all_keys */
}
/* find_all_keys */
...
...
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