pgSQL - aktualizacja has

Potrzebujesz pomocy z C, C++, perl, python, itp.
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2344
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post 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
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post 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';
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2344
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post autor: LordRuthwen »

Kod: Zaznacz cały

ERROR:  syntax error at or near "username"
LINE 1: INSERT username INTO tenuser FROM public.mailbox WHERE usern...
               ^
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post 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.
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2344
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post 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='...
               ^
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

Kod: Zaznacz cały


SELECT attname FROM pg_catalog.pg_attribute WHERE attname='tenuser'
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2344
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post autor: LordRuthwen »

Kod: Zaznacz cały

vmail=> SELECT attname FROM pg_catalog.pg_attribute WHERE attname='tenuser';
 attname
---------
(0 rows)
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post 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'
Awatar użytkownika
LordRuthwen
Moderator
Posty: 2344
Rejestracja: 18 września 2009, 21:45
Lokalizacja: klikash?

Post autor: LordRuthwen »

Kod: Zaznacz cały

vmail=> UPDATE public.mailbox SET password=md5('nowypass') WHERE user='lukasz@poczta.blabla';
UPDATE 0
Awatar użytkownika
Bastian
Member
Posty: 1424
Rejestracja: 30 marca 2008, 16:09
Lokalizacja: Poznañ

Post autor: Bastian »

To jeszcze zobacz czy aplikacja wpuszcza bez problemu z haslem zahashowany w ten sposob.
ODPOWIEDZ