private IMessage EncodeSearch(Request.OTSRequest request) { var requestReal = (Request.SearchRequest)request; var builder = PB.SearchRequest.CreateBuilder(); builder.SetTableName(requestReal.TableName); builder.SetIndexName(requestReal.IndexName); builder.SetSearchQuery(EncodeSearchQuery(requestReal.SearchQuery).ToByteString()); if (requestReal.ColumnsToGet != null) { builder.SetColumnsToGet(EncodeColumsToGet(requestReal.ColumnsToGet)); } if (requestReal.RoutingValues != null) { List <ByteString> routingValues = new List <ByteString>(); foreach (var pk in requestReal.RoutingValues) { try { routingValues.Add(ByteString.CopyFrom(PlainBufferBuilder.BuildPrimaryKeyWithHeader(pk))); } catch (Exception e) { throw new OTSClientException("build plain buffer fail,msg:" + e.Message); } } builder.AddRangeRoutingValues(routingValues); } return(builder.Build()); }
private IMessage EncodeGetRange(Request.OTSRequest request) { var requestReal = (Request.GetRangeRequest)request; var builder = PB.GetRangeRequest.CreateBuilder(); builder.SetTableName(requestReal.QueryCriteria.TableName); builder.SetDirection(MakeDirection(requestReal.QueryCriteria.Direction)); if (requestReal.QueryCriteria.GetColumnsToGet() != null) { builder.AddRangeColumnsToGet(requestReal.QueryCriteria.GetColumnsToGet()); } if (requestReal.QueryCriteria.Limit != null) { builder.SetLimit((int)requestReal.QueryCriteria.Limit); } if (requestReal.QueryCriteria.Filter != null) { builder.SetFilter(MakeColumnCondition(requestReal.QueryCriteria.Filter)); } builder.AddRangeInclusiveStartPrimaryKey( MakeColumns(requestReal.QueryCriteria.InclusiveStartPrimaryKey)); builder.AddRangeExclusiveEndPrimaryKey( MakeColumns(requestReal.QueryCriteria.ExclusiveEndPrimaryKey)); return(builder.Build()); }
private IMessage EncodeCreateTable(Request.OTSRequest request) { var requestReal = (Request.CreateTableRequest)request; var builder = PB.CreateTableRequest.CreateBuilder(); builder.SetTableMeta(EncodeTableMeta(requestReal.TableMeta)); builder.SetReservedThroughput(EncodeReservedThroughput(requestReal.ReservedThroughput)); builder.SetTableOptions(EncodeTableOptions(requestReal.TableOptions)); if (requestReal.StreamSpecification != null) { builder.SetStreamSpec(EncodeStreamSpecification(requestReal.StreamSpecification)); } if (requestReal.PartitionRange != null) { for (var i = 0; i < requestReal.PartitionRange.Count; i++) { builder.SetPartitions(i, EncodePartitionRange(requestReal.PartitionRange[i])); } } if (requestReal.IndexMetas != null) { for (int i = 0; i < requestReal.IndexMetas.Count; i++) { builder.AddIndexMetas(EncodeIndexMeta(requestReal.IndexMetas[i])); } } var message = builder.Build(); return(message); }
private IMessage EncodeDescribeTable(Request.OTSRequest request) { var requestReal = (Request.DescribeTableRequest)request; var builder = PB.DescribeTableRequest.CreateBuilder(); builder.SetTableName(requestReal.TableName); return(builder.Build()); }
private IMessage EncodeListSearchIndex(Request.OTSRequest request) { var requestReal = (Request.ListSearchIndexRequest)request; var builder = PB.ListSearchIndexRequest.CreateBuilder(); builder.SetTableName(requestReal.TableName); return(builder.Build()); }
private IMessage EncodeUpdateTable(Request.OTSRequest request) { var requestReal = (Request.UpdateTableRequest)request; var builder = PB.UpdateTableRequest.CreateBuilder(); builder.SetTableName(requestReal.TableName); builder.SetReservedThroughput(MakeReservedThroughput(requestReal.ReservedThroughput)); return(builder.Build()); }
private IMessage EncodeGetRow(Request.OTSRequest request) { var requestReal = (Request.GetRowRequest)request; var queryCriteria = requestReal.QueryCriteria; var builder = PB.GetRowRequest.CreateBuilder(); builder.SetTableName(queryCriteria.TableName); builder.SetPrimaryKey(ByteString.CopyFrom(PB.PlainBufferBuilder.BuildPrimaryKeyWithHeader(queryCriteria.RowPrimaryKey))); builder.AddRangeColumnsToGet(queryCriteria.GetColumnsToGet()); // if timeRange and maxVersions are both not set, set maxVersions to 1 default if (!CheckQueryCondition(queryCriteria.TableName, queryCriteria.MaxVersions, queryCriteria.TimeRange)) { queryCriteria.MaxVersions = 1; } if (queryCriteria.TimeRange != null) { builder.SetTimeRange(EncodeTimeRange(queryCriteria.TimeRange)); } if (queryCriteria.MaxVersions.HasValue) { builder.SetMaxVersions(queryCriteria.MaxVersions.Value); } if (queryCriteria.CacheBlocks != null && queryCriteria.CacheBlocks.HasValue) { builder.SetCacheBlocks(queryCriteria.CacheBlocks.Value); } if (queryCriteria.Filter != null) { builder.SetFilter(BuildFilter(queryCriteria.Filter)); } if (queryCriteria.StartColumn != null) { builder.SetStartColumn(queryCriteria.StartColumn); } if (queryCriteria.EndColumn != null) { builder.SetEndColumn(queryCriteria.EndColumn); } if (queryCriteria.Token != null) { builder.SetToken(ByteString.CopyFrom(queryCriteria.Token)); } return(builder.Build()); }
private IMessage EncodeCreateSearchIndex(Request.OTSRequest request) { var requestReal = (Request.CreateSearchIndexRequest)request; var builder = PB.CreateSearchIndexRequest.CreateBuilder(); builder.SetTableName(requestReal.TableName); builder.SetIndexName(requestReal.IndexName); builder.SetSchema(EncodeIndexSchema(requestReal.IndexSchame)); return(builder.Build()); }
private IMessage EncodeDeleteRow(Request.OTSRequest request) { var requestReal = (Request.DeleteRowRequest)request; var builder = PB.DeleteRowRequest.CreateBuilder(); builder.SetTableName(requestReal.TableName); builder.SetCondition(MakeCondition(requestReal.Condition)); builder.AddRangePrimaryKey(MakeColumns(requestReal.PrimaryKey)); return(builder.Build()); }
public IMessage EncodeDeleteGlobalIndex(Request.OTSRequest request) { var requestReal = (Request.DeleteGlobalIndexRequest)request; var builder = PB.DropIndexRequest.CreateBuilder(); builder.SetMainTableName(requestReal.MainTableName); builder.SetIndexName(requestReal.IndexName); return(builder.Build()); }
private IMessage EncodePutRow(Request.OTSRequest request) { var requestReal = (Request.PutRowRequest)request; var builder = PB.PutRowRequest.CreateBuilder(); builder.SetTableName(requestReal.TableName); builder.SetCondition(EncodeCondition(requestReal.Condition)); builder.SetRow(ByteString.CopyFrom(PB.PlainBufferBuilder.BuildRowPutChangeWithHeader(requestReal.RowPutChange))); builder.SetReturnContent(EncodeReturnContent(requestReal.RowPutChange.ReturnType, requestReal.RowPutChange.ReturnColumnNames)); return(builder.Build()); }
private IMessage EncodeCreateTable(Request.OTSRequest request) { var requestReal = (Request.CreateTableRequest)request; var builder = PB.CreateTableRequest.CreateBuilder(); builder.SetTableMeta(MakeTableMeta(requestReal.TableMeta)); builder.SetReservedThroughput(MakeReservedThroughput(requestReal.ReservedThroughput)); var message = builder.Build(); return(message); }
private IMessage EncodeCreateGlobalIndex(Request.OTSRequest request) { var requestReal = (Request.CreateGlobalIndexRequest)request; var builder = PB.CreateIndexRequest.CreateBuilder(); builder.SetMainTableName(requestReal.MainTableName); builder.SetIncludeBaseData(requestReal.IncludeBaseData); builder.SetIndexMeta(EncodeIndexMeta(requestReal.IndexMeta)); return(builder.Build()); }
private IMessage EncodeBatchWriteRow(Request.OTSRequest request) { var requestReal = (Request.BatchWriteRowRequest)request; var builder = PB.BatchWriteRowRequest.CreateBuilder(); foreach (var item in requestReal.RowChangesGroupByTable) { builder.AddTables(EncodeTableInBatchWriteRowRequest(item.Key, item.Value)); } return(builder.Build()); }
private IMessage EncodeBatchGetRow(Request.OTSRequest request) { var requestReal = (Request.BatchGetRowRequest)request; var builder = PB.BatchGetRowRequest.CreateBuilder(); foreach (var criterias in requestReal.GetCriterias()) { builder.AddTables(EncodeTableInBatchGetRowRequest(criterias)); } return(builder.Build()); }
private IMessage EncodeGetRow(Request.OTSRequest request) { var requestReal = (Request.GetRowRequest)request; var builder = PB.GetRowRequest.CreateBuilder(); builder.SetTableName(requestReal.QueryCriteria.TableName); builder.AddRangePrimaryKey(MakeColumns(requestReal.QueryCriteria.RowPrimaryKey)); builder.AddRangeColumnsToGet(requestReal.QueryCriteria.GetColumnsToGet()); if (requestReal.QueryCriteria.Filter != null) { builder.SetFilter(MakeColumnCondition(requestReal.QueryCriteria.Filter)); } return(builder.Build()); }
private IMessage EncodeDeleteRow(Request.OTSRequest request) { var requestReal = (Request.DeleteRowRequest)request; var rowChange = requestReal.RowDeleteChange; var builder = PB.DeleteRowRequest.CreateBuilder(); // required string table_name = 1; builder.SetTableName(rowChange.TableName); // required bytes primary_key = 2; builder.SetPrimaryKey(ByteString.CopyFrom(PB.PlainBufferBuilder.BuildRowDeleteChangeWithHeader(rowChange))); // required Condition condition = 3; builder.SetCondition(EncodeCondition(rowChange.Condition)); // option ReturnType = 4; builder.SetReturnContent(EncodeReturnContent(rowChange.ReturnType, rowChange.ReturnColumnNames)); return(builder.Build()); }
private IMessage EncodeUpdateTable(Request.OTSRequest request) { var requestReal = (Request.UpdateTableRequest)request; var builder = PB.UpdateTableRequest.CreateBuilder(); builder.SetTableName(requestReal.TableName); if (requestReal.ReservedThroughput != null) { builder.SetReservedThroughput(EncodeReservedThroughput(requestReal.ReservedThroughput)); } if (requestReal.TableOptions != null) { builder.SetTableOptions(EncodeTableOptions(requestReal.TableOptions)); } if (requestReal.StreamSpecification != null) { builder.SetStreamSpec(EncodeStreamSpecification(requestReal.StreamSpecification)); } return(builder.Build()); }
private IMessage EncodeListTable(Request.OTSRequest request) { var builder = PB.ListTableRequest.CreateBuilder(); return(builder.Build()); }
private IMessage EncodeGetRange(Request.OTSRequest request) { var requestReal = (Request.GetRangeRequest)request; var builder = PB.GetRangeRequest.CreateBuilder(); var queryCriteria = requestReal.QueryCriteria; // required string table_name = 1; builder.SetTableName(queryCriteria.TableName); // required Direction direction = 2; builder.SetDirection(ToPBDirection(queryCriteria.Direction)); // repeated string columns_to_get = 3; if (queryCriteria.GetColumnsToGet() != null) { builder.AddRangeColumnsToGet(queryCriteria.GetColumnsToGet()); } // if timeRange and maxVersions are both not set, set maxVersions to 1 default if (!CheckQueryCondition(queryCriteria.TableName, queryCriteria.MaxVersions, queryCriteria.TimeRange)) { queryCriteria.MaxVersions = 1; } // optional TimeRange time_range = 4; if (queryCriteria.TimeRange != null) { builder.SetTimeRange(EncodeTimeRange(queryCriteria.TimeRange)); } // optional int32 max_versions = 5; if (queryCriteria.MaxVersions.HasValue) { builder.SetMaxVersions(queryCriteria.MaxVersions.Value); } // optional int32 limit = 6; if (queryCriteria.Limit != null && queryCriteria.Limit > 0) { builder.SetLimit((int)queryCriteria.Limit); } // required bytes inclusive_start_primary_key = 7; builder.SetInclusiveStartPrimaryKey(ByteString.CopyFrom(PB.PlainBufferBuilder.BuildPrimaryKeyWithHeader(queryCriteria.InclusiveStartPrimaryKey))); // required bytes exclusive_end_primary_key = 8; builder.SetExclusiveEndPrimaryKey(ByteString.CopyFrom(PB.PlainBufferBuilder.BuildPrimaryKeyWithHeader(queryCriteria.ExclusiveEndPrimaryKey))); // optional bool cache_blocks = 9 [default = true]; if (queryCriteria.CacheBlocks.HasValue) { builder.SetCacheBlocks(queryCriteria.CacheBlocks.Value); } // optional bytes filter = 10; if (queryCriteria.Filter != null) { builder.SetFilter(BuildFilter(queryCriteria.Filter)); } // optional string start_column = 11; if (queryCriteria.StartColumn != null) { builder.SetStartColumn(queryCriteria.StartColumn); } // optional string end_column = 12; if (queryCriteria.EndColumn != null) { builder.SetEndColumn(queryCriteria.EndColumn); } // optional bytes token = 13; if (queryCriteria.HasSetToken()) { builder.SetToken(ByteString.CopyFrom(queryCriteria.Token)); } return(builder.Build()); }