## Environment Variables

There are a number of environment variables which affect the way that the libtracker-sparql library will do its work. Those environment variables are described here.

- TRACKER_SPARQL_BACKEND

  Backends for libtracker-sparql are dynamically loaded at run time. Currently there are only two backends which are explained more closely in the previous chapter. In short, this environment variable gives the client the ability to directly mandate which backend they want to use. The value can be set to either "direct" or "bus". A "direct" value means the direct access approach will be forced. A "bus" value means a D-Bus / IPC approach will be forced.

- TRACKER_SPARQL_MODULE_PATH

  As explained in the last paragraph, the backends are dynamically loaded at run time. The location for these backends is usually in a set place: $prefix/lib/tracker-$version/sparql-modules. This environment variable is mostly useful for the unit tests and general debugging to override this location.

- TRACKER_SPARQL_CACHE_SIZE

  Tracker caches database statements which occur frequently to make subsequent repeat queries much faster. The cache size is set to 100 by default for each type (select and update queries). This must be at least 2 as a minimum, any less and a value of 3 is used instead. The number represents the number of cached statements to keep around. This environment variable is used mainly for testing purposes.

  Tracker's store also has environment variables to control this behavior, see the manual pages for tracker-store regarding TRACKER_STORE_SELECT_CACHE_SIZE and TRACKER_STORE_UPDATE_CACHE_SIZE.

- TRACKER_VERBOSITY

  Historically, all queries would go through tracker-store and all requests would be logged according to the verbosity set in tracker-store.cfg (see manual pages for tracker-store.cfg). Since libtracker-sparql may circumvent tracker-store if using the direct access backend, this environment variable was added to let clients choose the log level. The same values apply to all other processes which have logging and a configuration to control it. Values range from 0 to 3, 0=errors, 1=minimal, 2=detailed, 3=debug. By default it is 0.