A tak jsem začal testovat jednotlivé případy použití. Přidávání uživatele fungovalo na první pokus tak jak bych od něj očekával, v podstatě jsem tam jen změnil některé sloupce na NOT NULL a některým sloupcům jsem toto omezení zrušil, tak jak jsme se v pátek dohodli na radě.
Při testování editace uložených informací pak již došlo k poměrně zásadnímu problému. Při update nad řádkem tabulky mi program hlásil podivnou chybu, SQLException s informací že 4. sloupec má špatný typ parametru. A tak jsem se jal zkoušet ten SQL dotaz s UPDATE zkracovat a různě upravovat. Dokonce jsem ho komplet smazal a pak napsal na zelené louce.
Nic z toho nepomohlo a tak jsem si pustil spojení k databázi z příkazové řádky a zkusil tento dotaz provést z konzole. A hle, krom toho, že je chybně parametr 4 jsem se konečně dozvěděl i něco víc:
ERROR: attribute 4 has wrong type
DETAIL: Table has type character varying, but query expects character
varying.
OK, z s tímto už můžu za strýčkem Googlem, to už by mi mohl něco najít. A taky že našel:
http://comments.gmane.org/gmane.comp.db.postgresql.bugs/13397
Poučení pro příště: Když vám bude zlobit něco co předtím spolehlivě fungovalo a vy si nejste vědomi žádných úprav, tak to zkuste přímo z konzolového spojení s databází. Třebas se tak dozvíte víc jako jsem se dozvěděl já a nezabijete několik hodin tím, že budete honit duchy, tam kde žádní nejsou.
Jo, možná by stálo za to zmínit, že k problému došlo nad sloupcem s VARCHAR(14) a CHECK omezením typu ~* E'^(\\+420){0,1}[0-9]{9}$'::text
OdpovědětVymazatOK, tak v Etchi už je PostgreSQL 8.1.8 a vše funguje. Hurá!
OdpovědětVymazat