Jak zjistim zavislost

18 views
Skip to first unread message

respektive

unread,
Aug 27, 2024, 5:57:47 AM8/27/24
to Firebird (CZ)
Ahoj mam problem v jedne databazi.

Nejde mi smazat sloupecek, ackoliv flamerobin u nej zadnou zavislost neeviduje

Kdyz si ale vyjedu RDB$DEPENDENCES tak mi to u te tabulky najde na to pole zavislost

Je to ale nazvane - RDB$16064                     
Typ je - 3 - computed

Netusite jak zjistit co by to mohlo byt??

Snazil jsem se horem dolem to najit, ale nepodarilo se mi.
Skoro mi prijde jako by v te tabulce zustaly radky po nejakem starsim slozenem indexu ktery tam uz neni :-(

Tom

Jiří Činčura

unread,
Aug 27, 2024, 6:23:33 AM8/27/24
to fireb...@googlegroups.com
A na co si to stezuje? Backup&restore predpokladam zadne chyby nehlasi.

--
Mgr. Jiří Činčura
https://www.tabsoverspaces.com/

respektive

unread,
Aug 27, 2024, 7:01:12 AM8/27/24
to Firebird (CZ)
No to jenze to neporesim v pracovni dobe, to jim na hodinu odstavit server nemuzu.
Tak me jen zajimalo jestli to nejde zjistit

Tom

Dne úterý 27. srpna 2024 v 12:23:33 UTC+2 uživatel ji...@cincura.net napsal:

fous

unread,
Aug 27, 2024, 7:03:46 AM8/27/24
to Firebird (CZ)
Backup se dá udělat za chodu a restore jinam. A tam se v tom hrabat ;-)

Dne úterý 27. srpna 2024 v 13:01:12 UTC+2 uživatel respektive napsal:

respektive

unread,
Aug 27, 2024, 7:09:12 AM8/27/24
to Firebird (CZ)
Backup uz restoruju z nocni zalohy, tak uvidime jestli tam ty zavislosti zustanou nebo ne.
TK

Dne úterý 27. srpna 2024 v 13:03:46 UTC+2 uživatel fous napsal:

respektive

unread,
Aug 27, 2024, 7:10:49 AM8/27/24
to Firebird (CZ)
Jak jsem psal JC - me zajima jak zjistit ktery objekt to drzi, jestli existuje nejaky zpusob jak odhalit co se skryva pod tim RDB$16064
Nasel jsem na netu ruzny joiny, ktere doplni nazvy objektu, ale pro tenhle konkretni radek to nezafungovalo

TK

Dne úterý 27. srpna 2024 v 13:09:12 UTC+2 uživatel respektive napsal:

Jiří Činčura

unread,
Aug 27, 2024, 7:32:27 AM8/27/24
to fireb...@googlegroups.com
No jasny, ze se to da zjistit. Proto existuje RDB$DEPENDENCIES. Mrkni se na RDB$DEPENDENT_TYPE resp. RDB$DEPENDED_ON_TYPE a pripadne to rekurzivne projdi. V src\jrd\obj.h najdes ty cisla, pripadne https://github.com/cincuranet/FirebirdDbComparer/blob/master/src/FirebirdDbComparer/SqlGeneration/SqlHelper25.cs#L345-L361. Ale uz vis, ze 3, pokud tam teda mas 3, je computed column. Tady https://github.com/cincuranet/FirebirdDbComparer/blob/master/src/FirebirdDbComparer/DatabaseObjects/Implementations/MetadataDependencies25.cs#L174 je kus kodu, co dela cely strom zavislosti, ale vykostit to ven jednoduse nepujde, spis si to spustit a nekam si vypsat vysledek.

respektive

unread,
Aug 27, 2024, 8:00:59 AM8/27/24
to Firebird (CZ)
Diky za navod, kdyz jsem to obratil - select * from RDB$DEPENDENCIES where RDB$DEPENDENT_NAME = 'RDB$16064'

Tak jsem zjistil s kterymi dalsimi tabulkami je to provazane a zjistil ze to je v stored procedure - kde je to pouzito v coalesce

Odstraneno uz je vse OK

Hoj Tom

Dne úterý 27. srpna 2024 v 13:10:49 UTC+2 uživatel respektive napsal:

respektive

unread,
Aug 27, 2024, 8:04:55 AM8/27/24
to Firebird (CZ)
Oprava: ve VIEW

Dne úterý 27. srpna 2024 v 14:00:59 UTC+2 uživatel respektive napsal:
Reply all
Reply to author
Forward
0 new messages