summaryrefslogtreecommitdiff
path: root/test/aaa_profiling
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* - some more interpret_as_fromsMike Bayer2012-07-231-8/+8
|
* callcounts due to more engine event logicMike Bayer2012-07-191-4/+2
|
* try to get these to pass on jenkinsMike Bayer2012-07-171-2/+2
|
* relax this variance for nowMike Bayer2012-07-171-2/+2
|
* some test fixes and cleanupMike Bayer2012-07-161-17/+17
|
* move mapper-level UOW functionality straight into unitofwork also. there'sMike Bayer2012-07-141-2/+2
| | | | | | no need for this to be per-mapper. can't move dependency init off of property though as this init needs to happen up front, added a test to prove it.
* turn commit_all into an iterative methodMike Bayer2012-06-251-1/+1
|
* - somehting is making this test have an inconsistent callcountMike Bayer2012-06-241-1/+1
|
* callcounts, due to the DummyLock cleanupMike Bayer2012-06-231-3/+3
|
* a likely callcountMike Bayer2012-06-211-1/+6
|
* callcountMike Bayer2012-06-201-2/+1
|
* - [feature] The of_type() construct on attributesMike Bayer2012-06-201-46/+112
| | | | | | | | | | | | | | | | | | | | | | | | now accepts aliased() class constructs as well as with_polymorphic constructs, and works with query.join(), any(), has(), and also eager loaders subqueryload(), joinedload(), contains_eager() [ticket:2438] [ticket:1106] - a rewrite of the query path system to use an object based approach for more succinct usage. the system has been designed carefully to not add an excessive method overhead. - [feature] select() features a correlate_except() method, auto correlates all selectables except those passed. Is needed here for the updated any()/has() functionality. - remove some old cruft from LoaderStrategy, init(),debug_callable() - use a namedtuple for _extended_entity_info. This method should become standard within the orm internals - some tweaks to the memory profile tests, number of runs can be customized to work around pysqlite's very annoying behavior - try to simplify PropertyOption._get_paths(), rename to _process_paths(), returns a single list now. overall works more completely as was needed for of_type() functionality
* obnoxious callcountsMike Bayer2012-06-161-1/+1
|
* callcount fixMike Bayer2012-06-131-1/+2
|
* weird, seems like hasattr() doesn't count as a function call in the same way ↵Mike Bayer2012-06-121-1/+1
| | | | as isinstance()...
* - [bug] Fixed bug affecting Py3K wherebyMike Bayer2012-06-111-2/+1
| | | | | | | | string positional parameters passed to engine/connection execute() would fail to be interpreted correctly, due to __iter__ being present on Py3K string. [ticket:2503]. Also in 0.7.8.
* callcountMike Bayer2012-06-111-1/+1
|
* make sure integer is here. only the C ext doesn't try to call ↵Mike Bayer2012-06-111-0/+1
| | | | | | "key_fallback" for integer here, pure python one does.
* callcount adjustMike Bayer2012-06-081-1/+1
|
* - [bug] Fixed memory leak in C version ofMike Bayer2012-06-011-0/+57
| | | | | | | | result proxy whereby DBAPIs which don't deliver pure Python tuples for result rows would fail to decrement refcounts correctly. The most prominently affected DBAPI is pyodbc. [ticket:2489]
* callcount bump to work around sqlite's silly column name workaroundMike Bayer2012-05-041-4/+4
|
* callcountMike Bayer2012-04-241-1/+1
|
* py3k fixesMike Bayer2012-04-241-2/+2
|
* - [feature] Calling rollback() within aMike Bayer2012-04-241-2/+2
| | | | | | | | | | | | | | session.begin_nested() will now only expire those objects that had net changes within the scope of that transaction, that is objects which were dirty or were modified on a flush. This allows the typical use case for begin_nested(), that of altering a small subset of objects, to leave in place the data from the larger enclosing set of objects that weren't modified in that sub-transaction. [ticket:2452] - inline the "register_newly_XYZ" functions to operate upon collections to reduce method calls
* - [feature] The behavior of column targetingMike Bayer2012-04-242-6/+6
| | | | | | | | | | | | | | in result sets is now case sensitive by default. SQLAlchemy for many years would run a case-insensitive conversion on these values, probably to alleviate early case sensitivity issues with dialects like Oracle and Firebird. These issues have been more cleanly solved in more modern versions so the performance hit of calling lower() on identifiers is removed. The case insensitive comparisons can be re-enabled by setting "case_insensitive=False" on create_engine(). [ticket:2423]
* callcount tweak here, this moved up due to r5b6237e3f068Mike Bayer2012-04-241-2/+1
|
* - [removed] The legacy "mutable" system of theMike Bayer2012-04-231-48/+0
| | | | | | | | | | | | | | ORM, including the MutableType class as well as the mutable=True flag on PickleType and postgresql.ARRAY has been removed. In-place mutations are detected by the ORM using the sqlalchemy.ext.mutable extension, introduced in 0.7. The removal of MutableType and associated constructs removes a great deal of complexity from SQLAlchemy's internals. The approach performed poorly as it would incur a scan of the full contents of the Session when in use. [ticket:2442]