A LibreOffice programcsomag Base nevű programja egy kényelmes grafikus felületet biztosít egy, a háttérben futó adatbázis-kezelő alkalmazására. A háttérben többféle adatbázis-kezelő rendszer futhat. Lehet ez beágyazott adatbázis: HyperSQL (HSQLDB) vagy Firebird, illetve lehet külső rendszerhez is kapcsolódni. A utóbbi hónapokban a munkám a Base beágyazott adatbázisait érinti.
Alapértelmezettként a program HyperSQL adatbázist használ, ha a felhasználó beépített adatbázist hoz létre. Ez több szempontból – Java runtime függőségként jelentkezik, Java /C++ áthívások szükségesek – szerencsétlen, ezért a TDF úgy döntött, hogy a jövőben a Firebird adatbázist helyeznék előtérbe. Kitettek egy pályázati kiírást, ami lehetővé teszi a HyperSQL adatbázisok importálását Firebird adatbázisba.
A fent említett tendert a Collabora elvállalta, és a teendőket a következő részfeladatokra osztottuk:
- A Firebird driver jelentősebb hibáinak kijavítása,
- Az adatbázis séma importálása,
- Az adatbázis – bináris állományban tárolt – adatainak importálása,
- Az új elemek integrálása, tesztek írása, stb.
Első feladatként tehát rendberaktuk a Firebird drivert, ami magába foglalta a legfontosabb hibák kijavítását (pl. tdf#70425), és a hiányzó típusok implementálását (tdf#104734).
A séma importálásához egy új könyvtárat hoztam létre „dbahsql” névvel. A HyperSQL adatbázis-kezelő rendszer a sémát egy szövegfájlban tárolja SQL utasítások formájában. A könyvtár ezeket az utasításokat olvassa ki, és átalakítja úgy, hogy a Firebird elfogadja őket. Például van egy-két adattípus, amit a két rendszer máshogy oldott meg ( a LONGVARCHAR típust például a BLOB típusnak egy speciális verziójával lehet létrehozni Firebird esetén).
A bináris adatok importálása, és a tesztelés egyelőre még csak a jövő zenéje.
További információkat és a jövőbeni fejleményeket a blogomon lehet megtalálni, angol nyelven. Ugyanezt a témát itt ecsetelgetem.
Ezúton köszönöm, hogy Bunth Tamás beszámolt a LibreOffice-on végzett munkájáról!