summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/util.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2007-03-29 00:56:34 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2007-03-29 00:56:34 +0000
commit740733f41080da1913a574e018731b9d6c3e4816 (patch)
tree8df24ddc7169e39a3cb1ac6dd695199b0a8e9a82 /lib/sqlalchemy/util.py
parentc622b0f59d1b6270ca7cc7acc0fec437161b1d73 (diff)
downloadsqlalchemy-740733f41080da1913a574e018731b9d6c3e4816.tar.gz
- corresponding to label/bindparam name generataion, eager loaders
generate deterministic names for the aliases they create using md5 hashes.
Diffstat (limited to 'lib/sqlalchemy/util.py')
-rw-r--r--lib/sqlalchemy/util.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/sqlalchemy/util.py b/lib/sqlalchemy/util.py
index 0f1a988ce..dadcf0dde 100644
--- a/lib/sqlalchemy/util.py
+++ b/lib/sqlalchemy/util.py
@@ -10,6 +10,8 @@ except ImportError:
import dummy_thread as thread
import dummy_threading as threading
+import md5
+
import __builtin__
try:
@@ -56,6 +58,12 @@ def flatten_iterator(x):
else:
yield elem
+def hash(string):
+ """return an md5 hash of the given string."""
+ h = md5.new()
+ h.update(string)
+ return h.hexdigest()
+
class ArgSingleton(type):
instances = {}