Hello!
 
CheckConstraint query
----------------
SELECT
null AS CONSTRAINT_CATALOG,
null AS CONSTRAINT_SCHEMA,
chktb.rdb$constraint_name AS CONSTRAINT_NAME,
chktb.rdb$relation_name AS TABLE_NAME,
trig.rdb$trigger_source AS CHECK_CLAUSULE,
trig.rdb$description AS DESCRIPTION
FROM rdb$relation_constraints chktb
left join rdb$check_constraints chk ON (chktb.rdb$constraint_name = chk.rdb$constraint_name AND
    chktb.rdb$constraint_type = 'CHECK')
left join rdb$triggers trig ON chk.rdb$trigger_name = trig.rdb$trigger_name
---------------
This query return more excess rows(other constraints).
I don't understand this clause
--
left join rdb$check_constraints chk ON (chktb.rdb$constraint_name = chk.rdb$constraint_name AND
    chktb.rdb$constraint_type = 'CHECK')

--
may be inner join???(need only Check constraints)
 
also I don't understand what to do method ParseRestrictions in classes FbCheckConstraint and FbChecksByTable
if
--
<MetaDataCollections>
<CollectionName>CheckConstraints</CollectionName>
<NumberOfRestrictions>3</NumberOfRestrictions>
<NumberOfIdentifierParts>0</NumberOfIdentifierParts>
<PopulationMechanism>PrepareCollection</PopulationMechanism>
</MetaDataCollections>
<MetaDataCollections>
<CollectionName>CheckConstraintsByTable</CollectionName>
<NumberOfRestrictions>3</NumberOfRestrictions>
<NumberOfIdentifierParts>0</NumberOfIdentifierParts>
<PopulationMechanism>PrepareCollection</PopulationMechanism>
</MetaDataCollections>
--
(both number of restrictions == 3)

Reply via email to