Két és fél év fejlesztés után megjelent a Firebird 5.0, egy relációs adatbázis-kezelő rendszer. A Firebird folytatja az InterBase 6.0 adatbázis-kezelő rendszer kódjának fejlesztését, amelyet a Borland 2000-ben nyílt forráskódúvá tett. A Firebird ingyenes MPL licenc alatt terjed, és támogatja az ANSI SQL szabványokat, beleértve az olyan funkciókat, mint a triggerek, a tárolt eljárások és a replikáció. Bináris buildek elérhetők a következőkhöz: Linux, Windows, macOS и Android.
Főbb újítások:
- Megvalósult a műveletek többszálú módban történő végrehajtásának képessége. A több szálra történő párhuzamosítás alkalmazható indexek létrehozásakor, szemétgyűjtéskor (automatikus és kézi sweep műveletek), biztonsági mentések készítésekor és azokból történő visszaállításkor. gfix -sweep -parallel 4 dbname gbak -b -par 4 -felhasználói felhasználónév -pass jelszó dbname biztonsági másolatnév
- Támogatás hozzáadva a részleges indexekhez, amelyek csak kiválasztott rekordokat tartalmaznak, amelyek megfelelnek az index létrehozásakor megadott feltételeknek. IT1_COL INDEX LÉTREHOZÁSA T1-RE (COL) WHERE COL < 100;
- A SELECT WITH LOCK, UPDATE és DELETE utasítások a „SKIP LOCKED” szintaxist valósítják meg, amely lehetővé teszi azoknak a rekordoknak a kizárását, amelyek a kérés elküldésének időpontjában zárolva vannak (például azért, hogy ne várja meg a zárolás feloldását). amikor egy másik tranzakcióval keresztezik).
- Hozzáadtuk az adatbázis frissítésének lehetőségét a tároló aktuális köztes verziójához (ODS – On-Disk-Structure) menet közben (inline frissítés) anélkül, hogy biztonsági másolatból létre kellene hozni és vissza kell állítani. Például most már menet közben konvertálhat egy Firebird 4.0 (ODS 13.0) formátumú adatbázist Firebird 5.0 (ODS 13.1) formátumba.
- A lefordított SQL utasítások gyorsítótárát valósította meg, amelyet automatikusan karbantartanak (az elavult bejegyzések szükség szerint törlődnek). A gyorsítótár méretét a firebird.conf fájl MaxStatementCacheSize paramétere adja meg.
- Egy interfész került hozzáadásra az SQL és PSQL profilalkotásához, amely lehetővé teszi az egyes lekérdezések végrehajtási idejének becslését, a lekérdezések számának statisztikáinak összegyűjtését és a teljesítményproblémák azonosítását.
- Támogatás hozzáadva a MERGE kifejezéshez a „WHEN NOT MATCHED BY SOURCE” feltételes blokkhoz, amely akkor aktiválódik, ha a forrásrekord nem egyezik a célkészlet egyik rekordjával sem. MERGE INTO Customers c USING new_customers nc ON (c.id = nc.id) HA EGYEZTET, AKKOR FRISSÍTÉS BEÁLLÍTÁSA name = nc.name AMIKOR NEM egyezik meg a FORRÁSNAL, MAJD TÖRLÉS
- Mostantól lehetőség van több sort visszaadni egy RETURNING kifejezéssel, ha egy adott DML-kifejezés több sort is átölel (korábban ilyen esetekben a „több sor egysoros kijelölésben” hibaüzenet jelent meg).
- Új beépített függvények kerültek hozzáadásra: UNICODE_CHAR az adott kódnak megfelelő unicode karakter visszaadása, UNICODE_VAL pedig az adott karakter kódjának visszaadása. A QUARTER paraméter hozzáadásra került az EXTRACT, FIRST_DAY és LAST_DAY függvényekhez a negyedév számának meghatározásához.
- Egy új RDB$BLOB_UTIL rendszercsomag került hozzáadásra a PSQL-modulok BLOB-műveleteinek választékával.
- A rekordtömörítési algoritmust továbbfejlesztették, hogy változó hosszúságú számlálót használjon az ismétlődő adatszekvenciák hatékonyabb csomagolására. Az optimalizálás jelentősen javította a hiányosan kitöltött hosszú VARCHAR mezők tömörítési arányát UTF-8 kódolású adatokkal.
- Hozzáadtuk a kétirányú (görgethető) kurzorokkal való munkavégzés lehetőségét, amikor egy adatbázist távolról, hálózaton keresztül ér el.
- A blob-másolás teljesítményét optimalizálták.
- Az SQL szabványban leírt karakterlánc-definíciós szintaxis teljes támogatása hozzáadva. Például a sorokat most meg lehet törni megjegyzésekkel vagy szóközökkel: válassza ki az „ab” /* comment */ „cd” elemet az RDB$DATABASE-ból; válassza ki az 'ab' 'cd' elemet az RDB$DATABASE-ból;
Forrás: opennet.ru
