Opublikowana wersja projektu IvorySQL 2.1, rozwijającego edycję bazy danych PostgreSQL, oferującą warstwę zapewniającą zgodność z aplikacjami zaprojektowanymi do pracy z bazą danych Oracle. Rozszerzenie rozwija się poprzez wprowadzanie zmian w nowej bazie kodu PostgreSQL, a deweloperzy deklarują możliwość użycia IvorySQL jako przezroczystego zamiennika najnowszej wersji PostgreSQL, której różnica polega na wprowadzeniu opcji „compatible_db”, obejmującej tryb zgodności z Oracle. Kod jest napisany w języku C i jest rozpowszechniany na licencji Apache 2.0.
IvorySQL implementuje proceduralny język PL/iSQL, powtarzający składnię PL/SQL, i obsługuje pakiety w stylu Oracle oraz operacje na pakietach, takie jak „CREATE PACKAGE”. W IvorySQL obsługiwany jest również specyficzny dla Oracle składni operacji, wyrażeń i operatorów ALTER TABLE, DELETE, UPDATE, CONNECT BY, GROUP BY, UNION oraz MINUS, a także dostępny jest zestaw funkcji i typów zgodny z Oracle. Do emulacji funkcji, typów i pakietów Oracle w IvorySQL wykorzystano kod uzupełnienia PostgreSQL Orafce.
W nowej wersji IvorySQL zapewniono migrację na bazę kodu PostgreSQL 15.1 i zaimplementowano wsparcie dla globalnych unikalnych indeksów, tworzonych przy pomocy wyrażenia „CREATE UNIQUE INDEX global_index ON idxpart(bid) GLOBAL”. Takie indeksy mogą być używane do stworzenia unikalnego indeksu dla partycjonowanej tabeli, zachowując unikalność dla wszystkich partycji przy wyborze po kluczu nieprzypisanym do partycji.
Źródło: opennet.ru
