Performance and Precision
Pre-releaseThis is a massive structural change to the database. Instead of there being one giant raw_logs table which takes forever to query, logs are dynamically stored in tables suffixed with year and month (so, raw_logs_2019_02). The code handles the creation and querying of tables, and all required modifications (if you add a variable to the latest table, it will go back and add it to ALL tables. If you change a variable's type, it will make that change in ALL tables). It also stores GPS data as double instead of float, which increases the precision. For me, this all took the average load time for a session down by like 80%. I had personally split the tables into year first, and even then it took 2+ minutes to load a session, now it's usually under 10 seconds.
To run this from a previous version, YOU MUST RUN THE DB_UPGRADE.PHP script. If you don't, you will uber-break your data. I suggest backing up your DB before doing anything. The db_upgrade.php code can be run manually should you desire, otherwise it can take DAYS if you have a ton of data.
I think I've taken care of everything, but I'm marking this as pre-release as I hunt for more edge-cases and bugs.