diff options
author | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-03-15 10:58:36 +0200 |
---|---|---|
committer | Kaarle Ritvanen <kaarle.ritvanen@datakunkku.fi> | 2013-03-15 10:58:36 +0200 |
commit | c72a57b99c93a14cdf924771455a74aa358227c6 (patch) | |
tree | 25407e84c18cdddc05ec7b3d9ce0b0c3541ce6a9 /dev-shell | |
parent | fe648009635c8b744c51303020fd0b3b9cfe83c9 (diff) | |
download | aconf-c72a57b99c93a14cdf924771455a74aa358227c6.tar.bz2 aconf-c72a57b99c93a14cdf924771455a74aa358227c6.tar.xz |
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
Diffstat (limited to 'dev-shell')
-rwxr-xr-x | dev-shell | 14 |
1 files changed, 6 insertions, 8 deletions
@@ -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 |