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"