critical fixes
authoradam <adamansky@gmail.com>
Wed, 9 Jan 2013 15:31:49 +0000 (22:31 +0700)
committeradam <adamansky@gmail.com>
Wed, 9 Jan 2013 15:31:49 +0000 (22:31 +0700)
Changelog
node/ejdb.js
package.json
tcejdb/ejdb.c

index 095bf69..5885cf1 100644 (file)
--- a/Changelog
+++ b/Changelog
@@ -1,6 +1,9 @@
 2013-01-09 Anton Adamansky. <adamansky@gmail.com>
+    * Critical fixes in ejdb cli console
+    * Fix count(*) query optimization when OR predicates used
     * Collection should be automatically created for $upsert queries (ticket #32)
-    - Release 1.0.45
+    * Test cases are not executed during npm installation
+    - Release 1.0.46
 
 2013-01-09 Anton Adamansky. <adamansky@gmail.com>
     * Fixed crash on sorting (ticket #31)
index 3fa4f92..d367ec1 100644 (file)
@@ -245,7 +245,7 @@ function parseQueryArgs(args) {
     }
     next = args[i++];
     if (next !== undefined) {
-        if (next.constructor === Array) {
+        if (Array.isArray(next)) {
             orarr = next;
             next = args[i++];
         } else if (typeof next === "object") {
index 722cc64..620f069 100644 (file)
@@ -1,6 +1,6 @@
 {
     "name" : "ejdb",
-    "version" : "1.0.45",
+    "version" : "1.0.46",
     "main" : "node/ejdb.js",
     "homepage" : "http://ejdb.org",
     "description" : "EJDB - Embedded JSON Database engine",
@@ -33,8 +33,7 @@
     },
     "scripts" : {
         "preinstall" : "make all && node-gyp rebuild",
-        "test" : "make -f tests.mk check-all",
-        "postinstall" : "make -f tests.mk check"
+        "test" : "make -f tests.mk check-all"
     },
     "bin" : {
         "ejdb" : "node/bin/cli.js"
index 7f8b02f..5e4914c 100644 (file)
@@ -1950,7 +1950,7 @@ static TCLIST* _qryexecute(EJCOLL *jcoll, const EJQ *q, uint32_t *outcount, int
         for (int i = 0; i < ofsz; ++i) assert(ofs[i] != NULL);
     }
 
-    if ((ejq->flags & EJQONLYCOUNT) && qfsz == 0) { //primitive count(*) query
+    if ((ejq->flags & EJQONLYCOUNT) && qfsz == 0 && ejq->orqobjsnum == 0) { //primitive count(*) query
         count = jcoll->tdb->hdb->rnum;
         if (log) {
             tcxstrprintf(log, "SIMPLE COUNT(*): %u\n", count);