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
0ccc30f4
Commit
0ccc30f4
authored
Feb 18, 2001
by
monty@donna.mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed that myisamchk -R works on text columns
Fixed typo when removing space from argument to -O
parent
abc5ef2b
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
33 additions
and
24 deletions
+33
-24
Docs/manual.texi
Docs/manual.texi
+9
-3
myisam/mi_check.c
myisam/mi_check.c
+19
-16
myisam/myisamchk.c
myisam/myisamchk.c
+1
-1
myisam/myisamdef.h
myisam/myisamdef.h
+0
-1
mysys/getvar.c
mysys/getvar.c
+4
-3
No files found.
Docs/manual.texi
View file @
0ccc30f4
...
@@ -22806,8 +22806,8 @@ The disadvantages with @code{MERGE} tables are:
...
@@ -22806,8 +22806,8 @@ The disadvantages with @code{MERGE} tables are:
@itemize @bullet
@itemize @bullet
@item
@item
You can't use @code{INSERT} on @code{MERGE} tables, as @strong{MySQL}
can't know
You can't use @code{INSERT} on @code{MERGE} tables, as @strong{MySQL}
in which of the tables we should insert the row.
can't know
in which of the tables we should insert the row.
@item
@item
You can only use identical @code{MyISAM} tables for a @code{MERGE} table.
You can only use identical @code{MyISAM} tables for a @code{MERGE} table.
@item
@item
...
@@ -22825,7 +22825,11 @@ will need to read the next key block. This makes @code{MERGE} keys much slower
...
@@ -22825,7 +22825,11 @@ will need to read the next key block. This makes @code{MERGE} keys much slower
on @code{eq_ref} searches, but not much slower on @code{ref} searches.
on @code{eq_ref} searches, but not much slower on @code{ref} searches.
@xref{EXPLAIN}.
@xref{EXPLAIN}.
@item
@item
You can't yet easily map the @code{MERGE} table from within @strong{MySQL}.
You can't do @code{DROP TABLE}, @code{ALTER TABLE} or @code{DELETE FROM
table_name} without a @code{WHERE} clause on any of the table that is
mapped by a @code{MERGE} table that is 'open'. If you do this, the
@code{MERGE} table may still refer to the original table and you will
get unexpected results.
@end itemize
@end itemize
The following example shows you how to use @code{MERGE} tables:
The following example shows you how to use @code{MERGE} tables:
...
@@ -41442,6 +41446,8 @@ not yet 100 % confident in this code.
...
@@ -41442,6 +41446,8 @@ not yet 100 % confident in this code.
@appendixsubsec Changes in release 3.23.34
@appendixsubsec Changes in release 3.23.34
@itemize @bullet
@itemize @bullet
@item
@item
Allow space around @code{=} in argument to @code{--set-variable}.
@item
Fixed problem in automatic repair that could let some threads in state
Fixed problem in automatic repair that could let some threads in state
@code{Waiting for table}.
@code{Waiting for table}.
@item
@item
myisam/mi_check.c
View file @
0ccc30f4
...
@@ -1723,6 +1723,23 @@ int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info,
...
@@ -1723,6 +1723,23 @@ int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info,
printf
(
"- recovering (with sort) MyISAM-table '%s'
\n
"
,
name
);
printf
(
"- recovering (with sort) MyISAM-table '%s'
\n
"
,
name
);
printf
(
"Data records: %s
\n
"
,
llstr
(
start_records
,
llbuff
));
printf
(
"Data records: %s
\n
"
,
llstr
(
start_records
,
llbuff
));
}
}
/* Hmm, repair_by_sort uses find_all_keys, and find_all_keys strictly
implies "one row - one key per keynr", while for ft_key one row/keynr
can produce as many keys as the number of unique words in the text
that's why I disabled repair_by_sort for ft-keys. (serg)
*/
for
(
i
=
0
;
i
<
share
->
base
.
keys
;
i
++
)
{
if
((((
ulonglong
)
1
<<
i
)
&
key_map
)
&&
(
share
->
keyinfo
[
i
].
flag
&
HA_FULLTEXT
))
{
mi_check_print_error
(
param
,
"Can`t use repair_by_sort with FULLTEXT key"
);
DBUG_RETURN
(
1
);
}
}
bzero
((
char
*
)
sort_info
,
sizeof
(
*
sort_info
));
bzero
((
char
*
)
sort_info
,
sizeof
(
*
sort_info
));
if
(
!
(
sort_info
->
key_block
=
if
(
!
(
sort_info
->
key_block
=
alloc_key_blocks
(
param
,
alloc_key_blocks
(
param
,
...
@@ -2040,22 +2057,8 @@ static int sort_key_read(SORT_INFO *sort_info, void *key)
...
@@ -2040,22 +2057,8 @@ static int sort_key_read(SORT_INFO *sort_info, void *key)
"Found too many records; Can`t continue"
);
"Found too many records; Can`t continue"
);
DBUG_RETURN
(
1
);
DBUG_RETURN
(
1
);
}
}
/* Hmm, repair_by_sort uses find_all_keys, and find_all_keys strictly
(
void
)
_mi_make_key
(
info
,
sort_info
->
key
,
key
,
sort_info
->
record
,
implies "one row - one key per keynr", while for ft_key one row/keynr
sort_info
->
filepos
);
can produce as many keys as the number of unique words in the text
that's why I disabled repair_by_sort for ft-keys. (serg)
*/
if
(
sort_info
->
keyinfo
->
flag
&
HA_FULLTEXT
)
{
mi_check_print_error
(
sort_info
->
param
,
"Can`t use repair_by_sort with FULLTEXT key"
);
DBUG_RETURN
(
1
);
}
else
{
VOID
(
_mi_make_key
(
info
,
sort_info
->
key
,
key
,
sort_info
->
record
,
sort_info
->
filepos
));
}
DBUG_RETURN
(
sort_write_record
(
sort_info
));
DBUG_RETURN
(
sort_write_record
(
sort_info
));
}
/* sort_key_read */
}
/* sort_key_read */
...
...
myisam/myisamchk.c
View file @
0ccc30f4
...
@@ -201,7 +201,7 @@ static struct option long_options[] =
...
@@ -201,7 +201,7 @@ static struct option long_options[] =
static
void
print_version
(
void
)
static
void
print_version
(
void
)
{
{
printf
(
"%s Ver 1.4
4
for %s at %s
\n
"
,
my_progname
,
SYSTEM_TYPE
,
printf
(
"%s Ver 1.4
5
for %s at %s
\n
"
,
my_progname
,
SYSTEM_TYPE
,
MACHINE_TYPE
);
MACHINE_TYPE
);
}
}
...
...
myisam/myisamdef.h
View file @
0ccc30f4
...
@@ -16,7 +16,6 @@
...
@@ -16,7 +16,6 @@
/* This file is included by all internal myisam files */
/* This file is included by all internal myisam files */
#define ISAM_LIBRARY
#include "myisam.h"
/* Structs & some defines */
#include "myisam.h"
/* Structs & some defines */
#include "myisampack.h"
/* packing of keys */
#include "myisampack.h"
/* packing of keys */
#ifdef THREAD
#ifdef THREAD
...
...
mysys/getvar.c
View file @
0ccc30f4
...
@@ -53,15 +53,16 @@ my_bool set_changeable_var(my_string str,CHANGEABLE_VAR *vars)
...
@@ -53,15 +53,16 @@ my_bool set_changeable_var(my_string str,CHANGEABLE_VAR *vars)
else
else
{
{
uint
length
,
found_count
=
0
;
uint
length
,
found_count
=
0
;
CHANGEABLE_VAR
*
var
,
*
found
,
*
var_end
;
CHANGEABLE_VAR
*
var
,
*
found
;
my_string
var_end
;
const
char
*
name
;
const
char
*
name
;
long
num
;
long
num
;
/* Skip end space from variable */
/* Skip end space from variable */
for
(
var_end
=
end
;
end
>
str
&&
is
_space
(
end
[
-
1
])
;
end
--
)
;
for
(
var_end
=
end
;
end
>
str
&&
is
space
(
var_end
[
-
1
])
;
var_
end
--
)
;
length
=
(
uint
)
(
var_end
-
str
);
length
=
(
uint
)
(
var_end
-
str
);
/* Skip start space from argument */
/* Skip start space from argument */
for
(
end
++
;
is
_
space
(
*
end
)
;
end
++
)
;
for
(
end
++
;
isspace
(
*
end
)
;
end
++
)
;
for
(
var
=
vars
,
found
=
0
;
(
name
=
var
->
name
)
;
var
++
)
for
(
var
=
vars
,
found
=
0
;
(
name
=
var
->
name
)
;
var
++
)
{
{
...
...
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