]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Add python 3.8 profiles; remove zoomark tests
authorFederico Caselli <cfederico87@gmail.com>
Fri, 22 May 2020 20:48:16 +0000 (22:48 +0200)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 23 May 2020 21:01:17 +0000 (17:01 -0400)
The zoomark tests have served us well for many years.
At this point, they have been using a very antiquated
calling style for many years and are no longer where we catch
performance issues.
The performance suite now has a large number of individual
tests that catch issues very specifically and additionally
record just one performance count per test.   This also
allows us to remove the "replay" fixtures that were not
used for anything else.

Fixes: #5347
Change-Id: I0a8d078e7b7240602f4f3f7068f231e98a40f17e

lib/sqlalchemy/testing/replay_fixture.py [deleted file]
regen_callcounts.tox.ini
test/aaa_profiling/test_zoomark.py [deleted file]
test/aaa_profiling/test_zoomark_orm.py [deleted file]
test/profiles.txt

diff --git a/lib/sqlalchemy/testing/replay_fixture.py b/lib/sqlalchemy/testing/replay_fixture.py
deleted file mode 100644 (file)
index 613d757..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-from collections import deque
-import contextlib
-import types
-
-from . import config
-from . import fixtures
-from . import profiling
-from .. import create_engine
-from .. import MetaData
-from .. import util
-from ..orm import Session
-
-
-class ReplayFixtureTest(fixtures.TestBase):
-    @contextlib.contextmanager
-    def _dummy_ctx(self, *arg, **kw):
-        yield
-
-    def test_invocation(self):
-
-        dbapi_session = ReplayableSession()
-        creator = config.db.pool._creator
-
-        def recorder():
-            return dbapi_session.recorder(creator())
-
-        engine = create_engine(
-            config.db.url, creator=recorder, use_native_hstore=False
-        )
-        self.metadata = MetaData(engine)
-        self.engine = engine
-        self.session = Session(engine)
-
-        self.setup_engine()
-        try:
-            self._run_steps(ctx=self._dummy_ctx)
-        finally:
-            self.teardown_engine()
-            engine.dispose()
-
-        def player():
-            return dbapi_session.player()
-
-        engine = create_engine(
-            config.db.url, creator=player, use_native_hstore=False
-        )
-
-        self.metadata = MetaData(engine)
-        self.engine = engine
-        self.session = Session(engine)
-
-        self.setup_engine()
-        try:
-            self._run_steps(ctx=profiling.count_functions)
-        finally:
-            self.session.close()
-            engine.dispose()
-
-    def setup_engine(self):
-        pass
-
-    def teardown_engine(self):
-        pass
-
-    def _run_steps(self, ctx):
-        raise NotImplementedError()
-
-
-class ReplayableSession(object):
-    """A simple record/playback tool.
-
-    This is *not* a mock testing class.  It only records a session for later
-    playback and makes no assertions on call consistency whatsoever.  It's
-    unlikely to be suitable for anything other than DB-API recording.
-
-    """
-
-    Callable = object()
-    NoAttribute = object()
-
-    if util.py2k:
-        Natives = set(
-            [getattr(types, t) for t in dir(types) if not t.startswith("_")]
-        ).difference(
-            [
-                getattr(types, t)
-                for t in (
-                    "FunctionType",
-                    "BuiltinFunctionType",
-                    "MethodType",
-                    "BuiltinMethodType",
-                    "LambdaType",
-                    "UnboundMethodType",
-                )
-            ]
-        )
-    else:
-        Natives = (
-            set(
-                [
-                    getattr(types, t)
-                    for t in dir(types)
-                    if not t.startswith("_")
-                ]
-            )
-            .union(
-                [
-                    type(t) if not isinstance(t, type) else t
-                    for t in __builtins__.values()
-                ]
-            )
-            .difference(
-                [
-                    getattr(types, t)
-                    for t in (
-                        "FunctionType",
-                        "BuiltinFunctionType",
-                        "MethodType",
-                        "BuiltinMethodType",
-                        "LambdaType",
-                    )
-                ]
-            )
-        )
-
-    def __init__(self):
-        self.buffer = deque()
-
-    def recorder(self, base):
-        return self.Recorder(self.buffer, base)
-
-    def player(self):
-        return self.Player(self.buffer)
-
-    class Recorder(object):
-        def __init__(self, buffer, subject):
-            self._buffer = buffer
-            self._subject = subject
-
-        def __call__(self, *args, **kw):
-            subject, buffer = [
-                object.__getattribute__(self, x)
-                for x in ("_subject", "_buffer")
-            ]
-
-            result = subject(*args, **kw)
-            if type(result) not in ReplayableSession.Natives:
-                buffer.append(ReplayableSession.Callable)
-                return type(self)(buffer, result)
-            else:
-                buffer.append(result)
-                return result
-
-        @property
-        def _sqla_unwrap(self):
-            return self._subject
-
-        def __getattribute__(self, key):
-            try:
-                return object.__getattribute__(self, key)
-            except AttributeError:
-                pass
-
-            subject, buffer = [
-                object.__getattribute__(self, x)
-                for x in ("_subject", "_buffer")
-            ]
-            try:
-                result = type(subject).__getattribute__(subject, key)
-            except AttributeError:
-                buffer.append(ReplayableSession.NoAttribute)
-                raise
-            else:
-                if type(result) not in ReplayableSession.Natives:
-                    buffer.append(ReplayableSession.Callable)
-                    return type(self)(buffer, result)
-                else:
-                    buffer.append(result)
-                    return result
-
-    class Player(object):
-        def __init__(self, buffer):
-            self._buffer = buffer
-
-        def __call__(self, *args, **kw):
-            buffer = object.__getattribute__(self, "_buffer")
-            result = buffer.popleft()
-            if result is ReplayableSession.Callable:
-                return self
-            else:
-                return result
-
-        @property
-        def _sqla_unwrap(self):
-            return None
-
-        def __getattribute__(self, key):
-            try:
-                return object.__getattribute__(self, key)
-            except AttributeError:
-                pass
-            buffer = object.__getattribute__(self, "_buffer")
-            result = buffer.popleft()
-            if result is ReplayableSession.Callable:
-                return self
-            elif result is ReplayableSession.NoAttribute:
-                raise AttributeError(key)
-            else:
-                return result
index 8f21dae3df0297059c15b706a8e97a3ddf496879..5374e19cd13960cefac197bf4d359577bd72c117 100644 (file)
@@ -1,5 +1,5 @@
 [tox]
-envlist = py{27,37}-sqla_{cext,nocext}-db_{sqlite,postgresql,mysql,oracle,mssql}
+envlist = py{27,38}-sqla_{cext,nocext}-db_{sqlite,postgresql,mysql,oracle,mssql}
 
 [testenv]
 deps=pytest
diff --git a/test/aaa_profiling/test_zoomark.py b/test/aaa_profiling/test_zoomark.py
deleted file mode 100644 (file)
index 9f9cf7a..0000000
+++ /dev/null
@@ -1,539 +0,0 @@
-from __future__ import unicode_literals
-
-import datetime
-
-from sqlalchemy import and_
-from sqlalchemy import Column
-from sqlalchemy import Date
-from sqlalchemy import DateTime
-from sqlalchemy import Float
-from sqlalchemy import ForeignKey
-from sqlalchemy import func
-from sqlalchemy import Integer
-from sqlalchemy import join
-from sqlalchemy import outerjoin
-from sqlalchemy import select
-from sqlalchemy import Sequence
-from sqlalchemy import Table
-from sqlalchemy import Time
-from sqlalchemy import Unicode
-from sqlalchemy.testing import replay_fixture
-
-
-"""Benchmark for SQLAlchemy.
-
-An adaptation of Robert Brewers' ZooMark speed tests. """
-
-
-ITERATIONS = 1
-
-
-class ZooMarkTest(replay_fixture.ReplayFixtureTest):
-
-    """Runs the ZooMark and squawks if method counts vary from the norm."""
-
-    __requires__ = ("cpython",)
-    __only_on__ = "postgresql+psycopg2"
-
-    def _run_steps(self, ctx):
-        with ctx():
-            self._baseline_1a_populate()
-        with ctx():
-            self._baseline_2_insert()
-        with ctx():
-            self._baseline_3_properties()
-        with ctx():
-            self._baseline_4_expressions()
-        with ctx():
-            self._baseline_5_aggregates()
-        with ctx():
-            self._baseline_6_editing()
-        with ctx():
-            self._baseline_7_multiview()
-
-    def setup_engine(self):
-        self._baseline_1_create_tables()
-
-    def teardown_engine(self):
-        self._baseline_8_drop()
-
-    def _baseline_1_create_tables(self):
-        Table(
-            "Zoo",
-            self.metadata,
-            Column(
-                "ID",
-                Integer,
-                Sequence("zoo_id_seq"),
-                primary_key=True,
-                index=True,
-            ),
-            Column("Name", Unicode(255)),
-            Column("Founded", Date),
-            Column("Opens", Time),
-            Column("LastEscape", DateTime),
-            Column("Admission", Float),
-        )
-        Table(
-            "Animal",
-            self.metadata,
-            Column("ID", Integer, Sequence("animal_id_seq"), primary_key=True),
-            Column("ZooID", Integer, ForeignKey("Zoo.ID"), index=True),
-            Column("Name", Unicode(100)),
-            Column("Species", Unicode(100)),
-            Column("Legs", Integer, default=4),
-            Column("LastEscape", DateTime),
-            Column("Lifespan", Float(4)),
-            Column("MotherID", Integer, ForeignKey("Animal.ID")),
-            Column("PreferredFoodID", Integer),
-            Column("AlternateFoodID", Integer),
-        )
-        self.metadata.create_all()
-
-    def _baseline_1a_populate(self):
-        Zoo = self.metadata.tables["Zoo"]
-        Animal = self.metadata.tables["Animal"]
-        engine = self.metadata.bind
-        wap = engine.execute(
-            Zoo.insert(),
-            Name="Wild Animal Park",
-            Founded=datetime.date(2000, 1, 1),
-            Opens=datetime.time(8, 15, 59),
-            LastEscape=datetime.datetime(2004, 7, 29, 5, 6, 7),
-            Admission=4.95,
-        ).inserted_primary_key[0]
-        sdz = engine.execute(
-            Zoo.insert(),
-            Name="San Diego Zoo",
-            Founded=datetime.date(1935, 9, 13),
-            Opens=datetime.time(9, 0, 0),
-            Admission=0,
-        ).inserted_primary_key[0]
-        engine.execute(
-            Zoo.insert(inline=True),
-            Name="Montr\xe9al Biod\xf4me",
-            Founded=datetime.date(1992, 6, 19),
-            Opens=datetime.time(9, 0, 0),
-            Admission=11.75,
-        )
-        seaworld = engine.execute(
-            Zoo.insert(), Name="Sea_World", Admission=60
-        ).inserted_primary_key[0]
-
-        # Let's add a crazy futuristic Zoo to test large date values.
-
-        engine.execute(
-            Zoo.insert(),
-            Name="Luna Park",
-            Founded=datetime.date(2072, 7, 17),
-            Opens=datetime.time(0, 0, 0),
-            Admission=134.95,
-        ).inserted_primary_key[0]
-
-        # Animals
-
-        leopardid = engine.execute(
-            Animal.insert(), Species="Leopard", Lifespan=73.5
-        ).inserted_primary_key[0]
-        engine.execute(
-            Animal.update(Animal.c.ID == leopardid),
-            ZooID=wap,
-            LastEscape=datetime.datetime(2004, 12, 21, 8, 15, 0, 999907),
-        )
-        engine.execute(
-            Animal.insert(), Species="Lion", ZooID=wap
-        ).inserted_primary_key[0]
-
-        engine.execute(Animal.insert(), Species="Slug", Legs=1, Lifespan=0.75)
-        engine.execute(
-            Animal.insert(), Species="Tiger", ZooID=sdz
-        ).inserted_primary_key[0]
-
-        # Override Legs.default with itself just to make sure it works.
-
-        engine.execute(Animal.insert(inline=True), Species="Bear", Legs=4)
-        engine.execute(
-            Animal.insert(inline=True),
-            Species="Ostrich",
-            Legs=2,
-            Lifespan=103.2,
-        )
-        engine.execute(
-            Animal.insert(inline=True), Species="Centipede", Legs=100
-        )
-        engine.execute(
-            Animal.insert(), Species="Emperor Penguin", Legs=2, ZooID=seaworld
-        ).inserted_primary_key[0]
-        engine.execute(
-            Animal.insert(), Species="Adelie Penguin", Legs=2, ZooID=seaworld
-        ).inserted_primary_key[0]
-        engine.execute(
-            Animal.insert(inline=True),
-            Species="Millipede",
-            Legs=1000000,
-            ZooID=sdz,
-        )
-
-        # Add a mother and child to test relationships
-
-        bai_yun = engine.execute(
-            Animal.insert(), Species="Ape", Name="Bai Yun", Legs=2
-        ).inserted_primary_key[0]
-        engine.execute(
-            Animal.insert(inline=True),
-            Species="Ape",
-            Name="Hua Mei",
-            Legs=2,
-            MotherID=bai_yun,
-        )
-
-    def _baseline_2_insert(self):
-        Animal = self.metadata.tables["Animal"]
-        i = Animal.insert(inline=True)
-        for x in range(ITERATIONS):
-            i.execute(Species="Tick", Name="Tick %d" % x, Legs=8)
-
-    def _baseline_3_properties(self):
-        Zoo = self.metadata.tables["Zoo"]
-        Animal = self.metadata.tables["Animal"]
-        engine = self.metadata.bind
-
-        def fullobject(select):
-            """Iterate over the full result row."""
-
-            return list(engine.execute(select).first())
-
-        for x in range(ITERATIONS):
-
-            # Zoos
-
-            fullobject(Zoo.select(Zoo.c.Name == "Wild Animal Park"))
-            fullobject(Zoo.select(Zoo.c.Founded == datetime.date(1935, 9, 13)))
-            fullobject(Zoo.select(Zoo.c.Name == "Montr\xe9al Biod\xf4me"))
-            fullobject(Zoo.select(Zoo.c.Admission == float(60)))
-
-            # Animals
-
-            fullobject(Animal.select(Animal.c.Species == "Leopard"))
-            fullobject(Animal.select(Animal.c.Species == "Ostrich"))
-            fullobject(Animal.select(Animal.c.Legs == 1000000))
-            fullobject(Animal.select(Animal.c.Species == "Tick"))
-
-    def _baseline_4_expressions(self):
-        Zoo = self.metadata.tables["Zoo"]
-        Animal = self.metadata.tables["Animal"]
-        engine = self.metadata.bind
-
-        def fulltable(select):
-            """Iterate over the full result table."""
-
-            return [list(row) for row in engine.execute(select).fetchall()]
-
-        for x in range(ITERATIONS):
-            assert len(fulltable(Zoo.select())) == 5
-            assert len(fulltable(Animal.select())) == ITERATIONS + 12
-            assert len(fulltable(Animal.select(Animal.c.Legs == 4))) == 4
-            assert len(fulltable(Animal.select(Animal.c.Legs == 2))) == 5
-            assert (
-                len(
-                    fulltable(
-                        Animal.select(
-                            and_(Animal.c.Legs >= 2, Animal.c.Legs < 20)
-                        )
-                    )
-                )
-                == ITERATIONS + 9
-            )
-            assert len(fulltable(Animal.select(Animal.c.Legs > 10))) == 2
-            assert len(fulltable(Animal.select(Animal.c.Lifespan > 70))) == 2
-            assert (
-                len(fulltable(Animal.select(Animal.c.Species.startswith("L"))))
-                == 2
-            )
-            assert (
-                len(
-                    fulltable(Animal.select(Animal.c.Species.endswith("pede")))
-                )
-                == 2
-            )
-            assert (
-                len(fulltable(Animal.select(Animal.c.LastEscape != None))) == 1
-            )  # noqa
-            assert (
-                len(fulltable(Animal.select(None == Animal.c.LastEscape)))
-                == ITERATIONS + 11
-            )  # noqa
-
-            # In operator (containedby)
-
-            assert (
-                len(fulltable(Animal.select(Animal.c.Species.like("%pede%"))))
-                == 2
-            )
-            assert (
-                len(
-                    fulltable(
-                        Animal.select(
-                            Animal.c.Species.in_(["Lion", "Tiger", "Bear"])
-                        )
-                    )
-                )
-                == 3
-            )
-
-            # Try In with cell references
-            class thing(object):
-                pass
-
-            pet, pet2 = thing(), thing()
-            pet.Name, pet2.Name = "Slug", "Ostrich"
-            assert (
-                len(
-                    fulltable(
-                        Animal.select(
-                            Animal.c.Species.in_([pet.Name, pet2.Name])
-                        )
-                    )
-                )
-                == 2
-            )
-
-            # logic and other functions
-
-            assert (
-                len(fulltable(Animal.select(Animal.c.Species.like("Slug"))))
-                == 1
-            )
-            assert (
-                len(fulltable(Animal.select(Animal.c.Species.like("%pede%"))))
-                == 2
-            )
-            name = "Lion"
-            assert (
-                len(
-                    fulltable(
-                        Animal.select(
-                            func.length(Animal.c.Species) == len(name)
-                        )
-                    )
-                )
-                == ITERATIONS + 3
-            )
-            assert (
-                len(fulltable(Animal.select(Animal.c.Species.like("%i%"))))
-                == ITERATIONS + 7
-            )
-
-            # Test now(), today(), year(), month(), day()
-
-            assert (
-                len(
-                    fulltable(
-                        Zoo.select(
-                            and_(
-                                Zoo.c.Founded != None,  # noqa
-                                Zoo.c.Founded
-                                < func.current_timestamp(_type=Date),
-                            )
-                        )
-                    )
-                )
-                == 3
-            )
-            assert (
-                len(
-                    fulltable(
-                        Animal.select(
-                            Animal.c.LastEscape
-                            == func.current_timestamp(_type=Date)
-                        )
-                    )
-                )
-                == 0
-            )
-            assert (
-                len(
-                    fulltable(
-                        Animal.select(
-                            func.date_part("year", Animal.c.LastEscape) == 2004
-                        )
-                    )
-                )
-                == 1
-            )
-            assert (
-                len(
-                    fulltable(
-                        Animal.select(
-                            func.date_part("month", Animal.c.LastEscape) == 12
-                        )
-                    )
-                )
-                == 1
-            )
-            assert (
-                len(
-                    fulltable(
-                        Animal.select(
-                            func.date_part("day", Animal.c.LastEscape) == 21
-                        )
-                    )
-                )
-                == 1
-            )
-
-    def _baseline_5_aggregates(self):
-        Animal = self.metadata.tables["Animal"]
-        Zoo = self.metadata.tables["Zoo"]
-        engine = self.metadata.bind
-
-        for x in range(ITERATIONS):
-
-            # views
-
-            view = engine.execute(select([Animal.c.Legs])).fetchall()
-            legs = sorted([x[0] for x in view])
-            expected = {
-                "Leopard": 73.5,
-                "Slug": 0.75,
-                "Tiger": None,
-                "Lion": None,
-                "Bear": None,
-                "Ostrich": 103.2,
-                "Centipede": None,
-                "Emperor Penguin": None,
-                "Adelie Penguin": None,
-                "Millipede": None,
-                "Ape": None,
-                "Tick": None,
-            }
-            for species, lifespan in engine.execute(
-                select([Animal.c.Species, Animal.c.Lifespan])
-            ).fetchall():
-                assert lifespan == expected[species]
-            expected = ["Montr\xe9al Biod\xf4me", "Wild Animal Park"]
-            e = select(
-                [Zoo.c.Name],
-                and_(
-                    Zoo.c.Founded != None,  # noqa
-                    Zoo.c.Founded <= func.current_timestamp(),
-                    Zoo.c.Founded >= datetime.date(1990, 1, 1),
-                ),
-            )
-            values = [val[0] for val in engine.execute(e).fetchall()]
-            assert set(values) == set(expected)
-
-            # distinct
-
-            legs = [
-                x[0]
-                for x in engine.execute(
-                    select([Animal.c.Legs], distinct=True)
-                ).fetchall()
-            ]
-            legs.sort()
-
-    def _baseline_6_editing(self):
-        Zoo = self.metadata.tables["Zoo"]
-        engine = self.metadata.bind
-        for x in range(ITERATIONS):
-
-            # Edit
-
-            SDZ = (
-                engine.execute(Zoo.select(Zoo.c.Name == "San Diego Zoo"))
-                .first()
-                ._mapping
-            )
-
-            engine.execute(
-                Zoo.update(Zoo.c.ID == SDZ["ID"]),
-                Name="The San Diego Zoo",
-                Founded=datetime.date(1900, 1, 1),
-                Opens=datetime.time(7, 30, 0),
-                Admission="35.00",
-            )
-
-            # Test edits
-
-            SDZ = (
-                engine.execute(Zoo.select(Zoo.c.Name == "The San Diego Zoo"))
-                .first()
-                ._mapping
-            )
-
-            assert SDZ["Founded"] == datetime.date(1900, 1, 1), SDZ["Founded"]
-
-            # Change it back
-
-            engine.execute(
-                Zoo.update(Zoo.c.ID == SDZ["ID"]),
-                Name="San Diego Zoo",
-                Founded=datetime.date(1935, 9, 13),
-                Opens=datetime.time(9, 0, 0),
-                Admission="0",
-            )
-
-            # Test re-edits
-
-            SDZ = (
-                engine.execute(Zoo.select(Zoo.c.Name == "San Diego Zoo"))
-                .first()
-                ._mapping
-            )
-
-            assert SDZ["Founded"] == datetime.date(1935, 9, 13)
-
-    def _baseline_7_multiview(self):
-        Zoo = self.metadata.tables["Zoo"]
-        Animal = self.metadata.tables["Animal"]
-        engine = self.metadata.bind
-
-        def fulltable(select):
-            """Iterate over the full result table."""
-
-            return [list(row) for row in engine.execute(select).fetchall()]
-
-        for x in range(ITERATIONS):
-            fulltable(
-                select(
-                    [Zoo.c.ID] + list(Animal.c),
-                    Zoo.c.Name == "San Diego Zoo",
-                    from_obj=[join(Zoo, Animal)],
-                )
-            )
-            Zoo.select(Zoo.c.Name == "San Diego Zoo")
-            fulltable(
-                select(
-                    [Zoo.c.ID, Animal.c.ID],
-                    and_(
-                        Zoo.c.Name == "San Diego Zoo",
-                        Animal.c.Species == "Leopard",
-                    ),
-                    from_obj=[join(Zoo, Animal)],
-                )
-            )
-
-            # Now try the same query with INNER, LEFT, and RIGHT JOINs.
-
-            fulltable(
-                select(
-                    [Zoo.c.Name, Animal.c.Species],
-                    from_obj=[join(Zoo, Animal)],
-                )
-            )
-            fulltable(
-                select(
-                    [Zoo.c.Name, Animal.c.Species],
-                    from_obj=[outerjoin(Zoo, Animal)],
-                )
-            )
-            fulltable(
-                select(
-                    [Zoo.c.Name, Animal.c.Species],
-                    from_obj=[outerjoin(Animal, Zoo)],
-                )
-            )
-
-    def _baseline_8_drop(self):
-        self.metadata.drop_all()
diff --git a/test/aaa_profiling/test_zoomark_orm.py b/test/aaa_profiling/test_zoomark_orm.py
deleted file mode 100644 (file)
index 62b1544..0000000
+++ /dev/null
@@ -1,509 +0,0 @@
-from __future__ import unicode_literals
-
-import datetime
-
-from sqlalchemy import and_
-from sqlalchemy import Column
-from sqlalchemy import Date
-from sqlalchemy import DateTime
-from sqlalchemy import Float
-from sqlalchemy import ForeignKey
-from sqlalchemy import func
-from sqlalchemy import Integer
-from sqlalchemy import select
-from sqlalchemy import Sequence
-from sqlalchemy import Table
-from sqlalchemy import Time
-from sqlalchemy import Unicode
-from sqlalchemy.orm import mapper
-from sqlalchemy.testing import replay_fixture
-
-
-"""Benchmark for SQLAlchemy.
-
-An adaptation of Robert Brewers' ZooMark speed tests. """
-
-
-ITERATIONS = 1
-
-Zoo = Animal = session = None
-
-
-class ZooMarkTest(replay_fixture.ReplayFixtureTest):
-
-    """Runs the ZooMark and squawks if method counts vary from the norm.
-
-
-    """
-
-    __requires__ = ("cpython",)
-    __only_on__ = "postgresql+psycopg2"
-
-    def _run_steps(self, ctx):
-        with ctx():
-            self._baseline_1a_populate()
-        with ctx():
-            self._baseline_2_insert()
-        with ctx():
-            self._baseline_3_properties()
-        with ctx():
-            self._baseline_4_expressions()
-        with ctx():
-            self._baseline_5_aggregates()
-        with ctx():
-            self._baseline_6_editing()
-
-    def setup_engine(self):
-        self._baseline_1_create_tables()
-
-    def teardown_engine(self):
-        self._baseline_7_drop()
-
-    def _baseline_1_create_tables(self):
-        zoo = Table(
-            "Zoo",
-            self.metadata,
-            Column(
-                "ID",
-                Integer,
-                Sequence("zoo_id_seq"),
-                primary_key=True,
-                index=True,
-            ),
-            Column("Name", Unicode(255)),
-            Column("Founded", Date),
-            Column("Opens", Time),
-            Column("LastEscape", DateTime),
-            Column("Admission", Float),
-        )
-        animal = Table(
-            "Animal",
-            self.metadata,
-            Column("ID", Integer, Sequence("animal_id_seq"), primary_key=True),
-            Column("ZooID", Integer, ForeignKey("Zoo.ID"), index=True),
-            Column("Name", Unicode(100)),
-            Column("Species", Unicode(100)),
-            Column("Legs", Integer, default=4),
-            Column("LastEscape", DateTime),
-            Column("Lifespan", Float(4)),
-            Column("MotherID", Integer, ForeignKey("Animal.ID")),
-            Column("PreferredFoodID", Integer),
-            Column("AlternateFoodID", Integer),
-        )
-        self.metadata.create_all()
-        global Zoo, Animal
-
-        class Zoo(object):
-            def __init__(self, **kwargs):
-                for k, v in kwargs.items():
-                    setattr(self, k, v)
-
-        class Animal(object):
-            def __init__(self, **kwargs):
-                for k, v in kwargs.items():
-                    setattr(self, k, v)
-
-        mapper(Zoo, zoo)
-        mapper(Animal, animal)
-
-    def _baseline_1a_populate(self):
-        wap = Zoo(
-            Name="Wild Animal Park",
-            Founded=datetime.date(2000, 1, 1),
-            Opens=datetime.time(8, 15, 59),
-            LastEscape=datetime.datetime(2004, 7, 29, 5, 6, 7),
-            Admission=4.95,
-        )
-        self.session.add(wap)
-        sdz = Zoo(
-            Name="San Diego Zoo",
-            Founded=datetime.date(1835, 9, 13),
-            Opens=datetime.time(9, 0, 0),
-            Admission=0,
-        )
-        self.session.add(sdz)
-        bio = Zoo(
-            Name="Montr\xe9al Biod\xf4me",
-            Founded=datetime.date(1992, 6, 19),
-            Opens=datetime.time(9, 0, 0),
-            Admission=11.75,
-        )
-        self.session.add(bio)
-        seaworld = Zoo(Name="Sea_World", Admission=60)
-        self.session.add(seaworld)
-
-        # Let's add a crazy futuristic Zoo to test large date values.
-
-        lp = Zoo(
-            Name="Luna Park",
-            Founded=datetime.date(2072, 7, 17),
-            Opens=datetime.time(0, 0, 0),
-            Admission=134.95,
-        )
-        self.session.add(lp)
-
-        # ensure we flush the tables in a specific order as the replayable
-        # session assumes this
-        self.session.flush()
-
-        # Animals
-
-        leopard = Animal(Species="Leopard", Lifespan=73.5)
-        self.session.add(leopard)
-        leopard.ZooID = wap.ID
-        leopard.LastEscape = datetime.datetime(2004, 12, 21, 8, 15, 0, 999907)
-        self.session.add(Animal(Species="Lion", ZooID=wap.ID))
-        self.session.add(Animal(Species="Slug", Legs=1, Lifespan=0.75))
-        self.session.add(Animal(Species="Tiger", ZooID=sdz.ID))
-
-        # Override Legs.default with itself just to make sure it works.
-
-        self.session.add(Animal(Species="Bear", Legs=4))
-        self.session.add(Animal(Species="Ostrich", Legs=2, Lifespan=103.2))
-        self.session.add(Animal(Species="Centipede", Legs=100))
-        self.session.add(
-            Animal(Species="Emperor Penguin", Legs=2, ZooID=seaworld.ID)
-        )
-        self.session.add(
-            Animal(Species="Adelie Penguin", Legs=2, ZooID=seaworld.ID)
-        )
-        self.session.add(
-            Animal(Species="Millipede", Legs=1000000, ZooID=sdz.ID)
-        )
-
-        # Add a mother and child to test relationships
-
-        bai_yun = Animal(Species="Ape", Nameu="Bai Yun", Legs=2)
-        self.session.add(bai_yun)
-        self.session.add(
-            Animal(Species="Ape", Name="Hua Mei", Legs=2, MotherID=bai_yun.ID)
-        )
-        self.session.commit()
-
-    def _baseline_2_insert(self):
-        for x in range(ITERATIONS):
-            self.session.add(
-                Animal(Species="Tick", Name="Tick %d" % x, Legs=8)
-            )
-        self.session.flush()
-
-    def _baseline_3_properties(self):
-        for x in range(ITERATIONS):
-
-            # Zoos
-
-            list(
-                self.session.query(Zoo).filter(Zoo.Name == "Wild Animal Park")
-            )
-            list(
-                self.session.query(Zoo).filter(
-                    Zoo.Founded == datetime.date(1835, 9, 13)
-                )
-            )
-            list(
-                self.session.query(Zoo).filter(
-                    Zoo.Name == "Montr\xe9al Biod\xf4me"
-                )
-            )
-            list(self.session.query(Zoo).filter(Zoo.Admission == float(60)))
-
-            # Animals
-
-            list(
-                self.session.query(Animal).filter(Animal.Species == "Leopard")
-            )
-            list(
-                self.session.query(Animal).filter(Animal.Species == "Ostrich")
-            )
-            list(self.session.query(Animal).filter(Animal.Legs == 1000000))
-            list(self.session.query(Animal).filter(Animal.Species == "Tick"))
-
-    def _baseline_4_expressions(self):
-        for x in range(ITERATIONS):
-            assert len(list(self.session.query(Zoo))) == 5
-            assert len(list(self.session.query(Animal))) == ITERATIONS + 12
-            assert (
-                len(list(self.session.query(Animal).filter(Animal.Legs == 4)))
-                == 4
-            )
-            assert (
-                len(list(self.session.query(Animal).filter(Animal.Legs == 2)))
-                == 5
-            )
-            assert (
-                len(
-                    list(
-                        self.session.query(Animal).filter(
-                            and_(Animal.Legs >= 2, Animal.Legs < 20)
-                        )
-                    )
-                )
-                == ITERATIONS + 9
-            )
-            assert (
-                len(list(self.session.query(Animal).filter(Animal.Legs > 10)))
-                == 2
-            )
-            assert (
-                len(
-                    list(
-                        self.session.query(Animal).filter(Animal.Lifespan > 70)
-                    )
-                )
-                == 2
-            )
-            assert (
-                len(
-                    list(
-                        self.session.query(Animal).filter(
-                            Animal.Species.like("L%")
-                        )
-                    )
-                )
-                == 2
-            )
-            assert (
-                len(
-                    list(
-                        self.session.query(Animal).filter(
-                            Animal.Species.like("%pede")
-                        )
-                    )
-                )
-                == 2
-            )
-            assert (
-                len(
-                    list(
-                        self.session.query(Animal).filter(
-                            Animal.LastEscape != None
-                        )
-                    )
-                )
-                == 1
-            )  # noqa
-            assert (
-                len(
-                    list(
-                        self.session.query(Animal).filter(
-                            Animal.LastEscape == None
-                        )
-                    )
-                )
-                == ITERATIONS + 11
-            )  # noqa
-
-            # In operator (containedby)
-
-            assert (
-                len(
-                    list(
-                        self.session.query(Animal).filter(
-                            Animal.Species.like("%pede%")
-                        )
-                    )
-                )
-                == 2
-            )
-            assert (
-                len(
-                    list(
-                        self.session.query(Animal).filter(
-                            Animal.Species.in_(("Lion", "Tiger", "Bear"))
-                        )
-                    )
-                )
-                == 3
-            )
-
-            # Try In with cell references
-            class thing(object):
-                pass
-
-            pet, pet2 = thing(), thing()
-            pet.Name, pet2.Name = "Slug", "Ostrich"
-            assert (
-                len(
-                    list(
-                        self.session.query(Animal).filter(
-                            Animal.Species.in_((pet.Name, pet2.Name))
-                        )
-                    )
-                )
-                == 2
-            )
-
-            # logic and other functions
-
-            name = "Lion"
-            assert (
-                len(
-                    list(
-                        self.session.query(Animal).filter(
-                            func.length(Animal.Species) == len(name)
-                        )
-                    )
-                )
-                == ITERATIONS + 3
-            )
-            assert (
-                len(
-                    list(
-                        self.session.query(Animal).filter(
-                            Animal.Species.like("%i%")
-                        )
-                    )
-                )
-                == ITERATIONS + 7
-            )
-
-            # Test now(), today(), year(), month(), day()
-
-            assert (
-                len(
-                    list(
-                        self.session.query(Zoo).filter(
-                            and_(
-                                Zoo.Founded != None, Zoo.Founded < func.now()
-                            )  # noqa
-                        )
-                    )
-                )
-                == 3
-            )
-            assert (
-                len(
-                    list(
-                        self.session.query(Animal).filter(
-                            Animal.LastEscape == func.now()
-                        )
-                    )
-                )
-                == 0
-            )
-            assert (
-                len(
-                    list(
-                        self.session.query(Animal).filter(
-                            func.date_part("year", Animal.LastEscape) == 2004
-                        )
-                    )
-                )
-                == 1
-            )
-            assert (
-                len(
-                    list(
-                        self.session.query(Animal).filter(
-                            func.date_part("month", Animal.LastEscape) == 12
-                        )
-                    )
-                )
-                == 1
-            )
-            assert (
-                len(
-                    list(
-                        self.session.query(Animal).filter(
-                            func.date_part("day", Animal.LastEscape) == 21
-                        )
-                    )
-                )
-                == 1
-            )
-
-    def _baseline_5_aggregates(self):
-        Animal = self.metadata.tables["Animal"]
-        Zoo = self.metadata.tables["Zoo"]
-
-        # TODO: convert to ORM
-        engine = self.metadata.bind
-        for x in range(ITERATIONS):
-
-            # views
-
-            view = engine.execute(select([Animal.c.Legs])).fetchall()
-            legs = sorted([x[0] for x in view])
-            expected = {
-                "Leopard": 73.5,
-                "Slug": 0.75,
-                "Tiger": None,
-                "Lion": None,
-                "Bear": None,
-                "Ostrich": 103.2,
-                "Centipede": None,
-                "Emperor Penguin": None,
-                "Adelie Penguin": None,
-                "Millipede": None,
-                "Ape": None,
-                "Tick": None,
-            }
-            for species, lifespan in engine.execute(
-                select([Animal.c.Species, Animal.c.Lifespan])
-            ).fetchall():
-                assert lifespan == expected[species]
-            expected = ["Montr\xe9al Biod\xf4me", "Wild Animal Park"]
-            e = select(
-                [Zoo.c.Name],
-                and_(
-                    Zoo.c.Founded != None,  # noqa
-                    Zoo.c.Founded <= func.current_timestamp(),
-                    Zoo.c.Founded >= datetime.date(1990, 1, 1),
-                ),
-            )
-            values = [val[0] for val in engine.execute(e).fetchall()]
-            assert set(values) == set(expected)
-
-            # distinct
-
-            legs = [
-                x[0]
-                for x in engine.execute(
-                    select([Animal.c.Legs], distinct=True)
-                ).fetchall()
-            ]
-            legs.sort()
-
-    def _baseline_6_editing(self):
-        for x in range(ITERATIONS):
-
-            # Edit
-
-            SDZ = (
-                self.session.query(Zoo)
-                .filter(Zoo.Name == "San Diego Zoo")
-                .one()
-            )
-            SDZ.Name = "The San Diego Zoo"
-            SDZ.Founded = datetime.date(1900, 1, 1)
-            SDZ.Opens = datetime.time(7, 30, 0)
-            SDZ.Admission = 35.00
-
-            # Test edits
-
-            SDZ = (
-                self.session.query(Zoo)
-                .filter(Zoo.Name == "The San Diego Zoo")
-                .one()
-            )
-            assert SDZ.Founded == datetime.date(1900, 1, 1), SDZ.Founded
-
-            # Change it back
-
-            SDZ.Name = "San Diego Zoo"
-            SDZ.Founded = datetime.date(1835, 9, 13)
-            SDZ.Opens = datetime.time(9, 0, 0)
-            SDZ.Admission = 0
-
-            # Test re-edits
-
-            SDZ = (
-                self.session.query(Zoo)
-                .filter(Zoo.Name == "San Diego Zoo")
-                .one()
-            )
-            assert SDZ.Founded == datetime.date(1835, 9, 13), SDZ.Founded
-
-    def _baseline_7_drop(self):
-        self.session.rollback()
-        self.metadata.drop_all()
index 6fe0ea5af233150e173fa02828b6b741f6f9a286..a21cb851fa1dc1e7557aeb089a72fa1890046978 100644 (file)
@@ -1,15 +1,15 @@
 # /home/classic/dev/sqlalchemy/test/profiles.txt
 # This file is written out on a per-environment basis.
-# For each test in aaa_profiling, the corresponding function and 
+# For each test in aaa_profiling, the corresponding function and
 # environment is located within this file.  If it doesn't exist,
 # the test is skipped.
-# If a callcount does exist, it is compared to what we received. 
+# If a callcount does exist, it is compared to what we received.
 # assertions are raised if the counts do not match.
-# 
-# To add a new callcount test, apply the function_call_count 
-# decorator and re-run the tests using the --write-profiles 
+#
+# To add a new callcount test, apply the function_call_count
+# decorator and re-run the tests using the --write-profiles
 # option - this file will be rewritten including the new count.
-# 
+#
 
 # TEST: test.aaa_profiling.test_compiler.CompileTest.test_insert
 
@@ -25,18 +25,18 @@ test.aaa_profiling.test_compiler.CompileTest.test_insert 2.7_postgresql_psycopg2
 test.aaa_profiling.test_compiler.CompileTest.test_insert 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 59
 test.aaa_profiling.test_compiler.CompileTest.test_insert 2.7_sqlite_pysqlite_dbapiunicode_cextensions 59
 test.aaa_profiling.test_compiler.CompileTest.test_insert 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 59
-test.aaa_profiling.test_compiler.CompileTest.test_insert 3.7_mssql_pyodbc_dbapiunicode_cextensions 64
-test.aaa_profiling.test_compiler.CompileTest.test_insert 3.7_mssql_pyodbc_dbapiunicode_nocextensions 64
-test.aaa_profiling.test_compiler.CompileTest.test_insert 3.7_mysql_mysqldb_dbapiunicode_cextensions 64
-test.aaa_profiling.test_compiler.CompileTest.test_insert 3.7_mysql_mysqldb_dbapiunicode_nocextensions 64
-test.aaa_profiling.test_compiler.CompileTest.test_insert 3.7_mysql_pymysql_dbapiunicode_cextensions 64
-test.aaa_profiling.test_compiler.CompileTest.test_insert 3.7_mysql_pymysql_dbapiunicode_nocextensions 64
-test.aaa_profiling.test_compiler.CompileTest.test_insert 3.7_oracle_cx_oracle_dbapiunicode_cextensions 64
-test.aaa_profiling.test_compiler.CompileTest.test_insert 3.7_oracle_cx_oracle_dbapiunicode_nocextensions 64
-test.aaa_profiling.test_compiler.CompileTest.test_insert 3.7_postgresql_psycopg2_dbapiunicode_cextensions 64
-test.aaa_profiling.test_compiler.CompileTest.test_insert 3.7_postgresql_psycopg2_dbapiunicode_nocextensions 64
-test.aaa_profiling.test_compiler.CompileTest.test_insert 3.7_sqlite_pysqlite_dbapiunicode_cextensions 64
-test.aaa_profiling.test_compiler.CompileTest.test_insert 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 64
+test.aaa_profiling.test_compiler.CompileTest.test_insert 3.8_mssql_pyodbc_dbapiunicode_cextensions 64
+test.aaa_profiling.test_compiler.CompileTest.test_insert 3.8_mssql_pyodbc_dbapiunicode_nocextensions 64
+test.aaa_profiling.test_compiler.CompileTest.test_insert 3.8_mysql_mysqldb_dbapiunicode_cextensions 64
+test.aaa_profiling.test_compiler.CompileTest.test_insert 3.8_mysql_mysqldb_dbapiunicode_nocextensions 64
+test.aaa_profiling.test_compiler.CompileTest.test_insert 3.8_mysql_pymysql_dbapiunicode_cextensions 64
+test.aaa_profiling.test_compiler.CompileTest.test_insert 3.8_mysql_pymysql_dbapiunicode_nocextensions 64
+test.aaa_profiling.test_compiler.CompileTest.test_insert 3.8_oracle_cx_oracle_dbapiunicode_cextensions 64
+test.aaa_profiling.test_compiler.CompileTest.test_insert 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 64
+test.aaa_profiling.test_compiler.CompileTest.test_insert 3.8_postgresql_psycopg2_dbapiunicode_cextensions 64
+test.aaa_profiling.test_compiler.CompileTest.test_insert 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 64
+test.aaa_profiling.test_compiler.CompileTest.test_insert 3.8_sqlite_pysqlite_dbapiunicode_cextensions 64
+test.aaa_profiling.test_compiler.CompileTest.test_insert 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 64
 
 # TEST: test.aaa_profiling.test_compiler.CompileTest.test_select
 
@@ -52,18 +52,18 @@ test.aaa_profiling.test_compiler.CompileTest.test_select 2.7_postgresql_psycopg2
 test.aaa_profiling.test_compiler.CompileTest.test_select 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 153
 test.aaa_profiling.test_compiler.CompileTest.test_select 2.7_sqlite_pysqlite_dbapiunicode_cextensions 153
 test.aaa_profiling.test_compiler.CompileTest.test_select 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 153
-test.aaa_profiling.test_compiler.CompileTest.test_select 3.7_mssql_pyodbc_dbapiunicode_cextensions 168
-test.aaa_profiling.test_compiler.CompileTest.test_select 3.7_mssql_pyodbc_dbapiunicode_nocextensions 168
-test.aaa_profiling.test_compiler.CompileTest.test_select 3.7_mysql_mysqldb_dbapiunicode_cextensions 168
-test.aaa_profiling.test_compiler.CompileTest.test_select 3.7_mysql_mysqldb_dbapiunicode_nocextensions 168
-test.aaa_profiling.test_compiler.CompileTest.test_select 3.7_mysql_pymysql_dbapiunicode_cextensions 168
-test.aaa_profiling.test_compiler.CompileTest.test_select 3.7_mysql_pymysql_dbapiunicode_nocextensions 168
-test.aaa_profiling.test_compiler.CompileTest.test_select 3.7_oracle_cx_oracle_dbapiunicode_cextensions 168
-test.aaa_profiling.test_compiler.CompileTest.test_select 3.7_oracle_cx_oracle_dbapiunicode_nocextensions 168
-test.aaa_profiling.test_compiler.CompileTest.test_select 3.7_postgresql_psycopg2_dbapiunicode_cextensions 168
-test.aaa_profiling.test_compiler.CompileTest.test_select 3.7_postgresql_psycopg2_dbapiunicode_nocextensions 168
-test.aaa_profiling.test_compiler.CompileTest.test_select 3.7_sqlite_pysqlite_dbapiunicode_cextensions 168
-test.aaa_profiling.test_compiler.CompileTest.test_select 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 168
+test.aaa_profiling.test_compiler.CompileTest.test_select 3.8_mssql_pyodbc_dbapiunicode_cextensions 168
+test.aaa_profiling.test_compiler.CompileTest.test_select 3.8_mssql_pyodbc_dbapiunicode_nocextensions 168
+test.aaa_profiling.test_compiler.CompileTest.test_select 3.8_mysql_mysqldb_dbapiunicode_cextensions 168
+test.aaa_profiling.test_compiler.CompileTest.test_select 3.8_mysql_mysqldb_dbapiunicode_nocextensions 168
+test.aaa_profiling.test_compiler.CompileTest.test_select 3.8_mysql_pymysql_dbapiunicode_cextensions 168
+test.aaa_profiling.test_compiler.CompileTest.test_select 3.8_mysql_pymysql_dbapiunicode_nocextensions 168
+test.aaa_profiling.test_compiler.CompileTest.test_select 3.8_oracle_cx_oracle_dbapiunicode_cextensions 168
+test.aaa_profiling.test_compiler.CompileTest.test_select 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 168
+test.aaa_profiling.test_compiler.CompileTest.test_select 3.8_postgresql_psycopg2_dbapiunicode_cextensions 168
+test.aaa_profiling.test_compiler.CompileTest.test_select 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 168
+test.aaa_profiling.test_compiler.CompileTest.test_select 3.8_sqlite_pysqlite_dbapiunicode_cextensions 168
+test.aaa_profiling.test_compiler.CompileTest.test_select 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 168
 
 # TEST: test.aaa_profiling.test_compiler.CompileTest.test_select_labels
 
@@ -79,18 +79,18 @@ test.aaa_profiling.test_compiler.CompileTest.test_select_labels 2.7_postgresql_p
 test.aaa_profiling.test_compiler.CompileTest.test_select_labels 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 171
 test.aaa_profiling.test_compiler.CompileTest.test_select_labels 2.7_sqlite_pysqlite_dbapiunicode_cextensions 171
 test.aaa_profiling.test_compiler.CompileTest.test_select_labels 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 171
-test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.7_mssql_pyodbc_dbapiunicode_cextensions 186
-test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.7_mssql_pyodbc_dbapiunicode_nocextensions 186
-test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.7_mysql_mysqldb_dbapiunicode_cextensions 186
-test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.7_mysql_mysqldb_dbapiunicode_nocextensions 186
-test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.7_mysql_pymysql_dbapiunicode_cextensions 186
-test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.7_mysql_pymysql_dbapiunicode_nocextensions 186
-test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.7_oracle_cx_oracle_dbapiunicode_cextensions 186
-test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.7_oracle_cx_oracle_dbapiunicode_nocextensions 186
-test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.7_postgresql_psycopg2_dbapiunicode_cextensions 186
-test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.7_postgresql_psycopg2_dbapiunicode_nocextensions 186
-test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.7_sqlite_pysqlite_dbapiunicode_cextensions 186
-test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 186
+test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.8_mssql_pyodbc_dbapiunicode_cextensions 186
+test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.8_mssql_pyodbc_dbapiunicode_nocextensions 186
+test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.8_mysql_mysqldb_dbapiunicode_cextensions 186
+test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.8_mysql_mysqldb_dbapiunicode_nocextensions 186
+test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.8_mysql_pymysql_dbapiunicode_cextensions 186
+test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.8_mysql_pymysql_dbapiunicode_nocextensions 186
+test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.8_oracle_cx_oracle_dbapiunicode_cextensions 186
+test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 186
+test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.8_postgresql_psycopg2_dbapiunicode_cextensions 186
+test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 186
+test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.8_sqlite_pysqlite_dbapiunicode_cextensions 186
+test.aaa_profiling.test_compiler.CompileTest.test_select_labels 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 186
 
 # TEST: test.aaa_profiling.test_compiler.CompileTest.test_update
 
@@ -106,18 +106,18 @@ test.aaa_profiling.test_compiler.CompileTest.test_update 2.7_postgresql_psycopg2
 test.aaa_profiling.test_compiler.CompileTest.test_update 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 64
 test.aaa_profiling.test_compiler.CompileTest.test_update 2.7_sqlite_pysqlite_dbapiunicode_cextensions 64
 test.aaa_profiling.test_compiler.CompileTest.test_update 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 64
-test.aaa_profiling.test_compiler.CompileTest.test_update 3.7_mssql_pyodbc_dbapiunicode_cextensions 67
-test.aaa_profiling.test_compiler.CompileTest.test_update 3.7_mssql_pyodbc_dbapiunicode_nocextensions 67
-test.aaa_profiling.test_compiler.CompileTest.test_update 3.7_mysql_mysqldb_dbapiunicode_cextensions 67
-test.aaa_profiling.test_compiler.CompileTest.test_update 3.7_mysql_mysqldb_dbapiunicode_nocextensions 67
-test.aaa_profiling.test_compiler.CompileTest.test_update 3.7_mysql_pymysql_dbapiunicode_cextensions 67
-test.aaa_profiling.test_compiler.CompileTest.test_update 3.7_mysql_pymysql_dbapiunicode_nocextensions 67
-test.aaa_profiling.test_compiler.CompileTest.test_update 3.7_oracle_cx_oracle_dbapiunicode_cextensions 67
-test.aaa_profiling.test_compiler.CompileTest.test_update 3.7_oracle_cx_oracle_dbapiunicode_nocextensions 67
-test.aaa_profiling.test_compiler.CompileTest.test_update 3.7_postgresql_psycopg2_dbapiunicode_cextensions 67
-test.aaa_profiling.test_compiler.CompileTest.test_update 3.7_postgresql_psycopg2_dbapiunicode_nocextensions 67
-test.aaa_profiling.test_compiler.CompileTest.test_update 3.7_sqlite_pysqlite_dbapiunicode_cextensions 67
-test.aaa_profiling.test_compiler.CompileTest.test_update 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 67
+test.aaa_profiling.test_compiler.CompileTest.test_update 3.8_mssql_pyodbc_dbapiunicode_cextensions 67
+test.aaa_profiling.test_compiler.CompileTest.test_update 3.8_mssql_pyodbc_dbapiunicode_nocextensions 67
+test.aaa_profiling.test_compiler.CompileTest.test_update 3.8_mysql_mysqldb_dbapiunicode_cextensions 67
+test.aaa_profiling.test_compiler.CompileTest.test_update 3.8_mysql_mysqldb_dbapiunicode_nocextensions 67
+test.aaa_profiling.test_compiler.CompileTest.test_update 3.8_mysql_pymysql_dbapiunicode_cextensions 67
+test.aaa_profiling.test_compiler.CompileTest.test_update 3.8_mysql_pymysql_dbapiunicode_nocextensions 67
+test.aaa_profiling.test_compiler.CompileTest.test_update 3.8_oracle_cx_oracle_dbapiunicode_cextensions 67
+test.aaa_profiling.test_compiler.CompileTest.test_update 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 67
+test.aaa_profiling.test_compiler.CompileTest.test_update 3.8_postgresql_psycopg2_dbapiunicode_cextensions 67
+test.aaa_profiling.test_compiler.CompileTest.test_update 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 67
+test.aaa_profiling.test_compiler.CompileTest.test_update 3.8_sqlite_pysqlite_dbapiunicode_cextensions 67
+test.aaa_profiling.test_compiler.CompileTest.test_update 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 67
 
 # TEST: test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause
 
@@ -133,277 +133,270 @@ test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 2.7_postgre
 test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 148
 test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 2.7_sqlite_pysqlite_dbapiunicode_cextensions 148
 test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 148
-test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.7_mssql_pyodbc_dbapiunicode_cextensions 154
-test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.7_mssql_pyodbc_dbapiunicode_nocextensions 154
-test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.7_mysql_mysqldb_dbapiunicode_cextensions 154
-test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.7_mysql_mysqldb_dbapiunicode_nocextensions 154
-test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.7_mysql_pymysql_dbapiunicode_cextensions 154
-test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.7_mysql_pymysql_dbapiunicode_nocextensions 154
-test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.7_oracle_cx_oracle_dbapiunicode_cextensions 154
-test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.7_oracle_cx_oracle_dbapiunicode_nocextensions 154
-test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.7_postgresql_psycopg2_dbapiunicode_cextensions 154
-test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.7_postgresql_psycopg2_dbapiunicode_nocextensions 154
-test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.7_sqlite_pysqlite_dbapiunicode_cextensions 154
-test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 154
+test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.8_mssql_pyodbc_dbapiunicode_cextensions 154
+test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.8_mssql_pyodbc_dbapiunicode_nocextensions 154
+test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.8_mysql_mysqldb_dbapiunicode_cextensions 154
+test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.8_mysql_mysqldb_dbapiunicode_nocextensions 154
+test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.8_mysql_pymysql_dbapiunicode_cextensions 154
+test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.8_mysql_pymysql_dbapiunicode_nocextensions 154
+test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.8_oracle_cx_oracle_dbapiunicode_cextensions 154
+test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 154
+test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.8_postgresql_psycopg2_dbapiunicode_cextensions 154
+test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 154
+test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.8_sqlite_pysqlite_dbapiunicode_cextensions 154
+test.aaa_profiling.test_compiler.CompileTest.test_update_whereclause 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 154
 
 # TEST: test.aaa_profiling.test_misc.CacheKeyTest.test_statement_key_is_cached
 
 test.aaa_profiling.test_misc.CacheKeyTest.test_statement_key_is_cached 2.7_sqlite_pysqlite_dbapiunicode_cextensions 302
 test.aaa_profiling.test_misc.CacheKeyTest.test_statement_key_is_cached 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 302
-test.aaa_profiling.test_misc.CacheKeyTest.test_statement_key_is_cached 3.7_sqlite_pysqlite_dbapiunicode_cextensions 303
-test.aaa_profiling.test_misc.CacheKeyTest.test_statement_key_is_cached 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 303
+test.aaa_profiling.test_misc.CacheKeyTest.test_statement_key_is_cached 3.8_sqlite_pysqlite_dbapiunicode_cextensions 303
+test.aaa_profiling.test_misc.CacheKeyTest.test_statement_key_is_cached 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 303
 
 # TEST: test.aaa_profiling.test_misc.CacheKeyTest.test_statement_key_is_not_cached
 
 test.aaa_profiling.test_misc.CacheKeyTest.test_statement_key_is_not_cached 2.7_sqlite_pysqlite_dbapiunicode_cextensions 3702
 test.aaa_profiling.test_misc.CacheKeyTest.test_statement_key_is_not_cached 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 3702
-test.aaa_profiling.test_misc.CacheKeyTest.test_statement_key_is_not_cached 3.7_sqlite_pysqlite_dbapiunicode_cextensions 4003
-test.aaa_profiling.test_misc.CacheKeyTest.test_statement_key_is_not_cached 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 4003
-
-# TEST: test.aaa_profiling.test_misc.CacheKeyTest.test_statement_one
-
-test.aaa_profiling.test_misc.CacheKeyTest.test_statement_one 2.7_sqlite_pysqlite_dbapiunicode_cextensions 302
-test.aaa_profiling.test_misc.CacheKeyTest.test_statement_one 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 302
-test.aaa_profiling.test_misc.CacheKeyTest.test_statement_one 3.7_sqlite_pysqlite_dbapiunicode_cextensions 303
-test.aaa_profiling.test_misc.CacheKeyTest.test_statement_one 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 303
+test.aaa_profiling.test_misc.CacheKeyTest.test_statement_key_is_not_cached 3.8_sqlite_pysqlite_dbapiunicode_cextensions 4003
+test.aaa_profiling.test_misc.CacheKeyTest.test_statement_key_is_not_cached 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 4003
 
 # TEST: test.aaa_profiling.test_misc.EnumTest.test_create_enum_from_pep_435_w_expensive_members
 
 test.aaa_profiling.test_misc.EnumTest.test_create_enum_from_pep_435_w_expensive_members 2.7_sqlite_pysqlite_dbapiunicode_cextensions 1326
 test.aaa_profiling.test_misc.EnumTest.test_create_enum_from_pep_435_w_expensive_members 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 1326
-test.aaa_profiling.test_misc.EnumTest.test_create_enum_from_pep_435_w_expensive_members 3.7_sqlite_pysqlite_dbapiunicode_cextensions 926
-test.aaa_profiling.test_misc.EnumTest.test_create_enum_from_pep_435_w_expensive_members 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 926
+test.aaa_profiling.test_misc.EnumTest.test_create_enum_from_pep_435_w_expensive_members 3.8_sqlite_pysqlite_dbapiunicode_cextensions 926
+test.aaa_profiling.test_misc.EnumTest.test_create_enum_from_pep_435_w_expensive_members 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 926
 
 # TEST: test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_w_annotation
 
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_w_annotation 2.7_sqlite_pysqlite_dbapiunicode_cextensions 43405
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_w_annotation 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 58705
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_w_annotation 3.7_sqlite_pysqlite_dbapiunicode_cextensions 46605
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_w_annotation 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 61805
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_w_annotation 2.7_sqlite_pysqlite_dbapiunicode_cextensions 43705
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_w_annotation 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 59005
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_w_annotation 3.8_sqlite_pysqlite_dbapiunicode_cextensions 47005
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_w_annotation 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 62605
 
 # TEST: test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_wo_annotation
 
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_wo_annotation 2.7_sqlite_pysqlite_dbapiunicode_cextensions 42905
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_wo_annotation 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 58205
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_wo_annotation 3.7_sqlite_pysqlite_dbapiunicode_cextensions 46105
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_wo_annotation 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 61305
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_wo_annotation 2.7_sqlite_pysqlite_dbapiunicode_cextensions 43205
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_wo_annotation 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 58505
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_wo_annotation 3.8_sqlite_pysqlite_dbapiunicode_cextensions 46505
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_wo_annotation 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 62105
 
 # TEST: test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_w_annotations
 
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_w_annotations 2.7_sqlite_pysqlite_dbapiunicode_cextensions 42105
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_w_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 54905
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_w_annotations 3.7_sqlite_pysqlite_dbapiunicode_cextensions 44705
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_w_annotations 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 57405
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_w_annotations 2.7_sqlite_pysqlite_dbapiunicode_cextensions 42405
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_w_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 55205
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_w_annotations 3.8_sqlite_pysqlite_dbapiunicode_cextensions 45105
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_w_annotations 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 58205
 
 # TEST: test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_wo_annotations
 
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_wo_annotations 2.7_sqlite_pysqlite_dbapiunicode_cextensions 41505
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_wo_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 54305
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_wo_annotations 3.7_sqlite_pysqlite_dbapiunicode_cextensions 44105
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_wo_annotations 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 56805
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_wo_annotations 2.7_sqlite_pysqlite_dbapiunicode_cextensions 41805
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_wo_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 54605
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_wo_annotations 3.8_sqlite_pysqlite_dbapiunicode_cextensions 44505
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_wo_annotations 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 57605
 
 # TEST: test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle
 
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle 2.7_sqlite_pysqlite_dbapiunicode_cextensions 42805
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 49805
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle 3.7_sqlite_pysqlite_dbapiunicode_cextensions 44905
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 52205
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle 2.7_sqlite_pysqlite_dbapiunicode_cextensions 43005
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 50005
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle 3.8_sqlite_pysqlite_dbapiunicode_cextensions 45105
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 52405
 
 # TEST: test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_w_annotations
 
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_w_annotations 2.7_sqlite_pysqlite_dbapiunicode_cextensions 42105
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_w_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 54905
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_w_annotations 3.7_sqlite_pysqlite_dbapiunicode_cextensions 44705
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_w_annotations 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 57405
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_w_annotations 2.7_sqlite_pysqlite_dbapiunicode_cextensions 42405
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_w_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 55205
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_w_annotations 3.8_sqlite_pysqlite_dbapiunicode_cextensions 45105
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_w_annotations 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 58205
 
 # TEST: test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_wo_annotations
 
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_wo_annotations 2.7_sqlite_pysqlite_dbapiunicode_cextensions 41505
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_wo_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 54305
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_wo_annotations 3.7_sqlite_pysqlite_dbapiunicode_cextensions 44105
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_wo_annotations 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 56805
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_wo_annotations 2.7_sqlite_pysqlite_dbapiunicode_cextensions 41805
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_wo_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 54605
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_wo_annotations 3.8_sqlite_pysqlite_dbapiunicode_cextensions 44505
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_wo_annotations 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 57605
 
 # TEST: test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_w_annotations
 
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_w_annotations 2.7_sqlite_pysqlite_dbapiunicode_cextensions 27105
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_w_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 30305
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_w_annotations 3.7_sqlite_pysqlite_dbapiunicode_cextensions 29405
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_w_annotations 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 32405
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_w_annotations 2.7_sqlite_pysqlite_dbapiunicode_cextensions 27405
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_w_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 30605
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_w_annotations 3.8_sqlite_pysqlite_dbapiunicode_cextensions 29805
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_w_annotations 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 33205
 
 # TEST: test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_wo_annotations
 
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_wo_annotations 2.7_sqlite_pysqlite_dbapiunicode_cextensions 26505
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_wo_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 29705
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_wo_annotations 3.7_sqlite_pysqlite_dbapiunicode_cextensions 28805
-test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_wo_annotations 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 31805
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_wo_annotations 2.7_sqlite_pysqlite_dbapiunicode_cextensions 26805
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_wo_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 30005
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_wo_annotations 3.8_sqlite_pysqlite_dbapiunicode_cextensions 29205
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_wo_annotations 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 32605
 
 # TEST: test.aaa_profiling.test_orm.AttributeOverheadTest.test_attribute_set
 
 test.aaa_profiling.test_orm.AttributeOverheadTest.test_attribute_set 2.7_sqlite_pysqlite_dbapiunicode_cextensions 3567
 test.aaa_profiling.test_orm.AttributeOverheadTest.test_attribute_set 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 3567
-test.aaa_profiling.test_orm.AttributeOverheadTest.test_attribute_set 3.7_sqlite_pysqlite_dbapiunicode_cextensions 3688
-test.aaa_profiling.test_orm.AttributeOverheadTest.test_attribute_set 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 3688
+test.aaa_profiling.test_orm.AttributeOverheadTest.test_attribute_set 3.8_sqlite_pysqlite_dbapiunicode_cextensions 3688
+test.aaa_profiling.test_orm.AttributeOverheadTest.test_attribute_set 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 3688
 
 # TEST: test.aaa_profiling.test_orm.AttributeOverheadTest.test_collection_append_remove
 
 test.aaa_profiling.test_orm.AttributeOverheadTest.test_collection_append_remove 2.7_sqlite_pysqlite_dbapiunicode_cextensions 5626
 test.aaa_profiling.test_orm.AttributeOverheadTest.test_collection_append_remove 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 5626
-test.aaa_profiling.test_orm.AttributeOverheadTest.test_collection_append_remove 3.7_sqlite_pysqlite_dbapiunicode_cextensions 5828
-test.aaa_profiling.test_orm.AttributeOverheadTest.test_collection_append_remove 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 5828
+test.aaa_profiling.test_orm.AttributeOverheadTest.test_collection_append_remove 3.8_sqlite_pysqlite_dbapiunicode_cextensions 5828
+test.aaa_profiling.test_orm.AttributeOverheadTest.test_collection_append_remove 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 5828
 
 # TEST: test.aaa_profiling.test_orm.BranchedOptionTest.test_generate_path_cache_key_bound_branching
 
 test.aaa_profiling.test_orm.BranchedOptionTest.test_generate_path_cache_key_bound_branching 2.7_sqlite_pysqlite_dbapiunicode_cextensions 104
 test.aaa_profiling.test_orm.BranchedOptionTest.test_generate_path_cache_key_bound_branching 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 104
-test.aaa_profiling.test_orm.BranchedOptionTest.test_generate_path_cache_key_bound_branching 3.7_sqlite_pysqlite_dbapiunicode_cextensions 81
-test.aaa_profiling.test_orm.BranchedOptionTest.test_generate_path_cache_key_bound_branching 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 81
+test.aaa_profiling.test_orm.BranchedOptionTest.test_generate_path_cache_key_bound_branching 3.8_sqlite_pysqlite_dbapiunicode_cextensions 81
+test.aaa_profiling.test_orm.BranchedOptionTest.test_generate_path_cache_key_bound_branching 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 81
 
 # TEST: test.aaa_profiling.test_orm.BranchedOptionTest.test_generate_path_cache_key_unbound_branching
 
 test.aaa_profiling.test_orm.BranchedOptionTest.test_generate_path_cache_key_unbound_branching 2.7_sqlite_pysqlite_dbapiunicode_cextensions 588
 test.aaa_profiling.test_orm.BranchedOptionTest.test_generate_path_cache_key_unbound_branching 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 588
-test.aaa_profiling.test_orm.BranchedOptionTest.test_generate_path_cache_key_unbound_branching 3.7_sqlite_pysqlite_dbapiunicode_cextensions 561
-test.aaa_profiling.test_orm.BranchedOptionTest.test_generate_path_cache_key_unbound_branching 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 561
+test.aaa_profiling.test_orm.BranchedOptionTest.test_generate_path_cache_key_unbound_branching 3.8_sqlite_pysqlite_dbapiunicode_cextensions 561
+test.aaa_profiling.test_orm.BranchedOptionTest.test_generate_path_cache_key_unbound_branching 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 561
 
 # TEST: test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_key_bound_branching
 
 test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_key_bound_branching 2.7_sqlite_pysqlite_dbapiunicode_cextensions 46
 test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_key_bound_branching 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 46
-test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_key_bound_branching 3.7_sqlite_pysqlite_dbapiunicode_cextensions 59
-test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_key_bound_branching 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 59
+test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_key_bound_branching 3.8_sqlite_pysqlite_dbapiunicode_cextensions 59
+test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_key_bound_branching 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 59
 
 # TEST: test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_unbound_branching
 
 test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_unbound_branching 2.7_sqlite_pysqlite_dbapiunicode_cextensions 389
 test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_unbound_branching 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 389
-test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_unbound_branching 3.7_sqlite_pysqlite_dbapiunicode_cextensions 395
-test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_unbound_branching 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 395
+test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_unbound_branching 3.8_sqlite_pysqlite_dbapiunicode_cextensions 395
+test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_unbound_branching 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 395
 
 # TEST: test.aaa_profiling.test_orm.DeferOptionsTest.test_baseline
 
-test.aaa_profiling.test_orm.DeferOptionsTest.test_baseline 2.7_sqlite_pysqlite_dbapiunicode_cextensions 15176
-test.aaa_profiling.test_orm.DeferOptionsTest.test_baseline 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 43181
-test.aaa_profiling.test_orm.DeferOptionsTest.test_baseline 3.7_sqlite_pysqlite_dbapiunicode_cextensions 15202
-test.aaa_profiling.test_orm.DeferOptionsTest.test_baseline 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 43210
+test.aaa_profiling.test_orm.DeferOptionsTest.test_baseline 2.7_sqlite_pysqlite_dbapiunicode_cextensions 15178
+test.aaa_profiling.test_orm.DeferOptionsTest.test_baseline 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 43183
+test.aaa_profiling.test_orm.DeferOptionsTest.test_baseline 3.8_sqlite_pysqlite_dbapiunicode_cextensions 15204
+test.aaa_profiling.test_orm.DeferOptionsTest.test_baseline 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 43212
 
 # TEST: test.aaa_profiling.test_orm.DeferOptionsTest.test_defer_many_cols
 
-test.aaa_profiling.test_orm.DeferOptionsTest.test_defer_many_cols 2.7_sqlite_pysqlite_dbapiunicode_cextensions 21291
-test.aaa_profiling.test_orm.DeferOptionsTest.test_defer_many_cols 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 31296
-test.aaa_profiling.test_orm.DeferOptionsTest.test_defer_many_cols 3.7_sqlite_pysqlite_dbapiunicode_cextensions 21330
-test.aaa_profiling.test_orm.DeferOptionsTest.test_defer_many_cols 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 31338
+test.aaa_profiling.test_orm.DeferOptionsTest.test_defer_many_cols 2.7_sqlite_pysqlite_dbapiunicode_cextensions 21293
+test.aaa_profiling.test_orm.DeferOptionsTest.test_defer_many_cols 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 31298
+test.aaa_profiling.test_orm.DeferOptionsTest.test_defer_many_cols 3.8_sqlite_pysqlite_dbapiunicode_cextensions 21332
+test.aaa_profiling.test_orm.DeferOptionsTest.test_defer_many_cols 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 31340
 
 # TEST: test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_b_aliased
 
 test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_b_aliased 2.7_sqlite_pysqlite_dbapiunicode_cextensions 9303
 test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_b_aliased 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 9303
-test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_b_aliased 3.7_sqlite_pysqlite_dbapiunicode_cextensions 9754
-test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_b_aliased 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 9754
+test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_b_aliased 3.8_sqlite_pysqlite_dbapiunicode_cextensions 9754
+test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_b_aliased 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 9754
 
 # TEST: test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_b_plain
 
 test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_b_plain 2.7_sqlite_pysqlite_dbapiunicode_cextensions 3553
 test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_b_plain 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 3553
-test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_b_plain 3.7_sqlite_pysqlite_dbapiunicode_cextensions 3554
-test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_b_plain 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 3554
+test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_b_plain 3.8_sqlite_pysqlite_dbapiunicode_cextensions 3554
+test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_b_plain 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 3554
 
 # TEST: test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_d
 
 test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_d 2.7_sqlite_pysqlite_dbapiunicode_cextensions 92088
 test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_d 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 92088
-test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_d 3.7_sqlite_pysqlite_dbapiunicode_cextensions 100004
-test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_d 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 100004
+test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_d 3.8_sqlite_pysqlite_dbapiunicode_cextensions 99504
+test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_d 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 99704
 
 # TEST: test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_d_aliased
 
 test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_d_aliased 2.7_sqlite_pysqlite_dbapiunicode_cextensions 90138
 test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_d_aliased 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 90138
-test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_d_aliased 3.7_sqlite_pysqlite_dbapiunicode_cextensions 98369
-test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_d_aliased 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 98369
+test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_d_aliased 3.8_sqlite_pysqlite_dbapiunicode_cextensions 97869
+test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_d_aliased 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 98069
 
 # TEST: test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_build_query
 
 test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_build_query 2.7_sqlite_pysqlite_dbapiunicode_cextensions 443921
-test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_build_query 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 443911
-test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_build_query 3.7_sqlite_pysqlite_dbapiunicode_cextensions 474488
-test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_build_query 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 474488
+test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_build_query 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 443921
+test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_build_query 3.8_sqlite_pysqlite_dbapiunicode_cextensions 474488
+test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_build_query 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 474488
 
 # TEST: test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results
 
-test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results 2.7_sqlite_pysqlite_dbapiunicode_cextensions 471348
-test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 512548
-test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results 3.7_sqlite_pysqlite_dbapiunicode_cextensions 477257
-test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 518757
+test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results 2.7_sqlite_pysqlite_dbapiunicode_cextensions 472148
+test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 512748
+test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results 3.8_sqlite_pysqlite_dbapiunicode_cextensions 476857
+test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 519557
 
 # TEST: test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_identity
 
 test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_identity 2.7_sqlite_pysqlite_dbapiunicode_cextensions 19986
 test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_identity 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 19986
-test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_identity 3.7_sqlite_pysqlite_dbapiunicode_cextensions 20986
-test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_identity 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 20986
+test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_identity 3.8_sqlite_pysqlite_dbapiunicode_cextensions 20986
+test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_identity 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 20986
 
 # TEST: test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_no_identity
 
-test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_no_identity 2.7_sqlite_pysqlite_dbapiunicode_cextensions 105038
-test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_no_identity 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 108994
-test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_no_identity 3.7_sqlite_pysqlite_dbapiunicode_cextensions 106231
-test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_no_identity 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 110485
+test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_no_identity 2.7_sqlite_pysqlite_dbapiunicode_cextensions 105418
+test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_no_identity 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 109420
+test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_no_identity 3.8_sqlite_pysqlite_dbapiunicode_cextensions 106655
+test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_no_identity 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 110909
 
 # TEST: test.aaa_profiling.test_orm.MergeBackrefsTest.test_merge_pending_with_all_pks
 
-test.aaa_profiling.test_orm.MergeBackrefsTest.test_merge_pending_with_all_pks 2.7_sqlite_pysqlite_dbapiunicode_cextensions 19044
-test.aaa_profiling.test_orm.MergeBackrefsTest.test_merge_pending_with_all_pks 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 19620
-test.aaa_profiling.test_orm.MergeBackrefsTest.test_merge_pending_with_all_pks 3.7_sqlite_pysqlite_dbapiunicode_cextensions 19661
-test.aaa_profiling.test_orm.MergeBackrefsTest.test_merge_pending_with_all_pks 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 20273
+test.aaa_profiling.test_orm.MergeBackrefsTest.test_merge_pending_with_all_pks 2.7_sqlite_pysqlite_dbapiunicode_cextensions 18994
+test.aaa_profiling.test_orm.MergeBackrefsTest.test_merge_pending_with_all_pks 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 19570
+test.aaa_profiling.test_orm.MergeBackrefsTest.test_merge_pending_with_all_pks 3.8_sqlite_pysqlite_dbapiunicode_cextensions 19863
+test.aaa_profiling.test_orm.MergeBackrefsTest.test_merge_pending_with_all_pks 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 20475
 
 # TEST: test.aaa_profiling.test_orm.MergeTest.test_merge_load
 
-test.aaa_profiling.test_orm.MergeTest.test_merge_load 2.7_sqlite_pysqlite_dbapiunicode_cextensions 1114
-test.aaa_profiling.test_orm.MergeTest.test_merge_load 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 1151
-test.aaa_profiling.test_orm.MergeTest.test_merge_load 3.7_sqlite_pysqlite_dbapiunicode_cextensions 1146
-test.aaa_profiling.test_orm.MergeTest.test_merge_load 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 1187
+test.aaa_profiling.test_orm.MergeTest.test_merge_load 2.7_sqlite_pysqlite_dbapiunicode_cextensions 1118
+test.aaa_profiling.test_orm.MergeTest.test_merge_load 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 1155
+test.aaa_profiling.test_orm.MergeTest.test_merge_load 3.8_sqlite_pysqlite_dbapiunicode_cextensions 1150
+test.aaa_profiling.test_orm.MergeTest.test_merge_load 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 1191
 
 # TEST: test.aaa_profiling.test_orm.MergeTest.test_merge_no_load
 
 test.aaa_profiling.test_orm.MergeTest.test_merge_no_load 2.7_sqlite_pysqlite_dbapiunicode_cextensions 101,17
 test.aaa_profiling.test_orm.MergeTest.test_merge_no_load 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 101,17
-test.aaa_profiling.test_orm.MergeTest.test_merge_no_load 3.7_sqlite_pysqlite_dbapiunicode_cextensions 105,18
-test.aaa_profiling.test_orm.MergeTest.test_merge_no_load 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 105,18
+test.aaa_profiling.test_orm.MergeTest.test_merge_no_load 3.8_sqlite_pysqlite_dbapiunicode_cextensions 105,18
+test.aaa_profiling.test_orm.MergeTest.test_merge_no_load 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 105,18
 
 # TEST: test.aaa_profiling.test_orm.QueryTest.test_query_cols
 
-test.aaa_profiling.test_orm.QueryTest.test_query_cols 2.7_sqlite_pysqlite_dbapiunicode_cextensions 5653
-test.aaa_profiling.test_orm.QueryTest.test_query_cols 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 7173
-test.aaa_profiling.test_orm.QueryTest.test_query_cols 3.7_sqlite_pysqlite_dbapiunicode_cextensions 5921
-test.aaa_profiling.test_orm.QueryTest.test_query_cols 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 7371
+test.aaa_profiling.test_orm.QueryTest.test_query_cols 2.7_sqlite_pysqlite_dbapiunicode_cextensions 5815
+test.aaa_profiling.test_orm.QueryTest.test_query_cols 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 7335
+test.aaa_profiling.test_orm.QueryTest.test_query_cols 3.8_sqlite_pysqlite_dbapiunicode_cextensions 6093
+test.aaa_profiling.test_orm.QueryTest.test_query_cols 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 7633
 
 # TEST: test.aaa_profiling.test_orm.SelectInEagerLoadTest.test_round_trip_results
 
-test.aaa_profiling.test_orm.SelectInEagerLoadTest.test_round_trip_results 2.7_sqlite_pysqlite_dbapiunicode_cextensions 178854
-test.aaa_profiling.test_orm.SelectInEagerLoadTest.test_round_trip_results 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 201158
-test.aaa_profiling.test_orm.SelectInEagerLoadTest.test_round_trip_results 3.7_sqlite_pysqlite_dbapiunicode_cextensions 183685
-test.aaa_profiling.test_orm.SelectInEagerLoadTest.test_round_trip_results 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 206293
+test.aaa_profiling.test_orm.SelectInEagerLoadTest.test_round_trip_results 2.7_sqlite_pysqlite_dbapiunicode_cextensions 179654
+test.aaa_profiling.test_orm.SelectInEagerLoadTest.test_round_trip_results 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 201958
+test.aaa_profiling.test_orm.SelectInEagerLoadTest.test_round_trip_results 3.8_sqlite_pysqlite_dbapiunicode_cextensions 184481
+test.aaa_profiling.test_orm.SelectInEagerLoadTest.test_round_trip_results 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 207289
 
 # TEST: test.aaa_profiling.test_orm.SessionTest.test_expire_lots
 
-test.aaa_profiling.test_orm.SessionTest.test_expire_lots 2.7_sqlite_pysqlite_dbapiunicode_cextensions 1147
-test.aaa_profiling.test_orm.SessionTest.test_expire_lots 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 1124
-test.aaa_profiling.test_orm.SessionTest.test_expire_lots 3.7_sqlite_pysqlite_dbapiunicode_cextensions 1249
-test.aaa_profiling.test_orm.SessionTest.test_expire_lots 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 1259
+test.aaa_profiling.test_orm.SessionTest.test_expire_lots 2.7_sqlite_pysqlite_dbapiunicode_cextensions 1136
+test.aaa_profiling.test_orm.SessionTest.test_expire_lots 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 1153
+test.aaa_profiling.test_orm.SessionTest.test_expire_lots 3.8_sqlite_pysqlite_dbapiunicode_cextensions 1264
+test.aaa_profiling.test_orm.SessionTest.test_expire_lots 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 1271
 
 # TEST: test.aaa_profiling.test_pool.QueuePoolTest.test_first_connect
 
 test.aaa_profiling.test_pool.QueuePoolTest.test_first_connect 2.7_sqlite_pysqlite_dbapiunicode_cextensions 101
 test.aaa_profiling.test_pool.QueuePoolTest.test_first_connect 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 101
-test.aaa_profiling.test_pool.QueuePoolTest.test_first_connect 3.7_sqlite_pysqlite_dbapiunicode_cextensions 84
-test.aaa_profiling.test_pool.QueuePoolTest.test_first_connect 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 84
+test.aaa_profiling.test_pool.QueuePoolTest.test_first_connect 3.8_sqlite_pysqlite_dbapiunicode_cextensions 84
+test.aaa_profiling.test_pool.QueuePoolTest.test_first_connect 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 84
 
 # TEST: test.aaa_profiling.test_pool.QueuePoolTest.test_second_connect
 
 test.aaa_profiling.test_pool.QueuePoolTest.test_second_connect 2.7_sqlite_pysqlite_dbapiunicode_cextensions 33
 test.aaa_profiling.test_pool.QueuePoolTest.test_second_connect 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 33
-test.aaa_profiling.test_pool.QueuePoolTest.test_second_connect 3.7_sqlite_pysqlite_dbapiunicode_cextensions 24
-test.aaa_profiling.test_pool.QueuePoolTest.test_second_connect 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 24
+test.aaa_profiling.test_pool.QueuePoolTest.test_second_connect 3.8_sqlite_pysqlite_dbapiunicode_cextensions 24
+test.aaa_profiling.test_pool.QueuePoolTest.test_second_connect 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 24
 
 # TEST: test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute
 
@@ -419,18 +412,18 @@ test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute
 test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 55
 test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_sqlite_pysqlite_dbapiunicode_cextensions 51
 test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 55
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.7_mssql_pyodbc_dbapiunicode_cextensions 55
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.7_mssql_pyodbc_dbapiunicode_nocextensions 59
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.7_mysql_mysqldb_dbapiunicode_cextensions 55
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.7_mysql_mysqldb_dbapiunicode_nocextensions 59
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.7_mysql_pymysql_dbapiunicode_cextensions 55
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.7_mysql_pymysql_dbapiunicode_nocextensions 59
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.7_oracle_cx_oracle_dbapiunicode_cextensions 55
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.7_oracle_cx_oracle_dbapiunicode_nocextensions 59
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.7_postgresql_psycopg2_dbapiunicode_cextensions 55
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.7_postgresql_psycopg2_dbapiunicode_nocextensions 59
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.7_sqlite_pysqlite_dbapiunicode_cextensions 55
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 59
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_mssql_pyodbc_dbapiunicode_cextensions 55
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_mssql_pyodbc_dbapiunicode_nocextensions 59
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_mysql_mysqldb_dbapiunicode_cextensions 55
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_mysql_mysqldb_dbapiunicode_nocextensions 59
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_mysql_pymysql_dbapiunicode_cextensions 55
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_mysql_pymysql_dbapiunicode_nocextensions 59
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_oracle_cx_oracle_dbapiunicode_cextensions 55
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 59
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_postgresql_psycopg2_dbapiunicode_cextensions 55
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 59
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_sqlite_pysqlite_dbapiunicode_cextensions 55
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 59
 
 # TEST: test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute
 
@@ -446,18 +439,18 @@ test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_
 test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 95
 test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_sqlite_pysqlite_dbapiunicode_cextensions 91
 test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 95
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.7_mssql_pyodbc_dbapiunicode_cextensions 93
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.7_mssql_pyodbc_dbapiunicode_nocextensions 97
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.7_mysql_mysqldb_dbapiunicode_cextensions 93
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.7_mysql_mysqldb_dbapiunicode_nocextensions 97
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.7_mysql_pymysql_dbapiunicode_cextensions 93
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.7_mysql_pymysql_dbapiunicode_nocextensions 97
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.7_oracle_cx_oracle_dbapiunicode_cextensions 93
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.7_oracle_cx_oracle_dbapiunicode_nocextensions 97
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.7_postgresql_psycopg2_dbapiunicode_cextensions 93
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.7_postgresql_psycopg2_dbapiunicode_nocextensions 97
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.7_sqlite_pysqlite_dbapiunicode_cextensions 93
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 97
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_mssql_pyodbc_dbapiunicode_cextensions 93
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_mssql_pyodbc_dbapiunicode_nocextensions 97
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_mysql_mysqldb_dbapiunicode_cextensions 93
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_mysql_mysqldb_dbapiunicode_nocextensions 97
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_mysql_pymysql_dbapiunicode_cextensions 93
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_mysql_pymysql_dbapiunicode_nocextensions 97
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_oracle_cx_oracle_dbapiunicode_cextensions 93
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 97
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_postgresql_psycopg2_dbapiunicode_cextensions 93
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 97
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_sqlite_pysqlite_dbapiunicode_cextensions 93
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 97
 
 # TEST: test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile
 
@@ -473,72 +466,72 @@ test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 2.7
 test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 16
 test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 2.7_sqlite_pysqlite_dbapiunicode_cextensions 16
 test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 16
-test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.7_mssql_pyodbc_dbapiunicode_cextensions 17
-test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.7_mssql_pyodbc_dbapiunicode_nocextensions 17
-test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.7_mysql_mysqldb_dbapiunicode_cextensions 17
-test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.7_mysql_mysqldb_dbapiunicode_nocextensions 17
-test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.7_mysql_pymysql_dbapiunicode_cextensions 17
-test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.7_mysql_pymysql_dbapiunicode_nocextensions 17
-test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.7_oracle_cx_oracle_dbapiunicode_cextensions 17
-test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.7_oracle_cx_oracle_dbapiunicode_nocextensions 17
-test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.7_postgresql_psycopg2_dbapiunicode_cextensions 17
-test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.7_postgresql_psycopg2_dbapiunicode_nocextensions 17
-test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.7_sqlite_pysqlite_dbapiunicode_cextensions 17
-test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 17
+test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.8_mssql_pyodbc_dbapiunicode_cextensions 17
+test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.8_mssql_pyodbc_dbapiunicode_nocextensions 17
+test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.8_mysql_mysqldb_dbapiunicode_cextensions 17
+test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.8_mysql_mysqldb_dbapiunicode_nocextensions 17
+test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.8_mysql_pymysql_dbapiunicode_cextensions 17
+test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.8_mysql_pymysql_dbapiunicode_nocextensions 17
+test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.8_oracle_cx_oracle_dbapiunicode_cextensions 17
+test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 17
+test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.8_postgresql_psycopg2_dbapiunicode_cextensions 17
+test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 17
+test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.8_sqlite_pysqlite_dbapiunicode_cextensions 17
+test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 17
 
 # TEST: test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy
 
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mssql_pyodbc_dbapiunicode_cextensions 1519
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mssql_pyodbc_dbapiunicode_nocextensions 33521
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mysql_mysqldb_dbapiunicode_cextensions 1525
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mysql_mysqldb_dbapiunicode_nocextensions 33527
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mysql_pymysql_dbapiunicode_cextensions 123492
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mysql_pymysql_dbapiunicode_nocextensions 155494
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_oracle_cx_oracle_dbapiunicode_cextensions 1552
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 63574
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_postgresql_psycopg2_dbapiunicode_cextensions 1495
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 33497
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_sqlite_pysqlite_dbapiunicode_cextensions 1450
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 33452
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.7_mssql_pyodbc_dbapiunicode_cextensions 1520
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.7_mssql_pyodbc_dbapiunicode_nocextensions 33524
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.7_mysql_mysqldb_dbapiunicode_cextensions 1526
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.7_mysql_mysqldb_dbapiunicode_nocextensions 33530
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.7_mysql_pymysql_dbapiunicode_cextensions 89282
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.7_mysql_pymysql_dbapiunicode_nocextensions 121286
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.7_oracle_cx_oracle_dbapiunicode_cextensions 1552
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.7_oracle_cx_oracle_dbapiunicode_nocextensions 33556
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.7_postgresql_psycopg2_dbapiunicode_cextensions 1516
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.7_postgresql_psycopg2_dbapiunicode_nocextensions 33520
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.7_sqlite_pysqlite_dbapiunicode_cextensions 1469
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 33473
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mssql_pyodbc_dbapiunicode_cextensions 1522
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mssql_pyodbc_dbapiunicode_nocextensions 33524
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mysql_mysqldb_dbapiunicode_cextensions 1528
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mysql_mysqldb_dbapiunicode_nocextensions 33530
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mysql_pymysql_dbapiunicode_cextensions 123495
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mysql_pymysql_dbapiunicode_nocextensions 155497
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_oracle_cx_oracle_dbapiunicode_cextensions 1555
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 63577
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_postgresql_psycopg2_dbapiunicode_cextensions 1498
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 33500
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_sqlite_pysqlite_dbapiunicode_cextensions 1451
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 33453
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_mssql_pyodbc_dbapiunicode_cextensions 1523
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_mssql_pyodbc_dbapiunicode_nocextensions 33527
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_mysql_mysqldb_dbapiunicode_cextensions 1529
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_mysql_mysqldb_dbapiunicode_nocextensions 33533
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_mysql_pymysql_dbapiunicode_cextensions 89285
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_mysql_pymysql_dbapiunicode_nocextensions 121289
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_oracle_cx_oracle_dbapiunicode_cextensions 1555
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 33559
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_postgresql_psycopg2_dbapiunicode_cextensions 1519
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 33523
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_sqlite_pysqlite_dbapiunicode_cextensions 1470
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 33474
 
 # TEST: test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings
 
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mssql_pyodbc_dbapiunicode_cextensions 2523
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mssql_pyodbc_dbapiunicode_nocextensions 35525
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mysql_mysqldb_dbapiunicode_cextensions 2529
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mysql_mysqldb_dbapiunicode_nocextensions 35531
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mysql_pymysql_dbapiunicode_cextensions 124496
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mysql_pymysql_dbapiunicode_nocextensions 157498
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_oracle_cx_oracle_dbapiunicode_cextensions 2556
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 65578
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_postgresql_psycopg2_dbapiunicode_cextensions 2499
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 35501
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_sqlite_pysqlite_dbapiunicode_cextensions 2454
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 35456
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.7_mssql_pyodbc_dbapiunicode_cextensions 2524
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.7_mssql_pyodbc_dbapiunicode_nocextensions 35528
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.7_mysql_mysqldb_dbapiunicode_cextensions 2530
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.7_mysql_mysqldb_dbapiunicode_nocextensions 35534
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.7_mysql_pymysql_dbapiunicode_cextensions 90286
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.7_mysql_pymysql_dbapiunicode_nocextensions 123290
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.7_oracle_cx_oracle_dbapiunicode_cextensions 2556
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.7_oracle_cx_oracle_dbapiunicode_nocextensions 35560
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.7_postgresql_psycopg2_dbapiunicode_cextensions 2520
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.7_postgresql_psycopg2_dbapiunicode_nocextensions 35524
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.7_sqlite_pysqlite_dbapiunicode_cextensions 2473
-test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 35477
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mssql_pyodbc_dbapiunicode_cextensions 2526
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mssql_pyodbc_dbapiunicode_nocextensions 35528
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mysql_mysqldb_dbapiunicode_cextensions 2532
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mysql_mysqldb_dbapiunicode_nocextensions 35534
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mysql_pymysql_dbapiunicode_cextensions 124499
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mysql_pymysql_dbapiunicode_nocextensions 157501
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_oracle_cx_oracle_dbapiunicode_cextensions 2559
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 65581
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_postgresql_psycopg2_dbapiunicode_cextensions 2502
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 35504
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_sqlite_pysqlite_dbapiunicode_cextensions 2455
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 35457
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_mssql_pyodbc_dbapiunicode_cextensions 2527
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_mssql_pyodbc_dbapiunicode_nocextensions 35531
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_mysql_mysqldb_dbapiunicode_cextensions 2533
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_mysql_mysqldb_dbapiunicode_nocextensions 35537
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_mysql_pymysql_dbapiunicode_cextensions 90289
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_mysql_pymysql_dbapiunicode_nocextensions 123293
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_oracle_cx_oracle_dbapiunicode_cextensions 2559
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 35563
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_postgresql_psycopg2_dbapiunicode_cextensions 2523
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 35527
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_sqlite_pysqlite_dbapiunicode_cextensions 2474
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 35478
 
 # TEST: test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string
 
@@ -552,20 +545,20 @@ test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_oracle_cx_or
 test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 36429
 test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_postgresql_psycopg2_dbapiunicode_cextensions 290
 test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 6312
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_sqlite_pysqlite_dbapiunicode_cextensions 260
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 6282
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.7_mssql_pyodbc_dbapiunicode_cextensions 262
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.7_mssql_pyodbc_dbapiunicode_nocextensions 6266
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.7_mysql_mysqldb_dbapiunicode_cextensions 295
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.7_mysql_mysqldb_dbapiunicode_nocextensions 6299
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.7_mysql_pymysql_dbapiunicode_cextensions 88050
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.7_mysql_pymysql_dbapiunicode_nocextensions 94054
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.7_oracle_cx_oracle_dbapiunicode_cextensions 352
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.7_oracle_cx_oracle_dbapiunicode_nocextensions 6356
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.7_postgresql_psycopg2_dbapiunicode_cextensions 286
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.7_postgresql_psycopg2_dbapiunicode_nocextensions 6290
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.7_sqlite_pysqlite_dbapiunicode_cextensions 254
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 6258
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_sqlite_pysqlite_dbapiunicode_cextensions 258
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 6280
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_mssql_pyodbc_dbapiunicode_cextensions 262
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_mssql_pyodbc_dbapiunicode_nocextensions 6266
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_mysql_mysqldb_dbapiunicode_cextensions 295
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_mysql_mysqldb_dbapiunicode_nocextensions 6299
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_mysql_pymysql_dbapiunicode_cextensions 88050
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_mysql_pymysql_dbapiunicode_nocextensions 94054
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_oracle_cx_oracle_dbapiunicode_cextensions 352
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 6356
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_postgresql_psycopg2_dbapiunicode_cextensions 286
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 6290
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_sqlite_pysqlite_dbapiunicode_cextensions 252
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 6256
 
 # TEST: test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode
 
@@ -579,85 +572,72 @@ test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_oracle_cx_o
 test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 36429
 test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_postgresql_psycopg2_dbapiunicode_cextensions 290
 test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 6312
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_sqlite_pysqlite_dbapiunicode_cextensions 260
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 6282
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.7_mssql_pyodbc_dbapiunicode_cextensions 262
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.7_mssql_pyodbc_dbapiunicode_nocextensions 6266
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.7_mysql_mysqldb_dbapiunicode_cextensions 295
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.7_mysql_mysqldb_dbapiunicode_nocextensions 6299
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.7_mysql_pymysql_dbapiunicode_cextensions 88050
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.7_mysql_pymysql_dbapiunicode_nocextensions 94054
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.7_oracle_cx_oracle_dbapiunicode_cextensions 352
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.7_oracle_cx_oracle_dbapiunicode_nocextensions 6356
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.7_postgresql_psycopg2_dbapiunicode_cextensions 286
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.7_postgresql_psycopg2_dbapiunicode_nocextensions 6290
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.7_sqlite_pysqlite_dbapiunicode_cextensions 254
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 6258
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_sqlite_pysqlite_dbapiunicode_cextensions 258
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 6280
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_mssql_pyodbc_dbapiunicode_cextensions 262
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_mssql_pyodbc_dbapiunicode_nocextensions 6266
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_mysql_mysqldb_dbapiunicode_cextensions 295
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_mysql_mysqldb_dbapiunicode_nocextensions 6299
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_mysql_pymysql_dbapiunicode_cextensions 88050
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_mysql_pymysql_dbapiunicode_nocextensions 94054
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_oracle_cx_oracle_dbapiunicode_cextensions 352
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 6356
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_postgresql_psycopg2_dbapiunicode_cextensions 286
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 6290
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_sqlite_pysqlite_dbapiunicode_cextensions 252
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 6256
 
 # TEST: test.aaa_profiling.test_resultset.ResultSetTest.test_string
 
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mssql_pyodbc_dbapiunicode_cextensions 525
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mssql_pyodbc_dbapiunicode_nocextensions 6527
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mysql_mysqldb_dbapiunicode_cextensions 531
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mysql_mysqldb_dbapiunicode_nocextensions 6533
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mysql_pymysql_dbapiunicode_cextensions 122498
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mysql_pymysql_dbapiunicode_nocextensions 128500
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_oracle_cx_oracle_dbapiunicode_cextensions 558
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 36580
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_postgresql_psycopg2_dbapiunicode_cextensions 501
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 6503
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_sqlite_pysqlite_dbapiunicode_cextensions 456
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 6458
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.7_mssql_pyodbc_dbapiunicode_cextensions 529
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.7_mssql_pyodbc_dbapiunicode_nocextensions 6533
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.7_mysql_mysqldb_dbapiunicode_cextensions 535
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.7_mysql_mysqldb_dbapiunicode_nocextensions 6539
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.7_mysql_pymysql_dbapiunicode_cextensions 88291
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.7_mysql_pymysql_dbapiunicode_nocextensions 94295
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.7_oracle_cx_oracle_dbapiunicode_cextensions 561
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.7_oracle_cx_oracle_dbapiunicode_nocextensions 6565
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.7_postgresql_psycopg2_dbapiunicode_cextensions 525
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.7_postgresql_psycopg2_dbapiunicode_nocextensions 6529
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.7_sqlite_pysqlite_dbapiunicode_cextensions 478
-test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 6482
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mssql_pyodbc_dbapiunicode_cextensions 528
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mssql_pyodbc_dbapiunicode_nocextensions 6530
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mysql_mysqldb_dbapiunicode_cextensions 534
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mysql_mysqldb_dbapiunicode_nocextensions 6536
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mysql_pymysql_dbapiunicode_cextensions 122501
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mysql_pymysql_dbapiunicode_nocextensions 128503
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_oracle_cx_oracle_dbapiunicode_cextensions 561
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 36583
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_postgresql_psycopg2_dbapiunicode_cextensions 504
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 6506
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_sqlite_pysqlite_dbapiunicode_cextensions 457
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 6459
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_mssql_pyodbc_dbapiunicode_cextensions 532
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_mssql_pyodbc_dbapiunicode_nocextensions 6536
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_mysql_mysqldb_dbapiunicode_cextensions 538
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_mysql_mysqldb_dbapiunicode_nocextensions 6542
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_mysql_pymysql_dbapiunicode_cextensions 88294
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_mysql_pymysql_dbapiunicode_nocextensions 94298
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_oracle_cx_oracle_dbapiunicode_cextensions 564
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 6568
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_postgresql_psycopg2_dbapiunicode_cextensions 528
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 6532
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_sqlite_pysqlite_dbapiunicode_cextensions 479
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 6483
 
 # TEST: test.aaa_profiling.test_resultset.ResultSetTest.test_unicode
 
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mssql_pyodbc_dbapiunicode_cextensions 525
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mssql_pyodbc_dbapiunicode_nocextensions 6527
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mysql_mysqldb_dbapiunicode_cextensions 531
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mysql_mysqldb_dbapiunicode_nocextensions 6533
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mysql_pymysql_dbapiunicode_cextensions 122498
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mysql_pymysql_dbapiunicode_nocextensions 128500
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_oracle_cx_oracle_dbapiunicode_cextensions 558
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 36580
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_postgresql_psycopg2_dbapiunicode_cextensions 501
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 6503
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_sqlite_pysqlite_dbapiunicode_cextensions 456
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 6458
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.7_mssql_pyodbc_dbapiunicode_cextensions 529
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.7_mssql_pyodbc_dbapiunicode_nocextensions 6533
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.7_mysql_mysqldb_dbapiunicode_cextensions 535
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.7_mysql_mysqldb_dbapiunicode_nocextensions 6539
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.7_mysql_pymysql_dbapiunicode_cextensions 88291
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.7_mysql_pymysql_dbapiunicode_nocextensions 94295
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.7_oracle_cx_oracle_dbapiunicode_cextensions 561
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.7_oracle_cx_oracle_dbapiunicode_nocextensions 6565
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.7_postgresql_psycopg2_dbapiunicode_cextensions 525
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.7_postgresql_psycopg2_dbapiunicode_nocextensions 6529
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.7_sqlite_pysqlite_dbapiunicode_cextensions 478
-test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.7_sqlite_pysqlite_dbapiunicode_nocextensions 6482
-
-# TEST: test.aaa_profiling.test_zoomark.ZooMarkTest.test_invocation
-
-test.aaa_profiling.test_zoomark.ZooMarkTest.test_invocation 2.7_postgresql_psycopg2_dbapiunicode_cextensions 6398,319,4308,12692,1280,2196,2729
-test.aaa_profiling.test_zoomark.ZooMarkTest.test_invocation 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 6486,319,4372,13254,1445,2223,2913
-test.aaa_profiling.test_zoomark.ZooMarkTest.test_invocation 3.7_postgresql_psycopg2_dbapiunicode_cextensions 6159,301,4284,12690,1276,2145,2782
-test.aaa_profiling.test_zoomark.ZooMarkTest.test_invocation 3.7_postgresql_psycopg2_dbapiunicode_nocextensions 6269,301,4364,13298,1449,2178,2976
-
-# TEST: test.aaa_profiling.test_zoomark_orm.ZooMarkTest.test_invocation
-
-test.aaa_profiling.test_zoomark_orm.ZooMarkTest.test_invocation 2.7_postgresql_psycopg2_dbapiunicode_cextensions 7022,439,7330,19052,1297,2975
-test.aaa_profiling.test_zoomark_orm.ZooMarkTest.test_invocation 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 7249,452,7578,21397,1448,3040
-test.aaa_profiling.test_zoomark_orm.ZooMarkTest.test_invocation 3.7_postgresql_psycopg2_dbapiunicode_cextensions 7044,430,7542,19649,1294,3059
-test.aaa_profiling.test_zoomark_orm.ZooMarkTest.test_invocation 3.7_postgresql_psycopg2_dbapiunicode_nocextensions 7243,441,7814,22057,1453,3133
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mssql_pyodbc_dbapiunicode_cextensions 528
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mssql_pyodbc_dbapiunicode_nocextensions 6530
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mysql_mysqldb_dbapiunicode_cextensions 534
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mysql_mysqldb_dbapiunicode_nocextensions 6536
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mysql_pymysql_dbapiunicode_cextensions 122501
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mysql_pymysql_dbapiunicode_nocextensions 128503
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_oracle_cx_oracle_dbapiunicode_cextensions 561
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 36583
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_postgresql_psycopg2_dbapiunicode_cextensions 504
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 6506
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_sqlite_pysqlite_dbapiunicode_cextensions 457
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 6459
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_mssql_pyodbc_dbapiunicode_cextensions 532
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_mssql_pyodbc_dbapiunicode_nocextensions 6536
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_mysql_mysqldb_dbapiunicode_cextensions 538
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_mysql_mysqldb_dbapiunicode_nocextensions 6542
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_mysql_pymysql_dbapiunicode_cextensions 88294
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_mysql_pymysql_dbapiunicode_nocextensions 94298
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_oracle_cx_oracle_dbapiunicode_cextensions 564
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 6568
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_postgresql_psycopg2_dbapiunicode_cextensions 528
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 6532
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_sqlite_pysqlite_dbapiunicode_cextensions 479
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 6483
+