Pavel Stěhule patche: Porovnání verzí
Z PostgreSQL
Řádka 77: | Řádka 77: | ||
===PostgreSQL 9.5 (Release date: 2015-08-xx)=== | ===PostgreSQL 9.5 (Release date: 2015-08-xx)=== | ||
* [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=5b214c5dd1de37764797b3fb9164af3c885a7b86 při čtení SQL skriptu zobrazí pouze chybné dotazy] | * [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=5b214c5dd1de37764797b3fb9164af3c885a7b86 při čtení SQL skriptu zobrazí pouze chybné dotazy] | ||
+ | * [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=e15c4ab5fb0de2cab393ed4be2136e1832746412 autocomplete pro obsah vestavenych psql promennych] | ||
* refactoring plpgsql - integration plpgsql_lint to upstream | * refactoring plpgsql - integration plpgsql_lint to upstream | ||
* podpora log_line_prefix proměnných: duration a lock time | * podpora log_line_prefix proměnných: duration a lock time |
Verze z 12. 8. 2014, 05:44
Obsah
- 1 Seznam patchů
- 1.1 PostgreSQL 7.4 (Release date: 2003-11-17)
- 1.2 PostgreSQL 8.1 (Release date: 2005-11-08)
- 1.3 PostgreSQL 8.2 (Release date: 2006-12-05)
- 1.4 PostgreSQL 8.3 (Release date: 2008-02-04)
- 1.5 PostgreSQL 8.4 (Release date: 2009-07-01)
- 1.6 PostgreSQL 9.0 (Release date: 2010-09-20)
- 1.7 PostgreSQL 9.1 (Release date: 2011-09-12)
- 1.8 PostgreSQL 9.2 (Release date: 2012-09-10)
- 1.9 PostgreSQL 9.3 (Release date: 2013-09-09)
- 1.10 PostgreSQL 9.4 (Release date: 2014-08-xx)
- 1.11 PostgreSQL 9.5 (Release date: 2015-08-xx)
- 2 Neakceptované patche
- 3 Kódy pro PostgreSQL mimo core
Seznam patchů
PostgreSQL je výsledkem práce týmu vývojářů, nikoliv jednotlivců. Implementace nové funkce je zřídka výsledkem práce pouze jednoho člověka. I když, neocenitelné zásluhy má hlavně Tom Lane, který finalizuje většinu kódu před vlastní integrací do jádra PostgreSQL. Dále nesmím zapomenout na Nikolaje Samochvalova, který převzal a přepracoval moji prototypovou implementaci SQL/XML a dovedl ji do stavu, kdy ji bylo možné integrovat do PostgreSQL.
PostgreSQL 7.4 (Release date: 2003-11-17)
- český překlad FAQ,
- uložení informace o použitém kódování do dumpu databáze a automatické dekódování při načtení dumpu,
PostgreSQL 8.1 (Release date: 2005-11-08)
- volitelné označení PL/pgSQL bloku návěstím,
- implementace funkcí GREATEST a LEAST,
- příkaz CONTINUE v PL/pgSQL,
- rozšíření operátoru BETWEEN o atribut SYMMETRIC,
- podpora zobrazení výrazů v příkazu RAISE,
- podpora klauzule INTO v příkazu EXECUTE,
- přístup ke kódu a popisu výjimky v PL/pgSQL - proměnné SQLERRM a SQLSTATE,
PostgreSQL 8.2 (Release date: 2006-12-05)
- Podpora OUT parametrů typu pole v PL/Perl,
- možnost použití seznamu skalárních proměnných v příkazu FOR v PL/pgSQL,
- Implementace operátoru IS NOT DISTINCT FROM,
PostgreSQL 8.3 (Release date: 2008-02-04)
- podpora SCROLLABLE kurzorů v PL/pgSQL, příkaz MOVE v PL/pgSQL,
- prototyp SQL/XML,
- příkaz RETURN QUERY,
- modul pro zajištění kompatibility s TSearch2,
PostgreSQL 8.4 (Release date: 2009-07-01)
- příkaz RETURN QUERY EXECUTE,
- rozšíření příkazu FOR pro kurzor,
- klauzule USING v příkazu EXECUTE,
- možnost nastavení atributů výjimky v příkazu RAISE, možnost určení kódu a názvu výjimky,
- příkaz CASE v PL/pgSQL,
- funkce array_fill a generate_subscripts,
- podpora variadických funkcí a variadických parametrů,
- podpora tabulkových funkcí dle ansi sql - příkaz CREATE FUNCTIONS RETURNS TABLE,
- defaultní parametry PL funkcí.
PostgreSQL 9.0 (Release date: 2010-09-20)
- revize kódu PL/pgSQL - odstranění duplicitního kódu,
- fix příkazu RETURN QUERY (ve spolupráci s Tomem Lanem),
- sjednocení syntaxe scrollable kurzorů v PL/pgSQL,
- mixed and named notation.
- klauzule USING pro OPEN cursor FOR EXECUTE
- escape expanze proměnných v psql
- agregační funkce string_agg
PostgreSQL 9.1 (Release date: 2011-09-12)
- refaktoring funkcí array_to_string a string_to_array
- fix - odstranění omezení deseti parametrů ve funkci xslt_process
- přesun na specifikovonou řádku kódu uložené procedury v externím editoru
- zobrazení zdrojového kódu uložených procedur v psql
- doplňkové funkce pro operace s řetězci - left, right, reverese, concat, concat_ws
- významná redukce spotřeby paměti pro načtení českých slovníků
- autocomplete psql proměnných
- funkce formát - variace na sprintf
- příkaz FOREACH - iterace nad polem v plpgsql
PostgreSQL 9.2 (Release date: 2012-09-10)
- přístup k datům výjimky z příkazu GET STACKED DIAGNOSTICS
- použití cache pro opakovaný přístup k prvkům pole
- podmíněný ALTER TABLE IF EXISTS ...
- použití signatury funkce ve výpisu kontextu místo jména
PostgreSQL 9.3 (Release date: 2013-09-09)
- GET DIAGNOSTICS rc=ROW_COUNT pro COPY
- oprava variadických "any" funkcí pro nevariadický způsob volání
- základ pro "strukturované" výjimky
- příkaz \gset
- podpora zarovnávání ve funkci format
- přístup k rozšiřujícím položkám vyjímky z PL/pgSQL
PostgreSQL 9.4 (Release date: 2014-08-xx)
- globální kontroly variadických funkcí (dokončení implementace)
- GET DIAGNOSTICS stack=PG_CONTEXT - čtení stacku
- funkce pro snažší práci s LO z prostředí SQL - konverze z bytea z/do LO
- datumový a časový konstruktor make_time a make_date
- úplný konzistentní fully fault tolerant DROP IF EXISTS
- vynucení DROP IF EXISTS v pg_dump(all) přepínačem --if-exists
- make_timestamp, make_timestamptz, make_interval
PostgreSQL 9.5 (Release date: 2015-08-xx)
- při čtení SQL skriptu zobrazí pouze chybné dotazy
- autocomplete pro obsah vestavenych psql promennych
- refactoring plpgsql - integration plpgsql_lint to upstream
- podpora log_line_prefix proměnných: duration a lock time
- http://www.postgresql.org/message-id/CAFj8pRCOLjG77PfiodJ0QOhOrghpLPG2jEVdH4NbwqC8kkn2rA@mail.gmail.com psql - nápověda pro konfigurační proměnné
- http://www.postgresql.org/message-id/CAFj8pRDtbFgFRE2Vc2S5rog-pZmc-U1Z+bdw0kmOcEM_MDzfuw@mail.gmail.com psql - možnost UTF rámečků zdvojenou čarou
- http://www.postgresql.org/message-id/CAFj8pRAAukaodSQMW0oCSi7MjnSXZZM_2WYkjmBwmEEkzvJ=fg@mail.gmail.com plpgsql - podpora více aktivních plpgsql pluginů
Neakceptované patche
- PL/pgPSM - implemetace jazyka uložených procedur specifikovaného ve standardu SQL/PSM pro PostgreSQL - do core se nedostalo z důvodu duplikování kódu PL/pgSQL - jádro plpgpsm vychází z plpgsql. Čeká se na refaktoring plpgsql, tak aby bylo možné sdílet kód mezi plpgsql a plpgpsm.
- Obfuscace zdrojového kódu procedur - funkční, do kódu se nedostalo v obavě ze závislosti v core na šifrách, které donedávna spadaly pod embargo USA.