public void UpdateRow(BaseDataObjectVersion baseDataObjectVersion) { Log.WriteLine ("DataContext-{0}.UpdateRow(baseDataObjectVersion={1})", this.id.ToHexadecimal (), baseDataObjectVersion.ToString ()); //var SV = baseDataObjectVersion.Serialize (); MemoryStream ms = new MemoryStream (); ms.Write (baseDataObjectVersion.ObjectType.ToByteArray (), 0, 16); baseDataObjectVersion.Serialize (ms, null); byte[] buf = ms.ToArray (); Log.WriteLine ("Object buffer: {0}", buf.ToHexadecimal ()); //Console.WriteLine ("Temporary.Contains({0})={1}", baseDataObjectVersion.ID.ToHexadecimal (), temporary.Get (baseDataObjectVersion.ID) != null); temporary.Put (baseDataObjectVersion.ID, buf); var row = baseDataObjectVersion as Row; if (row != null) { foreach (var rid in row.ReplacingIDs) { if (perTableRows [row.Table].ContainsKey (rid)) perTableRows [row.Table].Remove (rid); } perTableRows [row.Table].Add (baseDataObjectVersion.ID, row); objects.Add (baseDataObjectVersion.ID, row); foreach (var id in baseDataObjectVersion.ReplacingIDs) { if (!references.ContainsKey (id)) { references.Add (id, new SortedSet<byte[]> (ByteSequenceComparer.Shared)); } references [id].Add (baseDataObjectVersion.ID); } } }
public void InsertRow(BaseDataObjectVersion baseDataObjectVersion) { Log.WriteLine ("DataContext-{0}.InsertRow(baseDataObjectVersion={1})", this.id.ToHexadecimal (), baseDataObjectVersion); //var SV = baseDataObjectVersion.Serialize (); MemoryStream ms = new MemoryStream (); ms.Write (baseDataObjectVersion.ObjectType.ToByteArray (), 0, 16); baseDataObjectVersion.Serialize (ms, null); temporary.Put (baseDataObjectVersion.ID, ms.ToArray ()); var row = baseDataObjectVersion as Row; if (row != null) { perTableRows [row.Table].Add (baseDataObjectVersion.ID, row); objects.Add (baseDataObjectVersion.ID, row); foreach (var id in baseDataObjectVersion.ReplacingIDs) { if (!references.ContainsKey (id)) { references.Add (id, new SortedSet<byte[]> (ByteSequenceComparer.Shared)); } references [id].Add (baseDataObjectVersion.ID); } } }