class HTStore(Store): def __init__(self, qly_name): self.db = HypertableConnection() self.qly = qly_name def __contains__(self, key): results = self.db.query("SELECT S:'" + self.qly + "' FROM TEMP WHERE row='"+ key +"' CELL_LIMIT 1 KEYS_ONLY") if len(results.cells) > 0: return True def __getitem__(self, key): results = self.db.query("SELECT S:'" + self.qly + "' FROM TEMP WHERE row='"+ key +"' CELL_LIMIT 1") if len(results.cells) > 0: return self.decode(results.cells[0].value) def __setitem__(self, key, value): pickled = self.encode(value) self.db.insert("TEMP", key, "S:"+ self.qly, pickled) def __delitem__(self, key): self.db.query("DELETE S:'" + self.qly + "' FROM TEMP WHERE row='"+ key +"'") def cleanup(self, timeout): return True
def __init__(self, qly_name): self.db = HypertableConnection() self.qly = qly_name
def isExists(itemId): Hypertable=HypertableConnection() results=Hypertable.query("SELECT N FROM PRODUCTS WHERE ROW='" + itemId + "' CELL_LIMIT 1") if len(results.cells) > 0: return base64.b64decode(results.cells[0].value) return False
def getItemsById(itemId): Hypertable=HypertableConnection() results=Hypertable.query("SELECT d FROM PRODUCTS WHERE ROW='" + itemId + "' CELL_LIMIT 1") if len(results.cells) > 0: return results.cells[0].value return "no data"