|
|
|
1.- Domain depends on table. Solved. See
SQL> create database 'depends.fdb'; 2.- Domain depends on procedure. Solved. See here: SQL> set term ^; SQL> create procedure pd returns(rc int) as begin rc = 0; suspend; end^ SQL> create domain dd int check(value in (select rc from pd))^ SQL> drop procedure pd^ Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -PROCEDURE PD -there are 1 dependencies 3.- Domain depends on view. Solved. See here: SQL> create table t(a int)^ SQL> create view v as select a from t^ SQL> create domain d2 int check(value between (select first 1 a from v) and 0)^ SQL> drop view v^ Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -COLUMN A -there are 1 dependencies SQL> 4.- Domain depends on generator. Solved. See here: SQL> create generator g^ SQL> create domain dg bigint not null check (value > next value for g)^ SQL> drop generator g^ Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -GENERATOR G -there are 1 dependencies Let's continue in another database to avoid name clashes: SQL> create database 'depends2.fdb'^ Commit current transaction (y/n)?y Committing. 5.- Computed field using table. Solved. See here: SQL> create table t(a int)^ SQL> create table tc(b int, c computed by((select max(1) from t)))^ SQL> drop table t^ Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -TABLE T -there are 1 dependencies 6.- Computed field using procedure. Solved. See here: SQL> create procedure p returns(rc int) as begin rc = 1; suspend; end^ SQL> create table tp(a int, b computed by((select avg(rc) from p)))^ SQL> drop procedure p^ Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -PROCEDURE P -there are 1 dependencies 7.- Computed field using view. Solved. See here: SQL> create view v as select a from t^ SQL> create table tv(a int, b computed by((select min(a) from v)))^ SQL> drop view v^ Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -COLUMN A -there are 1 dependencies 8.- Computed field using generator. Solved. See here: SQL> create generator g^ SQL> create table tg(a int, b computed by(next value for g))^ SQL> drop generator g^ Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -GENERATOR G -there are 1 dependencies Again, avoiding name clashes: SQL> create database 'depends3.fdb'^ Commit current transaction (y/n)?y Committing. SQL> SQL> create generator g1^ SQL> create generator g2^ SQL> create generator g3^ 9.- Procedure using generator. Solved. See here: SQL> create procedure p as declare g int; begin g = next value for g1; end^ SQL> drop generator g1^ Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -GENERATOR G1 -there are 1 dependencies 10.- Trigger using generator. Solved. See here: SQL> create table t(a int)^ SQL> create trigger tai for t after insert as declare dummy bigint; begin dummy = next value for g2; end^ SQL> drop generator g2^ Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -GENERATOR G2 -there are 1 dependencies 11.- View using generator in SELECT part. Solved. See here: SQL> create view v as select a, next value for g3 as b from t^ SQL> drop generator g3^ Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -GENERATOR G3 -there are 1 dependencies 12.- View using generator in WHERE clause. Solved. See here: SQL> create generator g4^ SQL> create view v2 as select a from t where 1 < next value for g4 with check option^ SQL> drop generator g4^ Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -GENERATOR G4 -there are 1 dependencies 13.- Views, triggers, computed fields and domains using udfs are working as expected. However, the message is wrong. See here: SQL> declare external function getExactTimestamp CON> timestamp CON> returns parameter 1 CON> entry_point 'getExactTimestamp' module_name 'fbudf'^ SQL> create trigger tad for t after delete as declare dummy timestamp; begin dummy = getexacttimestamp(); end^ SQL> create view vudf(t) as select getexacttimestamp() from rdb$database^ SQL> create table tudf(a int, c computed by(getexacttimestamp()))^ SQL> create domain dud int check(value between extract(week from getexacttimestamp()) and 25)^ SQL> drop external function getexacttimestamp^ Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -UDF GETEXACTTIMESTAMP -there are 1 dependencies SQL> set term ;^ SQL> drop view vudf; SQL> drop external function getexacttimestamp; Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -UDF GETEXACTTIMESTAMP -there are 1 dependencies SQL> drop trigger tad; SQL> drop external function getexacttimestamp; Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -UDF GETEXACTTIMESTAMP -there are 1 dependencies SQL> drop table tudf; SQL> drop external function getexacttimestamp; Statement failed, SQLCODE = -607 unsuccessful metadata update -cannot delete -UDF GETEXACTTIMESTAMP -there are 1 dependencies SQL> drop domain dud; SQL> drop external function getexacttimestamp; SQL> Z Usage of generators and udfs in procedures, views and triggers is mine. Usage of tables, procedures, generators and views in computed fields may be mine, don't remember exactly. Usage of tables, procedures, generators and views in domains (and generally speaking, everything that a domain may depend upon) is Adriano's work. Will close this entry now. There are two issues only: 1.- Request that Jira allows to have more than one assignee to an item. Someone take care to contact Atlassian, please. 2.- Dependency tracking for UDFs is correct although the error message always says 1 dependencies. This may be a new, low priority item. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Sender: dimitr
Logged In: YES
user_id=61270
Claudio, could you please post an update what's still not
tracked?