I have been using a MariaDB database with MySQL driver and it has worked
fine. Now I tried to use the "correct" driver, but it fails to
ErrorPacket: Error: 1292-22007: Truncated incorrect DECIMAL value:
'{"recoveryTime":null,"instance":"...

This seems to relate to
https://github.com/apache/jackrabbit-oak/blob/92ac05f6bf9968b3d96e318d262237a640c9c852/oak-store-document/src/main/java/org/apache/jackrabbit/oak/plugins/document/rdb/RDBDocumentStoreJDBC.java#L121

the column being BIGINT type but Jackrabbit trying to put string data into
it.

In my database the column rdbmk_nodes.DATA has type VARCHAR(16000)
so why doesn't the Java code use VARCHAR there?

I see also that the DB init docs initialize it to VARCHAR on different DBs
too
https://jackrabbit.apache.org/oak/docs/nodestore/document/rdb-document-store.html


MySQL driver produces statement like:
DATA = CONCAT(DATA,
',[["=","recoveryBy",1],["=","leaseEnd",1768291121247],["=","recoveryLock","ACQUIRED"]]')

and MariaDB driver:
DATA = DATA || CAST(? AS varchar(16000))

Reply via email to