Hi,

I have a situation in a customer's database where he has a basically empty 
record that can't be deleted.

I traced through the code and found that CBL (1.4.1) is returning 
kCBLStatusNotFound when trying to delete (or even modify) the document.

Here's the relevant code being executed in CBL_SQLiteStorage.m (1728) in 

- (CBL_Revision*) addDocID: (NSString*)inDocID

                 prevRevID: (CBL_RevID*)inPrevRevID

                properties: (NSMutableDictionary*)properties

                  deleting: (BOOL)deleting

             allowConflict: (BOOL)allowConflict

           validationBlock: (CBL_StorageValidationBlock)validationBlock

                    status: (CBLStatus*)outStatus

                     error: (NSError**)outError


....

        SequenceNumber parentSequence = 0;

        if (prevRevID) {

            // Replacing: make sure given prevRevID is current & find its 
sequence number:

            if (isNewDoc)

                return kCBLStatusNotFound;

            parentSequence = [self getSequenceOfDocument: docNumericID 
revision: prevRevID

                                             onlyCurrent: !allowConflict];

            if (parentSequence == 0) {

                // Not found: kCBLStatusNotFound or a kCBLStatusConflict, 
depending on whether there is any current revision

                if (!allowConflict && [self existsDocumentWithID: docID 
revisionID: nil])

                    return kCBLStatusConflict;

                else

*                    return kCBLStatusNotFound;*

            }


In bold red is the line that's being executed.

Is there any way that I can get rid of this document even though the 
parentSequence is 0 and it falls through to the else statement? I just want 
to be able to delete it and move on. But it's preventing any documents in a 
batch transactions from being saved if this document appears in the 
transaction block being saved.


Thanks,

Brendan

-- 
You received this message because you are subscribed to the Google Groups 
"Couchbase Mobile" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/mobile-couchbase/30b121de-4ad3-4fe1-ad4d-75cf87e427ad%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to