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
d43b4a2a
Commit
d43b4a2a
authored
Nov 20, 2000
by
monty@donna.mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed performance bug in lock tables
parent
b355c2e9
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
12 additions
and
4 deletions
+12
-4
Docs/manual.texi
Docs/manual.texi
+8
-0
mysys/thr_lock.c
mysys/thr_lock.c
+3
-3
strings/llstr.c
strings/llstr.c
+1
-1
No files found.
Docs/manual.texi
View file @
d43b4a2a
...
@@ -38723,6 +38723,12 @@ though, so Version 3.23 is not released as a stable version yet.
...
@@ -38723,6 +38723,12 @@ though, so Version 3.23 is not released as a stable version yet.
@appendixsubsec Changes in release 3.23.28
@appendixsubsec Changes in release 3.23.28
@itemize @bullet
@itemize @bullet
@item
@item
Fixed a major performance bug in the table locking code when you
constantly had a LOT of @code{SELECT} running on a table on which you
also did a lot of @code{UPDATE} and @code{INSERT}. The symptom was that
the @code{UPDATE} and @code{INSERT} queries was locked a long time
while @code{SELECT} statements where executed without locks.
@item
One can now specify @code{interactive-timeout} in the option file that
One can now specify @code{interactive-timeout} in the option file that
is read by @code{mysql_options()}. This makes it possible to force
is read by @code{mysql_options()}. This makes it possible to force
programs that runs for a long time (like @code{mysqlhotcopy}) to use
programs that runs for a long time (like @code{mysqlhotcopy}) to use
...
@@ -43268,6 +43274,8 @@ Secure connections (with SSL).
...
@@ -43268,6 +43274,8 @@ Secure connections (with SSL).
@item
@item
Extend the optimizer to be able to optimize some
Extend the optimizer to be able to optimize some
@code{ORDER BY key_name DESC} queries.
@code{ORDER BY key_name DESC} queries.
@item
New key cache
@end itemize
@end itemize
@node TODO future, TODO sometime, TODO MySQL 4.0, TODO
@node TODO future, TODO sometime, TODO MySQL 4.0, TODO
mysys/thr_lock.c
View file @
d43b4a2a
...
@@ -653,7 +653,7 @@ void thr_unlock(THR_LOCK_DATA *data)
...
@@ -653,7 +653,7 @@ void thr_unlock(THR_LOCK_DATA *data)
data
->
type
=
TL_UNLOCK
;
/* Mark unlocked */
data
->
type
=
TL_UNLOCK
;
/* Mark unlocked */
check_locks
(
lock
,
"after releasing lock"
,
1
);
check_locks
(
lock
,
"after releasing lock"
,
1
);
if
(
!
lock
->
write
.
data
)
/* If no active
read
locks */
if
(
!
lock
->
write
.
data
)
/* If no active
write
locks */
{
{
data
=
lock
->
write_wait
.
data
;
data
=
lock
->
write_wait
.
data
;
if
(
!
lock
->
read
.
data
)
/* If no more locks in use */
if
(
!
lock
->
read
.
data
)
/* If no more locks in use */
...
@@ -742,7 +742,7 @@ void thr_unlock(THR_LOCK_DATA *data)
...
@@ -742,7 +742,7 @@ void thr_unlock(THR_LOCK_DATA *data)
data
->
next
->
prev
=
data
->
prev
;
data
->
next
->
prev
=
data
->
prev
;
else
else
lock
->
write_wait
.
last
=
data
->
prev
;
lock
->
write_wait
.
last
=
data
->
prev
;
(
*
lock
->
write
.
last
)
=
data
;
/* Put in execute list */
(
*
lock
->
write
.
last
)
=
data
;
/* Put in execute list */
data
->
prev
=
lock
->
write
.
last
;
data
->
prev
=
lock
->
write
.
last
;
lock
->
write
.
last
=
&
data
->
next
;
lock
->
write
.
last
=
&
data
->
next
;
data
->
next
=
0
;
/* Only one write lock */
data
->
next
=
0
;
/* Only one write lock */
...
@@ -756,7 +756,7 @@ void thr_unlock(THR_LOCK_DATA *data)
...
@@ -756,7 +756,7 @@ void thr_unlock(THR_LOCK_DATA *data)
(
lock_type
==
TL_WRITE_CONCURRENT_INSERT
||
(
lock_type
==
TL_WRITE_CONCURRENT_INSERT
||
lock_type
==
TL_WRITE_ALLOW_WRITE
));
lock_type
==
TL_WRITE_ALLOW_WRITE
));
}
}
else
if
(
lock
->
read_wait
.
data
)
else
if
(
!
data
&&
lock
->
read_wait
.
data
)
free_all_read_locks
(
lock
,
0
);
free_all_read_locks
(
lock
,
0
);
}
}
end:
end:
...
...
strings/llstr.c
View file @
d43b4a2a
...
@@ -31,6 +31,6 @@
...
@@ -31,6 +31,6 @@
char
*
llstr
(
longlong
value
,
char
*
buff
)
char
*
llstr
(
longlong
value
,
char
*
buff
)
{
{
longlong2str
(
value
,
buff
,
10
);
longlong2str
(
value
,
buff
,
-
10
);
return
buff
;
return
buff
;
}
}
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