Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 13 additions & 10 deletions sdk/tables/aztable/table_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -55,19 +55,22 @@ func (t *TableClient) Delete(ctx context.Context) (TableDeleteResponse, error) {
//
// Query returns a Pager, which allows iteration through each page of results. Example:
//
// pager := client.Query(QueryOptions{})
// pager := client.Query(nil)
// for pager.NextPage(ctx) {
// resp = pager.PageResponse()
// fmt.sprintf("The page contains %i results", len(resp.TableEntityQueryResponse.Value))
// }
// err := pager.Err()
func (t *TableClient) Query(queryOptions QueryOptions) TableEntityQueryResponsePager {
return &tableEntityQueryResponsePager{tableClient: t, queryOptions: &queryOptions, tableQueryOptions: &TableQueryEntitiesOptions{}}
func (t *TableClient) Query(queryOptions *QueryOptions) TableEntityQueryResponsePager {
if queryOptions == nil {
queryOptions = &QueryOptions{}
}
return &tableEntityQueryResponsePager{tableClient: t, queryOptions: queryOptions, tableQueryOptions: &TableQueryEntitiesOptions{}}
Comment thread
seankane-msft marked this conversation as resolved.
}

// GetEntity retrieves a specific entity from the service using the specified partitionKey and rowKey values.
func (t *TableClient) GetEntity(ctx context.Context, partitionKey string, rowKey string) (MapOfInterfaceResponse, error) {
resp, err := t.client.QueryEntityWithPartitionAndRowKey(ctx, t.Name, partitionKey, rowKey, &TableQueryEntityWithPartitionAndRowKeyOptions{}, &QueryOptions{})
resp, err := t.client.QueryEntityWithPartitionAndRowKey(ctx, t.Name, partitionKey, rowKey, &TableQueryEntityWithPartitionAndRowKeyOptions{}, nil)
if err != nil {
return resp, err
}
Expand All @@ -82,7 +85,7 @@ func (t *TableClient) AddEntity(ctx context.Context, entity interface{}) (TableI
if err != nil {
return TableInsertEntityResponse{}, azcore.NewResponseError(err, nil)
}
resp, err := t.client.InsertEntity(ctx, t.Name, &TableInsertEntityOptions{TableEntityProperties: *entmap, ResponsePreference: ResponseFormatReturnNoContent.ToPtr()}, &QueryOptions{})
resp, err := t.client.InsertEntity(ctx, t.Name, &TableInsertEntityOptions{TableEntityProperties: *entmap, ResponsePreference: ResponseFormatReturnNoContent.ToPtr()}, nil)
if err == nil {
insertResp := resp.(TableInsertEntityResponse)
return insertResp, nil
Expand All @@ -93,7 +96,7 @@ func (t *TableClient) AddEntity(ctx context.Context, entity interface{}) (TableI

// DeleteEntity deletes the entity with the specified partitionKey and rowKey from the table.
func (t *TableClient) DeleteEntity(ctx context.Context, partitionKey string, rowKey string, etag string) (TableDeleteEntityResponse, error) {
return t.client.DeleteEntity(ctx, t.Name, partitionKey, rowKey, etag, nil, &QueryOptions{})
return t.client.DeleteEntity(ctx, t.Name, partitionKey, rowKey, etag, nil, nil)
}

// UpdateEntity updates the specified table entity if it exists.
Expand All @@ -110,9 +113,9 @@ func (t *TableClient) UpdateEntity(ctx context.Context, entity map[string]interf
}
switch updateMode {
case Merge:
return t.client.MergeEntity(ctx, t.Name, pk, rk, &TableMergeEntityOptions{IfMatch: &ifMatch, TableEntityProperties: entity}, &QueryOptions{})
return t.client.MergeEntity(ctx, t.Name, pk, rk, &TableMergeEntityOptions{IfMatch: &ifMatch, TableEntityProperties: entity}, nil)
case Replace:
return t.client.UpdateEntity(ctx, t.Name, pk, rk, &TableUpdateEntityOptions{IfMatch: &ifMatch, TableEntityProperties: entity}, &QueryOptions{})
return t.client.UpdateEntity(ctx, t.Name, pk, rk, &TableUpdateEntityOptions{IfMatch: &ifMatch, TableEntityProperties: entity}, nil)
}
return nil, errors.New("Invalid TableUpdateMode")
}
Expand All @@ -126,9 +129,9 @@ func (t *TableClient) UpsertEntity(ctx context.Context, entity map[string]interf

switch updateMode {
case Merge:
return t.client.MergeEntity(ctx, t.Name, pk, rk, &TableMergeEntityOptions{TableEntityProperties: entity}, &QueryOptions{})
return t.client.MergeEntity(ctx, t.Name, pk, rk, &TableMergeEntityOptions{TableEntityProperties: entity}, nil)
case Replace:
return t.client.UpdateEntity(ctx, t.Name, pk, rk, &TableUpdateEntityOptions{TableEntityProperties: entity}, &QueryOptions{})
return t.client.UpdateEntity(ctx, t.Name, pk, rk, &TableUpdateEntityOptions{TableEntityProperties: entity}, nil)
}
return nil, errors.New("Invalid TableUpdateMode")
}
16 changes: 8 additions & 8 deletions sdk/tables/aztable/table_client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -111,7 +111,7 @@ func (s *tableClientLiveTests) TestMergeEntity() {

var qResp TableEntityQueryResponseResponse
filter := "RowKey eq '1'"
pager := client.Query(QueryOptions{Filter: &filter})
pager := client.Query(&QueryOptions{Filter: &filter})
for pager.NextPage(ctx) {
qResp = pager.PageResponse()
}
Expand All @@ -128,7 +128,7 @@ func (s *tableClientLiveTests) TestMergeEntity() {
_, updateErr := client.UpdateEntity(ctx, mergeProperty, nil, Merge)
assert.Nil(updateErr)

pager = client.Query(QueryOptions{Filter: &filter})
pager = client.Query(&QueryOptions{Filter: &filter})
for pager.NextPage(ctx) {
qResp = pager.PageResponse()
}
Expand All @@ -152,7 +152,7 @@ func (s *tableClientLiveTests) TestUpsertEntity() {

var qResp TableEntityQueryResponseResponse
filter := "RowKey eq '1'"
pager := client.Query(QueryOptions{Filter: &filter})
pager := client.Query(&QueryOptions{Filter: &filter})
for pager.NextPage(ctx) {
qResp = pager.PageResponse()
}
Expand All @@ -169,7 +169,7 @@ func (s *tableClientLiveTests) TestUpsertEntity() {
_, updateErr := client.UpsertEntity(ctx, mergeProperty, Replace)
require.Nil(updateErr)

pager = client.Query(QueryOptions{Filter: &filter})
pager = client.Query(&QueryOptions{Filter: &filter})
for pager.NextPage(ctx) {
qResp = pager.PageResponse()
}
Expand Down Expand Up @@ -229,7 +229,7 @@ func (s *tableClientLiveTests) TestQuerySimpleEntity() {
expectedCount := 4
var resp TableEntityQueryResponseResponse
var models []simpleEntity
pager := client.Query(QueryOptions{Filter: &filter})
pager := client.Query(&QueryOptions{Filter: &filter})
for pager.NextPage(ctx) {
resp = pager.PageResponse()
models = make([]simpleEntity, len(resp.TableEntityQueryResponse.Value))
Expand Down Expand Up @@ -279,7 +279,7 @@ func (s *tableClientLiveTests) TestQueryComplexEntity() {
filter := "RowKey lt '5'"
expectedCount := 4
var resp TableEntityQueryResponseResponse
pager := client.Query(QueryOptions{Filter: &filter})
pager := client.Query(&QueryOptions{Filter: &filter})
for pager.NextPage(ctx) {
resp = pager.PageResponse()
assert.Equal(expectedCount, len(resp.TableEntityQueryResponse.Value))
Expand Down Expand Up @@ -367,7 +367,7 @@ func (s *tableClientLiveTests) TestBatchMixed() {

var qResp TableEntityQueryResponseResponse
filter := "RowKey eq '1'"
pager := client.Query(QueryOptions{Filter: &filter})
pager := client.Query(&QueryOptions{Filter: &filter})
for pager.NextPage(ctx) {
qResp = pager.PageResponse()
}
Expand Down Expand Up @@ -413,7 +413,7 @@ func (s *tableClientLiveTests) TestBatchMixed() {

}

pager = client.Query(QueryOptions{Filter: &filter})
pager = client.Query(&QueryOptions{Filter: &filter})
for pager.NextPage(ctx) {
qResp = pager.PageResponse()
}
Expand Down
6 changes: 3 additions & 3 deletions sdk/tables/aztable/table_service_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,14 +64,14 @@ func (t *TableServiceClient) Delete(ctx context.Context, name string) (TableDele
//
// Query returns a Pager, which allows iteration through each page of results. Example:
//
// pager := client.Query(QueryOptions{})
// pager := client.Query(nil)
// for pager.NextPage(ctx) {
// resp = pager.PageResponse()
// fmt.sprintf("The page contains %i results", len(resp.TableQueryResponse.Value))
// }
// err := pager.Err()
func (t *TableServiceClient) Query(queryOptions QueryOptions) TableQueryResponsePager {
return &tableQueryResponsePager{client: t.client, queryOptions: &queryOptions, tableQueryOptions: new(TableQueryOptions)}
func (t *TableServiceClient) Query(queryOptions *QueryOptions) TableQueryResponsePager {
return &tableQueryResponsePager{client: t.client, queryOptions: queryOptions, tableQueryOptions: new(TableQueryOptions)}
}

func isCosmosEndpoint(url string) bool {
Expand Down
4 changes: 2 additions & 2 deletions sdk/tables/aztable/table_service_client_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ func (s *tableServiceClientLiveTests) TestQueryTable() {

// Query for tables with no pagination. The filter should exclude one table from the results
filter := fmt.Sprintf("TableName ge '%s' and TableName lt '%s'", prefix1, prefix2)
pager := context.client.Query(QueryOptions{Filter: &filter})
pager := context.client.Query(&QueryOptions{Filter: &filter})

resultCount := 0
for pager.NextPage(ctx) {
Expand All @@ -98,7 +98,7 @@ func (s *tableServiceClientLiveTests) TestQueryTable() {

// Query for tables with pagination
top := int32(2)
pager = context.client.Query(QueryOptions{Filter: &filter, Top: &top})
pager = context.client.Query(&QueryOptions{Filter: &filter, Top: &top})

resultCount = 0
pageCount := 0
Expand Down
2 changes: 1 addition & 1 deletion sdk/tables/aztable/zt_table_recorded_tests.go
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@ func recordedTestTeardown(key string) {
func cleanupTables(context *testContext, tables *[]string) {
c := context.client
if tables == nil {
pager := c.Query(QueryOptions{})
pager := c.Query(nil)
for pager.NextPage(ctx) {
for _, t := range pager.PageResponse().TableQueryResponse.Value {
c.Delete(ctx, *t.TableName)
Expand Down