diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-02-07 19:51:45 +0000 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2010-02-07 19:51:45 +0000 |
| commit | 52ab4041affc8618892d82d82281eedc5b3d0b6f (patch) | |
| tree | 1d935eaac3eaec44e8ec4c57ed9587a22769655e /lib | |
| parent | ed8b310479eab10a66ccc347144179fef3b0d5a2 (diff) | |
| download | sqlalchemy-52ab4041affc8618892d82d82281eedc5b3d0b6f.tar.gz | |
add sql_compiler property to all Compiled subclasses for convenience
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/sqlalchemy/engine/base.py | 10 | ||||
| -rw-r--r-- | lib/sqlalchemy/sql/compiler.py | 4 |
2 files changed, 14 insertions, 0 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py index 98d06a792..6886adee8 100644 --- a/lib/sqlalchemy/engine/base.py +++ b/lib/sqlalchemy/engine/base.py @@ -628,6 +628,16 @@ class Compiled(object): self.string = self.process(self.statement) + @property + def sql_compiler(self): + """Return a Compiled that is capable of processing SQL expressions. + + If this compiler is one, it would likely just return 'self'. + + """ + + raise NotImplementedError() + def process(self, obj, **kwargs): return obj._compiler_dispatch(self, **kwargs) diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py index 90def1941..43c38a1c5 100644 --- a/lib/sqlalchemy/sql/compiler.py +++ b/lib/sqlalchemy/sql/compiler.py @@ -232,6 +232,10 @@ class SQLCompiler(engine.Compiled): def is_subquery(self): return len(self.stack) > 1 + @property + def sql_compiler(self): + return self + def construct_params(self, params=None, _group_number=None): """return a dictionary of bind parameter keys and values""" |
