SQLiteLog Доступ к журналу или отправка по нему [Android] - PullRequest
0 голосов
/ 31 мая 2018

Есть ли способ получить доступ к SQLiteLog или, по крайней мере, передать ошибки, связанные с SQLite?

Я хотел бы автоматически отправлять любые ошибки, как показано ниже, чтобы я мог оптимизировать базу данных, добавивиндексы или внесение других изменений по мере необходимости.

E/SQLiteLog: (284) automatic index on messages(chat_id)

Вполне может быть, что я хотел бы только поймать код 284, а не получить все.Есть ли способ сделать это при сборке приложения, так как было бы полезно перейти к сбоям, чтобы помочь развитию в дальнейшем

1 Ответ

0 голосов
/ 01 июня 2018

Потенциальной альтернативой может быть выполнение запросов, начинающихся с EXPLAIN QUERY PLAN, а затем проверка на AUTOMATIC COVERING INDEX в результатах.

например

DROP TABLE IF EXISTS table1;
DROP TABLE IF EXISTS table2;
CREATE TABLE IF NOT EXISTS table1 (column1 TEXT, column2 TEXT);
CREATE TABLE IF NOT EXISTS table2 (column3, column4);

EXPLAIN QUERY PLAN 
SELECT * FROM table1, table2 WHERE column1=column3;

Результат: -

enter image description here

Как вы можете видеть, это основано на предикате числа строк, а не на фактическом количестве строк, так работает, если нет данных (как указано выше), которые могли бы быть полезными с точки зрения развития, в отличие от попыток перехвата на основе, как это происходит.

...