sqlcipher/android-database-sqlcipher

PHONE_NUMBERS_EQUAL no longer works

Closed this issue · 12 comments

It seems that the PHONE_NUMBERS_EQUAL function from SQLite no longer works once the database is switched over to SQLCipher. It's throwing the following error:
info.guardianproject.datbase.sqlcipher.SQLiteException: no such function: PHONE NUMBERS EQUAL
The code was working correctly immediately before being switched to SQLCipher.
This might be an issue with SQLCipher or an issue with an extension that doesn't interact properly with SQLCipher as opposed to SQLite.

This is a known issue. We removed some of the phone/contact related functionality. This is now being tracked and we will keep you updated.

Is this functionality going to be added back at some point, or is it a permanent removal?

We are looking into that. Is is additional Android functionality that was added onto the normal SQLite db. SQLCipher is built-in on the standard SQLite, so we would need to patch in the Android changes. It is possible but we haven't done it yet, so I can't give you an exact timeframe this moment.

Keep this ticket open and I will update when we have more information. This has come up a few times, so we understand the use case.

@n8fr8: Do you have any suggestions for a work around in the mean time? I'd really like to start using SqlCipher

Also, I'm not very familiar with using the NDK but it looks like you already patched this function in, https://github.com/android/platform_external_sqlite/blob/master/android/sqlite3_android.cpp?

Which build have you tested on? I think our latest release does have this feature back in.

If not, we will have a new update for community testing very very soon. Thanks for your patience.

Not sure, it was about a month ago with the OP of this thread (SteveGryphn), we dev together. I'll give the current version a go and let you know.

I really appreciate your effort on this project btw.

We have a developer preview 3 release out now that should solve this:
https://github.com/downloads/guardianproject/android-database-sqlcipher/SQLCipherForAndroid-SDK-0.0.6-BETA-DP3.tar.gz

Please confirm.

It looks like the last release you guys put out did the trick. Thanks!

On Sun, Oct 30, 2011 at 11:33 PM, n8fr8 <
reply@reply.github.com>wrote:

We have a developer preview 3 release out now that should solve this:

https://github.com/downloads/guardianproject/android-database-sqlcipher/SQLCipherForAndroid-SDK-0.0.6-BETA-DP3.tar.gz

Please confirm.

Reply to this email directly or view it on GitHub:

https://github.com/guardianproject/android-database-sqlcipher/issues/15#issuecomment-2573246

check out my new Android app, www.awaytext.com

Has PHONE_NUMBERS_EQUAL been removed from 3.5.3 as well ? It was working fine with 3.4. Now, I see the following error :
net.sqlcipher.database.SQLiteException: no such function: PHONE_NUMBERS_EQUAL:

Hi @k-babu

Yes, that was removed during the upgrade of the library to support Android N, here is the release announcement.

Has PHONE_NUMBERS_EQUAL been removed from 3.5.9 as well ? What is the alternative for this ? what all functions are not supported by SqlCipher compared to android SQLite. Please confirm and let us know if it is already resolved. Thank you .

Hi @sahithivaddi

This was initially addressed above regarding the removal of PHONE_NUMBERS_EQUAL. You would likely need to build your own function for handling this using something like sqlite3_create_function, then load the function via the extension loading interface.