示例#1
0
		public SavedRevision Update(Document.DocumentUpdater updater)
		{
			int lastErrorCode = Status.Unknown;
			do
			{
				UnsavedRevision newRev = CreateRevision();
				if (updater.Update(newRev) == false)
				{
					break;
				}
				try
				{
					SavedRevision savedRev = newRev.Save();
					if (savedRev != null)
					{
						return savedRev;
					}
				}
				catch (CouchbaseLiteException e)
				{
					lastErrorCode = e.GetCBLStatus().GetCode();
				}
			}
			while (lastErrorCode == Status.Conflict);
			return null;
		}