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
2f450e4f
Commit
2f450e4f
authored
Aug 16, 2000
by
monty@donna.mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Delayed keys + portability fixes
parent
1777d4db
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
40 additions
and
14 deletions
+40
-14
client/Makefile.am
client/Makefile.am
+3
-0
configure.in
configure.in
+1
-0
include/Makefile.am
include/Makefile.am
+3
-0
libmysql/Makefile.am
libmysql/Makefile.am
+3
-0
myisam/mi_check.c
myisam/mi_check.c
+15
-7
sql-bench/Makefile.am
sql-bench/Makefile.am
+3
-0
sql/Makefile.am
sql/Makefile.am
+3
-0
sql/sql_insert.cc
sql/sql_insert.cc
+9
-7
No files found.
client/Makefile.am
View file @
2f450e4f
...
@@ -41,3 +41,6 @@ DEFS = -DUNDEF_THREADS_HACK
...
@@ -41,3 +41,6 @@ DEFS = -DUNDEF_THREADS_HACK
thread_test.o
:
thread_test.c
thread_test.o
:
thread_test.c
$(COMPILE)
-c
@MT_INCLUDES@
$(INCLUDES)
$<
$(COMPILE)
-c
@MT_INCLUDES@
$(INCLUDES)
$<
# Don't update the files from bitkeeper
%
::
SCCS/s.%
configure.in
View file @
2f450e4f
...
@@ -211,6 +211,7 @@ AC_MSG_RESULT($mysql_cv_sys_os)
...
@@ -211,6 +211,7 @@ AC_MSG_RESULT($mysql_cv_sys_os)
case
"
$target_os
"
in
case
"
$target_os
"
in
sco3.2v5
*
)
sco3.2v5
*
)
CFLAGS
=
"
$CFLAGS
-DSCO"
CFLAGS
=
"
$CFLAGS
-DSCO"
CXXFLAGS
=
"
$CXXFLAGS
-DSCO"
LD
=
'$(CC) $(CFLAGS)'
LD
=
'$(CC) $(CFLAGS)'
case
"
$CFLAGS
"
in
case
"
$CFLAGS
"
in
*
-belf
*
)
*
-belf
*
)
...
...
include/Makefile.am
View file @
2f450e4f
...
@@ -51,3 +51,6 @@ my_global.h: global.h
...
@@ -51,3 +51,6 @@ my_global.h: global.h
# generated by configure from the .h.in files
# generated by configure from the .h.in files
dist-hook
:
dist-hook
:
rm
-f
$(distdir)
/mysql_version.h
$(distdir)
/my_config.h
rm
-f
$(distdir)
/mysql_version.h
$(distdir)
/my_config.h
# Don't update the files from bitkeeper
%
::
SCCS/s.%
libmysql/Makefile.am
View file @
2f450e4f
...
@@ -147,3 +147,6 @@ do-lib-dist:
...
@@ -147,3 +147,6 @@ do-lib-dist:
echo
' $
$(AR)
r $$@ $$?'
>>
$$
dir
/Makefile
;
\
echo
' $
$(AR)
r $$@ $$?'
>>
$$
dir
/Makefile
;
\
gtar cvzf
$$
dir.tar.gz
$$
dir
;
\
gtar cvzf
$$
dir.tar.gz
$$
dir
;
\
cd
$$
dir
;
gmake
cd
$$
dir
;
gmake
# Don't update the files from bitkeeper
%
::
SCCS/s.%
myisam/mi_check.c
View file @
2f450e4f
...
@@ -1600,7 +1600,7 @@ int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info,
...
@@ -1600,7 +1600,7 @@ int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info,
char
llbuff
[
22
];
char
llbuff
[
22
];
SORT_INFO
*
sort_info
=
&
param
->
sort_info
;
SORT_INFO
*
sort_info
=
&
param
->
sort_info
;
ulonglong
key_map
=
share
->
state
.
key_map
;
ulonglong
key_map
=
share
->
state
.
key_map
;
DBUG_ENTER
(
"
rep
_by_sort"
);
DBUG_ENTER
(
"
mi_repair
_by_sort"
);
start_records
=
info
->
state
->
records
;
start_records
=
info
->
state
->
records
;
got_error
=
1
;
got_error
=
1
;
...
@@ -1630,9 +1630,6 @@ int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info,
...
@@ -1630,9 +1630,6 @@ int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info,
info
->
opt_flag
|=
WRITE_CACHE_USED
;
info
->
opt_flag
|=
WRITE_CACHE_USED
;
info
->
rec_cache
.
file
=
info
->
dfile
;
/* for sort_delete_record */
info
->
rec_cache
.
file
=
info
->
dfile
;
/* for sort_delete_record */
/* Flush key cache for this file if we are calling this outside myisamchk */
flush_key_blocks
(
share
->
kfile
,
FLUSH_IGNORE_CHANGED
);
if
(
!
(
sort_info
->
record
=
(
byte
*
)
my_malloc
((
uint
)
share
->
base
.
pack_reclength
,
if
(
!
(
sort_info
->
record
=
(
byte
*
)
my_malloc
((
uint
)
share
->
base
.
pack_reclength
,
MYF
(
0
))))
MYF
(
0
))))
{
{
...
@@ -1669,15 +1666,24 @@ int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info,
...
@@ -1669,15 +1666,24 @@ int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info,
info
->
update
=
(
short
)
(
HA_STATE_CHANGED
|
HA_STATE_ROW_CHANGED
);
info
->
update
=
(
short
)
(
HA_STATE_CHANGED
|
HA_STATE_ROW_CHANGED
);
if
(
!
(
param
->
testflag
&
T_CREATE_MISSING_KEYS
))
if
(
!
(
param
->
testflag
&
T_CREATE_MISSING_KEYS
))
{
{
/*
Flush key cache for this file if we are calling this outside
myisamchk
*/
flush_key_blocks
(
share
->
kfile
,
FLUSH_IGNORE_CHANGED
);
/* Clear the pointers to the given rows */
for
(
i
=
0
;
i
<
share
->
base
.
keys
;
i
++
)
for
(
i
=
0
;
i
<
share
->
base
.
keys
;
i
++
)
share
->
state
.
key_root
[
i
]
=
HA_OFFSET_ERROR
;
share
->
state
.
key_root
[
i
]
=
HA_OFFSET_ERROR
;
for
(
i
=
0
;
i
<
share
->
state
.
header
.
max_block_size
;
i
++
)
for
(
i
=
0
;
i
<
share
->
state
.
header
.
max_block_size
;
i
++
)
share
->
state
.
key_del
[
i
]
=
HA_OFFSET_ERROR
;
share
->
state
.
key_del
[
i
]
=
HA_OFFSET_ERROR
;
info
->
state
->
key_file_length
=
share
->
base
.
keystart
;
}
}
else
else
{
if
(
flush_key_blocks
(
share
->
kfile
,
FLUSH_FORCE_WRITE
))
goto
err
;
key_map
=
~
key_map
;
/* Create the missing keys */
key_map
=
~
key_map
;
/* Create the missing keys */
}
info
->
state
->
key_file_length
=
share
->
base
.
keystart
;
sort_info
->
info
=
info
;
sort_info
->
info
=
info
;
sort_info
->
param
=
param
;
sort_info
->
param
=
param
;
...
@@ -1758,6 +1764,7 @@ int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info,
...
@@ -1758,6 +1764,7 @@ int mi_repair_by_sort(MI_CHECK *param, register MI_INFO *info,
if
(
param
->
testflag
&
T_STATISTICS
)
if
(
param
->
testflag
&
T_STATISTICS
)
update_key_parts
(
sort_info
->
keyinfo
,
rec_per_key_part
,
sort_info
->
unique
,
update_key_parts
(
sort_info
->
keyinfo
,
rec_per_key_part
,
sort_info
->
unique
,
(
ulonglong
)
info
->
state
->
records
);
(
ulonglong
)
info
->
state
->
records
);
share
->
state
.
key_map
|=
(
ulonglong
)
1
<<
sort_info
->
key
;
if
(
sort_info
->
fix_datafile
)
if
(
sort_info
->
fix_datafile
)
{
{
...
@@ -2933,7 +2940,8 @@ void mi_dectivate_non_unique_index(MI_INFO *info, ha_rows rows)
...
@@ -2933,7 +2940,8 @@ void mi_dectivate_non_unique_index(MI_INFO *info, ha_rows rows)
MI_KEYDEF
*
key
=
share
->
keyinfo
;
MI_KEYDEF
*
key
=
share
->
keyinfo
;
for
(
i
=
0
;
i
<
share
->
base
.
keys
;
i
++
,
key
++
)
for
(
i
=
0
;
i
<
share
->
base
.
keys
;
i
++
,
key
++
)
{
{
if
(
!
(
key
->
flag
&
HA_NOSAME
)
&&
!
mi_too_big_key_for_sort
(
key
,
rows
))
if
(
!
(
key
->
flag
&
HA_NOSAME
)
&&
!
mi_too_big_key_for_sort
(
key
,
rows
)
&&
info
->
s
->
base
.
auto_key
!=
i
+
1
)
{
{
share
->
state
.
key_map
&=
~
((
ulonglong
)
1
<<
i
);
share
->
state
.
key_map
&=
~
((
ulonglong
)
1
<<
i
);
info
->
update
|=
HA_STATE_CHANGED
;
info
->
update
|=
HA_STATE_CHANGED
;
...
...
sql-bench/Makefile.am
View file @
2f450e4f
...
@@ -77,3 +77,6 @@ SUFFIXES = .sh
...
@@ -77,3 +77,6 @@ SUFFIXES = .sh
$<
>
$@
-t
$<
>
$@
-t
@
CHMOD@ +x
$@
-t
@
CHMOD@ +x
$@
-t
@
MV@
$@
-t
$@
@
MV@
$@
-t
$@
# Don't update the files from bitkeeper
%
::
SCCS/s.%
sql/Makefile.am
View file @
2f450e4f
...
@@ -124,3 +124,6 @@ sql_lex.o: lex_hash.h
...
@@ -124,3 +124,6 @@ sql_lex.o: lex_hash.h
#distclean:
#distclean:
# rm -f lex_hash.h
# rm -f lex_hash.h
# Don't update the files from bitkeeper
%
::
SCCS/s.%
sql/sql_insert.cc
View file @
2f450e4f
...
@@ -1154,7 +1154,6 @@ bool delayed_insert::handle_inserts(void)
...
@@ -1154,7 +1154,6 @@ bool delayed_insert::handle_inserts(void)
int
int
select_insert
::
prepare
(
List
<
Item
>
&
values
)
select_insert
::
prepare
(
List
<
Item
>
&
values
)
{
{
TABLE
*
form
=
table
;
DBUG_ENTER
(
"select_insert::prepare"
);
DBUG_ENTER
(
"select_insert::prepare"
);
save_time_stamp
=
table
->
time_stamp
;
save_time_stamp
=
table
->
time_stamp
;
...
@@ -1163,15 +1162,16 @@ select_insert::prepare(List<Item> &values)
...
@@ -1163,15 +1162,16 @@ select_insert::prepare(List<Item> &values)
if
(
fields
->
elements
)
if
(
fields
->
elements
)
{
{
restore_record
(
form
,
2
);
// Get empty record
restore_record
(
table
,
2
);
// Get empty record
}
}
else
else
form
->
record
[
0
][
0
]
=
form
->
record
[
2
][
0
];
// Fix delete marker
table
->
record
[
0
][
0
]
=
table
->
record
[
2
][
0
];
// Fix delete marker
form
->
next_number_field
=
form
->
found_next_number_field
;
table
->
next_number_field
=
table
->
found_next_number_field
;
thd
->
count_cuted_fields
=
1
;
/* calc cuted fields */
thd
->
count_cuted_fields
=
1
;
/* calc cuted fields */
thd
->
cuted_fields
=
0
;
thd
->
cuted_fields
=
0
;
if
(
info
.
handle_duplicates
!=
DUP_REPLACE
)
if
(
info
.
handle_duplicates
!=
DUP_REPLACE
)
form
->
file
->
extra
(
HA_EXTRA_WRITE_CACHE
);
table
->
file
->
extra
(
HA_EXTRA_WRITE_CACHE
);
table
->
file
->
deactivate_non_unique_index
((
ha_rows
)
0
);
DBUG_RETURN
(
0
);
DBUG_RETURN
(
0
);
}
}
...
@@ -1213,14 +1213,16 @@ bool select_insert::send_data(List<Item> &values)
...
@@ -1213,14 +1213,16 @@ bool select_insert::send_data(List<Item> &values)
void
select_insert
::
send_error
(
uint
errcode
,
const
char
*
err
)
void
select_insert
::
send_error
(
uint
errcode
,
const
char
*
err
)
{
{
::
send_error
(
&
thd
->
net
,
errcode
,
err
);
::
send_error
(
&
thd
->
net
,
errcode
,
err
);
VOID
(
table
->
file
->
extra
(
HA_EXTRA_NO_CACHE
));
table
->
file
->
extra
(
HA_EXTRA_NO_CACHE
);
table
->
file
->
activate_all_index
(
thd
);
}
}
bool
select_insert
::
send_eof
()
bool
select_insert
::
send_eof
()
{
{
int
error
;
int
error
;
if
((
error
=
table
->
file
->
extra
(
HA_EXTRA_NO_CACHE
)))
if
((
error
=
table
->
file
->
extra
(
HA_EXTRA_NO_CACHE
))
||
(
error
=
table
->
file
->
activate_all_index
(
thd
)))
{
{
table
->
file
->
print_error
(
error
,
MYF
(
0
));
table
->
file
->
print_error
(
error
,
MYF
(
0
));
::
send_error
(
&
thd
->
net
);
::
send_error
(
&
thd
->
net
);
...
...
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