final String body = "value";
// create-delete in one txn
doInTxn(new ConAction() {
public void run(BlobStoreConnection con) throws Exception {
Blob b = getBlob(con, id, null);
createBlob(con, b, null);
deleteBlob(con, b);
}
}, true);
// create-delete-create in one txn
doInTxn(new ConAction() {
public void run(BlobStoreConnection con) throws Exception {
Blob b = getBlob(con, id, null);
createBlob(con, b, null);
deleteBlob(con, b);
createBlob(con, b, null);
}
}, true);
// delete-create-delete in one txn
doInTxn(new ConAction() {
public void run(BlobStoreConnection con) throws Exception {
Blob b = getBlob(con, id, "");
deleteBlob(con, b);
createBlob(con, b, null);
deleteBlob(con, b);
}
}, true);
// create-delete-create-delete in one txn
doInTxn(new ConAction() {
public void run(BlobStoreConnection con) throws Exception {
Blob b = getBlob(con, id, null);
createBlob(con, b, null);
deleteBlob(con, b);
createBlob(con, b, null);
deleteBlob(con, b);
}
}, true);
// create-update-delete-create-update-delete in one txn
doInTxn(new ConAction() {
public void run(BlobStoreConnection con) throws Exception {
Blob b = getBlob(con, id, null);
createBlob(con, b, body);
deleteBlob(con, b);
createBlob(con, b, body);
deleteBlob(con, b);
}
}, true);
// create in one, delete in another
createBlob(id, body, true);
deleteBlob(id, body, true);
// create in one, delete + create in another
createBlob(id, body, true);
doInTxn(new ConAction() {
public void run(BlobStoreConnection con) throws Exception {
Blob b = getBlob(con, id, body);
deleteBlob(con, b);
createBlob(con, b, null);
}
}, true);
// delete + create + update in one
doInTxn(new ConAction() {
public void run(BlobStoreConnection con) throws Exception {
Blob b = getBlob(con, id, "");
deleteBlob(con, b);
createBlob(con, b, body);
}
}, true);
// update + delete + create + update in one
doInTxn(new ConAction() {
public void run(BlobStoreConnection con) throws Exception {
Blob b = getBlob(con, id, body);
setBlob(con, b, "foo");
deleteBlob(con, b);
createBlob(con, b, body);
}
}, true);
// delete + create + update + delete in one
doInTxn(new ConAction() {
public void run(BlobStoreConnection con) throws Exception {
Blob b = getBlob(con, id, body);
deleteBlob(con, b);
createBlob(con, b, body);
deleteBlob(con, b);
}
}, true);
// create-move-delete in one txn
doInTxn(new ConAction() {
public void run(BlobStoreConnection con) throws Exception {
Blob b = getBlob(con, id, null);
Blob b2 = getBlob(con, id2, null);
createBlob(con, b, null);
moveBlob(con, b, id2, "");
deleteBlob(con, b2);
}
}, true);
// create in one, move-delete in another txn
createBlob(id, body, true);
doInTxn(new ConAction() {
public void run(BlobStoreConnection con) throws Exception {
Blob b = getBlob(con, id, body);
Blob b2 = getBlob(con, id2, null);
moveBlob(con, b, id2, body);
deleteBlob(con, b2);
}
}, true);
// create-move-delete-create-move in one txn
doInTxn(new ConAction() {
public void run(BlobStoreConnection con) throws Exception {
Blob b = getBlob(con, id, null);
Blob b2 = getBlob(con, id2, null);
createBlob(con, b, null);
moveBlob(con, b, id2, "");
deleteBlob(con, b2);
createBlob(con, b2, null);
moveBlob(con, b2, id, "");
setBlob(con, b, body);
}
}, true);
// move-delete-create-move-again-yada-yada...
doInTxn(new ConAction() {
public void run(BlobStoreConnection con) throws Exception {
Blob b = getBlob(con, id, body);
Blob b2 = getBlob(con, id2, null);
moveBlob(con, b, id2, body);
deleteBlob(con, b2);
createBlob(con, b, null);
moveBlob(con, b, id2, "");