summaryrefslogtreecommitdiffstats
path: root/dev-shell
diff options
context:
space:
mode:
authorKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-03-15 10:58:36 +0200
committerKaarle Ritvanen <kaarle.ritvanen@datakunkku.fi>2013-03-15 10:58:36 +0200
commitc72a57b99c93a14cdf924771455a74aa358227c6 (patch)
tree25407e84c18cdddc05ec7b3d9ce0b0c3541ce6a9 /dev-shell
parentfe648009635c8b744c51303020fd0b3b9cfe83c9 (diff)
downloadaconf-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-xdev-shell14
1 files changed, 6 insertions, 8 deletions
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