space hacks
[iotcloud.git] / version2 / src / C / Table.cpp
index 255ba3cf35bb3da7a02df7e59a9366fe88b472a0..5982d2d621dbdc9ce5b6c68110c6d6d91e4da51e 100644 (file)
@@ -47,10 +47,10 @@ Table::Table(IoTString *baseurl, IoTString *password, int64_t _localMachineId, i
        localMachineId(_localMachineId),
        sequenceNumber(0),
        localSequenceNumber(0),
-       localTransactionSequenceNumber(0),
+       localTransactionSequenceNumber(1),
        lastTransactionSequenceNumberSpeculatedOn(0),
        oldestTransactionSequenceNumberSpeculatedOn(0),
-       localArbitrationSequenceNumber(0),
+       localArbitrationSequenceNumber(1),
        hadPartialSendToServer(false),
        attemptedToSendToServer(false),
        expectedsize(0),
@@ -109,10 +109,10 @@ Table::Table(CloudComm *_cloud, int64_t _localMachineId) :
        localMachineId(_localMachineId),
        sequenceNumber(0),
        localSequenceNumber(0),
-       localTransactionSequenceNumber(0),
+       localTransactionSequenceNumber(1),
        lastTransactionSequenceNumberSpeculatedOn(0),
        oldestTransactionSequenceNumberSpeculatedOn(0),
-       localArbitrationSequenceNumber(0),
+       localArbitrationSequenceNumber(1),
        hadPartialSendToServer(false),
        attemptedToSendToServer(false),
        expectedsize(0),
@@ -392,7 +392,7 @@ IoTString *Table::getCommitted(IoTString *key)  {
        KeyValue *kv = committedKeyValueTable->get(key);
 
        if (kv != NULL) {
-               return new IoTString(kv->getValue());
+               return kv->getValue()->acquireRef();
        } else {
                return NULL;
        }
@@ -410,7 +410,7 @@ IoTString *Table::getSpeculative(IoTString *key) {
        }
 
        if (kv != NULL) {
-               return new IoTString(kv->getValue());
+               return kv->getValue()->acquireRef();
        } else {
                return NULL;
        }
@@ -431,7 +431,7 @@ IoTString *Table::getCommittedAtomic(IoTString *key) {
 
        if (kv != NULL) {
                pendingTransactionBuilder->addKVGuard(new KeyValue(key, kv->getValue()));
-               return new IoTString(kv->getValue());
+               return kv->getValue()->acquireRef();
        } else {
                pendingTransactionBuilder->addKVGuard(new KeyValue(key, NULL));
                return NULL;
@@ -461,7 +461,7 @@ IoTString *Table::getSpeculativeAtomic(IoTString *key) {
 
        if (kv != NULL) {
                pendingTransactionBuilder->addKVGuard(new KeyValue(key, kv->getValue()));
-               return new IoTString(kv->getValue());
+               return kv->getValue()->acquireRef();
        } else {
                pendingTransactionBuilder->addKVGuard(new KeyValue(key, NULL));
                return NULL;
@@ -523,7 +523,7 @@ void Table::put(IoTString *key, IoTString *value) {
        }
 
        // Add the key value to this transaction
-       KeyValue *kv = new KeyValue(new IoTString(key), new IoTString(value));
+       KeyValue *kv = new KeyValue(key->acquireRef(), value->acquireRef());
        pendingTransactionBuilder->addKV(kv);
 }