The application sends a user-asked query to the sqlite database (the database scheme). Due to the database type, it is impossible to make use of all the properties of the SQL language (for specificities of the query language in sqlite, see here. In order to make the query process as easy as possible, we have done our best to divide data into a minimal number of tables. The application is extended with a library sqlite3-pcre, which provides support for regular expressions (REGEXP) in the form of the Perl programming language.
The queries are put in the database asynchronously. It means that the application does not wait for the response of the server, and it is possible to work with it while the query is being processed. All users have, at their disposal, five files into which they may store their results (the choice of the file into which the result will be saved is made before the query is sent). It is thus not needed to wait for the response of the server while complicated queries are being processed – it is possible to see the results after the user is logged out of the application. Files can be named by users as well. For understable reasons, the size of the result is restricted to 1,000 lines at the most.
The results can be displayed by choosing the icon of the given file. Moreover, each result can be displayed on a separate page as a simple HTML table, or in the formats of CSV (comma-separated values) and of TSV (tab-separated values). The results displayed in this way can easily be copied and used for further processing.