ďťż
 
PL/pgSQL Debuger ďťż
 
PL/pgSQL Debuger
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

PL/pgSQL Debuger



max - 26-11-2005 22:28
PL/pgSQL Debuger
  Kilka postów wcześniej Michał napisał:
EMS ... Z ciekawszych rzeczy ma debug skryptów pl/pgsqla.
http://www.sqlmanager.net/

Zastanawiam sie czy istnije jakies narzedzie OPEN SOURCE
do debugowania PLPGSQL

Bo mi by sie przydało narzedzie tego typu.
Czy ktoś inny potrzebował by czegoś takiego ?
Bo moze w wolnych chwilach dopisał bym jakiegoś patcha do pgadmina :)
albo zalozyl jakis oddzielny projekt na sf.net ?? (taki moj mały wkład w
oprogamowania OS)

Mariusz





hubert depesz lubaczewski - 26-11-2005 22:28

  Dnia 24.11.2005 max <max@max.pl> napisał/a:
> Czy ktoś inny potrzebował by czegoś takiego ?

na pewno kupa ludzi by potrzebowała. na razie trzeba sobie radzić raise
notice/log'ami - a to nie jest przesadnie eleganckie.

depesz

--
*------------------------------------------------------------------*
najwspanialszą rzeczą jaką dało nam nowoczesne społeczeństwo, jest
niesamowita wręcz łatwość unikania kontaktów z nim




max - 26-11-2005 22:28

  hubert depesz lubaczewski napisał(a):
> Dnia 24.11.2005 max <max@max.pl> napisał/a:
>
>>Czy ktoś inny potrzebował by czegoś takiego ?
>
>
> na pewno kupa ludzi by potrzebowała. na razie trzeba sobie radzić raise
> notice/log'ami - a to nie jest przesadnie eleganckie.
>
> depesz
>
A to ciekawe dlaczego jeszcze nikt tego nie napisał ?
Wszyscy czekaja az robi ktoś inny ?
Bo wydajemi sie ze napisanie parsera plpgsql to nie bedzie takie proste,
i banalne.

I kolejna sprawa dlaczego tworcy postgresa gdy wykonuje procedure
składowana to w logach mam tylko dla zapytania np
"select * from test2(20)"

LOG: statement: select * from test2(20)
LOG: duration: 31.437 ms

A to nie mozna by było dodać troche wiecej danych ??

I kolejna ciekawostka jak wykonuje to samo zapytanie pod programem z
firmy EMS to mam:

LOG: statement: select * from test2(20)
LOG: statement: SELECT 1
CONTEXT: SQL statement "SELECT 1"
PL/pgSQL function "test2" line 5 at for with integer loopvar
LOG: statement: SELECT 9
CONTEXT: SQL statement "SELECT 9"
PL/pgSQL function "test2" line 5 at for with integer loopvar
LOG: statement: SELECT '000'|| $1 ::varchar
CONTEXT: SQL statement "SELECT '000'|| $1 ::varchar"
PL/pgSQL function "test2" line 5 at return next
LOG: statement: SELECT 10
CONTEXT: SQL statement "SELECT 10"
PL/pgSQL function "test2" line 5 at for with integer loopvar
LOG: statement: SELECT 99
CONTEXT: SQL statement "SELECT 99"
PL/pgSQL function "test2" line 5 at for with integer loopvar
LOG: statement: SELECT '00'|| $1 ::varchar
CONTEXT: SQL statement "SELECT '00'|| $1 ::varchar"
PL/pgSQL function "test2" line 5 at return next
LOG: statement: SELECT 100
CONTEXT: SQL statement "SELECT 100"
PL/pgSQL function "test2" line 5 at for with integer loopvar
LOG: statement: SELECT 999
CONTEXT: SQL statement "SELECT 999"
PL/pgSQL function "test2" line 5 at for with integer loopvar
LOG: statement: SELECT '0'|| $1 ::varchar
CONTEXT: SQL statement "SELECT '0'|| $1 ::varchar"
PL/pgSQL function "test2" line 5 at return next
LOG: statement: SELECT 1000
CONTEXT: SQL statement "SELECT 1000"
PL/pgSQL function "test2" line 5 at for with integer loopvar
LOG: statement: SELECT 9999
CONTEXT: SQL statement "SELECT 9999"
PL/pgSQL function "test2" line 5 at for with integer loopvar
LOG: statement: SELECT $1 ::varchar
CONTEXT: SQL statement "SELECT $1 ::varchar"
PL/pgSQL function "test2" line 5 at return next
LOG: duration: 55.273 ms
LOG: statement: SELECT oid, typname FROM pg_type WHERE oid<10000
LOG: duration: 2.563 ms

Ciekawe dlczego zapytanie to generuje wiecej do LOG-u ???

A ciało funkcji test2:
CREATE OR REPLACE FUNCTION "public"."test3" (integer) RETURNS SETOF
varchar AS
$body$
DECLARE
subtotal ALIAS FOR $1;
BEGIN
FOR i IN 1..9 LOOP
RETURN next '000'||i::varchar;
END LOOP;
FOR i IN 100..999 LOOP
RETURN next '0'||i::varchar;
END LOOP;
FOR i IN 1000..9999 LOOP
RETURN next i::varchar;
END LOOP;

RETURN ;
END;
$body$
LANGUAGE 'plpgsql' VOLATILE;




=?ISO-8859-2?Q?Micha=B3_Zaborowski?= - 26-11-2005 22:29

  Dnia 2005-11-24 10:21, Użytkownik hubert depesz lubaczewski napisał :
> Dnia 24.11.2005 max <max@max.pl> napisał/a:
>
>>Czy ktoś inny potrzebował by czegoś takiego ?
>
> na pewno kupa ludzi by potrzebowała. na razie trzeba sobie radzić raise
> notice/log'ami - a to nie jest przesadnie eleganckie.
>
Eeee, piszę w Delphi więc jestem wygodnicki. Logowanie
logowaniem, ale jak mam zdebugować coś to wolę cywilizowane
sposoby. ;)
EMS - jak pisałem ma opcję debugu. Każdą procedurę może
sobie zdebugować. Są breakpointy, na dole ekranu widać
wszystkie zmienne.

--
Pozdrawiam,
Michał Zaborowski (TeXXaS)





hubert depesz lubaczewski - 26-11-2005 22:29

  Dnia 24.11.2005 Michał Zaborowski <michal.zaborowski@_nospam_wp.pl> napisał/a:
> Eeee, piszę w Delphi więc jestem wygodnicki. Logowanie
> logowaniem, ale jak mam zdebugować coś to wolę cywilizowane
> sposoby. ;)

szczerze? procedury które piszę zazwyczaj nie generują problemów. a jak
generują to są rpoblemy z wydajnością. a te monitoruje mi się o *niebo*
wygodniem raise log'ami niż czymkolwiek innym.

depesz

--
*------------------------------------------------------------------*
najwspanialszą rzeczą jaką dało nam nowoczesne społeczeństwo, jest
niesamowita wręcz łatwość unikania kontaktów z nim




acure - 26-11-2005 22:29

 
"hubert depesz lubaczewski" <depesz@eo.pl> wrote in message
news:slrndoc4km.knt.depesz@localhost.localdomain.. .
> Dnia 24.11.2005 Michał Zaborowski <michal.zaborowski@_nospam_wp.pl>
napisał/a:
> > Eeee, piszę w Delphi więc jestem wygodnicki. Logowanie
> > logowaniem, ale jak mam zdebugować coś to wolę cywilizowane
> > sposoby. ;)
>
> szczerze? procedury które piszę zazwyczaj nie generują problemów. a jak
> generują to są rpoblemy z wydajnością. a te monitoruje mi się o *niebo*
> wygodniem raise log'ami niż czymkolwiek innym.
>
święta prawda.

Pozdrawiam - Acure
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?= www.fotosearch.pl & www.fotosearch.com >> ceny [MySQL] Jakie kodowanie aby =?ISO-8859-2?Q?by=B3y_i_pl_ogo?==?ISO-8859-2?Q?nki_i_o_z_dwoma_kropkami_nad_nim_=3F_=3B?==?IS O-8859-2?Q?=29?= Oracle PL/SQL Wstawianie =?ISO-8859-2?Q?wynik=F3w_kolekcji_d?==?ISO-8859-2?Q?o_tabeli?= [Oracle PL/SQL] Cursor i zapis =?ISO-8859-2?Q?rekord=F3w_do_?==?ISO-8859-2?Q?kolejnych_plik=F3w?= MySQL + UTF8 + PL znaki - jest =?ISO-8859-2?Q?jaki=B6_logiczny?==?ISO-8859-2?Q?_spos=F3b_=3F?= [Forum] www.forum.weeb.pl Photoshop CS/CS PL - Biblia [pgsql] Akcja w =?iso-8859-2?b?emFsZb9ub7ZjaQ==?= od liczby zmienionych =?iso-8859-1?q?rekord=F3w?= [sql][pgsql] zapytanie sql
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • shutter.opx.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com