<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Forum PostgreSQL - Wyjątek z funkcji]]></title>
		<link>https://forum.postgresql.org.pl/viewtopic.php?id=534</link>
		<description><![CDATA[Najświeższe odpowiedzi w Wyjątek z funkcji.]]></description>
		<lastBuildDate>Wed, 26 Jan 2011 06:14:25 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Odp: Wyjątek z funkcji]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=2365#p2365</link>
			<description><![CDATA[Witam
Instalowałem wersję standartowo bez żadnych dodatkowych opcji. Ściągnąłem SQL Manager for PostgreSQL w pełnej wersji 30-dniowa i tam jest debugowanie funkcji pomimo zahaszowanej opcji shared_preload_libraries w konfiguracji serwera. Jak na razie to wystarcza.]]></description>
			<author><![CDATA[dummy@example.com (adamleon)]]></author>
			<pubDate>Wed, 26 Jan 2011 06:14:25 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=2365#p2365</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Wyjątek z funkcji]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=2364#p2364</link>
			<description><![CDATA[A zainstalowałeś postgresa z opcją debuggowania
[url]http://www.postgresql.org/docs/current/static/install-procedure.html[/url]

opcja nazywa się --enable-debug]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Mon, 24 Jan 2011 20:46:08 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=2364#p2364</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Wyjątek z funkcji]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=2363#p2363</link>
			<description><![CDATA[Dzięki, działa

Ale jeszcze mam jedna sprawę, chodzi o debugowanie funkcji. Juz kiedys o to pytałem, ale nie rozwiazałem problemu. Znalazłem taki opis w sieci

"W celu włączenia debugowania procedur i funkcji w pgAdminie (Postgresql 8.3/8.4 z pakietu EnterpriseDB) należy w pliku
postgresql.conf zmienić parametr shared_preload_libraries na:

MS Windows:
shared_preload_libraries = '$libdir/plugins/plugin_debugger.dll'

Mac OS X/Linux:
shared_preload_libraries = '$libdir/plugins/plugin_debugger.so'

następnie uruchomić skrypt /share/contrib/pldbgapi.sql w bazie, która ma mieć możliwość debugowania procedur/funkcji"

Jednak w Postgresql9 na windows po odznaczeniu shared_preload_libraries server się nie uruchamia.

Czy to chodzi o wersję EnterpriseDB i dlatego nie działa?
Czy ktoś może się interesował tym tematem.]]></description>
			<author><![CDATA[dummy@example.com (adamleon)]]></author>
			<pubDate>Sun, 23 Jan 2011 08:23:56 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=2363#p2363</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Wyjątek z funkcji]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=2362#p2362</link>
			<description><![CDATA[Najprościej (zeby bylo jak najmniej modyfikacji) chyba bedzie zrobić tak 
[code]
CREATE OR REPLACE FUNCTION fkasuj_do_usuniecimagazyn (
  "zm_nr_towaru_skladnik" integer
)
RETURNS VARCHAR AS
$body$
  declare 
  towar tab_magazyn.nazwa_towaru%TYPE;
  begin
     delete from tab_magazyn where nr_towaru_skladnik = zm_nr_towaru_skladnik;
     return 0;
     EXCEPTION
        WHEN foreign_key_violation THEN
            select nazwa_towaru INTO towar FROM tab_magazyn where nr_towaru_skladnik = zm_nr_towaru_skladnik;
            RAISE NOTICE 'Powiazane rekordy';
            RETURN towar;
end;
$body$
LANGUAGE 'plpgsql'
SECURITY DEFINER
[/code]]]></description>
			<author><![CDATA[dummy@example.com (rski)]]></author>
			<pubDate>Sun, 23 Jan 2011 07:51:38 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=2362#p2362</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Wyjątek z funkcji]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=2361#p2361</link>
			<description><![CDATA[Nie, nie mam]]></description>
			<author><![CDATA[dummy@example.com (adamleon)]]></author>
			<pubDate>Sat, 22 Jan 2011 23:15:49 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=2361#p2361</guid>
		</item>
		<item>
			<title><![CDATA[Odp: Wyjątek z funkcji]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=2360#p2360</link>
			<description><![CDATA[Masz jakieś triggery / reguły na tej tabeli ?]]></description>
			<author><![CDATA[dummy@example.com (psocha)]]></author>
			<pubDate>Sat, 22 Jan 2011 19:31:17 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=2360#p2360</guid>
		</item>
		<item>
			<title><![CDATA[Wyjątek z funkcji]]></title>
			<link>https://forum.postgresql.org.pl/viewtopic.php?pid=2359#p2359</link>
			<description><![CDATA[Witam
Mam taka funkcje która kasuje rekord, a jeżeli jest on powiązany z inną tabelą i jest błąd ( nie ma usuwania kaskadowego) to ma zwrócić wartość z kolumny nazwa_towaru tabeli z której usuwamy.

CREATE OR REPLACE FUNCTION fkasuj_do_usuniecimagazyn (
  "zm_nr_towaru_skladnik" integer
)
RETURNS VARCHAR AS
$body$
  begin
     delete from tab_magazyn where nr_towaru_skladnik = zm_nr_towaru_skladnik;
     return 0;
     EXCEPTION
        WHEN foreign_key_violation THEN
            RAISE NOTICE 'Powiazane rekordy';
            RETURN nazwa_towaru;
 end;
$body$
LANGUAGE 'plpgsql'
SECURITY DEFINER

Funkcja się kompiluje ale przy wywołaniu select * from fkasuj_do_usuniecimagazyn(72) dostaje błąd że kolumna nazwa_towaru nie istnieje

NOTICE:  Powiazane rekordy
ERROR:  column "nazwa_towaru" does not exist
LINE 1: SELECT  nazwa_towaru

W jaki sposób to naprawić?

Z góry dzięki za pomoc
AdamP.]]></description>
			<author><![CDATA[dummy@example.com (adamleon)]]></author>
			<pubDate>Sat, 22 Jan 2011 14:49:32 +0000</pubDate>
			<guid>https://forum.postgresql.org.pl/viewtopic.php?pid=2359#p2359</guid>
		</item>
	</channel>
</rss>
