1) после бэкап-рестора тоже самое
2) gfix не проходит (см. отд ветку в этой группе)
3) табличка создается предварительно так:
CREATE TABLE gd_ref_constraints (
id dintkey,
constraint_name d_fk_metaname UNIQUE,
const_name_uq d_fk_metaname,
match_option char(7) character set none,
update_rule char(11) character set none,
delete_rule char(11) character set none,
constraint_rel d_fk_metaname,
constraint_field d_fk_metaname,
ref_rel d_fk_metaname,
ref_field d_fk_metaname,
ref_state char(8) character set none,
ref_next_state char(8) character set none,
constraint_rec_count COMPUTED BY (
(SELECT iif(i.rdb$statistics = 0, 0, Trunc(1/i.rdb$statistics +
0.5)) FROM rdb$indices i
JOIN rdb$relation_constraints rc ON rc.rdb$index_name = i.rdb
$index_name
WHERE rc.rdb$relation_name = constraint_rel AND rc.rdb
$constraint_type = 'PRIMARY KEY')),
constraint_uq_count COMPUTED BY (
(SELECT iif(i.rdb$statistics = 0, 0, Trunc(1/i.rdb$statistics +
0.5)) FROM rdb$indices i
JOIN rdb$index_segments iseg ON iseg.rdb$index_name = i.rdb
$index_name
AND iseg.rdb$field_name = constraint_field
JOIN rdb$relation_constraints rc ON rc.rdb$index_name = i.rdb
$index_name
WHERE i.rdb$relation_name = constraint_rel AND i.rdb
$segment_count = 1 AND rc.rdb$constraint_type = 'FOREIGN KEY')),
ref_rec_count COMPUTED BY (
(SELECT iif(i.rdb$statistics = 0, 0, Trunc(1/i.rdb$statistics +
0.5)) FROM rdb$indices i
JOIN rdb$relation_constraints rc ON rc.rdb$index_name = i.rdb
$index_name
WHERE rc.rdb$relation_name = ref_rel AND rc.rdb$constraint_type
= 'PRIMARY KEY')),
CONSTRAINT gd_pk_ref_constraint PRIMARY KEY (id)
)
4) проблема в том, что проявляется это на конкретной базе, которая тем
не менее проходит бэкап-рестор.