View Single Post
Old 01-25-2018, 01:02 PM   #1873
knc1
Going Viral
knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.knc1 ought to be getting tired of karma fortunes by now.
 
knc1's Avatar
 
Posts: 17,212
Karma: 18210809
Join Date: Feb 2012
Location: Central Texas
Device: No K1, PW2, KV, KOA
Quote:
Originally Posted by knc1 View Post
. . . . . . snip . . . . .

And then again...
Maybe it is user error:
http://www.sqlite.org/src/doc/trunk/ext/icu/README.txt

And then again...
So try following the sqlite.org directions, and:
Code:
[root@kindle local]# sqlite3 cc.db
SQLite version 3.7.14.1 2012-10-04 19:37:12
Enter ".help" for instructions
Enter SQL statements terminated with a ";"

sqlite> .dump Locale
PRAGMA foreign_keys=OFF;
BEGIN TRANSACTION;
CREATE TABLE Locale ( locale );
INSERT INTO "Locale" VALUES('en_US.utf8');
COMMIT;

sqlite> SELECT * FROM Locale;
en_US.utf8

sqlite> SELECT icu_load_collation('en_US.utf8', 'icu');
Error: no such function: icu_load_collation
sqlite>
????
Well, the answer to that one happens to be on the first line shown above.
SQLite version 3.7.14.1 2012-10-04 19:37:12
The ability to load a custom collation was first added to sqlite3, version 3.7.16

The current version is 3.21
My Ubuntu LTS has 3.20 installed.
So the most likely situation is the (?contractor?) person at Lab126 is doing all of s/he's work on a PC (with a current or nearly current version) and never checking their work on the Kindle.

Update:
The above was from 5.9.2 -
A similar problem exists on 5.3.7.3 (the oldest ts firmware version we support here).
I.E: The interactive sqlite3 can not delete records from cc.db for the same reason (the extension library might be able to but not the interactive).
After a week of handsprings:
Code:
[root@kindle local]# cp -a cc.db cc-test.db

[root@kindle local]# sqlite3 cc-test.db
SQLite version 3.21.0 2017-10-24 18:55:49
Enter ".help" for usage hints.

sqlite> SELECT * FROM Locale;
en_US.utf8

sqlite> SELECT icu_load_collation('en_US.utf8', 'icu');

sqlite> SELECT p_location FROM Entries WHERE p_location LIKE '%KUAL-KDK-2.0.azw2';
/mnt/us/documents/KUAL-KDK-2.0.azw2

sqlite> DELETE FROM Entries WHERE p_location LIKE '%KUAL-KDK-2.0.azw2';           
Error: no such function: is_journaling_enabled
sqlite>
???
No idea about that one, fixing it may take minutes or months - one of those 'm' words.

But at least our interactive version of kSQLite3 now understands every possible ICU collation in the world (as of December 13, 2017).

Last edited by knc1; 01-25-2018 at 08:33 PM.
knc1 is offline   Reply With Quote