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
9e924a49
Commit
9e924a49
authored
Nov 19, 2004
by
joreland@mysql.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
wl2077 - ndb scan optimizations
parent
15dab632
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
32 additions
and
14 deletions
+32
-14
ndb/src/kernel/blocks/dbdih/Dbdih.hpp
ndb/src/kernel/blocks/dbdih/Dbdih.hpp
+0
-1
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
+9
-11
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
+14
-0
ndb/test/ndbapi/testReadPerf.cpp
ndb/test/ndbapi/testReadPerf.cpp
+9
-2
No files found.
ndb/src/kernel/blocks/dbdih/Dbdih.hpp
View file @
9e924a49
...
@@ -147,7 +147,6 @@ public:
...
@@ -147,7 +147,6 @@ public:
Uint32
nfConnect
;
Uint32
nfConnect
;
Uint32
table
;
Uint32
table
;
Uint32
userpointer
;
Uint32
userpointer
;
Uint32
nodeCount
;
BlockReference
userblockref
;
BlockReference
userblockref
;
};
};
typedef
Ptr
<
ConnectRecord
>
ConnectRecordPtr
;
typedef
Ptr
<
ConnectRecord
>
ConnectRecordPtr
;
...
...
ndb/src/kernel/blocks/dbdih/DbdihMain.cpp
View file @
9e924a49
...
@@ -7080,24 +7080,22 @@ void Dbdih::execDIGETPRIMREQ(Signal* signal)
...
@@ -7080,24 +7080,22 @@ void Dbdih::execDIGETPRIMREQ(Signal* signal)
ndbrequire
(
tabPtr
.
p
->
tabStatus
==
TabRecord
::
TS_ACTIVE
);
ndbrequire
(
tabPtr
.
p
->
tabStatus
==
TabRecord
::
TS_ACTIVE
);
connectPtr
.
i
=
signal
->
theData
[
0
];
connectPtr
.
i
=
signal
->
theData
[
0
];
if
(
connectPtr
.
i
!=
RNIL
){
if
(
connectPtr
.
i
!=
RNIL
)
{
jam
();
jam
();
ptrCheckGuard
(
connectPtr
,
cconnectFileSize
,
connectRecord
);
ptrCheckGuard
(
connectPtr
,
cconnectFileSize
,
connectRecord
);
ndbrequire
(
connectPtr
.
p
->
connectState
==
ConnectRecord
::
INUSE
);
getFragstore
(
tabPtr
.
p
,
fragId
,
fragPtr
);
connectPtr
.
p
->
nodeCount
=
extractNodeInfo
(
fragPtr
.
p
,
connectPtr
.
p
->
nodes
);
signal
->
theData
[
0
]
=
connectPtr
.
p
->
userpointer
;
signal
->
theData
[
0
]
=
connectPtr
.
p
->
userpointer
;
signal
->
theData
[
1
]
=
passThrough
;
}
signal
->
theData
[
2
]
=
connectPtr
.
p
->
nodes
[
0
];
else
sendSignal
(
connectPtr
.
p
->
userblockref
,
GSN_DIGETPRIMCONF
,
signal
,
3
,
JBB
);
{
return
;
jam
();
}
//if
signal
->
theData
[
0
]
=
RNIL
;
//connectPtr.i == RNIL -> question without connect record
}
Uint32
nodes
[
MAX_REPLICAS
];
Uint32
nodes
[
MAX_REPLICAS
];
getFragstore
(
tabPtr
.
p
,
fragId
,
fragPtr
);
getFragstore
(
tabPtr
.
p
,
fragId
,
fragPtr
);
Uint32
count
=
extractNodeInfo
(
fragPtr
.
p
,
nodes
);
Uint32
count
=
extractNodeInfo
(
fragPtr
.
p
,
nodes
);
signal
->
theData
[
0
]
=
RNIL
;
signal
->
theData
[
1
]
=
passThrough
;
signal
->
theData
[
1
]
=
passThrough
;
signal
->
theData
[
2
]
=
nodes
[
0
];
signal
->
theData
[
2
]
=
nodes
[
0
];
signal
->
theData
[
3
]
=
nodes
[
1
];
signal
->
theData
[
3
]
=
nodes
[
1
];
...
...
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp
View file @
9e924a49
...
@@ -8944,6 +8944,20 @@ void Dbtc::execDIGETPRIMCONF(Signal* signal)
...
@@ -8944,6 +8944,20 @@ void Dbtc::execDIGETPRIMCONF(Signal* signal)
scanptr
.
i
=
scanFragptr
.
p
->
scanRec
;
scanptr
.
i
=
scanFragptr
.
p
->
scanRec
;
ptrCheckGuard
(
scanptr
,
cscanrecFileSize
,
scanRecord
);
ptrCheckGuard
(
scanptr
,
cscanrecFileSize
,
scanRecord
);
if
(
ScanFragReq
::
getReadCommittedFlag
(
scanptr
.
p
->
scanRequestInfo
))
{
jam
();
Uint32
max
=
3
+
signal
->
theData
[
6
];
Uint32
nodeid
=
getOwnNodeId
();
for
(
Uint32
i
=
3
;
i
<
max
;
i
++
)
if
(
signal
->
theData
[
i
]
==
nodeid
)
{
jam
();
tnodeid
=
nodeid
;
break
;
}
}
{
{
/**
/**
* Check table
* Check table
...
...
ndb/test/ndbapi/testReadPerf.cpp
View file @
9e924a49
...
@@ -391,8 +391,15 @@ run_read(){
...
@@ -391,8 +391,15 @@ run_read(){
void
void
print_result
(){
print_result
(){
int
tmp
=
1
;
tmp
*=
g_paramters
[
P_RANGE
].
value
;
tmp
*=
g_paramters
[
P_LOOPS
].
value
;
int
t
,
t2
;
for
(
int
i
=
0
;
i
<
P_OP_TYPES
;
i
++
){
for
(
int
i
=
0
;
i
<
P_OP_TYPES
;
i
++
){
g_err
.
println
(
"%s avg: %u us/row"
,
g_ops
[
i
],
g_err
<<
g_ops
[
i
]
<<
" avg: "
(
1000
*
g_times
[
i
])
/
(
g_paramters
[
P_RANGE
].
value
*
g_paramters
[
P_LOOPS
].
value
));
<<
(
int
)((
1000
*
g_times
[
i
])
/
tmp
)
<<
" us/row ("
<<
(
1000
*
tmp
)
/
g_times
[
i
]
<<
" rows / sec)"
<<
endl
;
}
}
}
}
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