Pavel Stěhule patche: Porovnání verzí

Z PostgreSQL
Přejít na: navigace, hledání
 
(Není zobrazeno 34 mezilehlých verzí od stejného uživatele.)
Řádka 51: Řádka 51:
 
* [http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=750487077802861a2accd94164166747ec311fa4 funkce formát - variace na sprintf]
 
* [http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=750487077802861a2accd94164166747ec311fa4 funkce formát - variace na sprintf]
 
* [http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=6e02755b22ea62775c906d29b87b55b38ab70bd2 příkaz FOREACH - iterace nad polem v plpgsql]
 
* [http://git.postgresql.org/gitweb?p=postgresql.git;a=commitdiff;h=6e02755b22ea62775c906d29b87b55b38ab70bd2 příkaz FOREACH - iterace nad polem v plpgsql]
 +
*[https://github.com/postgres/postgres/commit/b6e06942c6b880b79097049757a8d140cd4316c0#diff-503ba641cac30d169aa3c2b09015fc39 psql příkaz pro zobrazení funkce \sf]
 +
*[https://github.com/postgres/postgres/commit/568e709372abad30075c299be28956b5922219b4#diff-503ba641cac30d169aa3c2b09015fc39 možnost skočit na ntý řádek příkazu \ef]
  
 
===PostgreSQL 9.2 (Release date: 2012-09-10)===
 
===PostgreSQL 9.2 (Release date: 2012-09-10)===
Řádka 75: Řádka 77:
 
* [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=84df54b22e8035addc7108abd9ff6995e8c49264 make_timestamp, make_timestamptz, make_interval]
 
* [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=84df54b22e8035addc7108abd9ff6995e8c49264 make_timestamp, make_timestamptz, make_interval]
  
===PostgreSQL 9.5 (Release date: 2015-09-xx)===
+
===PostgreSQL 9.5 (Release date: 2016-01-07)===
 
* [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]
 
* [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=e15c4ab5fb0de2cab393ed4be2136e1832746412 autocomplete pro obsah vestavenych psql promennych]
Řádka 83: Řádka 85:
 
* [http://git.postgresql.org/pg/commitdiff/a4847fc3ef139ba9a8ffebb6ffa06ee72078ffa2 plpgsql příkaz ASSERT]
 
* [http://git.postgresql.org/pg/commitdiff/a4847fc3ef139ba9a8ffebb6ffa06ee72078ffa2 plpgsql příkaz ASSERT]
  
===PostgreSQL 9.6 (Release date: 2016-09-xx)===
+
===PostgreSQL 9.6 (Release date: 2016-09-29)===
 
* [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=0426f349effb6bde2061f3398a71db7180c97dd9 oprava chování zobrazení kontextu příkazu RAISE EXCEPTION]
 
* [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=0426f349effb6bde2061f3398a71db7180c97dd9 oprava chování zobrazení kontextu příkazu RAISE EXCEPTION]
 
* [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=3ae16798f0f9d2d941e50062b579c28c9b946c9e autocomplete pro enum a pro logické konfigurační proměnné]
 
* [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=3ae16798f0f9d2d941e50062b579c28c9b946c9e autocomplete pro enum a pro logické konfigurační proměnné]
 
* [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=d02426029b133ee2bbe492a038642359bce3c527 důslednější kontrola parametrů příkazu pg_dump a pg_restore]
 
* [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=d02426029b133ee2bbe492a038642359bce3c527 důslednější kontrola parametrů příkazu pg_dump a pg_restore]
 
* [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=d5563d7df94488bf0ab52ac0678e8a07e5b8297e možnost opakovaně použít volby -c a -f v psql]
 
* [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=d5563d7df94488bf0ab52ac0678e8a07e5b8297e možnost opakovaně použít volby -c a -f v psql]
 +
* [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=53874c5228fe16589a4d01b3e1fab3678e0fd8e3 funkce pg_size_bytes]
 +
* [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=3187d6de0e5a9e805b27c48437897e8c39071d45 funkce parse_ident]
 +
* [http://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=5c3c3cd0a3046339597a03bc708cb5530dc07059 strukturované výjimky v PLPythonu]
 +
 +
===PostgreSQL 10 (Release date: 2017-10-05)===
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=fcec6caafa2346b6c9d3ad5065e417733bd63cd9 XMLTABLE funkce pro generování tabulky z XML dokumentu]
 +
 +
===PostgreSQL 11 (Release date: 2018-10-18)===
 +
* PSQL_PAGER - možnost nastavit specifický pager pouze pro psql
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=49ca462eb165dea297f1f110e8eac064308e9d51 popis výsledku dotazu]
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=b8060e41b5994a3cffb3ececaab10ed39b8d5dfd parametr funkce bude v chybových hláškách pojmenovaný jménem]
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=ed22fb8b0091deea23747310fa7609079a96cf82 type cache pro funkci concat]
 +
 +
===PostgreSQL 12 (Release date: 2019-10-03)===
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=f7cb2842bf47715133b40e4a503f35dbe60d1b72 plan_cache_mode řízení chování plan cache]
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=167075be3ab1547e186096bb8e6e448cd8eea5af extra checks strict_multi_assignment, too_many_rows]
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=e0ef136d5235f39f5652c209c08a5d4322560e9c konzistentní volání plpgsql plugin API]
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=bbd5c207b960dd072445a3547f16abea0c27f726 jednoznačná identifikace příkazů PL/pgSQL]
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=251cf2e27bec98274e8bb002608680bdc211319e preciznější zpracování výsledku vyhodnocení XPath výrazů]
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=1c5d9270e339662cdd78d51d0b859d4f0a11aa91 přehlad partitions \dP v psql]
 +
 +
===PostgreSQL 13 (Release date: 2020-9-24)===
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=1379fd537f9fc7941c8acff8c879ce3636dbdb77 DROP DATABASE FORCE]
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=20d6225d1656102534a73d9675bc531ff0e5203b funkce min_scale, trim_scale]
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=24e2885ee304cb6a94fdfc25a1a108344ed9f4f7 další třída polymorfních typů s vynuceným přetypováním anycompatible]
 +
 +
===PostgreSQL 14 (Release date: 2021-10-??)===
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=66f163068030b5c5fe792a0daee27822dac43791 funkce string_to_table]
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=f0e4ec74e452f55922b52f50da4ba4834771a268 fix memory leak příkazu CALL]
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=ee895a655ce4341546facd6f23e3e8f2931b96bf zpristupneni plan cache pro prikaz CALL]
 +
* [https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=f37fec837ce8bf7af408ba66d32099e5a0182402 funkce unistr]
  
 
==Neakceptované patche==
 
==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.
+
*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.
 
*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.
  
Řádka 100: Řádka 133:
 
*[https://github.com/okbob/plpgsql_check plpgsql_check - next generation of plpgsql_lint]
 
*[https://github.com/okbob/plpgsql_check plpgsql_check - next generation of plpgsql_lint]
 
*[https://github.com/okbob/plpsm0 plpsm]
 
*[https://github.com/okbob/plpsm0 plpsm]
 +
*[https://github.com/okbob/pspg pspg] - pager napsaný pro práci s relační databází

Aktuální verze z 29. 3. 2021, 12:24

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)

PostgreSQL 9.1 (Release date: 2011-09-12)

PostgreSQL 9.2 (Release date: 2012-09-10)

PostgreSQL 9.3 (Release date: 2013-09-09)

PostgreSQL 9.4 (Release date: 2014-12-18)

PostgreSQL 9.5 (Release date: 2016-01-07)

PostgreSQL 9.6 (Release date: 2016-09-29)

PostgreSQL 10 (Release date: 2017-10-05)

PostgreSQL 11 (Release date: 2018-10-18)

PostgreSQL 12 (Release date: 2019-10-03)

PostgreSQL 13 (Release date: 2020-9-24)

PostgreSQL 14 (Release date: 2021-10-??)

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