internal override void Visit(ReplaceWholeVersionRequest req) { this.CQLExecute(string.Format(PartitionedCassandraVersionTable.CQL_REPLACE_WHOLE_VERSION, req.TableId, req.VersionEntry.BeginTimestamp, req.VersionEntry.EndTimestamp, BytesSerializer.ToHexString(BytesSerializer.Serialize(req.VersionEntry.Record)), req.VersionEntry.TxId, req.VersionEntry.MaxCommitTs, req.RecordKey.ToString(), req.VersionEntry.VersionKey)); req.Result = 1L; req.Finished = true; }
internal override void Visit(ReplaceWholeVersionRequest req) { this.HashId = req.RecordKey as string; byte[] keyBytes = BitConverter.GetBytes(req.VersionKey); byte[] valueBytes = VersionEntry.Serialize(req.VersionEntry); this.RedisReq = new RedisRequest(this.HashId, keyBytes, valueBytes, RedisRequestType.HSet) { ParentRequest = req }; }
internal override void Visit(ReplaceWholeVersionRequest req) { try { long ret = (long)req.Result; req.Result = ret == 1L; } catch (Exception) { req.Result = false; } }
internal override void Visit(ReplaceWholeVersionRequest req) { // Replace the whole version, no need to use remoteVersionEntry Dictionary <long, VersionEntry> versionList = null; if (!this.dict.TryGetValue(req.RecordKey, out versionList) || !versionList.ContainsKey(req.VersionKey)) { throw new TransactionException("The specified version does not exist."); } versionList[req.VersionKey] = req.VersionEntry; req.Result = true; req.Finished = true; }
internal virtual void Visit(ReplaceWholeVersionRequest req) { }
internal override void Visit(ReplaceWholeVersionRequest req) { throw new NotImplementedException(); }