Hi Eli, Probably the best way would be to look at the RemoveContactDetails trigger: https://git.merproject.org/mer-core/qtcontacts-sqlite/blob/master/src/engine/contactsdatabase.cpp#L353
If you can determine which contactId entries are from carddav sync target contacts, then you can use the remove trigger logic to remove all of the associated carddav data. (The out-of-band (OOB) table is slightly different but inspection should make it obvious which OOB entry relates to the carddav account.) Best regards, Chris. ________________________________ From: Devel [devel-boun...@lists.sailfishos.org] on behalf of E.S. Rosenberg [es.rosenberg+sailfishos....@gmail.com] Sent: Friday, March 03, 2017 6:23 AM To: Sailfish OS Developers Subject: Re: [SailfishDevel] [CardDAV] duplicate entries 2017-02-20 20:32 GMT+02:00 E.S. Rosenberg <es.rosenberg+sailfishos....@gmail.com<redir.aspx?REF=XPhgpaUhCVaazPDQGUtehHBlZzwBIOOJPiVMDqGtQNjbfSSE-2HUCAFtYWlsdG86ZXMucm9zZW5iZXJnK3NhaWxmaXNob3Mub3JnQGdtYWlsLmNvbQ..>>: 2017-02-20 12:54 GMT+02:00 E.S. Rosenberg <es.rosenberg+sailfishos....@gmail.com<redir.aspx?REF=XPhgpaUhCVaazPDQGUtehHBlZzwBIOOJPiVMDqGtQNjbfSSE-2HUCAFtYWlsdG86ZXMucm9zZW5iZXJnK3NhaWxmaXNob3Mub3JnQGdtYWlsLmNvbQ..>>: 2017-02-20 12:32 GMT+02:00 E.S. Rosenberg <es.rosenberg+sailfishos....@gmail.com<redir.aspx?REF=jWSfF8O4FhwExLwGbDMYv5SzUlADplYkA7XvkuIIexw_3yaE-2HUCAFtYWlsdG86ZXMucm9zZW5iZXJnK3NhaWxmaXNob3Mub3JnQGdtYWlsLmNvbQ..>>: 2017-02-20 3:41 GMT+02:00 Chris Adams <chris.ad...@jolla.com<redir.aspx?REF=iQpAk9G-1pOPPFH3h0hNAyFMRju0eKBXuH8zOfzydXA_3yaE-2HUCAFtYWlsdG86Y2hyaXMuYWRhbXNAam9sbGEuY29t>>: Hi Eli, Hi Chris, Sorry for top posting, but OWA doesn't quote properly. No problem.... Firstly, was_local contacts occur when a local (phone device) contact is aggregated into another contact which already had a local constituent. We only allow one single local constituent per aggregate contact, so one of them gets demoted to was_local. This can occur if you import from a .vcf or via Bluetooth, for example. Is there somewhere I can read more on this subject? If you can reproduce the duplication event and provide sync logs of that event (as per https://sailfishos.org/wiki/CalDAV_and_CardDAV_Community_Contributions#Sync_Logs<redir.aspx?REF=8QESkmYLDQIdVmp7XEcsPk_yUL_ew6HkmCoK-DHYPoQ_3yaE-2HUCAFodHRwczovL3NhaWxmaXNob3Mub3JnL3dpa2kvQ2FsREFWX2FuZF9DYXJkREFWX0NvbW11bml0eV9Db250cmlidXRpb25zI1N5bmNfTG9ncw..>) that would be helpful! I'll try. You should be able to delete the contacts from the database so long as you also delete any entries from the OOB table which relate to that CardDAV account. So I actually deleted very aggressively yesterday (all carddav and all google) but did not modify oob, which resulted in 0 contacts being read, however even restoring the backed up contacts.db file does not fix this issue. Any pointers what may be going wrong or where to look would be very welcome. Thanks, Eli Tiny additional update: >From digging through contacts.db it seems that it needs a lot more cleanup >then just the contacts table, tables with crazy counts: addresses, birthdays, avatars, deletedcontacts (~4k entries), details (>100k), emailaddresses, guids (~25k), organizations (~16k), phonenumbers (~56k), relationships (~25k), urls. Thanks, Eli It seems I made a mistake when restoring the backup I now again have all my contacts :) Now my first step I think is going to be to cleanly remove all carddav sync data, any pointers on that will be much appreciated (I assume I need to somehow cascade the delete into all the linked tables), when that is done I'll turn carddav back on and see if I can again trigger such a sync situation with logs. Thanks, Eli Hi Chris, Is there any chance you can provide a schematic overview of the contacts.db file of the different relations etc.? I really want to clean up but reverse engineering from column names is sub-ideal. Thanks, Eli Best regards, Chris. ________________________________ From: Devel [devel-boun...@lists.sailfishos.org<redir.aspx?REF=Ox-nx0ff5GgT_5qNkKWidas423U1IL-s8sJUKbwuYp8_3yaE-2HUCAFtYWlsdG86ZGV2ZWwtYm91bmNlc0BsaXN0cy5zYWlsZmlzaG9zLm9yZw..>] on behalf of E.S. Rosenberg [es.rosenberg+sailfishos....@gmail.com<redir.aspx?REF=bdmY5T2XOIki5RYjd7Qnnl_KiUFoeUTysvJ-7WRhmBU_3yaE-2HUCAFtYWlsdG86ZXMucm9zZW5iZXJnJTJCc2FpbGZpc2hvcy5vcmdAZ21haWwuY29t>] Sent: Monday, February 20, 2017 9:13 AM To: Sailfish OS Developers Subject: [SailfishDevel] [CardDAV] duplicate entries Hi everyone, Last week I noticed that my phone seems to have gone into similar behavior as I described a long time ago with google sync here: https://together.jolla.com/question/58416/fixing-the-contacts-db/<redir.aspx?REF=LwLZZ5noVQTKqMsF22dOPQq00HLUARDzfA1-J5n1jnA_3yaE-2HUCAFodHRwOi8vcmVkaXIuYXNweD9SRUY9QmtpblU2cHg5RnJNNTRkNmllbENlRFhDRDVESWlaZlZiY2J6ck0xdXpCSnM0VmlPTUZuVUNBRm9kSFJ3Y3pvdkwzUnZaMlYwYUdWeUxtcHZiR3hoTG1OdmJTOXhkV1Z6ZEdsdmJpODFPRFF4Tmk5bWFYaHBibWN0ZEdobExXTnZiblJoWTNSekxXUmlMdy4u> I currenlty have 26k entries in contacts.db for 9xx contacts. I suspect that this may be linked to a stage where I was connected via a filtered provider that tried to MITM the connection and caused it to close with an authentication error, I'm going to clean it up the same way I described there and turn carddav back on but I am wondering if anyone else has experienced similar issues. Is anyone aware of any reason not to just delete everything with syncTarget == carddav (or != local)? Thanks, Eli Stats: 987 aggregate 23128 carddav 1419 google 930 local 2 sim 65 telepathy 2 voicemail 3 was_local What does 'was_local' mean? _______________________________________________ SailfishOS.org Devel mailing list To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org<redir.aspx?REF=B6rHUtjGDFWxj3PjttvFsgbqUMXnpHIP6b1jNnXiNBw_3yaE-2HUCAFtYWlsdG86ZGV2ZWwtdW5zdWJzY3JpYmVAbGlzdHMuc2FpbGZpc2hvcy5vcmc.>
_______________________________________________ SailfishOS.org Devel mailing list To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org