<html><head></head><body>Yes, probably we could do this. The trouble is that for the first time running synchronization the desktop would then call this method with the complete list of changed contacts. Since it is first sync, it would be all of them, thus it would have the same problem.<br><br>So the simplest solution would be to just break it in to batches since this solves both cases. But what is a safe batch size?<br><br><div class="gmail_quote">On October 12, 2019 12:01:53 PM PDT, Albert Vaca Cintora <albertvaka@gmail.com> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">Or even, if we are requesting *all* the IDs, I guess we could remove<br>the `WHERE ID IN()` in that call?<br><br>On Sat, Oct 12, 2019 at 9:00 PM Albert Vaca Cintora<br><albertvaka@gmail.com> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padding-left: 1ex;"><br> Actually here is the call for all the IDs [1], the previous one only<br> requests a single ID.<br><br> <a href="https://invent.kde.org/kde/kdeconnect-android/blob/master/src/org/kde/kdeconnect/Plugins/ContactsPlugin/ContactsPlugin.java#L196">https://invent.kde.org/kde/kdeconnect-android/blob/master/src/org/kde/kdeconnect/Plugins/ContactsPlugin/ContactsPlugin.java#L196</a><br><br> On Sat, Oct 12, 2019 at 8:57 PM Albert Vaca Cintora<br> <albertvaka@gmail.com> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"><br> It looks like in getColumnsFromContactsForIDs [1] we are passing to<br> many IDs. A solution probably would be we could request them in<br> smaller batches.<br><br> <a href="https://invent.kde.org/kde/kdeconnect-android/blob/master/src/org/kde/kdeconnect/Plugins/ContactsPlugin/ContactsPlugin.java#L161">https://invent.kde.org/kde/kdeconnect-android/blob/master/src/org/kde/kdeconnect/Plugins/ContactsPlugin/ContactsPlugin.java#L161</a><br><br><br> On Sat, Oct 12, 2019 at 7:19 PM Simon Redman <simon@ergotech.com> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-left: 1ex;"><br> Hmm. I have no idea what is causing this (since it's below Android's<br> "we're totally not using a sqlite database" layer)<br><br> Is this reliably reproducible? (If so, how?)<br><br> On 10/12/19 8:48 AM, Aleix Pol wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; padding-left: 1ex;"> Hey Simon,<br> I was looking at adb logs, I saw this error, maybe you can take a look.<br><br> 10-12 17:36:27.053 29958  2983 E KDE/Device:<br> android.database.sqlite.SQLiteException: too many SQL variables (code<br> 1): , while compiling: SELECT lookup, contact_last_updated_timestamp<br> FROM view_contacts WHERE ((1)) AND (lookup<br> IN(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,<br> ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,<br> ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,<br> ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,<br> ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,<br> ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,<br> ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,<br> ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,<br> ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,<br> ?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?))<br> 10-12 17:36:27.053 29958  2983 E KDE/Device:    at<br> android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:179)<br> 10-12 17:36:27.053 29958  2983 E KDE/Device:    at<br> android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)<br> 10-12 17:36:27.053 29958  2983 E KDE/Device:    at<br> android.content.ContentProviderProxy.query(ContentProviderNative.java:418)<br> 10-12 17:36:27.053 29958  2983 E KDE/Device:    at<br> android.content.ContentResolver.query(ContentResolver.java:754)<br> 10-12 17:36:27.053 29958  2983 E KDE/Device:    at<br> android.content.ContentResolver.query(ContentResolver.java:704)<br> 10-12 17:36:27.053 29958  2983 E KDE/Device:    at<br> android.content.ContentResolver.query(ContentResolver.java:662)<br> 10-12 17:36:27.053 29958  2983 E KDE/Device:    at<br> org.kde.kdeconnect.Helpers.ContactsHelper.getColumnsFromContactsForIDs(ContactsHelper.java:307)<br> 10-12 17:36:27.053 29958  2983 E KDE/Device:    at<br> org.kde.kdeconnect.Plugins.ContactsPlugin.ContactsPlugin.handleRequestAllUIDsTimestamps(ContactsPlugin.java:196)<br> 10-12 17:36:27.053 29958  2983 E KDE/Device:    at<br> org.kde.kdeconnect.Plugins.ContactsPlugin.ContactsPlugin.onPacketReceived(ContactsPlugin.java:253)<br> 10-12 17:36:27.053 29958  2983 E KDE/Device:    at<br> org.kde.kdeconnect.Device.onPacketReceived(Device.java:569)<br> 10-12 17:36:27.053 29958  2983 E KDE/Device:    at<br> org.kde.kdeconnect.Backends.BaseLink.packageReceived(BaseLink.java:84)<br> 10-12 17:36:27.053 29958  2983 E KDE/Device:    at<br> org.kde.kdeconnect.Backends.LanBackend.LanLink.receivedNetworkPacket(LanLink.java:255)<br> 10-12 17:36:27.053 29958  2983 E KDE/Device:    at<br> org.kde.kdeconnect.Backends.LanBackend.LanLink.lambda$reset$0$LanLink(LanLink.java:109)<br> 10-12 17:36:27.053 29958  2983 E KDE/Device:    at<br> org.kde.kdeconnect.Backends.LanBackend.-$$Lambda$LanLink$TabvaCXA5qL_bcJDmIELWusNThw.run(Unknown<br> Source:4)<br> 10-12 17:36:27.053 29958  2983 E KDE/Device:    at<br> java.lang.Thread.run(Thread.java:764)<br></blockquote><br></blockquote></blockquote></blockquote></pre></blockquote></div></body></html>