コード例 #1
0
        private PB.Column MakeColumn(string name, DataModel.ColumnValue value)
        {
            var builder = PB.Column.CreateBuilder();

            builder.SetName(name);
            builder.SetValue(MakeColumnValue(value));
            return(builder.Build());
        }
コード例 #2
0
        private PB.ColumnUpdate MakeColumnUpdateForPut(string columnName, DataModel.ColumnValue value)
        {
            var builder = PB.ColumnUpdate.CreateBuilder();

            builder.SetType(PB.OperationType.PUT);
            builder.SetName(columnName);
            builder.SetValue(MakeColumnValue(value));
            return(builder.Build());
        }
コード例 #3
0
        private PB.ColumnValue MakeColumnValue(DataModel.ColumnValue value)
        {
            var builder = PB.ColumnValue.CreateBuilder();

            if (value == DataModel.ColumnValue.INF_MAX)
            {
                builder.SetType(PB.ColumnType.INF_MAX);
            }
            else if (value == DataModel.ColumnValue.INF_MIN)
            {
                builder.SetType(PB.ColumnType.INF_MIN);
            }
            else
            {
                switch (value.Type)
                {
                case DataModel.ColumnValueType.Binary:
                    builder.SetType(PB.ColumnType.BINARY);
                    builder.SetVBinary(ByteString.CopyFrom(value.BinaryValue));
                    break;

                case DataModel.ColumnValueType.String:
                    builder.SetType(PB.ColumnType.STRING);
                    builder.SetVString(value.StringValue);
                    break;

                case DataModel.ColumnValueType.Boolean:
                    builder.SetType(PB.ColumnType.BOOLEAN);
                    builder.SetVBool(value.BooleanValue);
                    break;

                case DataModel.ColumnValueType.Double:
                    builder.SetType(PB.ColumnType.DOUBLE);
                    builder.SetVDouble(value.DoubleValue);
                    break;

                case DataModel.ColumnValueType.Integer:
                    builder.SetType(PB.ColumnType.INTEGER);
                    builder.SetVInt(value.IntegerValue);
                    break;

                default:
                    throw new OTSClientException(
                              String.Format("Invalid column value type: {0}", value.Type)
                              );
                }
            }

            return(builder.Build());
        }