summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2010-12-19 16:01:40 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2010-12-19 16:01:40 -0500
commit3687d7ab56841700fb087c8f0ddf0e3912e05cfd (patch)
tree296ecbad49f92f49174caaf2ec842196595a87a2 /lib/sqlalchemy
parenta590e5db8aece17e93371bca290d2e205528e34c (diff)
downloadsqlalchemy-3687d7ab56841700fb087c8f0ddf0e3912e05cfd.tar.gz
- duh, compiled is per dialect
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/engine/default.py2
-rw-r--r--lib/sqlalchemy/sql/compiler.py16
2 files changed, 5 insertions, 13 deletions
diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py
index ae0625d30..38ff76b89 100644
--- a/lib/sqlalchemy/engine/default.py
+++ b/lib/sqlalchemy/engine/default.py
@@ -403,7 +403,7 @@ class DefaultExecutionContext(base.ExecutionContext):
self.postfetch_cols = self.compiled.postfetch
self.prefetch_cols = self.compiled.prefetch
- processors = compiled._get_bind_processors(dialect)
+ processors = compiled._bind_processors
# Convert the dictionary of bind parameter values
# into a dict or list to be sent to the DBAPI's
diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py
index 0c76f3e74..4c1fefa55 100644
--- a/lib/sqlalchemy/sql/compiler.py
+++ b/lib/sqlalchemy/sql/compiler.py
@@ -251,24 +251,16 @@ class SQLCompiler(engine.Compiled):
# or dialect.max_identifier_length
self.truncated_names = {}
- # other memoized things
- self._memos ={}
- def _get_bind_processors(self, dialect):
- key = 'bind_processors', dialect.__class__, \
- dialect.server_version_info
-
- if key not in self._memos:
- self._memos[key] = processors = dict(
+ @util.memoized_property
+ def _bind_processors(self):
+ return dict(
(key, value) for key, value in
( (self.bind_names[bindparam],
- bindparam.type._cached_bind_processor(dialect))
+ bindparam.type._cached_bind_processor(self.dialect))
for bindparam in self.bind_names )
if value is not None
)
- return processors
- else:
- return self._memos[key]
def is_subquery(self):
return len(self.stack) > 1