Hi Dave --

Agree that it makes sense to defer renaming columns since that's a
bigger undertaking and would likely require some form of data migration
for all existing Roller installs...

I appreciate the documentation update -- hopefully it will benefit
others as well.  Even though it's unsupported, I've successfully used
H2 in server mode over the years for a couple Roller instances
(although it's generally not recommended for production environments).

Best,
Richard


On Tue, 2026-09-08 at 13:00 -0400, Dave wrote:
> 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
> > 

Reply via email to