Commit Graph

228 Commits

Author SHA1 Message Date
Mike Bayer f5f49f50c8 - add test profiling merge() behavior when merging lots of bidirectional collections/m2os,
collections present in given merge field.   This shows that the change proposed
in [ticket:2221] adds over 10% method call overhead including significantly more
SQL statements.
2011-08-12 22:48:40 -04:00
Mike Bayer eae80bb046 put some variance on this as it's a difference between 9 and 60 calls 2011-06-04 21:58:56 -04:00
Mike Bayer 09080baad1 - Adjusted the __contains__() method of
a RowProxy result row such that no exception
throw is generated internally;
NoSuchColumnError() also will generate its
message regardless of whether or not the column
construct can be coerced to a string.
[ticket:2178].  Also in 0.6.8.
2011-06-04 20:52:30 -04:00
Mike Bayer fdbfed3f30 - this helps oracle here since it has a panic attack otherwise 2011-04-25 22:51:58 -04:00
Mike Bayer 1092fd6590 uurg, add a use_reaper argument and have zoomark skip the reaping for its very special mode of operation... 2011-04-25 22:29:59 -04:00
Mike Bayer e1ec36fc9e - hardcore force every connection into a strong-referenced set, rollback on every test, close on every context.
this uses pool events but bypasses the pool's fairy/record/dispose services.   pypy still seems to expose
some holes in that at least as far as what some (or maybe just one, cant find it yet) of the tests does.
haven't tested this too deeply, just on sqlite + postgres, cypthon 2.7 + pypy.   will see what the buildbot
says
2011-04-25 21:50:26 -04:00
Mike Bayer 46ee78431c mark all aaa_profiling tests with __requires__ = 'cpython', 2011-04-23 12:34:38 -07:00
Mike Bayer fbcfd079de callcount update for cext + 2.7 2011-04-17 15:00:27 -04:00
Mike Bayer 898e347143 - callcounts
- clean out pool._refs in the test_pool perf tests, make things simple
2011-04-08 16:21:09 -04:00
Mike Bayer da938820ec - fix a callcount
- remove extra _load_fixtures() method.   using the classbound version as the fixtures
seem to have everything classlevel at the moment (wondering if we want to change that
for non-classlevel setup/teardown)
2011-03-27 18:16:40 -04:00
Mike Bayer 68a350d462 - remove test.sql._base, test.engine._base, test.orm._base, move those classes to a new test.lib.fixtures module
- move testing.TestBase to test.lib.fixtures
- massive search and replace
2011-03-27 16:27:27 -04:00
Mike Bayer a3083eabf4 - move all the setup_classes(cls) and setup_mappers(cls) to use a
local cls.Basic, cls.Comparable base class so that there is no ambiguity
or hash identity behaviors getting in the way of class registration.
2011-03-27 15:04:06 -04:00
Mike Bayer 14a2fae239 - remove @testing.resolve_artifact_names, replace with direct attribute
access to the cls/self.tables/classes registries
- express orm/_base.py ORMTest in terms of engine/_base.py TablesTest,
factor out common steps into TablesTest, remove AltEngineTest as a
separate class.   will further consolidate these base classes
2011-03-26 19:03:11 -04:00
Mike Bayer 429227fbae - pulling out the PG type impls in create table knocked the counts out a bit (I am assuming/guessing). 2011-02-18 21:32:39 -05:00
Mike Bayer 3f30fb065c - The compiler extension now supports overriding the default
compilation of expression._BindParamClause including that
the auto-generated binds within the VALUES/SET clause
of an insert()/update() statement will also use the new
compilation rules. [ticket:2042]
2011-02-09 15:45:15 -05:00
Mike Bayer 12073e281e - SchemaItem, SchemaType now descend from common type
SchemaEventTarget, which supplies dispatch
- the dispatch now provides before_parent_attach(),
after_parent_attach(), events which generally bound the _set_parent()
event. [ticket:2037]
- the _on_table_attach mechanism now usually uses the
event dispatch
- fixed class-level event dispatch to propagate to all subclasses, not just
immediate subclasses
- fixed class-level event unpickling to handle more involved
inheritance hierarchies, needed by the new schema event dispatch.
- ForeignKeyConstraint doesn't re-call the column attach event
on ForeignKey objects that are already associated with the correct
Column
- we still need that ImportError on mysqldb CLIENT FLAGS to support
mock DBAPIs
2011-01-30 20:29:48 -05:00
Mike Bayer 1515073b96 - New DBAPI support for pymysql, a pure Python port
of MySQL-python.  [ticket:1991]
2011-01-26 11:18:03 -05:00
Mike Bayer 86e6c2bafb callcount 2011-01-25 14:08:58 -05:00
Mike Bayer 350aed3fdb - whitespace removal bonanza 2011-01-02 14:23:42 -05:00
Mike Bayer 1903e4f973 - remove some more 2.4 targets 2010-12-27 14:34:22 -05:00
Mike Bayer fe2d3e0aa2 py3k fixes 2010-12-27 14:17:10 -05:00
Mike Bayer fa2f1c5d82 - more skippage of 2.4 2010-12-23 15:51:41 -05:00
Mike Bayer 015110267e - allow cextension version to fall back to non-cextension
- start taking out "default" version, 2.4 version, only need these tests
in a relative sense
2010-12-22 20:36:20 -05:00
Mike Bayer 73f2b37fc9 - remove OrderedSet usage from a critical area 2010-12-22 19:07:04 -05:00
Mike Bayer 78d6c7c62e - arg callcounts change from 2.6.4 to 2.6.6 2010-12-21 21:52:26 -05:00
Mike Bayer b79a5e7640 - another heap of inlinings and now I really have to be done with this 2010-12-21 21:37:52 -05:00
Mike Bayer ecb0e53abb - modest inlinings into the MapperProperty.setup/row_processor chain 2010-12-20 20:30:29 -05:00
Mike Bayer 6c2cbd2428 callcounts 2010-12-19 20:14:39 -05:00
Mike Bayer 0a46523a92 triple check that the dict is empty 2010-12-19 19:13:40 -05:00
Mike Bayer 840fefa710 - callcounts 2010-12-19 18:52:46 -05:00
Mike Bayer 2e7a54d6fb merge tip 2010-12-17 14:19:22 -05:00
Mike Bayer 0a6f795615 - callcounts 2010-12-16 21:44:48 -05:00
Mike Bayer f7f6fbede5 - remove the need to use LoadDeferredColumns, LoadLazyAttribute in most cases,
these are back to being part of LoaderStrategy
- simplify attribute.get()
- inline the dict get inside of attribute.__get__()
- revert some memoized attrs from InstanceState which are called in almost
all cases regardless
- inlining
2010-12-16 21:08:26 -05:00
Mike Bayer 68fb34ba57 - system to cache the bind/result processors in a dialect-wide registry.
its an idea with pointy edges.
2010-12-13 12:53:56 -05:00
Mike Bayer 0996188696 - callcounts. need to find some way to make this less tedious. 2010-12-13 10:23:59 -05:00
Mike Bayer 86e8e7c558 - why type.dialect_impl(dialect).bind_processor(dialect), caching just the impl?
just call type._cached_bind_processor(dialect), cache the impl *and* the processor function.
same for result sets.
- use plain dict + update for defaultexecutioncontext.execution_options
2010-12-13 00:15:32 -05:00
Mike Bayer 1125a4b8b1 - another easy win, cache the calc of bind processors in the compiled object 2010-12-12 17:50:25 -05:00
Mike Bayer b12caa18b5 callcounts 2010-12-12 15:35:21 -05:00
Mike Bayer 0d71ea8126 - inlinings and callcount reductions
- add test coverage for the rare case of noload->lazyload + pickle
2010-12-12 13:01:34 -05:00
Mike Bayer 6d5dd2214a - refactor query._get() into two methods - a static one that does
just the identity map lookup + expired check, the other
which does the load unconditionally.  All the refresh/deferred load
calls use the unconditional load method, query.get() and
LoadLazyAttribute call the identity check by itself first.   m2o
lazyloads for object already in the identity map callcounts are
now cut in half, since no Query object is created.
2010-12-12 01:35:37 -05:00
Mike Bayer c691b4cbdf - support for cdecimal
- add --with-cdecimal flag to tests, monkeypatches cdecimal in
- fix mssql/pyodbc.py to not use private '_int' accessor in decimal conversion
routines
- pyodbc version 2.1.8 is needed for cdecimal in any case as
previous versions also called '_int', 2.1.8 adds the same string
logic as our own dialect, so that logic is skipped for modern
pyodbc version
- make the imports for "Decimal" consistent across the whole lib.  not sure
yet how we should be importing "Decimal" or what the best way forward
is that would allow a clean user-invoked swap of cdecimal; for now,
added docs suggesting a global monkeypatch - the two decimal libs
are not compatible with each other so any chance of mixing produces
serious issues.  adding adapters to DBAPIs tedious and adds in-python
overhead.  suggestions welcome on how we should be doing
Decimal/cdecimal.
2010-12-11 17:44:46 -05:00
Mike Bayer 3c0af7f9c7 - callcount 2010-12-10 18:42:58 -05:00
Mike Bayer 67259bfef1 - callcount
- more inlining
2010-12-09 20:20:23 -05:00
Mike Bayer 5622cfd5ec callcount destructo engage 2010-12-09 19:06:22 -05:00
Mike Bayer 8423dbcf62 - shave about a millisecond off of moderately complex save casades. 2010-12-06 13:29:13 -05:00
Mike Bayer 175f1510d5 callcounts in 2.4 2010-12-05 19:29:47 -05:00
Mike Bayer 15297eb4fb callcounts... 2010-12-05 17:47:09 -05:00
Mike Bayer 1562860fea up this variance a bit, differences between 2.6.3/2.6.4 not worth it 2010-12-05 17:40:51 -05:00
Mike Bayer 1c16f373d9 callcounts for 2.4, 2.5, 2.6 2010-12-05 16:39:15 -05:00
Mike Bayer dd2b208d86 - fix callcount for 2.6 2010-12-05 16:09:53 -05:00