gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] [taler-wallet-webex] 07/07: idb: make test pass


From: gnunet
Subject: [GNUnet-SVN] [taler-wallet-webex] 07/07: idb: make test pass
Date: Tue, 25 Jun 2019 14:32:02 +0200

This is an automated email from the git hooks/post-receive script.

dold pushed a commit to branch master
in repository wallet-webex.

commit bf52d4b844cbcd9d6b7e25b5c4f004c8a3f0f891
Author: Florian Dold <address@hidden>
AuthorDate: Tue Jun 25 14:31:48 2019 +0200

    idb: make test pass
---
 packages/idb-bridge/src/MemoryBackend.ts | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/packages/idb-bridge/src/MemoryBackend.ts 
b/packages/idb-bridge/src/MemoryBackend.ts
index 694daacf..bd9b8996 100644
--- a/packages/idb-bridge/src/MemoryBackend.ts
+++ b/packages/idb-bridge/src/MemoryBackend.ts
@@ -780,16 +780,19 @@ export class MemoryBackend implements Backend {
       ) {
         let pos = forward ? 0 : indexEntry.primaryKeys.length - 1;
         console.log("number of primary keys", indexEntry.primaryKeys.length);
+        console.log("start pos is", pos);
         // Advance past the lastObjectStorePosition
         do {
           const cmpResult = compareKeys(
             req.lastObjectStorePosition,
             indexEntry.primaryKeys[pos],
           );
+          console.log("cmp result is", cmpResult);
           if ((forward && cmpResult < 0) || (!forward && cmpResult > 0)) {
             break;
           }
           pos += forward ? 1 : -1;
+          console.log("now pos is", pos);
         } while (pos >= 0 && pos < indexEntry.primaryKeys.length);
 
         // Make sure we're at least at advancedPrimaryPos
@@ -812,7 +815,8 @@ export class MemoryBackend implements Backend {
         primkeySubPos = forward ? 0 : indexEntry.primaryKeys.length - 1;
       }
 
-      console.log("pos=", primkeySubPos);
+      console.log("subPos=", primkeySubPos);
+      console.log("indexPos=", indexPos);
 
       while (1) {
         if (req.limit != 0 && numResults == req.limit) {
@@ -831,12 +835,13 @@ export class MemoryBackend implements Backend {
           primkeySubPos < 0 ||
           primkeySubPos >= indexEntry.primaryKeys.length
         ) {
-          console.log("moving subkey forward");
-          primkeySubPos = forward ? 0 : indexEntry.primaryKeys.length - 1;
-          const res = indexData.nextHigherPair(indexPos);
+          const res = forward
+            ? indexData.nextHigherPair(indexPos)
+            : indexData.nextLowerPair(indexPos);
           if (res) {
             indexPos = res[1].indexKey;
             indexEntry = res[1];
+            primkeySubPos = forward ? 0 : indexEntry.primaryKeys.length - 1;
           } else {
             break;
           }
@@ -862,9 +867,12 @@ export class MemoryBackend implements Backend {
           }
         }
         if (!skip) {
+          console.log(`not skipping!, subPos=${primkeySubPos}`);
           indexKeys.push(indexEntry.indexKey);
           primaryKeys.push(indexEntry.primaryKeys[primkeySubPos]);
           numResults++;
+        } else {
+          console.log("skipping!");
         }
         primkeySubPos += forward ? 1 : -1;
       }
@@ -873,6 +881,8 @@ export class MemoryBackend implements Backend {
       // if requested.
       if (req.resultLevel === ResultLevel.Full) {
         for (let i = 0; i < numResults; i++) {
+          console.log("getting value for index", i);
+          console.log("with key", primaryKeys[i]);
           const result = storeData.get(primaryKeys[i]);
           if (!result) {
             throw Error("invariant violated");

-- 
To stop receiving notification emails like this one, please contact
address@hidden.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]