| # Debugging Tools |
| ## Enable all verbose logs |
| Running `./logging.sh` will enable all verbose logs for the queries in the provider. |
| More details in the script itself. |
| |
| ## Querying the database |
| There are 2 different ways to easily query the database, `qc` and `contatcsproviderutils.sh`. |
| |
| ### QC usage |
| `qc` queries the deivce directly. For usage, append the query in single quotes after the command: |
| |
| e.g. |
| ``` |
| qc/qc 'select * from raw_contacts' |
| ``` |
| |
| or to get all the tables |
| ``` |
| qc/qc '.tables' |
| ``` |
| QC support SQLite language, but it might have some limitations working with complex nested queries. |
| |
| ### contactsproviderutils.sh usage |
| |
| This script downlaods the database locally and logins into a local version. It is also possible to push any change back to the device. |
| |
| * Add tools to path |
| ``` |
| source contactsproviderutils.sh |
| ``` |
| * Pull `contacts2.db` and query: |
| ``` |
| sqlite3-pull |
| ``` |
| This will open a sql terminal with `rlwrap` which can be easily used for queries. |
| * Pull `contacts2.db` and query with a graphical interface: |
| ``` |
| sqlitebrowser-pull |
| ``` |
| * Push local updates to the device: |
| ``` |
| sqlite3-push |
| ``` |
| |