private int FindByName(ObjectName sequenceName)
{
if (sequenceName == null)
throw new ArgumentNullException("sequenceName");
if (sequenceName.Parent == null)
return -1;
var seqInfo = SequenceInfoTableName;
if (!Transaction.RealTableExists(seqInfo))
return -1;
// Search the table.
var table = Transaction.GetTable(seqInfo);
var name = Field.VarChar(sequenceName.Name);
var schema = Field.VarChar(sequenceName.Parent.FullName);
int p = 0;
foreach (var row in table) {
var seqType = row.GetValue(3);
if (!seqType.IsEqualTo(OneValue)) {
var obName = row.GetValue(2);
if (obName.IsEqualTo(name)) {
var obSchema = row.GetValue(1);
if (obSchema.IsEqualTo(schema)) {
// Match so return this
return p;
}
}
++p;
}
}
return -1;
}