The connection string is just a workaround in MariaDB for MySQL
compatibility. Maybe they support it forever, maybe not.

Full compatibility would like need a MariaDB specific
enum RDBDocumentStoreDB. And the SQL statement here
https://github.com/apache/jackrabbit-oak/blob/92ac05f6bf9968b3d96e318d262237a640c9c852/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStoreDB.java#L669
would need to be DB specific.

It might be relatively easy by just copying parts of the MySQL
implementation and just changing some things if needed. Github search finds
only 18 results for "MySQL". I'll see if I could reasonably contribute it.


ti 13.1.2026 klo 19.59 Julian Reschke ([email protected]) kirjoitti:

> Am 13.01.2026 um 13:25 schrieb Lasse Lindqvist:
> > True. I think that particular line sets the DSIZE parameter.
> >
> > The correct solution was a bit difficult to find. I neeeded to add
> > sql_mode='PIPES_AS_CONCAT' to my connection string. This is for MySQL
> > compatibility since Jackrabbit does not seem to "properly" support
> MariaDB
> > specifically, but only via MySQL compatibility.
> >
> > I guess it would be good to fix, either via proper MariaDB support or
> then
> > in documentation somehow.
> > ...
>
>
> https://dev.mysql.com/doc/refman/8.4/en/sql-mode.html#sqlmode_pipes_as_concat
> ?
>
> IIRC: "||" is the standard operator for concatenation. When Oak detects
> "MySQL", it switches to "concat()". Using MariaDB with the MySQL driver
> may work, but once you switch to the MariaDB driver, it then fails.
>
> At the end of the day, this can of course be improved. But the
> RDBDocumentStore essentially is on life support, so I'm reluctant to
> make any change that would require extensive testing.
>
> So my recommendation is "documentation".
>
> Best regards, Julian
>

Reply via email to