Hi Robin and Massimo,

Ok, I read up on how transactions work in Google Big Table and I think
I finally understand what you two are talking about.
http://code.google.com/appengine/docs/python/datastore/transactions.html
http://code.google.com/appengine/docs/python/datastore/keysandentitygroups.html

So because "Entity Groups" need to be kept small for best efficiency
in Big Table, for all practical purposes we should consider Entity
Groups under the DAL to be a single record. Since Big Table
transactions are limited to one Entity Group per transaction, this
means that we are limited to one record per transaction. Right?

This leaves only one big question for me about the use of this lambda
function:

Robin wrote:
> if not row.update_record(count=lambda r: r.count+1):
>   let_app_deal_with_failed_transaction(row)

In the example above, 'count' is just an example of some arbitrary
column in the record, right? Can I have multiple assignments? Can I
mix lambda and non-lambda assignments? E.g.:

    row.update_record(count=lambda r: r.count+1, vote_score=lambda r:
calculate_vote_score(), preference='blue')


Thanks,

--Jonathan
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"web2py Web Framework" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/web2py?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to