diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-12-30 00:27:46 +0000 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2005-12-30 00:27:46 +0000 |
commit | ee40adf5f8905190960f0639e9c5203d854794eb (patch) | |
tree | 96d1053129b7c09c47b2d4618ab8c1e17664669a /lib/sqlalchemy/engine.py | |
parent | eb554a04444b191d927490d2fc8b3764b2b4d5f4 (diff) | |
download | sqlalchemy-ee40adf5f8905190960f0639e9c5203d854794eb.tar.gz |
reworking concept of column lists, "FromObject", "Selectable";
support for types to be propigated into boolean expressions;
new label() function/method to make any column/literal/function/bind param
into a "foo AS bar" clause, better support in ansisql for this concept;
trying to get column list on a select() object to be Column and ColumnClause
objects equally, working on mappers that map to those select() objects
Diffstat (limited to 'lib/sqlalchemy/engine.py')
-rw-r--r-- | lib/sqlalchemy/engine.py | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/sqlalchemy/engine.py b/lib/sqlalchemy/engine.py index 4c39200cb..24c67411d 100644 --- a/lib/sqlalchemy/engine.py +++ b/lib/sqlalchemy/engine.py @@ -619,15 +619,17 @@ class ResultProxy: rec = (typemap.get(colname, types.NULLTYPE), i) else: rec = (types.NULLTYPE, i) + if rec[0] is None: + raise "None for metadata " + colname if self.props.setdefault(colname, rec) is not rec: self.props[colname] = (ResultProxy.AmbiguousColumn(colname), 0) self.props[i] = rec i+=1 def _get_col(self, row, key): - if isinstance(key, schema.Column): + if isinstance(key, schema.Column) or isinstance(key, sql.ColumnElement): try: - rec = self.props[key.label.lower()] + rec = self.props[key._label.lower()] except KeyError: try: rec = self.props[key.key.lower()] |