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
5af87424
Commit
5af87424
authored
Feb 09, 2005
by
joreland@mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.0-ndb
into mysql.com:/home/jonas/src/mysql-5.0-ndb
parents
264bac2f
80b0974b
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
29 additions
and
21 deletions
+29
-21
ndb/src/kernel/vm/FastScheduler.cpp
ndb/src/kernel/vm/FastScheduler.cpp
+22
-20
sql/sql_parse.cc
sql/sql_parse.cc
+7
-1
No files found.
ndb/src/kernel/vm/FastScheduler.cpp
View file @
5af87424
...
@@ -85,7 +85,7 @@ FastScheduler::activateSendPacked()
...
@@ -85,7 +85,7 @@ FastScheduler::activateSendPacked()
void
void
FastScheduler
::
doJob
()
FastScheduler
::
doJob
()
{
{
Uint32
init_
loopCount
=
0
;
Uint32
loopCount
=
0
;
Uint32
TminLoops
=
getBOccupancy
()
+
EXTRA_SIGNALS_PER_DO_JOB
;
Uint32
TminLoops
=
getBOccupancy
()
+
EXTRA_SIGNALS_PER_DO_JOB
;
Uint32
TloopMax
=
(
Uint32
)
globalData
.
loopMax
;
Uint32
TloopMax
=
(
Uint32
)
globalData
.
loopMax
;
if
(
TminLoops
<
TloopMax
)
{
if
(
TminLoops
<
TloopMax
)
{
...
@@ -94,10 +94,9 @@ FastScheduler::doJob()
...
@@ -94,10 +94,9 @@ FastScheduler::doJob()
if
(
TloopMax
<
MIN_NUMBER_OF_SIG_PER_DO_JOB
)
{
if
(
TloopMax
<
MIN_NUMBER_OF_SIG_PER_DO_JOB
)
{
TloopMax
=
MIN_NUMBER_OF_SIG_PER_DO_JOB
;
TloopMax
=
MIN_NUMBER_OF_SIG_PER_DO_JOB
;
}
//if
}
//if
register
Signal
*
signal
=
getVMSignals
();
register
Uint32
tHighPrio
=
globalData
.
highestAvailablePrio
;
do
{
do
{
Uint32
loopCount
=
init_loopCount
;
register
Uint32
tHighPrio
=
globalData
.
highestAvailablePrio
;
register
Signal
*
signal
=
getVMSignals
();
while
((
tHighPrio
<
LEVEL_IDLE
)
&&
(
loopCount
<
TloopMax
))
{
while
((
tHighPrio
<
LEVEL_IDLE
)
&&
(
loopCount
<
TloopMax
))
{
// signal->garbage_register();
// signal->garbage_register();
// To ensure we find bugs quickly
// To ensure we find bugs quickly
...
@@ -155,24 +154,27 @@ FastScheduler::doJob()
...
@@ -155,24 +154,27 @@ FastScheduler::doJob()
}
//if
}
//if
loopCount
++
;
loopCount
++
;
}
//while
}
//while
if
(
globalData
.
sendPackedActivated
==
1
)
{
Uint32
t1
=
theDoJobTotalCounter
;
Uint32
t2
=
theDoJobCallCounter
;
t1
+=
(
loopCount
-
init_loopCount
);
t2
++
;
theDoJobTotalCounter
=
t1
;
theDoJobCallCounter
=
t2
;
if
(
t2
==
8192
)
{
reportDoJobStatistics
(
t1
>>
13
);
theDoJobCallCounter
=
0
;
theDoJobTotalCounter
=
0
;
}
//if
}
//if
init_loopCount
=
loopCount
;
sendPacked
();
sendPacked
();
tHighPrio
=
globalData
.
highestAvailablePrio
;
if
(
getBOccupancy
()
>
MAX_OCCUPANCY
)
{
if
(
loopCount
!=
TloopMax
)
abort
();
assert
(
loopCount
==
TloopMax
);
TloopMax
+=
512
;
}
}
while
((
getBOccupancy
()
>
MAX_OCCUPANCY
)
||
}
while
((
getBOccupancy
()
>
MAX_OCCUPANCY
)
||
((
init_loopCount
<
TloopMax
)
&&
((
loopCount
<
TloopMax
)
&&
(
globalData
.
highestAvailablePrio
<
LEVEL_IDLE
)));
(
tHighPrio
<
LEVEL_IDLE
)));
theDoJobCallCounter
++
;
theDoJobTotalCounter
+=
loopCount
;
if
(
theDoJobCallCounter
==
8192
)
{
reportDoJobStatistics
(
theDoJobTotalCounter
>>
13
);
theDoJobCallCounter
=
0
;
theDoJobTotalCounter
=
0
;
}
//if
}
//FastScheduler::doJob()
}
//FastScheduler::doJob()
void
FastScheduler
::
sendPacked
()
void
FastScheduler
::
sendPacked
()
...
...
sql/sql_parse.cc
View file @
5af87424
...
@@ -1310,7 +1310,7 @@ enum enum_mysql_completiontype {
...
@@ -1310,7 +1310,7 @@ enum enum_mysql_completiontype {
SAVEPOINT_NAME_ROLLBACK
=
2
,
SAVEPOINT_NAME_ROLLBACK
=
2
,
SAVEPOINT_NAME_RELEASE
=
4
,
SAVEPOINT_NAME_RELEASE
=
4
,
COMMIT_AND_CHAIN
=
6
,
COMMIT_AND_CHAIN
=
6
,
ROLLBACK_AND_CHAIN
=
7
,
ROLLBACK_AND_CHAIN
=
7
};
};
int
mysql_endtrans
(
THD
*
thd
,
enum
enum_mysql_completiontype
completion
,
int
mysql_endtrans
(
THD
*
thd
,
enum
enum_mysql_completiontype
completion
,
...
@@ -2234,7 +2234,9 @@ mysql_execute_command(THD *thd)
...
@@ -2234,7 +2234,9 @@ mysql_execute_command(THD *thd)
/* Locked closure of all tables */
/* Locked closure of all tables */
TABLE_LIST
*
locked_tables
=
NULL
;
TABLE_LIST
*
locked_tables
=
NULL
;
/* Saved variable value */
/* Saved variable value */
#ifdef HAVE_INNOBASE_DB
my_bool
old_innodb_table_locks
=
thd
->
variables
.
innodb_table_locks
;
my_bool
old_innodb_table_locks
=
thd
->
variables
.
innodb_table_locks
;
#endif
DBUG_ENTER
(
"mysql_execute_command"
);
DBUG_ENTER
(
"mysql_execute_command"
);
/*
/*
...
@@ -2330,7 +2332,9 @@ mysql_execute_command(THD *thd)
...
@@ -2330,7 +2332,9 @@ mysql_execute_command(THD *thd)
{
{
if
((
locked_tables
=
sp_hash_to_table_list
(
thd
,
&
lex
->
sptabs
)))
if
((
locked_tables
=
sp_hash_to_table_list
(
thd
,
&
lex
->
sptabs
)))
{
{
#ifdef HAVE_INNOBASE_DB
thd
->
variables
.
innodb_table_locks
=
FALSE
;
thd
->
variables
.
innodb_table_locks
=
FALSE
;
#endif
sp_open_and_lock_tables
(
thd
,
locked_tables
);
sp_open_and_lock_tables
(
thd
,
locked_tables
);
}
}
}
}
...
@@ -4346,7 +4350,9 @@ cleanup:
...
@@ -4346,7 +4350,9 @@ cleanup:
if
(
locked_tables
)
if
(
locked_tables
)
{
{
#ifdef HAVE_INNOBASE_DB
thd
->
variables
.
innodb_table_locks
=
old_innodb_table_locks
;
thd
->
variables
.
innodb_table_locks
=
old_innodb_table_locks
;
#endif
if
(
thd
->
locked_tables
)
if
(
thd
->
locked_tables
)
sp_unlock_tables
(
thd
);
sp_unlock_tables
(
thd
);
}
}
...
...
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