summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2008-11-07 17:45:19 +0000
committerMike Bayer <mike_mp@zzzcomputing.com>2008-11-07 17:45:19 +0000
commitda59591a9c3fe4e04ce22650c5ec3f0cf0e336b7 (patch)
tree2efd24c4e33c3b09993d8726a8ed7b88bdbb538d
parent17b758faed4dfdc7973d0c0b861ece40de10b101 (diff)
downloadsqlalchemy-da59591a9c3fe4e04ce22650c5ec3f0cf0e336b7.tar.gz
- zoomark adjustments
- changelog has separate category for 'features'
-rw-r--r--CHANGES54
-rw-r--r--test/profiling/compiler.py2
-rw-r--r--test/profiling/zoomark.py10
3 files changed, 36 insertions, 30 deletions
diff --git a/CHANGES b/CHANGES
index ace445235..27db34f58 100644
--- a/CHANGES
+++ b/CHANGES
@@ -6,13 +6,42 @@ CHANGES
=======
0.5.0rc3
========
-- orm
+- features
- Added two new hooks to SessionExtension: after_bulk_delete and
after_bulk_update. after_bulk_delete is called after a bulk delete()
operation on a query. after_bulk_update is called after a bulk update()
operation on a query.
+ - SQL compiler optimizations. The call count for compiling a
+ typical select() construct is 20% less versus 0.5.0rc2.
+
+ - Dialects can now generate label names of adjustable length.
+ Pass in the argument "label_length=<value>" to create_engine()
+ to adjust how many characters max will be present in dynamically
+ generated column labels, i.e. "somecolumn AS somelabel". Any
+ value less than 6 will result in a label of minimal size,
+ consiting of an underscore and a numeric counter.
+ The compiler uses the value of dialect.max_identifier_length
+ as a default. [ticket:1211]
+
+ - Added a new extension sqlalchemy.ext.serializer. Provides
+ Serializer/Deserializer "classes" which mirror Pickle/Unpickle,
+ as well as dumps() and loads(). This serializer implements
+ an "external object" pickler which keeps key context-sensitive
+ objects, including engines, sessions, metadata, Tables/Columns,
+ and mappers, outside of the pickle stream, and can later
+ restore the pickle using any engine/metadata/session provider.
+ This is used not for pickling regular object instances, which are
+ pickleable without any special logic, but for pickling expression
+ objects and full Query objects, such that all mapper/engine/session
+ dependencies can be restored at unpickle time.
+
+ - Wrote a docstring for Oracle dialect. Apparently that Ohloh
+ "few source code comments" label is starting to sting :).
+
+- bugfixes and behavioral changes
+- orm
- "not equals" comparisons of simple many-to-one relation to an
instance will not drop into an EXISTS clause and will compare
foreign key columns instead.
@@ -76,15 +105,6 @@ CHANGES
All the regexp-based guessing about statements returning rows
has been removed [ticket:1212].
- - Dialects can now generate label names of adjustable length.
- Pass in the argument "label_length=<value>" to create_engine()
- to adjust how many characters max will be present in dynamically
- generated column labels, i.e. "somecolumn AS somelabel". Any
- value less than 6 will result in a label of minimal size,
- consiting of an underscore and a numeric counter.
- The compiler uses the value of dialect.max_identifier_length
- as a default. [ticket:1211]
-
- Further simplified SELECT compilation and its relationship to
result row processing.
@@ -111,9 +131,6 @@ CHANGES
can be reenabled with optimize_limits=True create_engine()
flag. [ticket:536]
- - Wrote a docstring for Oracle dialect. Apparently that Ohloh
- "few source code comments" label is starting to sting :).
-
- Setting the auto_convert_lobs to False on create_engine() will
also instruct the OracleBinary type to return the cx_oracle
LOB object unchanged.
@@ -127,17 +144,6 @@ CHANGES
lower case.
- ext
- - Added a new extension sqlalchemy.ext.serializer. Provides
- Serializer/Deserializer "classes" which mirror Pickle/Unpickle,
- as well as dumps() and loads(). This serializer implements
- an "external object" pickler which keeps key context-sensitive
- objects, including engines, sessions, metadata, Tables/Columns,
- and mappers, outside of the pickle stream, and can later
- restore the pickle using any engine/metadata/session provider.
- This is used not for pickling regular object instances, which are
- pickleable without any special logic, but for pickling expression
- objects and full Query objects, such that all mapper/engine/session
- dependencies can be restored at unpickle time.
- misc
- util.flatten_iterator() func doesn't interpret strings with
diff --git a/test/profiling/compiler.py b/test/profiling/compiler.py
index 2f1cbad59..26260068a 100644
--- a/test/profiling/compiler.py
+++ b/test/profiling/compiler.py
@@ -23,7 +23,7 @@ class CompileTest(TestBase, AssertsExecutionResults):
def test_update(self):
t1.update().compile()
- @profiling.function_call_count(185, versions={'2.4':133})
+ @profiling.function_call_count(185, versions={'2.4':118})
def test_select(self):
s = select([t1], t1.c.c2==t2.c.c1)
s.compile()
diff --git a/test/profiling/zoomark.py b/test/profiling/zoomark.py
index 08215454a..a91539d5a 100644
--- a/test/profiling/zoomark.py
+++ b/test/profiling/zoomark.py
@@ -332,23 +332,23 @@ class ZooMarkTest(TestBase):
def test_profile_2_insert(self):
self.test_baseline_2_insert()
- @profiling.function_call_count(3858, {'2.4': 2557})
+ @profiling.function_call_count(3858, {'2.4': 2347})
def test_profile_3_properties(self):
self.test_baseline_3_properties()
- @profiling.function_call_count(14752, {'2.4': 10549})
+ @profiling.function_call_count(14752, {'2.4': 9950})
def test_profile_4_expressions(self):
self.test_baseline_4_expressions()
- @profiling.function_call_count(1442, {'2.4': 1084})
+ @profiling.function_call_count(1442, {'2.4': 1001})
def test_profile_5_aggregates(self):
self.test_baseline_5_aggregates()
- @profiling.function_call_count(1904, {'2.4': 1256})
+ @profiling.function_call_count(1904, {'2.4': 1193})
def test_profile_6_editing(self):
self.test_baseline_6_editing()
- @profiling.function_call_count(3110, {'2.4': 2198})
+ @profiling.function_call_count(3110, {'2.4': 1998})
def test_profile_7_multiview(self):
self.test_baseline_7_multiview()