Pavel Stěhule patche: Porovnání verzí
		
		
		
		Skočit na navigaci
		Skočit na vyhledávání
		
Bez shrnutí editace  | 
				|||
| Řádek 124: | Řádek 124: | ||
===PostgreSQL 15 (Release date: 2022-10-13)===  | ===PostgreSQL 15 (Release date: 2022-10-13)===  | ||
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=53ef6c40f1e7ff6c9ad9a221cd9999dd147ec3a2 rozšíření plpgsql dbg API]  | * [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=53ef6c40f1e7ff6c9ad9a221cd9999dd147ec3a2 rozšíření plpgsql dbg API]  | ||
===PostgreSQL 16===  | |||
===PostgreSQL 17===  | |||
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=a5cf808be55bcc68c3917c380f95122436af1be1 možnost čtení filtrů ze souboru]  | |||
==Neakceptované patche==  | ==Neakceptované patche==  | ||
Verze z 29. 11. 2023, 15:54
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
 - psql příkaz pro zobrazení funkce \sf
 - možnost skočit na ntý řádek příkazu \ef
 
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-12-18)
- 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: 2016-01-07)
- při čtení SQL skriptu zobrazí pouze chybné dotazy
 - autocomplete pro obsah vestavenych psql promennych
 - nápověda k psql proměnným
 - možnost používat UTF rámečky se zdvojenou čarou
 - získání pozice prvku v poli
 - plpgsql příkaz ASSERT
 
PostgreSQL 9.6 (Release date: 2016-09-29)
- oprava chování zobrazení kontextu příkazu RAISE EXCEPTION
 - autocomplete pro enum a pro logické konfigurační proměnné
 - důslednější kontrola parametrů příkazu pg_dump a pg_restore
 - možnost opakovaně použít volby -c a -f v psql
 - funkce pg_size_bytes
 - funkce parse_ident
 - strukturované výjimky v PLPythonu
 
PostgreSQL 10 (Release date: 2017-10-05)
PostgreSQL 11 (Release date: 2018-10-18)
- PSQL_PAGER - možnost nastavit specifický pager pouze pro psql
 - popis výsledku dotazu
 - parametr funkce bude v chybových hláškách pojmenovaný jménem
 - type cache pro funkci concat
 
PostgreSQL 12 (Release date: 2019-10-03)
- plan_cache_mode řízení chování plan cache
 - extra checks strict_multi_assignment, too_many_rows
 - konzistentní volání plpgsql plugin API
 - jednoznačná identifikace příkazů PL/pgSQL
 - preciznější zpracování výsledku vyhodnocení XPath výrazů
 - přehlad partitions \dP v psql
 
PostgreSQL 13 (Release date: 2020-9-24)
- DROP DATABASE FORCE
 - funkce min_scale, trim_scale
 - další třída polymorfních typů s vynuceným přetypováním anycompatible
 
PostgreSQL 14 (Release date: 2021-10-30)
- funkce string_to_table
 - fix memory leak příkazu CALL
 - zpristupneni plan cache pro prikaz CALL
 - funkce unistr
 
PostgreSQL 15 (Release date: 2022-10-13)
PostgreSQL 16
PostgreSQL 17
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. (Nyní po 10 letech od implementace je jasné, že očekávání vkládaná do PL/PSM se nenaplnila, a že chybějící podpora PL/PSM v Postgresu nikoho netrápí. Navíc existují transpilery).
 - 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.
 
Kódy pro PostgreSQL mimo core
- Orafce
 - epsql
 - PLToolbox - dokumentace
 - plpgsql_lint
 - plpgsql_check - next generation of plpgsql_lint
 - plpsm
 - pspg - pager napsaný pro práci s relační databází