/// <summary> /// Warning! Do not expose this functionality to external user. This is for internal use only. /// Returns value of the field of the record in the table in the latest version even if the record is deleted. This version can be not committed yet. /// </summary> /// <typeparam name="TField"></typeparam> /// <param name="rowId"></param> /// <param name="field"></param> /// <returns></returns> public TField GetLatestField <TField>(RowId rowId, IField <TRecord, TField> field) { ValueList <Row> .Address rowAddress = this.table.ItemAddress(rowId.Value); return(field.GetValue(ref rowAddress.Page[rowAddress.Index].Data)); }
/// <summary> /// Warning! Do not expose this functionality to external user. This is for internal use only. /// Gets the entire record in the table in the latest version even if the record is deleted. This version can be not committed yet. /// </summary> /// <param name="rowId"></param> /// <param name="data"></param> /// <returns>True if the record is deleted and False otherwise.</returns> public bool GetLatestData(RowId rowId, out TRecord data) { ValueList <Row> .Address rowAddress = this.table.ItemAddress(rowId.Value); data = rowAddress.Page[rowAddress.Index].Data; return(rowAddress.Page[rowAddress.Index].IsDeleted); }
/// <summary> /// Warning! Do not expose this functionality to external user. This is for internal use only. /// Returns true if provided row is deleted in the latest version. This version can be not committed yet. /// </summary> /// <param name="rowId"></param> /// <returns></returns> public bool IsLatestDeleted(RowId rowId) { ValueList <Row> .Address rowAddress = this.table.ItemAddress(rowId.Value); return(rowAddress.Page[rowAddress.Index].IsDeleted); }