Hlavní navigace

Seriál Rozšiřování PostgreSQL v C

Seriál pro pokročilejší uživatele Linuxu a PostgreSQL. Rozšiřování PostgreSQL pomocí C funkcí není příliš komplikované (je srovnatelné s návrhem aplikací pro jiné toolkity), přesto je složitější než návrh funkce v PL/pgSQL nebo v jiném z podporovaných jazyků.

Rozšiřování PostgreSQL v C - Tabulkové funkce

Table Function API umožňuje navrhovat vlastní funkce vracející tabulku (dále tabulkové funkce TF). TF může vracet tabulku obsahující skalární, nebo složené (více sloupcové) typy. TF jsou specifické svým opakovaným voláním při vracení tabulky - TF je volána pro každý vrácený řádek.

27. 12. 2002 0:00
Doba čtení: 5 minut

Rozšiřování PostgreSQL v C - Rozhraní SPI

V předchozích dílech jsem navrhovali funkce, jejichž výsledek závisel pouze na jejich parametrech a které z celého systému PostgreSQL používaly zatím jen datové struktury. Rozhraní SPI (Server Programming Interface), které máme k dispozici, nám však dovoluje mnohem více.

Doba čtení: 5 minut

Rozšiřování PostgreSQL v C - Třídy operátorů

V minulém dílu jsem předvedl, jak mohu v PostgreSQL vytvářet vlastní datové typy. S návrhem typu rodne_číslo jsem skončil zhruba v polovině. Ještě nemůžeme podle rodného čísla vyhledávat, třídit ani indexovat.

Doba čtení: 6 minut

Rozšiřování PostgreSQL v C - Datové typy

Z minulého dílu máme k dispozici funkce pro určení validity, datumu narození a pohlaví z rodného čísla. Zatím jsem předpokládal, že rodné číslo ukládám jako CHAR(11). Zřejmou nevýhodou je, že vždy, když chci určit některý atribut rodného čísla, dochází k parsování řetězce. Navíc z důvodu efektivnosti nemohu použít rodné číslo jako index a ani nemohu pořádně třídit podle něj, jelikož v rodném čísle může, ale nemusí být použit znak lomítko.

6. 12. 2002 0:00
Doba čtení: 4 minuty

Rozšiřování PostgreSQL v C - Funkce

Tento seriál je určen pro pokročilejší uživatele Linuxu a PostgreSQL. Rozšiřování PostgreSQL pomocí C funkcí není příliš komplikované (je srovnatelné s návrhem aplikací pro jiné toolkity), přesto je složitější než návrh funkce v PL/pgSQL nebo v jiném z podporovaných jazyků.

Doba čtení: 7 minut