summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2012-04-24 19:15:00 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2012-04-24 19:15:00 -0400
commit09e8c9240ca55a46104989229b1254aa349dac75 (patch)
treebee4f93b556f0c9df18cc1138209a1174e03100e
parent59c102413e047c989f4f588c192d1d8cd5982932 (diff)
downloadsqlalchemy-09e8c9240ca55a46104989229b1254aa349dac75.tar.gz
py3k fixes
-rw-r--r--lib/sqlalchemy/orm/util.py6
-rw-r--r--test/aaa_profiling/test_orm.py4
2 files changed, 7 insertions, 3 deletions
diff --git a/lib/sqlalchemy/orm/util.py b/lib/sqlalchemy/orm/util.py
index 5fcb15a9a..684d96d2d 100644
--- a/lib/sqlalchemy/orm/util.py
+++ b/lib/sqlalchemy/orm/util.py
@@ -759,7 +759,11 @@ def object_state(instance):
"""
try:
return attributes.instance_state(instance)
- except (exc.UnmappedClassError, exc.NO_STATE):
+ # TODO: whats the py-2/3 syntax to catch two
+ # different kinds of exceptions at once ?
+ except exc.UnmappedClassError:
+ raise exc.UnmappedInstanceError(instance)
+ except exc.NO_STATE:
raise exc.UnmappedInstanceError(instance)
diff --git a/test/aaa_profiling/test_orm.py b/test/aaa_profiling/test_orm.py
index 0049b4007..5b32fc9e6 100644
--- a/test/aaa_profiling/test_orm.py
+++ b/test/aaa_profiling/test_orm.py
@@ -62,7 +62,7 @@ class MergeTest(fixtures.MappedTest):
# bigger operation so using a small variance
@profiling.function_call_count(variance=0.05,
- versions={'2.7':85, '2.6':85, '2.5':94, '3': 83})
+ versions={'2.7':85, '2.6':85, '2.5':94, '3': 95})
def go():
return sess2.merge(p1, load=False)
p2 = go()
@@ -70,7 +70,7 @@ class MergeTest(fixtures.MappedTest):
# third call, merge object already present. almost no calls.
@profiling.function_call_count(variance=0.05,
- versions={'2.7':14, '2.6':14, '2.5':15, '3': 12})
+ versions={'2.7':14, '2.6':14, '2.5':15, '3': 15})
def go():
return sess2.merge(p2, load=False)
p3 = go()