Updated (14 Dec)
As of right now PDO has been merged into master branch. If your install is on pdo-experimental you should switch back to master now.
Updated info (10 Dec)
PDO branch is going to be merged into master soon. It is extremely likely you won’t notice any changes when this happens, things will continue on with the new database API.
If you’re running on a particularly garbage-tier hosting or distro I recommend checking if your PHP install has PDO extension enabled with support for your SQL server. Refer to your hosting or distro documentation for installing necessary packages.
Any third party plugins you might have installed may still be using using legacy database APIs. You will see entries in tt-rss system event log if they do. My advice is whining at plugin developers until they fix this and rewrite their stuff using PDO. Note that legacy wrappers are not being removed, for now (if nothing else bundled import-export plugin still uses those).
Also, no, you don’t need to do anything with your database. However, keep an eye on any SQL-related errors in tt-rss event log.
If you can’t figure out whether your server supports PDO or not you can drop this file into tt-rss directory on your server (as pdo-test.php) and open it in your browser. If there’s no errors reported, you are fine.
Looks like I lied when I said it would be too boring etc, we might be getting a proper database backend after all. Main code is mostly converted, there’s a few leftovers e.g. the installer
and all plugins plugins are mostly converted.
PDO currently works in parallel with legacy database connection, not sure yet how this is going to be handled when this is merged into master. Legacy connection is established if requested, stack trace for the first attempt is logged.
Since this is a huge, invasive change I’m going to post a separate unstable branch on Gogs which would be available for testing to everyone until we’re all satisfied with stability.
I wouldn’t recommend using it as a daily driver at the moment but I would appreciate everyone checking it out and clicking on things until you find bugs and/or SQL-related warnings in the logs. Click on everything, import your OPML, see if all feeds look right, etc etc etc.
Unstable branch is available here: https://git.tt-rss.org/git/tt-rss/src/pdo-experimental
It took a lot of effort to go through literally all SQL queries in tt-rss core to make this happen. Feedback would be appreciated.