summaryrefslogtreecommitdiff
path: root/db/introspect.cpp
diff options
context:
space:
mode:
authorDwight <dmerriman@gmail.com>2007-11-04 20:47:12 -0500
committerDwight <dmerriman@gmail.com>2007-11-04 20:47:12 -0500
commit91237743715c5aea39f2bcaefc821273e94fefe1 (patch)
treeb5249fa375197afb0974c39f90a5a6b7a35a1e09 /db/introspect.cpp
parent86e112ae8f8f638279b6343f1da733376e7460e7 (diff)
downloadmongo-91237743715c5aea39f2bcaefc821273e94fefe1.tar.gz
introspection
Diffstat (limited to 'db/introspect.cpp')
-rw-r--r--db/introspect.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/db/introspect.cpp b/db/introspect.cpp
new file mode 100644
index 00000000000..785e93c2caa
--- /dev/null
+++ b/db/introspect.cpp
@@ -0,0 +1,26 @@
+// introspect.cpp
+
+#include "stdafx.h"
+#include "introspect.h"
+#include "../util/builder.h"
+#include "pdfile.h"
+#include "jsobj.h"
+#include "pdfile.h"
+
+typedef map<string,Cursor*> StringToCursor;
+StringToCursor *specialNamespaces;
+
+auto_ptr<Cursor> getSpecialCursor(const char *ns) {
+ StringToCursor::iterator it = specialNamespaces->find(ns);
+ return auto_ptr<Cursor>
+ (it == specialNamespaces->end() ?
+ 0 : it->second->clone());
+}
+
+void SingleResultObjCursor::reg(const char *as) {
+ if( specialNamespaces == 0 )
+ specialNamespaces = new StringToCursor();
+ if( specialNamespaces->count(as) == 0 ) {
+ (*specialNamespaces)[as] = this;
+ }
+}