- introduce target TPS
- introduce global timestamp generation
- add oltp stats about latency & TPS per query type
- add stats about columnstore effectiveness
- make timestamp generation uniform between ingest and benchmark
- olap workers now select a fixed amount of data
- olap workers wait until enough data is available before they start running queries
- improve monitor display to include:
- tps
- timeouts
- data range so far ingested
- planned & processed row counts
- displaying only certain parts (like e.g. only oltp output if there's no olap workers)
- add support for explain-analyze
- support writing out plans
- add support for server side cursors
- always output proper json for explain output
- add support for writing out statistics to csv, for tpcc and tpch separately
- improve olap monitor view
- make some constants into variables
- fix rowcount for history table
- fix date generation order for orders and order lines to be relative to order and not district
- add a delivery date offset to the order lines on ingestion
- use correct values from helpers.py in transactions.py
- use the official methods to propagate errors from forks to the parent of
the multiprocess pool: wait() and get()
- rework controller to use simpler datatypes so that we can use synchronized
timstamp generation somewhat easily
- simplify controller by making the worker functions part of the class
- remove unused code (e.g. latest timestamp from statistics)
- correct again rowcounts for certain tables
- remove columnstores on very small tables (<8MB)