summaryrefslogtreecommitdiff
path: root/test/aaa_profiling
Commit message (Collapse)AuthorAgeFilesLines
* - add the test_expire_lots test for comparisonMike Bayer2015-02-181-0/+54
|
* - Fixed a leak which would occur in the unsupported and highlyMike Bayer2014-11-131-0/+26
| | | | | | | | | non-recommended use case of replacing a relationship on a fixed mapped class many times, referring to an arbitrarily growing number of target mappers. A warning is emitted when the old relationship is replaced, however if the mapping were already used for querying, the old relationship would still be referenced within some registries. fixes #3251
* - The :func:`~.expression.column` and :func:`~.expression.table`Mike Bayer2014-09-011-1/+1
| | | | | | | | | | | | | | | | | | | | | constructs are now importable from the "from sqlalchemy" namespace, just like every other Core construct. - The implicit conversion of strings to :func:`.text` constructs when passed to most builder methods of :func:`.select` as well as :class:`.Query` now emits a warning with just the plain string sent. The textual conversion still proceeds normally, however. The only method that accepts a string without a warning are the "label reference" methods like order_by(), group_by(); these functions will now at compile time attempt to resolve a single string argument to a column or label expression present in the selectable; if none is located, the expression still renders, but you get the warning again. The rationale here is that the implicit conversion from string to text is more unexpected than not these days, and it is better that the user send more direction to the Core / ORM when passing a raw string as to what direction should be taken. Core/ORM tutorials have been updated to go more in depth as to how text is handled. fixes #2992
* - A new style of warning can be emitted which will "filter" up toMike Bayer2014-08-311-0/+14
| | | | | | | | | N occurrences of a parameterized string. This allows parameterized warnings that can refer to their arguments to be delivered a fixed number of times until allowing Python warning filters to squelch them, and prevents memory from growing unbounded within Python's warning registries. fixes #3178
* - clean up zoomark a little and try to get new profiles writtenMike Bayer2014-08-302-3/+5
|
* - rework profiling, zoomark tests into single tests so thatMike Bayer2014-08-163-239/+151
| | | | they can be used under xdist
* - turn off the testing reaper here, that's the source of the leaksMike Bayer2014-08-081-12/+14
| | | | | when we are running with pydist, and even when we are running without it in fact...
* - add support for tags, including include/exclude support.Mike Bayer2014-07-271-0/+1
| | | | simplify tox again now that we can exclude tests more easily
* put a greater variance into this test to prevent sporadic failuresMike Bayer2014-07-211-1/+1
|
* imports gone badMike Bayer2014-07-101-2/+2
|
* - fully flake8 test/aaa_profilingMike Bayer2014-07-097-430/+581
|
* Documentation fix-up: "its" vs. "it's"pr/91Matthias Urlichs2014-05-111-1/+1
| | | | | | | | | Removed ungrammatical apostrophes from documentation, replacing "it's" with "its" where appropriate (but in a few cases with "it is" when that read better). While doing that, I also fixed a couple of minor typos etc. as I noticed them.
* Fix many typos throughout the codebasepr/85Alex Gaynor2014-04-262-3/+3
| | | | Found using: https://github.com/intgr/topy
* fixes to get profiling tests working againMike Bayer2014-03-261-4/+0
|
* use integer division hereMike Bayer2014-03-261-1/+1
|
* - rework memusage tests so that it only runs five iterations at a time, if ↵Mike Bayer2014-03-261-29/+47
| | | | | | it sees success within that period, it's done. memusage tests have become very slow
* - rename __multiple__ to __backend__, and apply __backend__ to a large ↵Mike Bayer2014-03-244-0/+11
| | | | | | number of tests. - move out logging tests from test_execute to test_logging
* - the wrapped memoized_property here was not working, as the attribute nameMike Bayer2013-11-261-0/+60
| | | | didn't match. use straight memoized_props here for now, add a perf test to check it
* - The :class:`.RowProxy` object is now sortable in Python as a regularMike Bayer2013-11-191-0/+1
| | | | | | tuple is; this is accomplished via ensuring tuple() conversion on both sides within the ``__eq__()`` method as well as the addition of a ``__lt__()`` method. [ticket:2848]
* - Removed some now unneeded version checks [ticket:2829] courtesy alex gaynorMike Bayer2013-09-222-2/+0
|
* Improved support for the cymysql driver, supporting version 0.6.5,Mike Bayer2013-08-171-1/+2
| | | | courtesy Hajime Nakagami.
* - Removal of event listeners is now implemented. The feature isMike Bayer2013-07-261-0/+1
| | | | | | | | | | | | | | | | 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.
* A performance fix related to the usage of the :func:`.defer` optionMike Bayer2013-07-131-1/+53
| | | | | | | | | | | | | 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]
* - replace most explicitly-named test objects called "Mock..." withMike Bayer2013-06-301-2/+3
| | | | | | | | | | | | 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.
* - zoomark testsMike Bayer2013-05-262-0/+4
| | | | - rewrite all profiles, we'll review the diffs to see if anything is too far out
* a pass where we try to squash down as many list()/keys() combinationsMike Bayer2013-05-261-2/+3
| | | | as possible
* - the raw 2to3 runMike Bayer2013-04-276-108/+108
| | | | - went through examples/ and cleaned out excess list() calls
* testing.crashes on cymysql >= 0.6Hajime Nakagami2013-04-201-1/+1
|
* skip with cymysql 0.6Hajime Nakagami2013-04-201-0/+1
|
* A major fix to the way in which a select() object producesMike Bayer2013-04-111-0/+12
| | | | | | | | | | | | | | | | | | | labeled columns when apply_labels() is used; this mode produces a SELECT where each column is labeled as in <tablename>_<columnname>, 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]
* - remove all compat items that are pre-2.5 (hooray)Mike Bayer2013-03-091-1/+1
| | | | | | - other cleanup - don't need compat.decimal, that approach never panned out. hopefully outside libs aren't pulling it in, they shouldn't be
* - add workaround for sqlite memusage tests, so no longer need to count to ↵Mike Bayer2013-01-121-11/+26
| | | | | | | | | | | | | 220/skip tests - Fixed potential memory leak which could occur if an arbitrary number of :class:`.sessionmaker` objects were created. The anonymous subclass created by the sessionmaker, when dereferenced, would not be garbage collected due to remaining class-level references from the event package. This issue also applies to any custom system that made use of ad-hoc subclasses in conjunction with an event dispatcher. Also in 0.7.10. [ticket:2650]
* - refactor of pathing mechanics, to address #2614, #2617Mike Bayer2012-12-011-2/+4
| | | | | | | | | | | | | | | | | | | - paths now store Mapper + MapperProperty now instead of string key, so that the parent mapper for the property is known, supports same-named properties on multiple subclasses - the Mapper within the path is now always relevant to the property to the right of it. PathRegistry does the translation now, instead of having all the outside users of PathRegistry worry about it, to produce a path that is much more consistent. Paths are now consistent with mappings in all cases. Special logic to get at "with_polymorphic" structures and such added also. - AliasedClass now has two modes, "use_mapper_path" and regular; "use_mapper_path" is for all those situations where we put an AliasedClass in for a plain class internally, and want it to "path" with the plain mapper. - The AliasedInsp is now the first class "entity" for an AliasedClass, and is passed around internally and used as attr._parententity and such. it is the AliasedClass analogue for Mapper.
* need to disable hstore for the "player" here. should really get rid of the ↵Mike Bayer2012-11-182-3/+6
| | | | | | recorder/player thing at this point
* - import fixesMike Bayer2012-09-292-2/+4
|
* getting everything to pass againMike Bayer2012-09-271-1/+2
|
* trying different approaches to test layout. in this one, the testing modulesMike Bayer2012-09-277-15/+17
| | | | | | | become an externally usable package but still remains within the main sqlalchemy parent package. in this system, we use kind of an ugly hack to get the noseplugin imported outside of the "sqlalchemy" package, while still making it available within sqlalchemy for usage by third party libraries.
* - [feature] To complement [ticket:2547], typesMike Bayer2012-08-171-6/+16
| | | | | | | | | | | | | | | | can now provide "bind expressions" and "column expressions" which allow compile-time injection of SQL expressions into statements on a per-column or per-bind level. This is to suit the use case of a type which needs to augment bind- and result- behavior at the SQL level, as opposed to in the Python level. Allows for schemes like transparent encryption/ decryption, usage of Postgis functions, etc. [ticket:1534] - update postgis example fully. - still need to repair the result map propagation here to be transparent for cases like "labeled column".
* - this is a refcount testMike Bayer2012-08-111-0/+2
|
* OK! let's turn this around completely. Forget making a single count acrossMike Bayer2012-08-115-52/+38
| | | | | | all platforms. let's instead store callcounts for *all* observed platforms in a datafile. Will try to get enough platforms in the file for jenkins to have meaningful results. for platforms not in the file, it's just skiptest.
* adjustmentsMike Bayer2012-08-115-8/+8
|
* final cleanupMike Bayer2012-08-103-6/+6
|
* adjustMike Bayer2012-08-091-1/+1
|
* - make sure event mechanics have completed before running this test, lower ↵Mike Bayer2012-08-091-6/+10
| | | | callcount
* adjustmentMike Bayer2012-08-091-1/+1
|
* more adjustmentsMike Bayer2012-08-093-8/+7
|
* - a new approach to profiling where we attempt to strip outMike Bayer2012-08-096-102/+48
| | | | | | parts of the pstats that are idiosyncratic to different platforms. the goal is no per-version assertions on tests, version differences in theory would go into the list of profiling exceptions.
* - fixesMike Bayer2012-08-071-1/+1
|
* -whitespace bonanza, contdMike Bayer2012-07-282-6/+6
|
* trailing whitespace bonanzaMike Bayer2012-07-281-4/+4
|