Portál AbcLinuxu, 1. června 2024 13:31


Dotaz: Pgadmin 4 problém editace

19.6.2023 00:25 ZAH | skóre: 43 | blog: ZAH
Pgadmin 4 problém editace
Přečteno: 698×
Odpovědět | Admin
Kde mám/je chyba. Editace přes Pgadmin4 vyhazuje chybu při vkládání/editaci záznam.
CREATE TABLE IF NOT EXISTS accounting."Testdoc"
(
    did ismaster."T_DocumentIdx" NOT NULL,
    CONSTRAINT pl PRIMARY KEY (did)
)
CREATE TYPE ismaster."T_DocumentIdx" AS
(
	docyear character(4),
	docnum character(8)
);
Insert pracuje normálně
INSERT INTO accounting."Testdoc"(did) 
  VALUES (('2023','12345679'));
Při pokusu vložit/upravit údaj přes PGadmin se objeví chyba
ERROR input of anonymous composite types is not implemented 
PGadmin 4 Verze 6.21 Fedora pgadmin4-6.21-2.fc38.x86_64
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

19.6.2023 05:36 okbobcz | skóre: 8
Rozbalit Rozbalit vše Re: Pgadmin 4 problém editace
Odpovědět | | Sbalit | Link | Blokovat | Admin
Chyba je v pgadminu - nepodporuje editaci hodnot kompozitniho typu. Tohle je hlavni duvod proc se nedoporucovalo ukladat data do kompozitnich hodnot (ani na Postgresu a ani na Oracle). Je to dost atypicka zalezitost, navic na strane klienta muzete ztratit informaci o strukture. V popisu vysledku nemate popis struktury, ale odkaz na zakaznicky typ, ktery si musite stahnout, takze je s tim mnohem vic prace. Kompozity jsou super, kdyz programujete ulozene procedury, ale jinak clovek musi pocitat, ze bezne aplikace pro editaci dat je podporovat nebudou.
19.6.2023 13:28 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Pgadmin 4 problém editace
Dík, jde mi právě o poměrně komplikovaný projekt s maximálním podílem uložených procedur. Uvidím jestli seženu něco vhodného na testování editace. Dbeaver trpí obdobným problémem. ZAH
19.6.2023 16:31 okbobcz | skóre: 8
Rozbalit Rozbalit vše Re: Pgadmin 4 problém editace
Teoreticky si můžete napsat něco sám. By default Postgres komunikuje textově, a kompozitní hodnota se zapisuje i zobrazuje jako text (s ohraničením a separátory). V Postgresu můžete "jednoduše" editovat libovolný typ, jen nemůžete "jednoduše" udělat client side kontrolu.
19.6.2023 21:32 ZAH | skóre: 43 | blog: ZAH
Rozbalit Rozbalit vše Re: Pgadmin 4 problém editace
Takže nakonec PgAdmin funguje , ale potřebuje postrčit dodefinováním operátorů pro daný a v případě hodnoty v indexu i tříd operátorů. Vzhledem, že v tom docela plavu nebudu se pouštět do nějakých podrobností, spíše bych přivítal jestli bz to někdo dokáza jednoduše shrnout. Osobně mi velmi pomohl tento odkaz,

https://stackoverflow.com/questions/34971181/creating-custom-equality-operator-for-postgresql-type-point-for-distinct-cal

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.