From: Antony Chazapis Date: Mon, 5 Dec 2011 16:38:33 +0000 (+0200) Subject: Escape special characters for LIKE in node lookup. X-Git-Tag: pithos/v0.8.1 X-Git-Url: https://code.grnet.gr/git/pithos/commitdiff_plain/6b20cfbc5c69c1105a23dc3317e14ce0ab97f26f Escape special characters for LIKE in node lookup. --- diff --git a/pithos/backends/lib/sqlalchemy/node.py b/pithos/backends/lib/sqlalchemy/node.py index 7cf3827..4a0fc55 100644 --- a/pithos/backends/lib/sqlalchemy/node.py +++ b/pithos/backends/lib/sqlalchemy/node.py @@ -209,6 +209,9 @@ class Node(DBWorker): Return None if the path is not found. """ + # Use LIKE for comparison to avoid MySQL problems with trailing spaces. + path = path.replace('%', '\%') + path = path.replace('_', '\_') s = select([self.nodes.c.node], self.nodes.c.path.like(path)) r = self.conn.execute(s) row = r.fetchone()