I really appreciate that web2py has a wonderful jsonrpc server, but I have a question about implementing a safe remote database insertion. According to http://json-rpc.org/ 's specification, jsonrpc has a strict rpc protocol to ensure the transaction. However, I don't understand the behavior behind this if I use jsonrpc to create a function with db insert. For example, I want to create a transaction jsonrpc method to handle the invoice record. When the remote side send the data to the jsonrpc server, then jsonrpc server will return a response to inform remote side it receive the data. Finally, the remote side must send another response to the jsonrpc server to close the connection according to the specification. Hence, I am wondering what happen if the connection drops when the remote side try to send the close response. Do the db transaction roll back if the db insert code has executed when the jsonrpc server send the response to the remote site or the code actually execute after jsonrpc receive the close response from remote side, so that the remote site won't send the duplicate transaction ? or I need to handle the exception in my jsonrpc server to roll back the db insert? I hope I explain this correctly.... Please let me know if my English doesn't make sense to you. I really appreciate your answer. Thank you so much!

