Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@smilerlee
Copy link
Contributor

  • New data types: BOOL, NULL, L, M
  • Expressions: Projection, Condition, KeyCondition, Filter, Update
  • ExpressionAttributeNames and ExpressionAttributeValues
  • Improved ddb2_consumed_capacity record
  • Global Secondary Index online creation and deletion
  • DDB util: scan_all
  • Other new features

Most of the code clean-ups are made in Resort and rewrite some code to improve readability and flexibility, you might prefer compare one-commit-by-one-commit, sorry for any inconvenience.

I believe there wouldn't be any backward compatibility breaking.

Hope you like it.
Thanks.

Smiler

smilerlee added 7 commits June 4, 2015 19:47
* New data types: BOOL, NULL, L, M
* Untyped output of BOOL value is `true` or `false`
* Untyped output of NULL value is `undefined` (not `null`, using `undefined` is more reasonable in Erlang)
* Rewrite type spec of `in_attr_value()`
* Remove Several uncommon type specs
@ransomr
Copy link
Collaborator

ransomr commented Jun 5, 2015

Thanks. It will probably be a few days before I have a chance to take a look.

@smilerlee
Copy link
Contributor Author

Alright, take your time.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should these two use expression() instead of binary() for the key type?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm afraid not, neither of them is expression.
Attribute names act as placeholders for reserved, illegal or long names according to the document.
Attribute values are also placeholders. Obviously, typed or complex values couldn't be embed into expressions that easy.

@ransomr
Copy link
Collaborator

ransomr commented Jun 9, 2015

Reviewed the code and it looks great. Before I merge I'm going to test using it in our service. It would be nice to update the doc examples to use the new attributes, since the old ones are deprecated.

@smilerlee
Copy link
Contributor Author

I'll update that a little later.

ransomr pushed a commit that referenced this pull request Jun 15, 2015
DynamoDB new features implementation
@ransomr ransomr merged commit 0f9a750 into erlcloud:master Jun 15, 2015
@ransomr
Copy link
Collaborator

ransomr commented Jun 15, 2015

Thank you - great to have this updated.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@smilerlee out of curiosity: why order is like {index_name(), delete} instead of more erlangish {delete, index_name()}?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The prefer way may be {create, ...}, {update, ...} and {delete, ...}
But to keep a consistent style with the remaining exist code, I have chosen the {index_name(), delete} format.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If there will be any future DynamoDB updates which couldn't fit into this exist style, I will consider to add a secondary format as you said, coexist with current one.
Thanks for your reply.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@smilerlee thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants