Revision c53502b1 snf-pithos-backend/pithos/backends/lib/sqlalchemy/node.py

b/snf-pithos-backend/pithos/backends/lib/sqlalchemy/node.py
245 245
           Return () if the path is not found.
246 246
        """
247 247

  
248
        if not paths:
249
            return ()
248 250
        # Use LIKE for comparison to avoid MySQL problems with trailing spaces.
249 251
        s = select([self.nodes.c.node], self.nodes.c.path.in_(paths))
250 252
        r = self.conn.execute(s)
......
353 355
        rp = self.conn.execute(s)
354 356
        nodes = [r[0] for r in rp.fetchall()]
355 357
        rp.close()
356
        s = self.nodes.delete().where(self.nodes.c.node.in_(nodes))
357
        self.conn.execute(s).close()
358
        if nodes:
359
            s = self.nodes.delete().where(self.nodes.c.node.in_(nodes))
360
            self.conn.execute(s).close()
358 361

  
359 362
        return hashes, size, serials
360 363

  
......
405 408
        r = self.conn.execute(s)
406 409
        nodes = r.fetchall()
407 410
        r.close()
408
        s = self.nodes.delete().where(self.nodes.c.node.in_(nodes))
409
        self.conn.execute(s).close()
411
        if nodes:
412
            s = self.nodes.delete().where(self.nodes.c.node.in_(nodes))
413
            self.conn.execute(s).close()
410 414

  
411 415
        return hashes, size, serials
412 416

  

Also available in: Unified diff