summaryrefslogtreecommitdiff
path: root/test/aaa_profiling/test_resultset.py
Commit message (Collapse)AuthorAgeFilesLines
* - 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]
* - 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.
* 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-271-3/+3
| | | | - went through examples/ and cleaned out excess list() calls
* getting everything to pass againMike Bayer2012-09-271-1/+2
|
* trying different approaches to test layout. in this one, the testing modulesMike Bayer2012-09-271-2/+2
| | | | | | | 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.
* - 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-111-11/+7
| | | | | | 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-111-2/+2
|
* final cleanupMike Bayer2012-08-101-2/+2
|
* adjustmentMike Bayer2012-08-091-1/+1
|
* - a new approach to profiling where we attempt to strip outMike Bayer2012-08-091-23/+6
| | | | | | 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
|
* - some more interpret_as_fromsMike Bayer2012-07-231-8/+8
|
* 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.
* - [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
|
* - [feature] The behavior of column targetingMike Bayer2012-04-241-4/+4
| | | | | | | | | | | | | | 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]
* callcountsMike Bayer2012-03-141-2/+2
|
* fix callcountMike Bayer2012-02-261-1/+1
|
* callcountsMike Bayer2012-02-151-2/+2
|
* test failuresMike Bayer2012-02-151-4/+4
|
* callcount adjustMike Bayer2012-02-051-2/+2
|
* put some variance on this as it's a difference between 9 and 60 callsMike Bayer2011-06-041-1/+1
|
* - Adjusted the __contains__() method ofMike Bayer2011-06-041-0/+8
| | | | | | | | | 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.
* mark all aaa_profiling tests with __requires__ = 'cpython',Mike Bayer2011-04-231-1/+2
|
* - remove test.sql._base, test.engine._base, test.orm._base, move those ↵Mike Bayer2011-03-271-2/+2
| | | | | | | classes to a new test.lib.fixtures module - move testing.TestBase to test.lib.fixtures - massive search and replace
* - whitespace removal bonanzaMike Bayer2011-01-021-4/+4
|
* - allow cextension version to fall back to non-cextensionMike Bayer2010-12-221-4/+10
| | | | | - start taking out "default" version, 2.4 version, only need these tests in a relative sense
* - remove OrderedSet usage from a critical areaMike Bayer2010-12-221-6/+7
|
* - another heap of inlinings and now I really have to be done with thisMike Bayer2010-12-211-3/+4
|
* - callcountsMike Bayer2010-12-191-1/+5
|
* - callcounts. need to find some way to make this less tedious.Mike Bayer2010-12-131-2/+2
|
* - another easy win, cache the calc of bind processors in the compiled objectMike Bayer2010-12-121-1/+1
|
* callcounts...Mike Bayer2010-12-051-2/+2
|
* up this variance a bit, differences between 2.6.3/2.6.4 not worth itMike Bayer2010-12-051-2/+2
|
* callcounts for 2.4, 2.5, 2.6Mike Bayer2010-12-051-3/+8
|
* - more inlining. nominal execution on sqlite down to 36 calls, from 51 in 0.6.Mike Bayer2010-12-051-0/+27
|
* - move sqlalchemy.test to test.libMike Bayer2010-11-151-1/+1
|
* - Implemented sequence check capability for the CMike Bayer2010-11-091-2/+2
| | | | | | version of RowProxy, as well as 2.7 style "collections.Sequence" registration for RowProxy. [ticket:1871]
* Python-tidy test/engine and test/aaa_profiling, 80% auto + 20% manual ↵Mike Bayer2010-07-111-20/+21
| | | | intervention
* - Added an optional C extension to speed up the sql layer byGaëtan de Menten2010-02-131-2/+2
| | | | | | | | | | | | | | | reimplementing the highest impact functions. The actual speedups will depend heavily on your DBAPI and the mix of datatypes used in your tables, and can vary from a 50% improvement to more than 200%. It also provides a modest (~20%) indirect improvement to ORM speed for large queries. Note that it is *not* built/installed by default. See README for installation instructions. - The most common result processors conversion function were moved to the new "processors" module. Dialect authors are encouraged to use those functions whenever they correspond to their needs instead of implementing custom ones.
* - The psycopg2 dialect now uses psycopg2's "unicode extension"Mike Bayer2009-10-261-1/+3
| | | | | | | | | | | | | | | | | | on all new connections, which allows all String/Text/etc. types to skip the need to post-process bytestrings into unicode (an expensive step due to its volume). Other dialects which return unicode natively (pg8000, zxjdbc) also skip unicode post-processing. - String/Text/Unicode types now skip the unicode() check on each result column value if the dialect has detected the DBAPI as returning Python unicode objects natively. This check is issued on first connect using "SELECT CAST 'some text' AS VARCHAR(10)" or equivalent, then checking if the returned object is a Python unicode. This allows vast performance increases for native-unicode DBAPIs, including pysqlite/sqlite3, psycopg2, and pg8000.
* fix some 2.4 callcountsMike Bayer2009-10-241-2/+2
|
* - ResultProxy internals have been overhauled to greatly reduceMike Bayer2009-10-241-0/+39
method call counts when fetching columns that have no type-level processing applied. Provides a 100% speed improvement when fetching large result sets with no unicode conversion. Many thanks to Elixir's Gaëtan de Menten for this dramatic improvement ! [ticket:1586]