public SRecord Get(long pos) { var rc = _Get(pos) as SRecord ?? throw new Exception("Record " + SDbObject._Uid(pos) + " never defined"); var tb = objects[rc.table] as STable ?? throw new Exception("Table " + rc.table + " has been dropped"); if (!tb.rows.Contains(rc.Defpos)) { throw new Exception("Record " + SDbObject._Uid(pos) + " has been dropped"); } var dp = tb.rows[rc.Defpos]; if (dp == pos) { return(rc); } return((SRecord)_Get(dp)); }
internal static string Uid(long uid) { return(SDbObject._Uid(uid)); }