From 922e712eb2a87d1d31a88e4cbbe43eaebaa9c009 Mon Sep 17 00:00:00 2001 From: Yoonsoo Kim Date: Thu, 24 Jun 2021 04:46:41 +0000 Subject: SERVER-57462 Change the shell to use OP_MSG for exhaust queries instead of OP_QUERY --- src/mongo/scripting/mozjs/cursor.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'src/mongo/scripting/mozjs/cursor.cpp') diff --git a/src/mongo/scripting/mozjs/cursor.cpp b/src/mongo/scripting/mozjs/cursor.cpp index f90bcb924db..23cb6fd7082 100644 --- a/src/mongo/scripting/mozjs/cursor.cpp +++ b/src/mongo/scripting/mozjs/cursor.cpp @@ -41,7 +41,7 @@ namespace mongo { namespace mozjs { -const JSFunctionSpec CursorInfo::methods[8] = { +const JSFunctionSpec CursorInfo::methods[9] = { MONGO_ATTACH_JS_CONSTRAINED_METHOD_NO_PROTO(close, CursorInfo), MONGO_ATTACH_JS_CONSTRAINED_METHOD_NO_PROTO(hasNext, CursorInfo), MONGO_ATTACH_JS_CONSTRAINED_METHOD_NO_PROTO(next, CursorInfo), @@ -49,6 +49,7 @@ const JSFunctionSpec CursorInfo::methods[8] = { MONGO_ATTACH_JS_CONSTRAINED_METHOD_NO_PROTO(getId, CursorInfo), MONGO_ATTACH_JS_CONSTRAINED_METHOD_NO_PROTO(readOnly, CursorInfo), MONGO_ATTACH_JS_CONSTRAINED_METHOD_NO_PROTO(isClosed, CursorInfo), + MONGO_ATTACH_JS_CONSTRAINED_METHOD_NO_PROTO(hasMoreToCome, CursorInfo), JS_FS_END, }; @@ -151,5 +152,16 @@ void CursorInfo::Functions::isClosed::call(JSContext* cx, JS::CallArgs args) { args.rval().setBoolean(cursor->isDead()); } +void CursorInfo::Functions::hasMoreToCome::call(JSContext* cx, JS::CallArgs args) { + auto cursor = getCursor(args); + + if (!cursor) { + args.rval().setBoolean(false); + return; + } + + args.rval().setBoolean(cursor->hasMoreToCome()); +} + } // namespace mozjs } // namespace mongo -- cgit v1.2.1