summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/engine
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2006-10-03 16:47:14 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2006-10-03 16:47:14 +0000
commitbeff0e1e132e8005611ed4d3f07955252a7e8d72 (patch)
tree7f1bef609120ec563d75b6f60e6c8216c8be1e4f /lib/sqlalchemy/engine
parent7a2194e6c0c392ea50fb8b325acb27f8a98428f9 (diff)
downloadsqlalchemy-beff0e1e132e8005611ed4d3f07955252a7e8d72.tar.gz
- merged loader_strategies branch into trunk.
- this is a wide refactoring to "attribute loader" and "options" architectures. ColumnProperty and PropertyLoader define their loading behaivor via switchable "strategies", and MapperOptions no longer use mapper/property copying in order to function; they are instead propigated via QueryContext and SelectionContext objects at query/instnaces time. All of the copying of mappers and properties that was used to handle inheritance as well as options() has been removed and the structure of mappers and properties is much simpler and more clearly laid out.
Diffstat (limited to 'lib/sqlalchemy/engine')
-rw-r--r--lib/sqlalchemy/engine/base.py8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/sqlalchemy/engine/base.py b/lib/sqlalchemy/engine/base.py
index de7f1899e..79a1909d1 100644
--- a/lib/sqlalchemy/engine/base.py
+++ b/lib/sqlalchemy/engine/base.py
@@ -587,7 +587,11 @@ class ResultProxy:
try:
rec = self.props[key.key.lower()]
except KeyError:
- rec = self.props[key.name.lower()]
+# rec = self.props[key.name.lower()]
+ try:
+ rec = self.props[key.name.lower()]
+ except KeyError:
+ raise exceptions.NoSuchColumnError("Could not locate column in row for column '%s'" % str(key))
elif isinstance(key, str):
rec = self.props[key.lower()]
else:
@@ -599,7 +603,7 @@ class ResultProxy:
try:
self._convert_key(key)
return True
- except KeyError:
+ except exceptions.NoSuchColumnError:
return False
def _get_col(self, row, key):