/// <summary> /// Enumerate relationships info /// </summary> /// <param name="tableName">Table name</param> /// <returns>Relationships info list</returns> public VDBRelationshipInfo[] EnumRelationships(string tableName) { int relationshipsCount, position; VDBRelationshipInfo[] relationships; if (!FindTable(tableName)) { return(null); } position = this.position; try { FindRelationshipSection(); GetInteger(); relationshipsCount = GetInteger(); relationships = new VDBRelationshipInfo[relationshipsCount]; for (int i = 0; i < relationshipsCount; i++) { relationships[i].Name = GetString(); relationships[i].Description = GetString(); relationships[i].PrimTable = GetString(); relationships[i].PrimKeyColumns = ExtractColumnNamesFromExpr(GetString()); relationships[i].ForKeyColumns = ExtractColumnNamesFromExpr(GetString()); relationships[i].CascadeUpdate = GetBool(); relationships[i].CascadeDelete = GetBool(); relationships[i].Body = GetString(); } } finally { this.position = position; } return(relationships); }
/// <summary> /// Enumerate relationships info /// </summary> /// <param name="tableName">Table name</param> /// <returns>Relationships info list</returns> public VDBRelationshipInfo[] EnumRelationships(string tableName) { int relationshipsCount, position; VDBRelationshipInfo[] relationships; if(!FindTable(tableName)) return null; position = this.position; try { FindRelationshipSection(); GetInteger(); relationshipsCount = GetInteger(); relationships = new VDBRelationshipInfo[relationshipsCount]; for(int i = 0; i < relationshipsCount; i++) { relationships[i].Name = GetString(); relationships[i].Description = GetString(); relationships[i].PrimTable = GetString(); relationships[i].PrimKeyColumns = ExtractColumnNamesFromExpr(GetString()); relationships[i].ForKeyColumns = ExtractColumnNamesFromExpr(GetString()); relationships[i].CascadeUpdate = GetBool(); relationships[i].CascadeDelete = GetBool(); relationships[i].Body = GetString(); } } finally { this.position = position; } return relationships; }