コード例 #1
0
ファイル: HTable.cs プロジェクト: leegkon/NHBaseAPI
        /// <summary>
        ///	   原子计数器递增
        /// </summary>
        /// <param name="rowKey">rowKey</param>
        /// <param name="column">列名</param>
        /// <param name="value">递增值</param>
        /// <exception cref="ArgumentNullException">列名参数不能为空</exception>
        /// <exception cref="IOErrorException">IO错误</exception>
        /// <exception cref="CommunicationTimeoutException">通信超时</exception>
        /// <exception cref="CommunicationFailException">通信失败</exception>
        /// <returns>递增后的结果</returns>
        public long AtomicIncrement(byte[] rowKey, string column, long @value = 1)
        {
            if (rowKey == null || rowKey.Length == 0)
            {
                throw new ArgumentNullException("rowKey");
            }
            if (string.IsNullOrEmpty(column))
            {
                throw new ArgumentNullException("column");
            }
            IPEndPoint iep = _regionManager.GetRegionByRowKey(rowKey);

            return(_client.AtomicIncrement(TableName, rowKey, column, iep, @value));
        }