diff options
-rw-r--r-- | db/db.cpp | 5 | ||||
-rw-r--r-- | db/dbclient.h | 1 | ||||
-rw-r--r-- | dbgrid/request.cpp | 11 |
3 files changed, 15 insertions, 2 deletions
diff --git a/db/db.cpp b/db/db.cpp index dd81da54412..49ae829ed1e 100644 --- a/db/db.cpp +++ b/db/db.cpp @@ -207,7 +207,10 @@ void receivedQuery(DbResponse& dbresponse, /*AbstractMessagingPort& dbMsgPort, * ss << " exception "; problem() << " Caught Assertion in runQuery ns:" << ns << ' ' << e.toString() << '\n'; log() << " ntoskip:" << ntoskip << " ntoreturn:" << ntoreturn << '\n'; - log() << " query:" << query.toString() << endl; + if( query.valid() ) + log() << " query:" << query.toString() << endl; + else + log() << " query object is not valid!" << endl; JSObjBuilder err; err.append("$err", e.msg.empty() ? "assertion during query" : e.msg); diff --git a/db/dbclient.h b/db/dbclient.h index d804b0ff65b..d437e065d30 100644 --- a/db/dbclient.h +++ b/db/dbclient.h @@ -106,6 +106,7 @@ class DBClientConnection : boost::noncopyable { auto_ptr<SockAddr> server; bool failed; // true if some sort of fatal error has ever happened public: + MessagingPort& port() { return p; } bool isFailed() const { return failed; } DBClientConnection() : failed(false) { } bool connect(const char *serverHostname, string& errmsg); diff --git a/dbgrid/request.cpp b/dbgrid/request.cpp index f5e40e18c28..1777cf05bab 100644 --- a/dbgrid/request.cpp +++ b/dbgrid/request.cpp @@ -27,7 +27,15 @@ void queryOp(Message& m, MessagingPort& p) { cout << "TEMP: " << ns << endl; - ScopedDbConnection c("localhost"); + ScopedDbConnection dbcon("localhost"); + DBClientConnection &c = dbcon.conn(); + + Message response; + bool ok = c.port().call(m, response); + uassert("dbgrid: error calling dbd", ok); +//p.reply + + dbcon.done(); } void writeOp(int op, Message& m, MessagingPort& p) {
@@ -49,6 +57,7 @@ void writeOp(int op, Message& m, MessagingPort& p) { void processRequest(Message& m, MessagingPort& p) { int op = m.data->operation(); if( op == dbQuery ) { + queryOp(m,p); } else { writeOp(op, m, p); |