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
f7c8bd0e
Commit
f7c8bd0e
authored
Aug 17, 2002
by
monty@hundin.mysql.fi
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Portability fixes for 4.0.3 build.
Don't update MyISAM index file on UPDATE if index is not changed
parent
ca2e3aac
Changes
8
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
55 additions
and
23 deletions
+55
-23
.bzrignore
.bzrignore
+2
-0
Build-tools/Do-compile
Build-tools/Do-compile
+20
-12
Docs/manual.texi
Docs/manual.texi
+3
-1
include/my_semaphore.h
include/my_semaphore.h
+1
-1
innobase/configure.in
innobase/configure.in
+2
-0
myisam/mi_update.c
myisam/mi_update.c
+18
-5
mysys/my_pthread.c
mysys/my_pthread.c
+2
-3
sql/item_cmpfunc.cc
sql/item_cmpfunc.cc
+7
-1
No files found.
.bzrignore
View file @
f7c8bd0e
...
@@ -491,3 +491,5 @@ sql-bench/innotest1b
...
@@ -491,3 +491,5 @@ sql-bench/innotest1b
sql-bench/innotest2
sql-bench/innotest2
sql-bench/innotest2a
sql-bench/innotest2a
sql-bench/innotest2b
sql-bench/innotest2b
myisam/test2.MYD
myisam/test2.MYI
Build-tools/Do-compile
View file @
f7c8bd0e
...
@@ -75,6 +75,19 @@ $ENV{"PERL5LIB"}="$pwd/$host/perl5:$pwd/$host/perl5/site_perl";
...
@@ -75,6 +75,19 @@ $ENV{"PERL5LIB"}="$pwd/$host/perl5:$pwd/$host/perl5/site_perl";
$slave_port
=
$mysql_tcp_port
+
16
;
$slave_port
=
$mysql_tcp_port
+
16
;
$manager_port
=
$mysql_tcp_port
+
1
;
$manager_port
=
$mysql_tcp_port
+
1
;
if
(
$opt_stage
==
0
)
{
system
("
mkdir Logs
")
if
(
!
-
d
"
Logs
");
system
("
mv
$log
${log}
-old
")
if
(
-
f
$log
);
unlink
(
$log
);
}
open
(
LOG
,"
>>
$log
")
||
abort
("
Can't open log file, error $?
");
select
LOG
;
$|
=
1
;
select
STDOUT
;
$|
=
1
;
if
(
-
x
"
$host
/bin/mysqladmin
")
if
(
-
x
"
$host
/bin/mysqladmin
")
{
{
log_system
("
$host
/bin/mysqladmin --no-defaults -u root -S
$mysql_unix_port
-s shutdown
");
log_system
("
$host
/bin/mysqladmin --no-defaults -u root -S
$mysql_unix_port
-s shutdown
");
...
@@ -97,17 +110,8 @@ if ($opt_stage == 0)
...
@@ -97,17 +110,8 @@ if ($opt_stage == 0)
}
}
rm_all
("
$host
/test
");
rm_all
("
$host
/test
");
system
("
mkdir
$host
/test
")
if
(
!
-
d
"
$host
/test
");
system
("
mkdir
$host
/test
")
if
(
!
-
d
"
$host
/test
");
system
("
mkdir Logs
")
if
(
!
-
d
"
Logs
");
system
("
mv
$log
${log}
-old
")
if
(
-
f
$log
);
unlink
(
$log
);
}
}
open
(
LOG
,"
>>
$log
")
||
abort
("
Can't open log file, error $?
");
select
LOG
;
$|
=
1
;
select
STDOUT
;
$|
=
1
;
safe_cd
(
$host
);
safe_cd
(
$host
);
if
(
$opt_stage
==
0
&&
!
$opt_use_old_distribution
)
if
(
$opt_stage
==
0
&&
!
$opt_use_old_distribution
)
{
{
...
@@ -553,13 +557,17 @@ sub rm_all
...
@@ -553,13 +557,17 @@ sub rm_all
sub
kill_all
sub
kill_all
{
{
my
(
$pattern
)
=
@_
;
my
(
$pattern
)
=
@_
;
my
(
$USER
,
$BSD
,
$LINUX
,
$pscmd
,
$user
,
$pid
);
my
(
$USER
,
$BSD
,
$LINUX
,
$pscmd
,
$user
,
$pid
);
$user
=
$ENV
{'
USER
'};
$user
=
$ENV
{'
USER
'};
$BSD
=
-
f
'
/vmunix
'
||
$ENV
{"
OS
"}
eq
"
SunOS4
";
$BSD
=
-
f
'
/vmunix
'
||
$ENV
{"
OS
"}
eq
"
SunOS4
"
||
$^O
eq
'
darwin
'
;
$LINUX
=
$^O
eq
'
linux
';
$LINUX
=
$^O
eq
'
linux
';
$pscmd
=
$BSD
?
"
/bin/ps -auxww
"
:
$LINUX
?
"
/bin/ps axuw
"
:
"
/bin/ps -ef
";
$pscmd
=
$BSD
?
"
/bin/ps -auxww
"
:
$LINUX
?
"
/bin/ps axuw
"
:
"
/bin/ps -ef
";
open
(
PS
,
"
$pscmd
|
")
||
die
"
can't run
$pscmd
: $!
";
if
(
!
open
(
PS
,
"
$pscmd
|
"))
{
print
"
Warning: Can't run
$pscmd
: $!
\n
";
exit
;
}
# Catch any errors with eval. A bad pattern, for instance.
# Catch any errors with eval. A bad pattern, for instance.
process:
process:
...
...
Docs/manual.texi
View file @
f7c8bd0e
...
@@ -8828,7 +8828,7 @@ To get a core dump on Linux if @code{mysqld} dies with a @code{SIGSEGV} signal,
...
@@ -8828,7 +8828,7 @@ To get a core dump on Linux if @code{mysqld} dies with a @code{SIGSEGV} signal,
you can start @code{mysqld} with the @code{--core-file} option. Note
you can start @code{mysqld} with the @code{--core-file} option. Note
that you also probably need to raise the @code{core file size} by adding
that you also probably need to raise the @code{core file size} by adding
@code{ulimit -c 1000000} to @code{safe_mysqld} or starting
@code{ulimit -c 1000000} to @code{safe_mysqld} or starting
@code{safe_mysqld} with @code{--core-file-size
s
=1000000}.
@code{safe_mysqld} with @code{--core-file-size=1000000}.
@xref{safe_mysqld, , @code{safe_mysqld}}.
@xref{safe_mysqld, , @code{safe_mysqld}}.
If you are linking your own MySQL client and get the error:
If you are linking your own MySQL client and get the error:
...
@@ -50261,6 +50261,8 @@ each individual 4.0.x release.
...
@@ -50261,6 +50261,8 @@ each individual 4.0.x release.
@itemize @bullet
@itemize @bullet
@item
@item
Don't update MyISAM index file on update if not strictly necessary.
@item
Fixed bug in @code{SELECT DISTINCT ... FROM many_tables ORDER BY
Fixed bug in @code{SELECT DISTINCT ... FROM many_tables ORDER BY
not-used-column}.
not-used-column}.
@item
@item
include/my_semaphore.h
View file @
f7c8bd0e
...
@@ -34,7 +34,7 @@
...
@@ -34,7 +34,7 @@
C_MODE_START
C_MODE_START
#ifdef HAVE_SEMAPHORE_H
#ifdef HAVE_SEMAPHORE_H
#include <semaphore.h>
#include <semaphore.h>
#elif defined(__bsdi__)
#elif
!
defined(__bsdi__)
#ifdef __WIN__
#ifdef __WIN__
typedef
HANDLE
sem_t
;
typedef
HANDLE
sem_t
;
#else
#else
...
...
innobase/configure.in
View file @
f7c8bd0e
...
@@ -97,6 +97,8 @@ case "$target_os" in
...
@@ -97,6 +97,8 @@ case "$target_os" in
sysv5uw7*)
sysv5uw7*)
# Problem when linking on SCO
# Problem when linking on SCO
CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE";;
CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE";;
*-openbsd*)
CFLAGS="$CFLAGS -DUNIV_MUST_NOT_INLINE";;
esac
esac
case "$target" in
case "$target" in
...
...
myisam/mi_update.c
View file @
f7c8bd0e
...
@@ -83,8 +83,6 @@ int mi_update(register MI_INFO *info, const byte *oldrec, byte *newrec)
...
@@ -83,8 +83,6 @@ int mi_update(register MI_INFO *info, const byte *oldrec, byte *newrec)
/* Check which keys changed from the original row */
/* Check which keys changed from the original row */
new_key
=
info
->
lastkey2
;
new_key
=
info
->
lastkey2
;
key_changed
=
HA_STATE_KEY_CHANGED
;
/* We changed current database */
/* Remove key that didn't change */
changed
=
0
;
changed
=
0
;
for
(
i
=
0
;
i
<
share
->
base
.
keys
;
i
++
)
for
(
i
=
0
;
i
<
share
->
base
.
keys
;
i
++
)
{
{
...
@@ -93,7 +91,7 @@ int mi_update(register MI_INFO *info, const byte *oldrec, byte *newrec)
...
@@ -93,7 +91,7 @@ int mi_update(register MI_INFO *info, const byte *oldrec, byte *newrec)
/* The following code block is for text searching by SerG */
/* The following code block is for text searching by SerG */
if
(
share
->
keyinfo
[
i
].
flag
&
HA_FULLTEXT
)
if
(
share
->
keyinfo
[
i
].
flag
&
HA_FULLTEXT
)
{
{
if
(
_mi_ft_cmp
(
info
,
i
,
oldrec
,
newrec
))
if
(
_mi_ft_cmp
(
info
,
i
,
oldrec
,
newrec
))
{
{
if
((
int
)
i
==
info
->
lastinx
)
if
((
int
)
i
==
info
->
lastinx
)
key_changed
|=
HA_STATE_WRITTEN
;
key_changed
|=
HA_STATE_WRITTEN
;
...
@@ -121,11 +119,24 @@ int mi_update(register MI_INFO *info, const byte *oldrec, byte *newrec)
...
@@ -121,11 +119,24 @@ int mi_update(register MI_INFO *info, const byte *oldrec, byte *newrec)
}
}
}
}
}
}
if
(
changed
)
key_changed
|=
HA_STATE_KEY_CHANGED
;
if
(
share
->
calc_checksum
)
if
(
share
->
calc_checksum
)
{
info
->
checksum
=
(
*
share
->
calc_checksum
)(
info
,
newrec
);
info
->
checksum
=
(
*
share
->
calc_checksum
)(
info
,
newrec
);
if
((
*
share
->
update_record
)(
info
,
pos
,
newrec
))
key_changed
|=
HA_STATE_KEY_CHANGED
;
/* Must update index file */
goto
err
;
}
{
/* Don't update index file if data file is not extended */
MI_STATUS_INFO
state
;
memcpy
((
char
*
)
&
state
,
(
char
*
)
info
->
state
,
sizeof
(
state
));
if
((
*
share
->
update_record
)(
info
,
pos
,
newrec
))
goto
err
;
if
(
!
key_changed
&&
memcmp
((
char
*
)
&
state
,
(
char
*
)
info
->
state
,
sizeof
(
state
)))
key_changed
|=
HA_STATE_KEY_CHANGED
;
/* Must update index file */
}
if
(
auto_key_changed
)
if
(
auto_key_changed
)
update_auto_increment
(
info
,
newrec
);
update_auto_increment
(
info
,
newrec
);
if
(
share
->
calc_checksum
)
if
(
share
->
calc_checksum
)
...
@@ -147,6 +158,8 @@ int mi_update(register MI_INFO *info, const byte *oldrec, byte *newrec)
...
@@ -147,6 +158,8 @@ int mi_update(register MI_INFO *info, const byte *oldrec, byte *newrec)
err:
err:
DBUG_PRINT
(
"error"
,(
"key: %d errno: %d"
,
i
,
my_errno
));
DBUG_PRINT
(
"error"
,(
"key: %d errno: %d"
,
i
,
my_errno
));
save_errno
=
my_errno
;
save_errno
=
my_errno
;
if
(
changed
)
key_changed
|=
HA_STATE_KEY_CHANGED
;
if
(
my_errno
==
HA_ERR_FOUND_DUPP_KEY
||
my_errno
==
HA_ERR_RECORD_FILE_FULL
)
if
(
my_errno
==
HA_ERR_FOUND_DUPP_KEY
||
my_errno
==
HA_ERR_RECORD_FILE_FULL
)
{
{
info
->
errkey
=
(
int
)
i
;
info
->
errkey
=
(
int
)
i
;
...
...
mysys/my_pthread.c
View file @
f7c8bd0e
...
@@ -387,14 +387,13 @@ int pthread_signal(int sig, void (*func)())
...
@@ -387,14 +387,13 @@ int pthread_signal(int sig, void (*func)())
#undef pthread_mutex_destroy
#undef pthread_mutex_destroy
#undef pthread_mutex_wait
#undef pthread_mutex_wait
#undef pthread_mutex_timedwait
#undef pthread_mutex_timedwait
#undef pthread_mutex_trylock
#undef pthread_mutex_t
#undef pthread_mutex_t
#undef pthread_cond_init
#undef pthread_cond_wait
#undef pthread_cond_wait
#undef pthread_cond_timedwait
#undef pthread_cond_timedwait
#undef pthread_mutex_trylock
#undef pthread_mutex_t
#undef pthread_cond_t
#undef pthread_cond_t
/*****************************************************************************
/*****************************************************************************
** Patches for AIX and DEC OSF/1 3.2
** Patches for AIX and DEC OSF/1 3.2
*****************************************************************************/
*****************************************************************************/
...
...
sql/item_cmpfunc.cc
View file @
f7c8bd0e
...
@@ -37,10 +37,16 @@ longlong Item_func_not::val_int()
...
@@ -37,10 +37,16 @@ longlong Item_func_not::val_int()
return
!
null_value
&&
value
==
0
?
1
:
0
;
return
!
null_value
&&
value
==
0
?
1
:
0
;
}
}
/*
Convert a constant expression or string to an integer.
This is done when comparing DATE's of different formats and
also when comparing bigint to strings (in which case the string
is converted once to a bigint).
*/
static
bool
convert_constant_item
(
Field
*
field
,
Item
**
item
)
static
bool
convert_constant_item
(
Field
*
field
,
Item
**
item
)
{
{
if
((
*
item
)
->
const_item
())
if
((
*
item
)
->
const_item
()
&&
(
*
item
)
->
type
()
!=
Item
::
INT_ITEM
)
{
{
if
(
!
(
*
item
)
->
save_in_field
(
field
)
&&
if
(
!
(
*
item
)
->
save_in_field
(
field
)
&&
!
((
*
item
)
->
null_value
))
!
((
*
item
)
->
null_value
))
...
...
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