Thanks for the links @mikekaganski.
So it all started with this:
“Background: currently when creating a
local database we default to this Java
database engine. That is somewhat
unfortunate. It would be better to
default to a SQLite provider …”
It looks like these are the points:
Maintaining Base (fixing it’s bugs) is hard because people need to be an expert in Java, C++, UNO, and databases, especially SQL. It’s hard to attract people that can cover all of these well.
There is fear of Java because of Oracle. (HSQLDB runs in Java). Even though there is OpenJDK, I’m getting that there is still fear that somehow that might go away leaving Oracle in control.
Other software can not access the LO database without also having Java setup which complicates things.
Java can be a bit slower than C++. ODBC was also looked at but is also limiting.
An effort was first made to investigate replacing HSQLDB w/ SQLite. This was later abandoned because SQLite was type poor and SQL is type rich. Also SQLite it was SQL feature poor. And SQLite was not multi-user. It would have meant significantly dumbing down LO.
MariaDB and others were also considered.
Firebird was then suggested.
It’s unclear to me how Firebird compares with HSQLDB. But Firebird does appear to have a higher ranking here, and it doesn’t depend on Java, but rather is written in C++.
However I noticed that Firebird does not currently (at least as of the latest reference manual) support TINYINT but HSQLDB does. I use TINYINT. It’s what is suggested by
MS Access To MySQL for converting Access Yes/No (Boolean) types to MySQL.
(So at least for me, this answers my questions, except for the version of Firebird currently in LO, which remains unknown.)