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

Reply via email to