code: def _update_data(self, name, value, timestamp, interval, config, conn):
      '''Support function for insert. Should be called within a transaction'''
      i_time = config['i_calc'].to_bucket(timestamp)
      if not config['coarse']:
        r_time = config['r_calc'].to_bucket(timestamp)
      else:
        r_time = None
      stmt = self._table.update().where(
        and_(
          self._table.c.name==name,
          self._table.c.interval==interval,
          self._table.c.i_time==i_time,
          self._table.c.r_time==r_time)
      ).values({self._table.c.value: value})
      rval = conn.execute( stmt )
      return rval.rowcounf _update_data(self, name, value, timestamp, interval, config, conn):
      '''Support function for insert. Should be called within a transaction'''
      i_time = config['i_calc'].to_bucket(timestamp)
      if not config['coarse']:
        r_time = config['r_calc'].to_bucket(timestamp)
      else:
        r_time = None
      stmt = self._table.update().where(
        and_(
          self._table.c.name==name,
          self._table.c.interval==interval,
          self._table.c.i_time==i_time,
          self._table.c.r_time==r_time)
      ).values({self._table.c.value: value})
      rval = conn.execute( stmt )
      return rval.rowcount
docs: Support function for insert. Should be called within a transaction