summaryrefslogtreecommitdiff
path: root/ndb
diff options
context:
space:
mode:
authorunknown <pekka@mysql.com>2004-06-17 10:51:25 +0200
committerunknown <pekka@mysql.com>2004-06-17 10:51:25 +0200
commitbaee0670dafbdc564061c1c0d3db8a49ea82268b (patch)
tree7ea7214c086d2e7cc042d7fdfeb47482150e8330 /ndb
parent41c3dc082c7c520901bf15334bc46c7aa22ce96b (diff)
downloadmariadb-git-baee0670dafbdc564061c1c0d3db8a49ea82268b.tar.gz
tux optim 8 - store complete AttributeDescriptor (prepare for next step)
Diffstat (limited to 'ndb')
-rw-r--r--ndb/src/kernel/blocks/dbtux/Dbtux.hpp7
-rw-r--r--ndb/src/kernel/blocks/dbtux/DbtuxDebug.cpp2
-rw-r--r--ndb/src/kernel/blocks/dbtux/DbtuxMeta.cpp3
-rw-r--r--ndb/src/kernel/blocks/dbtux/Times.txt4
4 files changed, 9 insertions, 7 deletions
diff --git a/ndb/src/kernel/blocks/dbtux/Dbtux.hpp b/ndb/src/kernel/blocks/dbtux/Dbtux.hpp
index aed0d921d62..a3268c81cd4 100644
--- a/ndb/src/kernel/blocks/dbtux/Dbtux.hpp
+++ b/ndb/src/kernel/blocks/dbtux/Dbtux.hpp
@@ -318,10 +318,9 @@ private:
* Attribute metadata. Size must be multiple of word size.
*/
struct DescAttr {
- unsigned m_primaryAttrId : 16;
- unsigned m_typeId : 8;
- unsigned m_nullable : 1;
- unsigned pad1 : 7;
+ Uint32 m_attrDesc; // standard AttributeDescriptor
+ Uint16 m_primaryAttrId;
+ Uint16 m_typeId;
};
static const unsigned DescAttrSize = sizeof(DescAttr) >> 2;
diff --git a/ndb/src/kernel/blocks/dbtux/DbtuxDebug.cpp b/ndb/src/kernel/blocks/dbtux/DbtuxDebug.cpp
index f6a17a12d2e..c4931685305 100644
--- a/ndb/src/kernel/blocks/dbtux/DbtuxDebug.cpp
+++ b/ndb/src/kernel/blocks/dbtux/DbtuxDebug.cpp
@@ -264,9 +264,9 @@ NdbOut&
operator<<(NdbOut& out, const Dbtux::DescAttr& descAttr)
{
out << "[DescAttr " << hex << &descAttr;
+ out << " [attrDesc " << hex << descAttr.m_attrDesc;
out << " [primaryAttrId " << dec << descAttr.m_primaryAttrId << "]";
out << " [typeId " << dec << descAttr.m_typeId << "]";
- out << " [nullable " << dec << descAttr.m_nullable << "]";
out << "]";
return out;
}
diff --git a/ndb/src/kernel/blocks/dbtux/DbtuxMeta.cpp b/ndb/src/kernel/blocks/dbtux/DbtuxMeta.cpp
index 9e17f182798..0612f191830 100644
--- a/ndb/src/kernel/blocks/dbtux/DbtuxMeta.cpp
+++ b/ndb/src/kernel/blocks/dbtux/DbtuxMeta.cpp
@@ -181,10 +181,9 @@ Dbtux::execTUX_ADD_ATTRREQ(Signal* signal)
// define the attribute
DescEnt& descEnt = getDescEnt(indexPtr.p->m_descPage, indexPtr.p->m_descOff);
DescAttr& descAttr = descEnt.m_descAttr[attrId];
+ descAttr.m_attrDesc = req->attrDescriptor;
descAttr.m_primaryAttrId = req->primaryAttrId;
descAttr.m_typeId = req->extTypeInfo & 0xFF;
- descAttr.m_nullable = AttributeDescriptor::getNullable(req->attrDescriptor);
- descAttr.pad1 = 0;
#ifdef VM_TRACE
if (debugFlags & DebugMeta) {
debugOut << "Add frag " << fragPtr.i << " attr " << attrId << " " << descAttr << endl;
diff --git a/ndb/src/kernel/blocks/dbtux/Times.txt b/ndb/src/kernel/blocks/dbtux/Times.txt
index 2e0e58b6947..6e3caec0048 100644
--- a/ndb/src/kernel/blocks/dbtux/Times.txt
+++ b/ndb/src/kernel/blocks/dbtux/Times.txt
@@ -37,4 +37,8 @@ optim 6 mc02/a 42 ms 70 ms 66 pct
optim 7 mc02/a 42 ms 69 ms 61 pct
mc02/b 52 ms 106 ms 101 pct
+optim 8 mc02/a 42 ms 69 ms 62 pct
+ mc02/b 54 ms 104 ms 92 pct
+
+
vim: set et: