diff options
author | Dwight <dmerriman@gmail.com> | 2007-11-04 20:47:12 -0500 |
---|---|---|
committer | Dwight <dmerriman@gmail.com> | 2007-11-04 20:47:12 -0500 |
commit | 91237743715c5aea39f2bcaefc821273e94fefe1 (patch) | |
tree | b5249fa375197afb0974c39f90a5a6b7a35a1e09 /db/introspect.cpp | |
parent | 86e112ae8f8f638279b6343f1da733376e7460e7 (diff) | |
download | mongo-91237743715c5aea39f2bcaefc821273e94fefe1.tar.gz |
introspection
Diffstat (limited to 'db/introspect.cpp')
-rw-r--r-- | db/introspect.cpp | 26 |
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;
+ }
+}
|