From c72a57b99c93a14cdf924771455a74aa358227c6 Mon Sep 17 00:00:00 2001 From: Kaarle Ritvanen Date: Fri, 15 Mar 2013 10:58:36 +0200 Subject: improved handling of nested transactions add nested transaction support to protocol allow deferring validation to parent transaction process each update request within a nested transaction --- dev-shell | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) (limited to 'dev-shell') diff --git a/dev-shell b/dev-shell index aeaedc9..397c7af 100755 --- a/dev-shell +++ b/dev-shell @@ -21,6 +21,7 @@ function _acf_start_req { local var=ACF_$3 shift 3 + local current=${!var} eval "export $var=\$(_acf_req \"\$url\" \"\$@\" \ -D /proc/self/fd/1 -o /proc/self/fd/3 | \ sed 's/^$hdr: \\(.\\+\\)'\$'\\r''\$/\\1/;ta;d;:a;q')" @@ -28,7 +29,7 @@ function _acf_start_req { bash --rcfile "$ACF_QD_CLI" && _acf_req $url -X DELETE - eval $var= + eval $var=$current } if [ "$ACF_AUTH_TOKEN" ]; then @@ -55,12 +56,7 @@ EOF PS1="$ACF_USER@acf2-dev-shell${ACF_TXN_ID:+($ACF_TXN_ID)}> " function start { - if [ "$ACF_TXN_ID" ]; then - echo "Nested transactions not yet supported" >&2 - return 1 - else - _acf_start_req / Transaction-ID TXN_ID -X POST - fi + _acf_start_req / Transaction-ID TXN_ID -X POST } function _acf_obj_req { @@ -83,7 +79,7 @@ EOF function commit { if [ "$ACF_TXN_ID" ]; then - if _acf_req / -X POST; then + if _acf_req / -X PUT; then echo Committed >&2 exit 1 fi @@ -145,6 +141,8 @@ EOF echo >&2 fi + ACF_TXN_ID= + _acf_start_req /login Auth-Token AUTH_TOKEN \ -d "{\"username\": \"$ACF_USER\", \"password\": \"$PASSWORD\"}" fi -- cgit v1.2.3