--
Tuto zprávu jste obdrželi, protože jste přihlášeni k odběru skupiny PostgreSQL-cz ve Skupinách Google.
Pokud chcete zrušit odběr skupiny, aby vám z ní již nechodily e-maily, zašlete e-mail na adresu postgresql-c...@googlegroups.com.
Další možnosti najdete na adrese https://groups.google.com/groups/opt_out.
Stalo se mi nedávno totéž (verze 9.2.3). Akorát to nebyl trigger, ale normální funkce. Při spuštění bezprostředně po smazání slupce vracela tu stejnou chybu, ale nějak víc jsem to neřešil. Podle mě je to bug?
--
Stalo se mi nedávno totéž (verze 9.2.3). Akorát to nebyl trigger, ale normální funkce. Při spuštění bezprostředně po smazání slupce vracela tu stejnou chybu, ale nějak víc jsem to neřešil. Podle mě je to bug?
Zkouším to, ale umím to jenom na „velké“ databázi, na jednoduchém příkladu se mi to nedaří a nemůžu přijít na to proč…
Zkouším to, ale umím to jenom na „velké“ databázi, na jednoduchém příkladu se mi to nedaří a nemůžu přijít na to proč…
Ne, s velikostí to nesouvisí, spíš jde o to, že ta funkce není triviální, ale volá několik dalších funkci (jedna z nich je navíc rekurzivní). Když si napíšu jednoduchou funkci s podobnou strukturou, ale bez těchto složitostí, funguje to správně.
Ještě to zkusím.
--
Pozivame 8.4.13-1 (udajne posledni oficialni verze v distro RedHat6)
Podarilo se mi take situaci nasimulovat.
Pripravil jsem test case.
Provedeni:
1. nainstalovat schama michaltest, tabulku trigtable, trigger funkci, a trigger
2. v pgadmin sputit par inzertu (viz dole) aby si potvrdit ze funguji
3. Dale pridat sloupec do tabulky (dotaz viz dole). je to mozne provest ve stejnem okne pgadmin
4. pokusit se pridat dalsi radek
vysledek:DETAIL: Returned type character varying does not match expected type N/A (dropped column) in column "........pg.dropped.6........".
ERROR: returned row structure does not match the structure of the triggering table
CONTEXT: PL/pgSQL function "tr_trigtest" during function exit
********** Error **********
SQL state: 42804
ERROR: returned row structure does not match the structure of the triggering table
Detail: Returned type character varying does not match expected type N/A (dropped column) in column "........pg.dropped.6........".
Context: PL/pgSQL function "tr_trigtest" during function exit
Prekvapilo mne, ze resenim je zrusit pripojeni k DB a vytvorit nove (zavrit aktivni query okno pgadmina a otevrit nove).
Nechapu proc se to chova per session. Je to docela smutne :(
Diky za radu.
Predpokladam ale ze tento problem ne tyka se pouze trigger funkci. Co kdyz trigger zavola jinou funkci a preda ji data typu teto tabulky?
Co kdyz nekde v kodu mame
SELECT * INTO _row from tabulka
kde _row je typu tabulka?
Trochu mne to desi.