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
9153fd2a
Commit
9153fd2a
authored
Sep 03, 2004
by
serg@serg.mylan
Browse files
Options
Browse Files
Download
Plain Diff
merged
parents
bdec2c60
9b0468bc
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
55 additions
and
29 deletions
+55
-29
myisam/mi_check.c
myisam/mi_check.c
+23
-9
mysql-test/r/fulltext2.result
mysql-test/r/fulltext2.result
+9
-0
mysql-test/t/fulltext2.test
mysql-test/t/fulltext2.test
+8
-0
scripts/mysql_create_system_tables.sh
scripts/mysql_create_system_tables.sh
+15
-20
No files found.
myisam/mi_check.c
View file @
9153fd2a
...
...
@@ -1585,7 +1585,7 @@ int mi_sort_index(MI_CHECK *param, register MI_INFO *info, my_string name)
int
old_lock
;
MYISAM_SHARE
*
share
=
info
->
s
;
MI_STATE_INFO
old_state
;
DBUG_ENTER
(
"sort_index"
);
DBUG_ENTER
(
"
mi_
sort_index"
);
if
(
!
(
param
->
testflag
&
T_SILENT
))
printf
(
"- Sorting index for MyISAM-table '%s'
\n
"
,
name
);
...
...
@@ -1664,7 +1664,7 @@ err:
err2:
VOID
(
my_delete
(
param
->
temp_filename
,
MYF
(
MY_WME
)));
DBUG_RETURN
(
-
1
);
}
/* sort_index */
}
/*
mi_
sort_index */
/* Sort records recursive using one index */
...
...
@@ -1672,7 +1672,7 @@ err2:
static
int
sort_one_index
(
MI_CHECK
*
param
,
MI_INFO
*
info
,
MI_KEYDEF
*
keyinfo
,
my_off_t
pagepos
,
File
new_file
)
{
uint
length
,
nod_flag
,
used_length
;
uint
length
,
nod_flag
,
used_length
,
key_length
;
uchar
*
buff
,
*
keypos
,
*
endpos
;
uchar
key
[
MI_MAX_POSSIBLE_KEY_BUFF
];
my_off_t
new_page_pos
,
next_page
;
...
...
@@ -1693,7 +1693,7 @@ static int sort_one_index(MI_CHECK *param, MI_INFO *info, MI_KEYDEF *keyinfo,
llstr
(
pagepos
,
llbuff
));
goto
err
;
}
if
((
nod_flag
=
mi_test_if_nod
(
buff
)))
if
((
nod_flag
=
mi_test_if_nod
(
buff
))
||
keyinfo
->
flag
&
HA_FULLTEXT
)
{
used_length
=
mi_getint
(
buff
);
keypos
=
buff
+
2
+
nod_flag
;
...
...
@@ -1704,7 +1704,7 @@ static int sort_one_index(MI_CHECK *param, MI_INFO *info, MI_KEYDEF *keyinfo,
{
next_page
=
_mi_kpos
(
nod_flag
,
keypos
);
_mi_kpointer
(
info
,
keypos
-
nod_flag
,
param
->
new_file_pos
);
/* Save new pos */
if
(
sort_one_index
(
param
,
info
,
keyinfo
,
next_page
,
new_file
))
if
(
sort_one_index
(
param
,
info
,
keyinfo
,
next_page
,
new_file
))
{
DBUG_PRINT
(
"error"
,(
"From page: %ld, keyoffset: %d used_length: %d"
,
(
ulong
)
pagepos
,
(
int
)
(
keypos
-
buff
),
...
...
@@ -1714,11 +1714,25 @@ static int sort_one_index(MI_CHECK *param, MI_INFO *info, MI_KEYDEF *keyinfo,
}
}
if
(
keypos
>=
endpos
||
((
*
keyinfo
->
get_key
)(
keyinfo
,
nod_flag
,
&
keypos
,
key
))
==
0
)
(
key_length
=
(
*
keyinfo
->
get_key
)(
keyinfo
,
nod_flag
,
&
keypos
,
key
))
==
0
)
break
;
#ifdef EXTRA_DEBUG
assert
(
keypos
<=
endpos
);
#endif
DBUG_ASSERT
(
keypos
<=
endpos
);
if
(
keyinfo
->
flag
&
HA_FULLTEXT
)
{
uint
off
;
int
subkeys
;
get_key_full_length_rdonly
(
off
,
key
);
subkeys
=
ft_sintXkorr
(
key
+
off
);
if
(
subkeys
<
0
)
{
next_page
=
_mi_dpos
(
info
,
0
,
key
+
key_length
);
_mi_dpointer
(
info
,
keypos
-
nod_flag
-
info
->
s
->
rec_reflength
,
param
->
new_file_pos
);
/* Save new pos */
if
(
sort_one_index
(
param
,
info
,
&
info
->
s
->
ft2_keyinfo
,
next_page
,
new_file
))
goto
err
;
}
}
}
}
...
...
mysql-test/r/fulltext2.result
View file @
9153fd2a
...
...
@@ -7,6 +7,15 @@ FULLTEXT KEY (a)
repair table t1 quick;
Table Op Msg_type Msg_text
test.t1 repair status OK
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
optimize table t1;
Table Op Msg_type Msg_text
test.t1 optimize status OK
check table t1;
Table Op Msg_type Msg_text
test.t1 check status OK
select count(*) from t1 where match a against ('aaaxxx');
count(*)
260
...
...
mysql-test/t/fulltext2.test
View file @
9153fd2a
...
...
@@ -44,6 +44,9 @@ while ($1)
# converting to two-level
repair
table
t1
quick
;
check
table
t1
;
optimize
table
t1
;
# BUG#5327 - mi_sort_index() of 2-level tree
check
table
t1
;
select
count
(
*
)
from
t1
where
match
a
against
(
'aaaxxx'
);
select
count
(
*
)
from
t1
where
match
a
against
(
'aaayyy'
);
...
...
@@ -102,6 +105,11 @@ CREATE TABLE t1 (
FULLTEXT
KEY
(
a
)
)
ENGINE
=
MyISAM
;
#
# now same as about but w/o repair table
# 2-level tree created by mi_write
#
# two-level entry, second-level tree with depth 2
--
disable_query_log
let
$
1
=
260
;
...
...
scripts/mysql_create_system_tables.sh
View file @
9153fd2a
...
...
@@ -68,7 +68,7 @@ then
c_d
=
"
$c_d
Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
c_d
=
"
$c_d
PRIMARY KEY Host (Host,Db,User),"
c_d
=
"
$c_d
KEY User (User)"
c_d
=
"
$c_d
)"
c_d
=
"
$c_d
)
engine=MyISAM
"
c_d
=
"
$c_d
CHARACTER SET utf8 COLLATE utf8_bin"
c_d
=
"
$c_d
comment='Database privileges';"
...
...
@@ -98,7 +98,7 @@ then
c_h
=
"
$c_h
Create_tmp_table_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
c_h
=
"
$c_h
Lock_tables_priv enum('N','Y') DEFAULT 'N' NOT NULL,"
c_h
=
"
$c_h
PRIMARY KEY Host (Host,Db)"
c_h
=
"
$c_h
)"
c_h
=
"
$c_h
)
engine=MyISAM
"
c_h
=
"
$c_h
CHARACTER SET utf8 COLLATE utf8_bin"
c_h
=
"
$c_h
comment='Host privileges; Merged with database privileges';"
fi
...
...
@@ -142,7 +142,7 @@ then
c_u
=
"
$c_u
max_updates int(11) unsigned DEFAULT 0 NOT NULL,"
c_u
=
"
$c_u
max_connections int(11) unsigned DEFAULT 0 NOT NULL,"
c_u
=
"
$c_u
PRIMARY KEY Host (Host,User)"
c_u
=
"
$c_u
)"
c_u
=
"
$c_u
)
engine=MyISAM
"
c_u
=
"
$c_u
CHARACTER SET utf8 COLLATE utf8_bin"
c_u
=
"
$c_u
comment='Users and global privileges';"
...
...
@@ -182,7 +182,7 @@ then
c_f
=
"
$c_f
dl char(128) DEFAULT '' NOT NULL,"
c_f
=
"
$c_f
type enum ('function','aggregate') NOT NULL,"
c_f
=
"
$c_f
PRIMARY KEY (name)"
c_f
=
"
$c_f
)"
c_f
=
"
$c_f
)
engine=MyISAM
"
c_f
=
"
$c_f
CHARACTER SET utf8 COLLATE utf8_bin"
c_f
=
"
$c_f
comment='User defined functions';"
fi
...
...
@@ -204,7 +204,7 @@ then
c_t
=
"
$c_t
Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL,"
c_t
=
"
$c_t
PRIMARY KEY (Host,Db,User,Table_name),"
c_t
=
"
$c_t
KEY Grantor (Grantor)"
c_t
=
"
$c_t
)"
c_t
=
"
$c_t
)
engine=MyISAM
"
c_t
=
"
$c_t
CHARACTER SET utf8 COLLATE utf8_bin"
c_t
=
"
$c_t
comment='Table privileges';"
fi
...
...
@@ -224,7 +224,7 @@ then
c_c
=
"
$c_c
Timestamp timestamp(14),"
c_c
=
"
$c_c
Column_priv set('Select','Insert','Update','References') DEFAULT '' NOT NULL,"
c_c
=
"
$c_c
PRIMARY KEY (Host,Db,User,Table_name,Column_name)"
c_c
=
"
$c_c
)"
c_c
=
"
$c_c
)
engine=MyISAM
"
c_c
=
"
$c_c
CHARACTER SET utf8 COLLATE utf8_bin"
c_c
=
"
$c_c
comment='Column privileges';"
fi
...
...
@@ -244,7 +244,7 @@ then
c_ht
=
"
$c_ht
url varchar(128) not null,"
c_ht
=
"
$c_ht
primary key (help_topic_id),"
c_ht
=
"
$c_ht
unique index (name)"
c_ht
=
"
$c_ht
)"
c_ht
=
"
$c_ht
)
engine=MyISAM
"
c_ht
=
"
$c_ht
CHARACTER SET utf8"
c_ht
=
"
$c_ht
comment='help topics';"
fi
...
...
@@ -264,7 +264,7 @@ then
c_hc
=
"
$c_hc
url varchar(128) not null,"
c_hc
=
"
$c_hc
primary key (help_category_id),"
c_hc
=
"
$c_hc
unique index (name)"
c_hc
=
"
$c_hc
)"
c_hc
=
"
$c_hc
)
engine=MyISAM
"
c_hc
=
"
$c_hc
CHARACTER SET utf8"
c_hc
=
"
$c_hc
comment='help categories';"
fi
...
...
@@ -280,7 +280,7 @@ then
c_hk
=
"
$c_hk
name varchar(64) not null,"
c_hk
=
"
$c_hk
primary key (help_keyword_id),"
c_hk
=
"
$c_hk
unique index (name)"
c_hk
=
"
$c_hk
)"
c_hk
=
"
$c_hk
)
engine=MyISAM
"
c_hk
=
"
$c_hk
CHARACTER SET utf8"
c_hk
=
"
$c_hk
comment='help keywords';"
fi
...
...
@@ -295,7 +295,7 @@ then
c_hr
=
"
$c_hr
help_topic_id int unsigned not null references help_topic,"
c_hr
=
"
$c_hr
help_keyword_id int unsigned not null references help_keyword,"
c_hr
=
"
$c_hr
primary key (help_keyword_id, help_topic_id)"
c_hr
=
"
$c_hr
)"
c_hr
=
"
$c_hr
)
engine=MyISAM
"
c_hr
=
"
$c_hr
CHARACTER SET utf8"
c_hr
=
"
$c_hr
comment='keyword-topic relation';"
fi
...
...
@@ -310,8 +310,7 @@ then
c_tzn
=
"
$c_tzn
Name char(64) NOT NULL,"
c_tzn
=
"
$c_tzn
Time_zone_id int unsigned NOT NULL,"
c_tzn
=
"
$c_tzn
PRIMARY KEY Name (Name)"
c_tzn
=
"
$c_tzn
)"
c_tzn
=
"
$c_tzn
CHARACTER SET utf8"
c_tzn
=
"
$c_tzn
) engine=MyISAM CHARACTER SET utf8"
c_tzn
=
"
$c_tzn
comment='Time zone names';"
if
test
"
$1
"
=
"test"
...
...
@@ -333,8 +332,7 @@ then
c_tz
=
"
$c_tz
Time_zone_id int unsigned NOT NULL auto_increment,"
c_tz
=
"
$c_tz
Use_leap_seconds enum('Y','N') DEFAULT 'N' NOT NULL,"
c_tz
=
"
$c_tz
PRIMARY KEY TzId (Time_zone_id)"
c_tz
=
"
$c_tz
)"
c_tz
=
"
$c_tz
CHARACTER SET utf8"
c_tz
=
"
$c_tz
) engine=MyISAM CHARACTER SET utf8"
c_tz
=
"
$c_tz
comment='Time zones';"
if
test
"
$1
"
=
"test"
...
...
@@ -355,8 +353,7 @@ then
c_tzt
=
"
$c_tzt
Transition_time bigint signed NOT NULL,"
c_tzt
=
"
$c_tzt
Transition_type_id int unsigned NOT NULL,"
c_tzt
=
"
$c_tzt
PRIMARY KEY TzIdTranTime (Time_zone_id, Transition_time)"
c_tzt
=
"
$c_tzt
)"
c_tzt
=
"
$c_tzt
CHARACTER SET utf8"
c_tzt
=
"
$c_tzt
) engine=MyISAM CHARACTER SET utf8"
c_tzt
=
"
$c_tzt
comment='Time zone transitions';"
if
test
"
$1
"
=
"test"
...
...
@@ -578,8 +575,7 @@ then
c_tztt
=
"
$c_tztt
Is_DST tinyint unsigned DEFAULT 0 NOT NULL,"
c_tztt
=
"
$c_tztt
Abbreviation char(8) DEFAULT '' NOT NULL,"
c_tztt
=
"
$c_tztt
PRIMARY KEY TzIdTrTId (Time_zone_id, Transition_type_id)"
c_tztt
=
"
$c_tztt
)"
c_tztt
=
"
$c_tztt
CHARACTER SET utf8"
c_tztt
=
"
$c_tztt
) engine=MyISAM CHARACTER SET utf8"
c_tztt
=
"
$c_tztt
comment='Time zone transition types';"
if
test
"
$1
"
=
"test"
...
...
@@ -615,8 +611,7 @@ then
c_tzls
=
"
$c_tzls
Transition_time bigint signed NOT NULL,"
c_tzls
=
"
$c_tzls
Correction int signed NOT NULL,"
c_tzls
=
"
$c_tzls
PRIMARY KEY TranTime (Transition_time)"
c_tzls
=
"
$c_tzls
)"
c_tzts
=
"
$c_tzts
CHARACTER SET utf8"
c_tzls
=
"
$c_tzls
) engine=MyISAM CHARACTER SET utf8"
c_tzls
=
"
$c_tzls
comment='Leap seconds information for time zones';"
if
test
"
$1
"
=
"test"
...
...
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