Other options can be found in `meson_options.txt`. In meson you specify options
with the `-Doption` syntax to the setup subcommand, just like `-Dbuildtype`.
For example `-Dbase_url`.
For options of type `feature` (see inside `meson_options.txt`) possible values
are: `enabled`, `disabled`, `auto`. A short description of each:
*`enabled` the feature must be compiled in, configuration will fail if dependencies are missing
*`disabled` the feature is disabled
*`auto` the feature will only be compiled in if the required dependencies are present on the system
For more informations please read the meson [documentation](https://mesonbuild.com/Build-options.html#features).
Details about supported options:
*`base_url` allows you to change the url of the remote API address (mostly useful when debugging)
*`def_sqlite_db_name` this is the default value for the `db_path` option in the config file
*`tests` enable building tests (currently it only has effect on some subprojects)
*`with_sqlite` if you want to compile with SQLite support (this is the only available backend at the moment)
*`rest_lib` which method will be used to access the remote API. `nap` is the internal one (curl+simdjson). `restc-cpp` is currently broken due to a [bug](https://github.com/jgaa/restc-cpp/issues/101) upstream
*`with_lzma` adds support for JSON logs compression (option `json_store_mode=xz` in the config file)
This is a collection of tricks, commands and SQL queries that you might find helpful.
### Exporting JSON to file ###
If you saved JSON data to the database in compressed format (`store_raw_json=true` and `json_store_mode=xz`) you can export them to separate files with the following bash command (assuming current directory contains a originsro.db3 DB):
done <<(sqlite3 ../debug/originsro.db3 'select source from source_store where format=2')
```
This will not export plain uncompressed JSON (`format=1`)
### Getting min/max price of each item on the market now ###
With this query you can retrieve the min and max price of each item currently being sold (assuming database is up to date), along with their names, the name of the shop selling them and the total count of items of that type across all shops and all prices. Note that refined equipment or equipment with cards are considered to be all equivalent to the plain item.
```
SELECT title, name, MIN(price) AS min_price, MAX(price) AS max_price, SUM(amount) AS amount FROM (
"Currently open" means shops seen on the same date the most recent shop was seen. In my current case my database was last updated 6 hours ago, this means I'm seeing the list of items that were being sold 6 hours ago.
### Estimate JSON storage size ###
This returns an estimate in MiB of the total storage occupied by the saved JSON data
SELECT ROUND(CAST(SUM(pgsize) AS REAL)/(1024.0*1024.0), 2) FROM dbstat WHERE name='source_store'
```
### Deleting JSON logs ###
You can delete the stored JSON whenever you want. It is adviced that you also set all `source_id` references to 0 in order to avoid wrong references to the new JSON logs getting stored in the future: