Strona 3 z 6

: 24 października 2011, 12:35
autor: LordRuthwen
Ciężki przypadek ze mnie

Kod: Zaznacz cały

vmail=> DROP function update_passwd(varchar(40), varchar(40));
DROP FUNCTION
vmail=> SELECT username INTO tenuser FROM public.mailbox WHERE username='lukasz@poczta.blabla';
ERROR:  relation "tenuser" already exists

: 24 października 2011, 13:35
autor: Bastian
Ech, nie, to raczej ja pisze głupoty

Kod: Zaznacz cały

INSERT username INTO tenuser FROM public.mailbox WHERE username='lukasz@poczta.blabla';

: 24 października 2011, 13:39
autor: LordRuthwen

Kod: Zaznacz cały

ERROR:  syntax error at or near "username"
LINE 1: INSERT username INTO tenuser FROM public.mailbox WHERE usern...
               ^

: 24 października 2011, 13:56
autor: Bastian
Wybacz, nie wyspałem się:

Kod: Zaznacz cały

INSERT INTO tenuser SELECT username FROM public.mailbox WHERE='lukasz@poczta.blabla'

Ale to pewnie nie zadziała bo nie będzie potrafił kolumny ,,tenuser'' znaleźć, a ja nie wiem gdzie procedury przechowywane je tworzą. Dlatego pokaż:

Kod: Zaznacz cały

 SELECT relname FROM pg_catalog.pg_class WHERE relname='tenuser'

Kod: Zaznacz cały

 SELECT attrname FROM pg_catalog.pg_attribute WHERE attname='tenuser'
Chce tylko przetestować te dwa kluczowe zapytania w funkcji, aby sprawdzić gdzie znajduje się błąd. Po ich naprawieniu funkcja ruszy, nie ma bata.

: 24 października 2011, 14:02
autor: LordRuthwen

Kod: Zaznacz cały

vmail=> SELECT relname FROM pg_catalog.pg_class WHERE relname='tenuser';
 relname
---------
 tenuser
(1 row)

Kod: Zaznacz cały

vmail=> SELECT attrname FROM pg_catalog.pg_attribute WHERE attname='tenuser';
ERROR:  column "attrname" does not exist
LINE 1: SELECT attrname FROM pg_catalog.pg_attribute WHERE attname='...
               ^

: 24 października 2011, 14:33
autor: Bastian

Kod: Zaznacz cały


SELECT attname FROM pg_catalog.pg_attribute WHERE attname='tenuser'

: 25 października 2011, 08:11
autor: LordRuthwen

Kod: Zaznacz cały

vmail=> SELECT attname FROM pg_catalog.pg_attribute WHERE attname='tenuser';
 attname
---------
(0 rows)

: 25 października 2011, 10:10
autor: Bastian
Jeszcze sprawdzimy czy aktualizacja działa z palca, jeżeli tak to przepiszę Ci ten skrypt na nowo:

Kod: Zaznacz cały


UPDATE public.mailbox SET password=md5('nowypass') WHERE user='lukasz@poczta.bleble'

: 25 października 2011, 10:21
autor: LordRuthwen

Kod: Zaznacz cały

vmail=> UPDATE public.mailbox SET password=md5('nowypass') WHERE user='lukasz@poczta.blabla';
UPDATE 0

: 25 października 2011, 10:58
autor: Bastian
To jeszcze zobacz czy aplikacja wpuszcza bez problemu z haslem zahashowany w ten sposob.