Hi Richard, Thanks for tracking this down. H2 isn't one of our officially supported databases (Postgres, MySQL and Derby are), but you're right that H2 2.5.250 now reserves VALUE, and a few Roller tables: roller_properties among them use VALUE as a column name, so reads fail. Your ;NON_KEYWORDS=VALUE workaround is the right call, and it covers all of the affected tables at once since it un-reserves the word for the whole connection.
We're adding a note about it to the install guide (in apache/roller#183). A proper column rename is the cleaner long-term fix, but since it touches every database dialect we'll save that for a future schema-version bump rather than the 6.1.x line. Best, Dave On Mon, Sep 07, 2026 10:25 PM, Richard via dev <[email protected]> wrote: > While testing the latest 6.1.6 RC1, I upgraded one of my Roller storage > instances to the latest release of the H2 database (H2 2.5.250). H2 > 2.5.250 is stricter with SQL standards than previous versions and this > newer version considers the term VALUE a reserved word for column > names. > > The table "PUBLIC".ROLLER_PROPERTIES has NAME AND VALUE for columns and > so Roller will fail when trying to read the table. Interestingly, H2's > backup/restore tools allow the table to be recreated in the latest > version "as is" but will produce an error when querying the VALUE > column (preventing Roller from starting). > > Fortunately, H2 provides a workaround: the ";NON_KEYWORDS=VALUE" can be > appended to the JDBC URL and all works well thereafter with Roller. > > Posting this just in case H2 is included in any tests. > > Best, > Richard >
