<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/sqlalchemy.git/test/aaa_profiling, branch pr/24</title>
<subtitle>github.com: zzzeek/sqlalchemy.git
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/'/>
<entry>
<title>Improved support for the cymysql driver, supporting version 0.6.5,</title>
<updated>2013-08-17T04:31:57+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2013-08-17T04:31:57+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=b83a1564f1f4bc8da2af2d33bfb4f524b620382b'/>
<id>b83a1564f1f4bc8da2af2d33bfb4f524b620382b</id>
<content type='text'>
courtesy Hajime Nakagami.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
courtesy Hajime Nakagami.
</pre>
</div>
</content>
</entry>
<entry>
<title>- Removal of event listeners is now implemented.    The feature is</title>
<updated>2013-07-26T18:21:58+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2013-07-26T18:21:58+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=4505425a38b079a8e2a59fdbe31bc033de25e871'/>
<id>4505425a38b079a8e2a59fdbe31bc033de25e871</id>
<content type='text'>
provided via the :func:`.event.remove` function.
[ticket:2268]
- reorganization of event.py module into a package; with the addition of the
docstring work as well as the new registry for removal, there's a lot more code now.
the package separates concerns and provides a top-level doc for each subsection
of functionality
- the remove feature works by providing the EventKey object which associates
the user-provided arguments to listen() with a global, weak-referencing registry.
This registry stores a collection of _ListenerCollection and _DispatchDescriptor
objects associated with each set of arguments, as well as the wrapped function
which was applied to that collection.  The EventKey can then be recreated for
a removal, all the _ListenerCollection and _DispatchDescriptor objects are located,
and the correct wrapped function is removed from each one.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
provided via the :func:`.event.remove` function.
[ticket:2268]
- reorganization of event.py module into a package; with the addition of the
docstring work as well as the new registry for removal, there's a lot more code now.
the package separates concerns and provides a top-level doc for each subsection
of functionality
- the remove feature works by providing the EventKey object which associates
the user-provided arguments to listen() with a global, weak-referencing registry.
This registry stores a collection of _ListenerCollection and _DispatchDescriptor
objects associated with each set of arguments, as well as the wrapped function
which was applied to that collection.  The EventKey can then be recreated for
a removal, all the _ListenerCollection and _DispatchDescriptor objects are located,
and the correct wrapped function is removed from each one.
</pre>
</div>
</content>
</entry>
<entry>
<title>A performance fix related to the usage of the :func:`.defer` option</title>
<updated>2013-07-13T20:29:07+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2013-07-13T20:28:42+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=731a4daf63dc0fdb784d195e89c5f357420657fb'/>
<id>731a4daf63dc0fdb784d195e89c5f357420657fb</id>
<content type='text'>
when loading mapped entities.   The function overhead of applying
a per-object deferred callable to an instance at load time was
significantly higher than that of just loading the data from the row
(note that ``defer()`` is meant to reduce DB/network overhead, not
necessarily function call count); the function call overhead is now
less than that of loading data from the column in all cases.  There
is also a reduction in the number of "lazy callable" objects created
per load from N (total deferred values in the result) to 1 (total
number of deferred cols).
[ticket:2778]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
when loading mapped entities.   The function overhead of applying
a per-object deferred callable to an instance at load time was
significantly higher than that of just loading the data from the row
(note that ``defer()`` is meant to reduce DB/network overhead, not
necessarily function call count); the function call overhead is now
less than that of loading data from the column in all cases.  There
is also a reduction in the number of "lazy callable" objects created
per load from N (total deferred values in the result) to 1 (total
number of deferred cols).
[ticket:2778]
</pre>
</div>
</content>
</entry>
<entry>
<title>- replace most explicitly-named test objects called "Mock..." with</title>
<updated>2013-06-30T22:35:12+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2013-06-30T22:35:12+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=b38a76cd1d47cd6b8f1abef30ad7c3aeaa27d537'/>
<id>b38a76cd1d47cd6b8f1abef30ad7c3aeaa27d537</id>
<content type='text'>
actual mock objects from the mock library.  I'd like to use mock
for new tests so we might as well use it in obvious places.
- use unittest.mock in py3.3
- changelog
- add a note to README.unittests
- add tests_require in setup.py
- have tests import from sqlalchemy.testing.mock
- apply usage of mock to one of the event tests.  we can be using
this approach all over the place.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
actual mock objects from the mock library.  I'd like to use mock
for new tests so we might as well use it in obvious places.
- use unittest.mock in py3.3
- changelog
- add a note to README.unittests
- add tests_require in setup.py
- have tests import from sqlalchemy.testing.mock
- apply usage of mock to one of the event tests.  we can be using
this approach all over the place.
</pre>
</div>
</content>
</entry>
<entry>
<title>- zoomark tests</title>
<updated>2013-05-26T23:47:13+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2013-05-26T23:47:13+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=3b4168875d464a141f56685f8b55dfbf70c11e5c'/>
<id>3b4168875d464a141f56685f8b55dfbf70c11e5c</id>
<content type='text'>
- rewrite all profiles, we'll review the diffs to see if anything is too far out
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- rewrite all profiles, we'll review the diffs to see if anything is too far out
</pre>
</div>
</content>
</entry>
<entry>
<title>a pass where we try to squash down as many list()/keys() combinations</title>
<updated>2013-05-26T23:06:13+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2013-05-26T23:06:13+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=6cde27fe9161a21b075c7b8faa09d1e77169f1f2'/>
<id>6cde27fe9161a21b075c7b8faa09d1e77169f1f2</id>
<content type='text'>
as possible
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
as possible
</pre>
</div>
</content>
</entry>
<entry>
<title>- the raw 2to3 run</title>
<updated>2013-04-27T23:53:57+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2013-04-27T23:53:57+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=4b614b9b35cd2baddb7ca67c04bee5d70ec6a172'/>
<id>4b614b9b35cd2baddb7ca67c04bee5d70ec6a172</id>
<content type='text'>
- went through examples/ and cleaned out excess list() calls
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- went through examples/ and cleaned out excess list() calls
</pre>
</div>
</content>
</entry>
<entry>
<title>testing.crashes on cymysql &gt;= 0.6</title>
<updated>2013-04-20T07:33:32+00:00</updated>
<author>
<name>Hajime Nakagami</name>
<email>nakagami@gmail.com</email>
</author>
<published>2013-04-20T07:33:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=af9ed1ff16fce148af46fbff33286fc30e33773d'/>
<id>af9ed1ff16fce148af46fbff33286fc30e33773d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>skip with cymysql 0.6</title>
<updated>2013-04-20T06:54:33+00:00</updated>
<author>
<name>Hajime Nakagami</name>
<email>nakagami@gmail.com</email>
</author>
<published>2013-04-20T06:54:33+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=a6a311cd1a0d3abf0f5db59dc9fadb64b7f66406'/>
<id>a6a311cd1a0d3abf0f5db59dc9fadb64b7f66406</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>A major fix to the way in which a select() object produces</title>
<updated>2013-04-11T20:14:23+00:00</updated>
<author>
<name>Mike Bayer</name>
<email>mike_mp@zzzcomputing.com</email>
</author>
<published>2013-04-11T20:14:23+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/sqlalchemy.git/commit/?id=a5ede47f1225ac10e69e2624038424b013d6144f'/>
<id>a5ede47f1225ac10e69e2624038424b013d6144f</id>
<content type='text'>
labeled columns when apply_labels() is used; this mode
produces a SELECT where each column is labeled as in
&lt;tablename&gt;_&lt;columnname&gt;, to remove column name collisions
for a multiple table select.   The fix is that if two labels
collide when combined with the table name, i.e.
"foo.bar_id" and "foo_bar.id", anonymous aliasing will be
applied to one of the dupes.  This allows the ORM to handle
both columns independently; previously, 0.7
would in some cases silently emit a second SELECT for the
column that was "duped", and in 0.8 an ambiguous column error
would be emitted.   The "keys" applied to the .c. collection
of the select() will also be deduped, so that the "column
being replaced" warning will no longer emit for any select()
that specifies use_labels, though the dupe key will be given
an anonymous label which isn't generally user-friendly.
[ticket:2702]
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
labeled columns when apply_labels() is used; this mode
produces a SELECT where each column is labeled as in
&lt;tablename&gt;_&lt;columnname&gt;, to remove column name collisions
for a multiple table select.   The fix is that if two labels
collide when combined with the table name, i.e.
"foo.bar_id" and "foo_bar.id", anonymous aliasing will be
applied to one of the dupes.  This allows the ORM to handle
both columns independently; previously, 0.7
would in some cases silently emit a second SELECT for the
column that was "duped", and in 0.8 an ambiguous column error
would be emitted.   The "keys" applied to the .c. collection
of the select() will also be deduped, so that the "column
being replaced" warning will no longer emit for any select()
that specifies use_labels, though the dupe key will be given
an anonymous label which isn't generally user-friendly.
[ticket:2702]
</pre>
</div>
</content>
</entry>
</feed>
