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
16a32bc2
Commit
16a32bc2
authored
Sep 03, 2006
by
jonas@perch.ndb.mysql.com
Browse files
Options
Browse Files
Download
Plain Diff
Merge joreland@bk-internal.mysql.com:/home/bk/mysql-5.1-new-ndb
into perch.ndb.mysql.com:/home/jonas/src/mysql-5.1-new-ndb
parents
454d5454
5a78db3d
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
43 additions
and
28 deletions
+43
-28
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
+2
-2
storage/ndb/src/kernel/blocks/restore.cpp
storage/ndb/src/kernel/blocks/restore.cpp
+19
-21
storage/ndb/src/kernel/vm/KeyTable2Ref.hpp
storage/ndb/src/kernel/vm/KeyTable2Ref.hpp
+18
-4
storage/ndb/src/kernel/vm/Pool.hpp
storage/ndb/src/kernel/vm/Pool.hpp
+4
-1
No files found.
storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp
View file @
16a32bc2
...
...
@@ -7295,7 +7295,7 @@ void Dbdict::execGET_TABINFOREQ(Signal* signal)
if
(
objEntry
->
m_tableType
==
DictTabInfo
::
Datafile
)
{
jam
();
GetTabInfoReq
*
req
=
(
GetTabInfoReq
*
)
signal
->
theData
;
GetTabInfoReq
*
req
=
(
GetTabInfoReq
*
)
signal
->
getDataPtrSend
()
;
req
->
senderData
=
c_retrieveRecord
.
retrievePage
;
req
->
senderRef
=
reference
();
req
->
requestType
=
GetTabInfoReq
::
RequestById
;
...
...
@@ -7307,7 +7307,7 @@ void Dbdict::execGET_TABINFOREQ(Signal* signal)
else
if
(
objEntry
->
m_tableType
==
DictTabInfo
::
LogfileGroup
)
{
jam
();
GetTabInfoReq
*
req
=
(
GetTabInfoReq
*
)
signal
->
theData
;
GetTabInfoReq
*
req
=
(
GetTabInfoReq
*
)
signal
->
getDataPtrSend
()
;
req
->
senderData
=
c_retrieveRecord
.
retrievePage
;
req
->
senderRef
=
reference
();
req
->
requestType
=
GetTabInfoReq
::
RequestById
;
...
...
storage/ndb/src/kernel/blocks/restore.cpp
View file @
16a32bc2
...
...
@@ -57,6 +57,8 @@ Restore::Restore(Block_context& ctx) :
addRecSignal
(
GSN_LQHKEYREF
,
&
Restore
::
execLQHKEYREF
);
addRecSignal
(
GSN_LQHKEYCONF
,
&
Restore
::
execLQHKEYCONF
);
ndbrequire
(
sizeof
(
Column
)
==
8
);
}
Restore
::~
Restore
()
...
...
@@ -794,10 +796,10 @@ Restore::parse_table_description(Signal* signal, FilePtr file_ptr,
return
;
}
DataBuffer
<
15
>
variable
(
m_databuffer_pool
);
Uint32
null_offset
=
0
;
union
{
Column
c
;
Uint32
_align
[
2
];};
Column
c
;
Uint32
colstore
[
sizeof
(
Column
)
/
sizeof
(
Uint32
)];
for
(
Uint32
i
=
0
;
i
<
tmpTab
.
NoOfAttributes
;
i
++
)
{
jam
();
DictTabInfo
::
Attribute
tmp
;
tmp
.
init
();
...
...
@@ -814,10 +816,6 @@ Restore::parse_table_description(Signal* signal, FilePtr file_ptr,
const
Uint32
sz32
=
(
sz
*
arr
+
31
)
>>
5
;
const
bool
varsize
=
tmp
.
AttributeArrayType
!=
NDB_ARRAYTYPE_FIXED
;
union
{
Column
c
;
Uint32
_align
[
2
];
};
c
.
m_id
=
tmp
.
AttributeId
;
c
.
m_size
=
sz32
;
c
.
m_flags
=
(
tmp
.
AttributeKeyFlag
?
Column
::
COL_KEY
:
0
);
...
...
@@ -836,22 +834,19 @@ Restore::parse_table_description(Signal* signal, FilePtr file_ptr,
if
(
!
tmp
.
AttributeNullableFlag
&&
!
varsize
)
{
if
(
!
columns
.
append
(
_align
,
sizeof
(
Column
)
/
sizeof
(
Uint32
)))
{
parse_error
(
signal
,
file_ptr
,
__LINE__
,
i
);
return
;
}
}
else
if
(
true
)
// null mask dropped in 5.1
{
c
.
m_flags
|=
(
varsize
?
Column
::
COL_VAR
:
0
);
c
.
m_flags
|=
(
tmp
.
AttributeNullableFlag
?
Column
::
COL_NULL
:
0
);
if
(
!
columns
.
append
(
_align
,
sizeof
(
Column
)
/
sizeof
(
Uint32
)))
{
parse_error
(
signal
,
file_ptr
,
__LINE__
,
i
);
return
;
}
}
memcpy
(
colstore
,
&
c
,
sizeof
(
Column
));
if
(
!
columns
.
append
(
colstore
,
sizeof
(
Column
)
/
sizeof
(
Uint32
)))
{
parse_error
(
signal
,
file_ptr
,
__LINE__
,
i
);
return
;
}
}
if
(
lcp
)
...
...
@@ -861,7 +856,8 @@ Restore::parse_table_description(Signal* signal, FilePtr file_ptr,
c
.
m_id
=
AttributeHeader
::
DISK_REF
;
c
.
m_size
=
2
;
c
.
m_flags
=
0
;
if
(
!
columns
.
append
(
_align
,
sizeof
(
Column
)
/
sizeof
(
Uint32
)))
memcpy
(
colstore
,
&
c
,
sizeof
(
Column
));
if
(
!
columns
.
append
(
colstore
,
sizeof
(
Column
)
/
sizeof
(
Uint32
)))
{
parse_error
(
signal
,
file_ptr
,
__LINE__
,
0
);
return
;
...
...
@@ -872,7 +868,8 @@ Restore::parse_table_description(Signal* signal, FilePtr file_ptr,
c
.
m_id
=
AttributeHeader
::
ROWID
;
c
.
m_size
=
2
;
c
.
m_flags
=
0
;
if
(
!
columns
.
append
(
_align
,
sizeof
(
Column
)
/
sizeof
(
Uint32
)))
memcpy
(
colstore
,
&
c
,
sizeof
(
Column
));
if
(
!
columns
.
append
(
colstore
,
sizeof
(
Column
)
/
sizeof
(
Uint32
)))
{
parse_error
(
signal
,
file_ptr
,
__LINE__
,
0
);
return
;
...
...
@@ -884,7 +881,8 @@ Restore::parse_table_description(Signal* signal, FilePtr file_ptr,
c
.
m_id
=
AttributeHeader
::
ROW_GCI
;
c
.
m_size
=
2
;
c
.
m_flags
=
0
;
if
(
!
columns
.
append
(
_align
,
sizeof
(
Column
)
/
sizeof
(
Uint32
)))
memcpy
(
colstore
,
&
c
,
sizeof
(
Column
));
if
(
!
columns
.
append
(
colstore
,
sizeof
(
Column
)
/
sizeof
(
Uint32
)))
{
parse_error
(
signal
,
file_ptr
,
__LINE__
,
0
);
return
;
...
...
@@ -942,7 +940,7 @@ Restore::parse_record(Signal* signal, FilePtr file_ptr,
Uint32
*
attrData
=
attr_start
;
union
{
Column
c
;
Uint32
_align
[
2
];
Uint32
_align
[
sizeof
(
Column
)
/
sizeof
(
Uint32
)
];
};
bool
disk
=
false
;
bool
rowid
=
false
;
...
...
storage/ndb/src/kernel/vm/KeyTable2Ref.hpp
View file @
16a32bc2
...
...
@@ -32,19 +32,33 @@ public:
bool
find
(
Ptr
<
T
>&
ptr
,
Uint32
key
)
const
{
U
rec
;
rec
.
key
=
key
;
return
m_ref
.
find
(
*
(
Ptr
<
U
>*
)
&
ptr
,
rec
);
Ptr
<
U
>
tmp
;
bool
ret
=
m_ref
.
find
(
tmp
,
rec
);
ptr
.
i
=
tmp
.
i
;
ptr
.
p
=
static_cast
<
T
*>
(
tmp
.
p
);
return
ret
;
}
bool
seize
(
Ptr
<
T
>
&
ptr
)
{
return
m_ref
.
seize
(
*
(
Ptr
<
U
>*
)
&
ptr
);
Ptr
<
U
>
tmp
;
bool
ret
=
m_ref
.
seize
(
tmp
);
ptr
.
i
=
tmp
.
i
;
ptr
.
p
=
static_cast
<
T
*>
(
tmp
.
p
);
return
ret
;
}
void
add
(
Ptr
<
T
>
&
ptr
)
{
m_ref
.
add
(
*
(
Ptr
<
U
>*
)
&
ptr
);
Ptr
<
U
>
tmp
;
tmp
.
i
=
ptr
.
i
;
tmp
.
p
=
static_cast
<
U
*>
(
ptr
.
p
);
m_ref
.
add
(
tmp
);
}
void
release
(
Ptr
<
T
>
&
ptr
)
{
m_ref
.
release
(
*
(
Ptr
<
U
>*
)
&
ptr
);
Ptr
<
U
>
tmp
;
tmp
.
i
=
ptr
.
i
;
tmp
.
p
=
static_cast
<
U
*>
(
ptr
.
p
);
m_ref
.
release
(
tmp
);
}
};
...
...
storage/ndb/src/kernel/vm/Pool.hpp
View file @
16a32bc2
...
...
@@ -324,7 +324,10 @@ inline
void
RecordPool
<
T
,
P
>::
release
(
Ptr
<
T
>
ptr
)
{
m_pool
.
release
(
*
(
Ptr
<
void
>*
)
&
ptr
);
Ptr
<
void
>
tmp
;
tmp
.
i
=
ptr
.
i
;
tmp
.
p
=
ptr
.
p
;
m_pool
.
release
(
tmp
);
}
#endif
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