summaryrefslogtreecommitdiff
path: root/storage/ndb/src/kernel/blocks/suma
diff options
context:
space:
mode:
authorunknown <jonas@perch.ndb.mysql.com>2007-11-14 11:52:40 +0100
committerunknown <jonas@perch.ndb.mysql.com>2007-11-14 11:52:40 +0100
commit90c05bd8e44c9680041017efd108c0c909927c5b (patch)
tree0f852574a82941b503548d9ac8a9fbcac9cf1d78 /storage/ndb/src/kernel/blocks/suma
parent7e7668e4b5c60e0f1824a85ea5de0d40d7373cc1 (diff)
downloadmariadb-git-90c05bd8e44c9680041017efd108c0c909927c5b.tar.gz
ndb - Add new dump 8011
which dumps all subscribers storage/ndb/src/kernel/blocks/suma/Suma.cpp: Add new dump 8011 which dumps all subscribers
Diffstat (limited to 'storage/ndb/src/kernel/blocks/suma')
-rw-r--r--storage/ndb/src/kernel/blocks/suma/Suma.cpp48
1 files changed, 48 insertions, 0 deletions
diff --git a/storage/ndb/src/kernel/blocks/suma/Suma.cpp b/storage/ndb/src/kernel/blocks/suma/Suma.cpp
index 7845b83693c..a4e886b14b6 100644
--- a/storage/ndb/src/kernel/blocks/suma/Suma.cpp
+++ b/storage/ndb/src/kernel/blocks/suma/Suma.cpp
@@ -974,6 +974,54 @@ Suma::execDUMP_STATE_ORD(Signal* signal){
}
return;
}
+
+ if (tCase == 8011)
+ {
+ jam();
+ Uint32 bucket = signal->theData[1];
+ KeyTable<Table>::Iterator it;
+ if (signal->getLength() == 1)
+ {
+ jam();
+ bucket = 0;
+ infoEvent("-- Starting dump of subscribers --");
+ }
+
+ c_tables.next(bucket, it);
+ const Uint32 RT_BREAK = 16;
+ for(Uint32 i = 0; i<RT_BREAK || it.bucket == bucket; i++)
+ {
+ jam();
+ if(it.curr.i == RNIL)
+ {
+ jam();
+ infoEvent("-- Ending dump of subscribers --");
+ return;
+ }
+
+ infoEvent("Table: %u ver: %u #n: %u (ref,data,subscritopn)",
+ it.curr.p->m_tableId,
+ it.curr.p->m_schemaVersion,
+ it.curr.p->n_subscribers);
+
+ Ptr<Subscriber> ptr;
+ LocalDLList<Subscriber> list(c_subscriberPool, it.curr.p->c_subscribers);
+ for (list.first(ptr); !ptr.isNull(); list.next(ptr), i++)
+ {
+ jam();
+ infoEvent(" [ %x %u %u ]",
+ ptr.p->m_senderRef,
+ ptr.p->m_senderData,
+ ptr.p->m_subPtrI);
+ }
+ c_tables.next(it);
+ }
+
+ signal->theData[0] = tCase;
+ signal->theData[1] = it.bucket;
+ sendSignalWithDelay(reference(), GSN_DUMP_STATE_ORD, signal, 100, 2);
+ return;
+ }
}
/*************************************************************