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
881fd531
Commit
881fd531
authored
Apr 04, 2007
by
tomas@whalegate.ndb.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.0
into whalegate.ndb.mysql.com:/home/tomas/mysql-5.0-ndb
parents
31a8bfbe
33a99571
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
33 additions
and
11 deletions
+33
-11
ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp
ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp
+7
-0
ndb/src/mgmsrv/InitConfigFileParser.cpp
ndb/src/mgmsrv/InitConfigFileParser.cpp
+1
-1
sql/ha_ndbcluster.cc
sql/ha_ndbcluster.cc
+25
-10
No files found.
ndb/src/kernel/blocks/dbtup/DbtupPageMap.cpp
View file @
881fd531
...
@@ -452,6 +452,13 @@ Uint32 Dbtup::leafPageRangeFull(Fragrecord* const regFragPtr, PageRangePtr curr
...
@@ -452,6 +452,13 @@ Uint32 Dbtup::leafPageRangeFull(Fragrecord* const regFragPtr, PageRangePtr curr
ptrCheckGuard
(
parentPageRangePtr
,
cnoOfPageRangeRec
,
pageRange
);
ptrCheckGuard
(
parentPageRangePtr
,
cnoOfPageRangeRec
,
pageRange
);
if
(
parentPageRangePtr
.
p
->
currentIndexPos
<
3
)
{
if
(
parentPageRangePtr
.
p
->
currentIndexPos
<
3
)
{
ljam
();
ljam
();
if
(
c_noOfFreePageRanges
<
tiprNoLevels
)
{
ljam
();
return
RNIL
;
}
//if
/* ---------------------------------------------------------------- */
/* ---------------------------------------------------------------- */
/* WE HAVE FOUND AN EMPTY ENTRY IN A PAGE RANGE RECORD. */
/* WE HAVE FOUND AN EMPTY ENTRY IN A PAGE RANGE RECORD. */
/* ALLOCATE A NEW PAGE RANGE RECORD, FILL IN THE START RANGE, */
/* ALLOCATE A NEW PAGE RANGE RECORD, FILL IN THE START RANGE, */
...
...
ndb/src/mgmsrv/InitConfigFileParser.cpp
View file @
881fd531
...
@@ -657,7 +657,7 @@ InitConfigFileParser::store_in_properties(Vector<struct my_option>& options,
...
@@ -657,7 +657,7 @@ InitConfigFileParser::store_in_properties(Vector<struct my_option>& options,
if
(
options
[
i
].
var_type
==
GET_INT
)
if
(
options
[
i
].
var_type
==
GET_INT
)
ctx
.
m_currentSection
->
put
(
options
[
i
].
name
,
(
Uint32
)
value_int
);
ctx
.
m_currentSection
->
put
(
options
[
i
].
name
,
(
Uint32
)
value_int
);
else
else
ctx
.
m_currentSection
->
put
(
options
[
i
].
name
,
value_int
);
ctx
.
m_currentSection
->
put
64
(
options
[
i
].
name
,
value_int
);
}
}
}
}
return
true
;
return
true
;
...
...
sql/ha_ndbcluster.cc
View file @
881fd531
...
@@ -6695,7 +6695,8 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
...
@@ -6695,7 +6695,8 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
DBUG_RETURN
(
NULL
);
DBUG_RETURN
(
NULL
);
}
}
List
<
NDB_SHARE
>
util_open_tables
;
uint
share_list_size
=
0
;
NDB_SHARE
**
share_list
=
NULL
;
set_timespec
(
abstime
,
0
);
set_timespec
(
abstime
,
0
);
for
(;;)
for
(;;)
{
{
...
@@ -6725,7 +6726,22 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
...
@@ -6725,7 +6726,22 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
/* Lock mutex and fill list with pointers to all open tables */
/* Lock mutex and fill list with pointers to all open tables */
NDB_SHARE
*
share
;
NDB_SHARE
*
share
;
pthread_mutex_lock
(
&
ndbcluster_mutex
);
pthread_mutex_lock
(
&
ndbcluster_mutex
);
for
(
uint
i
=
0
;
i
<
ndbcluster_open_tables
.
records
;
i
++
)
uint
i
,
record_count
=
ndbcluster_open_tables
.
records
;
if
(
share_list_size
<
record_count
)
{
NDB_SHARE
**
new_share_list
=
new
NDB_SHARE
*
[
record_count
];
if
(
!
new_share_list
)
{
sql_print_warning
(
"ndb util thread: malloc failure, "
"query cache not maintained properly"
);
pthread_mutex_unlock
(
&
ndbcluster_mutex
);
goto
next
;
// At least do not crash
}
delete
[]
share_list
;
share_list_size
=
record_count
;
share_list
=
new_share_list
;
}
for
(
i
=
0
;
i
<
record_count
;
i
++
)
{
{
share
=
(
NDB_SHARE
*
)
hash_element
(
&
ndbcluster_open_tables
,
i
);
share
=
(
NDB_SHARE
*
)
hash_element
(
&
ndbcluster_open_tables
,
i
);
share
->
use_count
++
;
/* Make sure the table can't be closed */
share
->
use_count
++
;
/* Make sure the table can't be closed */
...
@@ -6734,14 +6750,14 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
...
@@ -6734,14 +6750,14 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
i
,
share
->
table_name
,
share
->
use_count
));
i
,
share
->
table_name
,
share
->
use_count
));
/* Store pointer to table */
/* Store pointer to table */
util_open_tables
.
push_back
(
share
)
;
share_list
[
i
]
=
share
;
}
}
pthread_mutex_unlock
(
&
ndbcluster_mutex
);
pthread_mutex_unlock
(
&
ndbcluster_mutex
);
/* Iterate through the open files list */
/* Iterate through the open files list */
List_iterator_fast
<
NDB_SHARE
>
it
(
util_open_tables
);
for
(
i
=
0
;
i
<
record_count
;
i
++
)
while
((
share
=
it
++
))
{
{
share
=
share_list
[
i
];
/* Split tab- and dbname */
/* Split tab- and dbname */
char
buf
[
FN_REFLEN
];
char
buf
[
FN_REFLEN
];
char
*
tabname
,
*
db
;
char
*
tabname
,
*
db
;
...
@@ -6790,10 +6806,7 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
...
@@ -6790,10 +6806,7 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
/* Decrease the use count and possibly free share */
/* Decrease the use count and possibly free share */
free_share
(
share
);
free_share
(
share
);
}
}
next:
/* Clear the list of open tables */
util_open_tables
.
empty
();
/* Calculate new time to wake up */
/* Calculate new time to wake up */
int
secs
=
0
;
int
secs
=
0
;
int
msecs
=
ndb_cache_check_time
;
int
msecs
=
ndb_cache_check_time
;
...
@@ -6816,6 +6829,8 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
...
@@ -6816,6 +6829,8 @@ pthread_handler_t ndb_util_thread_func(void *arg __attribute__((unused)))
}
}
}
}
if
(
share_list
)
delete
[]
share_list
;
thd
->
cleanup
();
thd
->
cleanup
();
delete
thd
;
delete
thd
;
delete
ndb
;
delete
ndb
;
...
...
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