Update Go AWS SDK to the latest version

This commit is contained in:
Andrey Smirnov
2019-07-13 00:03:55 +03:00
committed by Andrey Smirnov
parent d08be990ef
commit 94a72b23ff
2183 changed files with 885887 additions and 228114 deletions
@@ -94,6 +94,7 @@ func ExampleBuilder_WithKeyCondition() {
// Use the built expression to populate the DynamoDB Query's API input
// parameters.
input := &dynamodb.QueryInput{
ExpressionAttributeNames: expr.Names(),
ExpressionAttributeValues: expr.Values(),
KeyConditionExpression: expr.KeyCondition(),
ProjectionExpression: expr.Projection(),
+24 -21
View File
@@ -46,13 +46,13 @@ func (l typeList) Swap(i, j int) {
// proj := expression.NamesList(expression.Name("aName"), expression.Name("anotherName"), expression.Name("oneOtherName"))
//
// builder := expression.NewBuilder().WithKeyCondition(keyCond).WithProjection(proj)
// expression := builder.Build()
// expr := builder.Build()
//
// queryInput := dynamodb.QueryInput{
// KeyConditionExpression: expression.KeyCondition(),
// ProjectionExpression: expression.Projection(),
// ExpressionAttributeNames: expression.Names(),
// ExpressionAttributeValues: expression.Values(),
// KeyConditionExpression: expr.KeyCondition(),
// ProjectionExpression: expr.Projection(),
// ExpressionAttributeNames: expr.Names(),
// ExpressionAttributeValues: expr.Values(),
// TableName: aws.String("SomeTable"),
// }
type Builder struct {
@@ -89,13 +89,13 @@ func NewBuilder() Builder {
// // Add keyCond and proj to builder as a Key Condition and Projection
// // respectively
// builder := expression.NewBuilder().WithKeyCondition(keyCond).WithProjection(proj)
// expression := builder.Build()
// expr := builder.Build()
//
// queryInput := dynamodb.QueryInput{
// KeyConditionExpression: expression.KeyCondition(),
// ProjectionExpression: expression.Projection(),
// ExpressionAttributeNames: expression.Names(),
// ExpressionAttributeValues: expression.Values(),
// KeyConditionExpression: expr.KeyCondition(),
// ProjectionExpression: expr.Projection(),
// ExpressionAttributeNames: expr.Names(),
// ExpressionAttributeValues: expr.Values(),
// TableName: aws.String("SomeTable"),
// }
func (b Builder) Build() (Expression, error) {
@@ -177,7 +177,7 @@ func (b Builder) buildChildTrees() (aliasList, map[expressionType]string, error)
// // existing ProjectionBuilder
// builder = builder.WithProjection(proj)
// // create an Expression struct
// expression := builder.Build()
// expr := builder.Build()
func (b Builder) WithCondition(conditionBuilder ConditionBuilder) Builder {
if b.expressionMap == nil {
b.expressionMap = map[expressionType]treeBuilder{}
@@ -201,7 +201,7 @@ func (b Builder) WithCondition(conditionBuilder ConditionBuilder) Builder {
// // existing ConditionBuilder
// builder = builder.WithCondition(cond)
// // create an Expression struct
// expression := builder.Build()
// expr := builder.Build()
func (b Builder) WithProjection(projectionBuilder ProjectionBuilder) Builder {
if b.expressionMap == nil {
b.expressionMap = map[expressionType]treeBuilder{}
@@ -225,7 +225,7 @@ func (b Builder) WithProjection(projectionBuilder ProjectionBuilder) Builder {
// // existing ConditionBuilder
// builder = builder.WithCondition(cond)
// // create an Expression struct
// expression := builder.Build()
// expr := builder.Build()
func (b Builder) WithKeyCondition(keyConditionBuilder KeyConditionBuilder) Builder {
if b.expressionMap == nil {
b.expressionMap = map[expressionType]treeBuilder{}
@@ -249,7 +249,7 @@ func (b Builder) WithKeyCondition(keyConditionBuilder KeyConditionBuilder) Build
// // existing ConditionBuilder
// builder = builder.WithCondition(cond)
// // create an Expression struct
// expression := builder.Build()
// expr := builder.Build()
func (b Builder) WithFilter(filterBuilder ConditionBuilder) Builder {
if b.expressionMap == nil {
b.expressionMap = map[expressionType]treeBuilder{}
@@ -273,7 +273,7 @@ func (b Builder) WithFilter(filterBuilder ConditionBuilder) Builder {
// // existing ConditionBuilder
// builder = builder.WithCondition(cond)
// // create an Expression struct
// expression := builder.Build()
// expr := builder.Build()
func (b Builder) WithUpdate(updateBuilder UpdateBuilder) Builder {
if b.expressionMap == nil {
b.expressionMap = map[expressionType]treeBuilder{}
@@ -296,13 +296,13 @@ func (b Builder) WithUpdate(updateBuilder UpdateBuilder) Builder {
// // Add keyCond and proj to builder as a Key Condition and Projection
// // respectively
// builder := expression.NewBuilder().WithKeyCondition(keyCond).WithProjection(proj)
// expression := builder.Build()
// expr := builder.Build()
//
// queryInput := dynamodb.QueryInput{
// KeyConditionExpression: expression.KeyCondition(),
// ProjectionExpression: expression.Projection(),
// ExpressionAttributeNames: expression.Names(),
// ExpressionAttributeValues: expression.Values(),
// KeyConditionExpression: expr.KeyCondition(),
// ProjectionExpression: expr.Projection(),
// ExpressionAttributeNames: expr.Names(),
// ExpressionAttributeValues: expr.Values(),
// TableName: aws.String("SomeTable"),
// }
type Expression struct {
@@ -488,7 +488,10 @@ func (e Expression) returnExpression(expressionType expressionType) *string {
if e.expressionMap == nil {
return nil
}
return aws.String(e.expressionMap[expressionType])
if s, exists := e.expressionMap[expressionType]; exists {
return &s
}
return nil
}
// exprNode are the generic nodes that represents both Operands and
@@ -978,6 +978,39 @@ func TestBuildExpressionString(t *testing.T) {
}
}
func TestReturnExpression(t *testing.T) {
cases := []struct {
name string
input Expression
expected *string
}{
{
name: "projection exists",
input: Expression{
expressionMap: map[expressionType]string{
projection: "#0, #1, #2",
},
},
expected: aws.String("#0, #1, #2"),
},
{
name: "projection not exists",
input: Expression{
expressionMap: map[expressionType]string{},
},
expected: nil,
},
}
for _, c := range cases {
t.Run(c.name, func(t *testing.T) {
actual := c.input.returnExpression(projection)
if e, a := c.expected, actual; !reflect.DeepEqual(a, e) {
t.Errorf("expect %v, got %v", e, a)
}
})
}
}
func TestAliasValue(t *testing.T) {
cases := []struct {
name string