]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Avoid proxy functions in row functions
authorFederico Caselli <cfederico87@gmail.com>
Thu, 21 May 2020 19:50:49 +0000 (21:50 +0200)
committerMike Bayer <mike_mp@zzzcomputing.com>
Sat, 23 May 2020 23:40:06 +0000 (19:40 -0400)
This streamlines a bit for non-C implementations, however
also adds and tests behavioral contracts that mappings should
not allow integer or slice access and should behave like a
Python mapping in that it raises KeyError for an integer
and TypeError for a slice.   Py3/Py2/C/noC :)

References: #5340
Change-Id: Id3cef452dc8a526b8371c90c5ca2bbb240b25c26

lib/sqlalchemy/cextension/resultproxy.c
lib/sqlalchemy/dialects/mssql/base.py
lib/sqlalchemy/engine/result.py
lib/sqlalchemy/engine/row.py
test/base/test_result.py
test/profiles.txt

index 8511d4223d85d87c53e984b832215f0cbe3b232a..ff6cadac02c26d2adac83a58ccb08f4da8608ee3 100644 (file)
@@ -54,7 +54,7 @@ static PyObject *sqlalchemy_engine_result = NULL;
 
 
 //static int KEY_INTEGER_ONLY = 0;
-//static int KEY_OBJECTS_ONLY = 1;
+static int KEY_OBJECTS_ONLY = 1;
 static int KEY_OBJECTS_BUT_WARN = 2;
 //static int KEY_OBJECTS_NO_WARN = 3;
 
@@ -345,14 +345,24 @@ BaseRow_getitem_by_object(BaseRow *self, PyObject *key, int asmapping)
     long index;
     int key_fallback = 0;
 
-    // if record is non null, it's a borrowed reference
+    // we want to raise TypeError for slice access on a mapping.
+    // Py3 will do this with PyDict_GetItemWithError, Py2 will do it
+    // with PyObject_GetItem.  However in the Python2 case the object
+    // protocol gets in the way for reasons not entirely clear, so
+    // detect slice we have a key error and raise directly.
+
     record = PyDict_GetItem((PyObject *)self->keymap, key);
 
     if (record == NULL) {
+        if (PySlice_Check(key)) {
+            PyErr_Format(PyExc_TypeError, "can't use slices for mapping access");
+            return NULL;
+        }
         record = PyObject_CallMethod(self->parent, "_key_fallback",
                                      "OO", key, Py_None);
         if (record == NULL)
             return NULL;
+
         key_fallback = 1;  // boolean to indicate record is a new reference
     }
 
@@ -408,22 +418,47 @@ BaseRow_subscript_impl(BaseRow *self, PyObject *key, int asmapping)
 
 #if PY_MAJOR_VERSION < 3
     if (PyInt_CheckExact(key)) {
+        if (self->key_style == KEY_OBJECTS_ONLY) {
+            // TODO: being very lazy with error catching here
+            PyErr_Format(PyExc_KeyError, "%s", PyString_AsString(PyObject_Repr(key)));
+            return NULL;
+        }
         index = PyInt_AS_LONG(key);
+
+        // support negative indexes.   We can also call PySequence_GetItem,
+        // but here we can stay with the simpler tuple protocol
+        // rather than the seqeunce protocol which has to check for
+        // __getitem__ methods etc.
         if (index < 0)
-            index += BaseRow_length(self);
+            index += (long)BaseRow_length(self);
         return BaseRow_getitem(self, index);
     } else
 #endif
 
     if (PyLong_CheckExact(key)) {
+        if (self->key_style == KEY_OBJECTS_ONLY) {
+#if PY_MAJOR_VERSION < 3
+            // TODO: being very lazy with error catching here
+            PyErr_Format(PyExc_KeyError, "%s", PyString_AsString(PyObject_Repr(key)));
+#else
+            PyErr_Format(PyExc_KeyError, "%R", key);
+#endif
+            return NULL;
+        }
         index = PyLong_AsLong(key);
-        if ((index == -1) && PyErr_Occurred())
+        if ((index == -1) && PyErr_Occurred() != NULL)
             /* -1 can be either the actual value, or an error flag. */
             return NULL;
+
+        // support negative indexes.   We can also call PySequence_GetItem,
+        // but here we can stay with the simpler tuple protocol
+        // rather than the seqeunce protocol which has to check for
+        // __getitem__ methods etc.
         if (index < 0)
             index += (long)BaseRow_length(self);
         return BaseRow_getitem(self, index);
-    } else if (PySlice_Check(key)) {
+
+    } else if (PySlice_Check(key) && self->key_style != KEY_OBJECTS_ONLY) {
         values = PyObject_GetItem(self->row, key);
         if (values == NULL)
             return NULL;
@@ -669,6 +704,12 @@ static PyMethodDef BaseRow_methods[] = {
     {NULL}  /* Sentinel */
 };
 
+// currently, the sq_item hook is not used by Python except for slices,
+// because we also implement subscript_mapping which seems to intercept
+// integers.  Ideally, when there
+// is a complete separation of "row" from "mapping", we can make
+// two separate types here so that one has only sq_item and the other
+// has only mp_subscript.
 static PySequenceMethods BaseRow_as_sequence = {
     (lenfunc)BaseRow_length,   /* sq_length */
     0,                              /* sq_concat */
index f8ed7697a5c9157250692764ed4ca72580b94225..05c34c17121384b020dc8c6edc3b8fc3de7cb413 100644 (file)
@@ -2860,7 +2860,7 @@ class MSDialect(default.DefaultDialect):
         constraint_name = None
         for row in c.mappings():
             if "PRIMARY" in row[TC.c.constraint_type.name]:
-                pkeys.append(row[0])
+                pkeys.append(row["COLUMN_NAME"])
                 if constraint_name is None:
                     constraint_name = row[C.c.constraint_name.name]
         return {"constrained_columns": pkeys, "name": constraint_name}
index 109ab41fe90967dd27451140769a11e755c20b03..ce844eb408b3efb071e657dd703fbfbd470b515b 100644 (file)
@@ -40,7 +40,7 @@ else:
             operator.methodcaller("_get_by_key_impl_mapping", index)
             for index in indexes
         ]
-        return lambda rec: tuple(getter(rec) for getter in getters)
+        return lambda rec: tuple([getter(rec) for getter in getters])
 
 
 class ResultMetaData(object):
@@ -775,15 +775,19 @@ class Result(InPlaceGenerative):
             uniques, strategy = self._unique_strategy
 
             def filterrows(make_row, rows, strategy, uniques):
+                if strategy:
+                    made_rows = (
+                        (made_row, strategy(made_row))
+                        for made_row in [make_row(row) for row in rows]
+                    )
+                else:
+                    made_rows = (
+                        (made_row, made_row)
+                        for made_row in [make_row(row) for row in rows]
+                    )
                 return [
                     made_row
-                    for made_row, sig_row in [
-                        (
-                            made_row,
-                            strategy(made_row) if strategy else made_row,
-                        )
-                        for made_row in [make_row(row) for row in rows]
-                    ]
+                    for made_row, sig_row in made_rows
                     if sig_row not in uniques and not uniques.add(sig_row)
                 ]
 
index d279776cec606112c5c8f4c4d5e6eebe2222312e..70f45c82cbda8499483b2f44eab775ad400b00f6 100644 (file)
@@ -103,16 +103,19 @@ except ImportError:
         def __getitem__(self, key):
             return self._data[key]
 
-        def _subscript_impl(self, key, ismapping):
+        def _get_by_key_impl(self, key):
+            if self._key_style == KEY_INTEGER_ONLY:
+                return self._data[key]
+
+            # the following is all LegacyRow support.   none of this
+            # should be called if not LegacyRow
+            # assert isinstance(self, LegacyRow)
+
             try:
                 rec = self._keymap[key]
             except KeyError as ke:
                 rec = self._parent._key_fallback(key, ke)
             except TypeError:
-                # the non-C version detects a slice using TypeError.
-                # this is pretty inefficient for the slice use case
-                # but is more efficient for the integer use case since we
-                # don't have to check it up front.
                 if isinstance(key, slice):
                     return tuple(self._data[key])
                 else:
@@ -124,7 +127,6 @@ except ImportError:
 
             elif (
                 self._key_style == KEY_OBJECTS_BUT_WARN
-                and not ismapping
                 and mdindex != key
                 and not isinstance(key, int)
             ):
@@ -132,14 +134,22 @@ except ImportError:
 
             return self._data[mdindex]
 
-        def _get_by_key_impl(self, key):
-            return self._subscript_impl(key, False)
-
         def _get_by_key_impl_mapping(self, key):
-            # the C code has two different methods so that we can distinguish
-            # between tuple-like keys (integers, slices) and mapping-like keys
-            # (strings, objects)
-            return self._subscript_impl(key, True)
+            try:
+                rec = self._keymap[key]
+            except KeyError as ke:
+                rec = self._parent._key_fallback(key, ke)
+
+            mdindex = rec[MD_INDEX]
+            if mdindex is None:
+                self._parent._raise_for_ambiguous_column_name(rec)
+            elif (
+                self._key_style == KEY_OBJECTS_ONLY
+                and int in key.__class__.__mro__
+            ):
+                raise KeyError(key)
+
+            return self._data[mdindex]
 
         def __getattr__(self, name):
             try:
@@ -348,9 +358,7 @@ class LegacyRow(Row):
         return self._parent._contains(key, self)
 
     if not _baserow_usecext:
-
-        def __getitem__(self, key):
-            return self._get_by_key_impl(key)
+        __getitem__ = BaseRow._get_by_key_impl
 
     @util.deprecated(
         "1.4",
@@ -510,8 +518,7 @@ class RowMapping(BaseRow, collections_abc.Mapping):
 
     if not _baserow_usecext:
 
-        def __getitem__(self, key):
-            return self._get_by_key_impl(key)
+        __getitem__ = BaseRow._get_by_key_impl_mapping
 
         def _values_impl(self):
             return list(self._data)
index e9b3e106be12382fc50da517fa28579c963988ea..7628318a567fda9b1e68c58ec233a534a50cdf7f 100644 (file)
@@ -62,6 +62,16 @@ class ResultTupleTest(fixtures.TestBase):
         keyed_tuple = self._fixture([1, 2], ["a", "b"])
         eq_(keyed_tuple[0:2], (1, 2))
 
+    def test_slices_arent_in_mappings(self):
+        keyed_tuple = self._fixture([1, 2], ["a", "b"])
+
+        assert_raises(TypeError, lambda: keyed_tuple._mapping[0:2])
+
+    def test_integers_arent_in_mappings(self):
+        keyed_tuple = self._fixture([1, 2], ["a", "b"])
+
+        assert_raises(KeyError, lambda: keyed_tuple._mapping[1])
+
     def test_getter(self):
         keyed_tuple = self._fixture([1, 2, 3], ["a", "b", "c"])
 
index a21cb851fa1dc1e7557aeb089a72fa1890046978..1831ee9e4ad48e9e08383a848eaae4737379a032 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
 
@@ -169,66 +169,66 @@ test.aaa_profiling.test_misc.EnumTest.test_create_enum_from_pep_435_w_expensive_
 
 # 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 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 2.7_sqlite_pysqlite_dbapiunicode_cextensions 43405
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_w_annotation 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 54205
 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.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_w_annotation 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 58305
 
 # 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 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 2.7_sqlite_pysqlite_dbapiunicode_cextensions 42905
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_wo_annotation 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 53705
 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.aaa_profiling.test_orm.AnnotatedOverheadTest.test_bundle_wo_annotation 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 57805
 
 # 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 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 2.7_sqlite_pysqlite_dbapiunicode_cextensions 42105
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_w_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 50405
 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.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_w_annotations 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 53905
 
 # 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 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 2.7_sqlite_pysqlite_dbapiunicode_cextensions 41505
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_wo_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 49805
 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.aaa_profiling.test_orm.AnnotatedOverheadTest.test_entity_wo_annotations 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 53305
 
 # 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 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 2.7_sqlite_pysqlite_dbapiunicode_cextensions 42705
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 46205
 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.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 49105
 
 # 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 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 2.7_sqlite_pysqlite_dbapiunicode_cextensions 42105
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_w_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 50405
 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.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_w_annotations 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 53905
 
 # 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 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 2.7_sqlite_pysqlite_dbapiunicode_cextensions 41505
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_wo_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 49805
 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.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_bundle_wo_annotations 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 53305
 
 # 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 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 2.7_sqlite_pysqlite_dbapiunicode_cextensions 27105
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_w_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 29305
 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.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_w_annotations 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 31905
 
 # 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 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 2.7_sqlite_pysqlite_dbapiunicode_cextensions 26505
+test.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_wo_annotations 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 28705
 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.aaa_profiling.test_orm.AnnotatedOverheadTest.test_no_entity_wo_annotations 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 31305
 
 # TEST: test.aaa_profiling.test_orm.AttributeOverheadTest.test_attribute_set
 
@@ -260,31 +260,31 @@ test.aaa_profiling.test_orm.BranchedOptionTest.test_generate_path_cache_key_unbo
 
 # 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.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.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_key_bound_branching 2.7_sqlite_pysqlite_dbapiunicode_cextensions 45
+test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_key_bound_branching 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 45
+test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_key_bound_branching 3.8_sqlite_pysqlite_dbapiunicode_cextensions 58
+test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_key_bound_branching 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 58
 
 # 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.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.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_unbound_branching 2.7_sqlite_pysqlite_dbapiunicode_cextensions 388
+test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_unbound_branching 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 388
+test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_unbound_branching 3.8_sqlite_pysqlite_dbapiunicode_cextensions 394
+test.aaa_profiling.test_orm.BranchedOptionTest.test_query_opts_unbound_branching 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 394
 
 # TEST: test.aaa_profiling.test_orm.DeferOptionsTest.test_baseline
 
-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 2.7_sqlite_pysqlite_dbapiunicode_cextensions 15175
+test.aaa_profiling.test_orm.DeferOptionsTest.test_baseline 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 26180
 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.aaa_profiling.test_orm.DeferOptionsTest.test_baseline 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 27209
 
 # 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 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.aaa_profiling.test_orm.DeferOptionsTest.test_defer_many_cols 2.7_sqlite_pysqlite_dbapiunicode_cextensions 21289
+test.aaa_profiling.test_orm.DeferOptionsTest.test_defer_many_cols 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 26294
+test.aaa_profiling.test_orm.DeferOptionsTest.test_defer_many_cols 3.8_sqlite_pysqlite_dbapiunicode_cextensions 21331
+test.aaa_profiling.test_orm.DeferOptionsTest.test_defer_many_cols 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 27336
 
 # TEST: test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_b_aliased
 
@@ -302,31 +302,31 @@ test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_b_plain 3.8_sqlite_pysql
 
 # 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_cextensions 91888
 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.8_sqlite_pysqlite_dbapiunicode_cextensions 99504
+test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_d 3.8_sqlite_pysqlite_dbapiunicode_cextensions 99704
 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_cextensions 89938
 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.8_sqlite_pysqlite_dbapiunicode_cextensions 97869
+test.aaa_profiling.test_orm.JoinConditionTest.test_a_to_d_aliased 3.8_sqlite_pysqlite_dbapiunicode_cextensions 98069
 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 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.aaa_profiling.test_orm.JoinedEagerLoadTest.test_build_query 2.7_sqlite_pysqlite_dbapiunicode_cextensions 443711
+test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_build_query 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 443721
+test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_build_query 3.8_sqlite_pysqlite_dbapiunicode_cextensions 474288
+test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_build_query 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 474288
 
 # 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 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.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results 2.7_sqlite_pysqlite_dbapiunicode_cextensions 470148
+test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 486348
+test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results 3.8_sqlite_pysqlite_dbapiunicode_cextensions 476957
+test.aaa_profiling.test_orm.JoinedEagerLoadTest.test_fetch_results 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 495157
 
 # TEST: test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_identity
 
@@ -337,24 +337,24 @@ test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_
 
 # 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 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.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_no_identity 2.7_sqlite_pysqlite_dbapiunicode_cextensions 104463
+test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_no_identity 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 107215
+test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_no_identity 3.8_sqlite_pysqlite_dbapiunicode_cextensions 105152
+test.aaa_profiling.test_orm.LoadManyToOneFromIdentityTest.test_many_to_one_load_no_identity 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 108908
 
 # 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 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.aaa_profiling.test_orm.MergeBackrefsTest.test_merge_pending_with_all_pks 2.7_sqlite_pysqlite_dbapiunicode_cextensions 18982
+test.aaa_profiling.test_orm.MergeBackrefsTest.test_merge_pending_with_all_pks 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 19324
+test.aaa_profiling.test_orm.MergeBackrefsTest.test_merge_pending_with_all_pks 3.8_sqlite_pysqlite_dbapiunicode_cextensions 19773
+test.aaa_profiling.test_orm.MergeBackrefsTest.test_merge_pending_with_all_pks 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 20167
 
 # 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 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.aaa_profiling.test_orm.MergeTest.test_merge_load 2.7_sqlite_pysqlite_dbapiunicode_cextensions 1111
+test.aaa_profiling.test_orm.MergeTest.test_merge_load 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 1134
+test.aaa_profiling.test_orm.MergeTest.test_merge_load 3.8_sqlite_pysqlite_dbapiunicode_cextensions 1141
+test.aaa_profiling.test_orm.MergeTest.test_merge_load 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 1172
 
 # TEST: test.aaa_profiling.test_orm.MergeTest.test_merge_no_load
 
@@ -365,24 +365,24 @@ test.aaa_profiling.test_orm.MergeTest.test_merge_no_load 3.8_sqlite_pysqlite_dba
 
 # 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 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 2.7_sqlite_pysqlite_dbapiunicode_cextensions 5785
+test.aaa_profiling.test_orm.QueryTest.test_query_cols 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 6505
 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.aaa_profiling.test_orm.QueryTest.test_query_cols 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 6803
 
 # 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 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.aaa_profiling.test_orm.SelectInEagerLoadTest.test_round_trip_results 2.7_sqlite_pysqlite_dbapiunicode_cextensions 178554
+test.aaa_profiling.test_orm.SelectInEagerLoadTest.test_round_trip_results 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 195154
+test.aaa_profiling.test_orm.SelectInEagerLoadTest.test_round_trip_results 3.8_sqlite_pysqlite_dbapiunicode_cextensions 183273
+test.aaa_profiling.test_orm.SelectInEagerLoadTest.test_round_trip_results 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 200985
 
 # 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 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.aaa_profiling.test_orm.SessionTest.test_expire_lots 2.7_sqlite_pysqlite_dbapiunicode_cextensions 1146
+test.aaa_profiling.test_orm.SessionTest.test_expire_lots 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 1149
+test.aaa_profiling.test_orm.SessionTest.test_expire_lots 3.8_sqlite_pysqlite_dbapiunicode_cextensions 1244
+test.aaa_profiling.test_orm.SessionTest.test_expire_lots 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 1256
 
 # TEST: test.aaa_profiling.test_pool.QueuePoolTest.test_first_connect
 
@@ -400,57 +400,57 @@ test.aaa_profiling.test_pool.QueuePoolTest.test_second_connect 3.8_sqlite_pysqli
 
 # TEST: test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute
 
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_mssql_pyodbc_dbapiunicode_cextensions 51
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_mssql_pyodbc_dbapiunicode_nocextensions 55
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_mysql_mysqldb_dbapiunicode_cextensions 51
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_mysql_mysqldb_dbapiunicode_nocextensions 55
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_mysql_pymysql_dbapiunicode_cextensions 51
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_mysql_pymysql_dbapiunicode_nocextensions 55
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_oracle_cx_oracle_dbapiunicode_cextensions 51
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 55
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_postgresql_psycopg2_dbapiunicode_cextensions 51
-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.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.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_mssql_pyodbc_dbapiunicode_cextensions 50
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_mssql_pyodbc_dbapiunicode_nocextensions 54
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_mysql_mysqldb_dbapiunicode_cextensions 50
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_mysql_mysqldb_dbapiunicode_nocextensions 54
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_mysql_pymysql_dbapiunicode_cextensions 50
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_mysql_pymysql_dbapiunicode_nocextensions 54
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_oracle_cx_oracle_dbapiunicode_cextensions 50
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 54
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_postgresql_psycopg2_dbapiunicode_cextensions 50
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 54
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_sqlite_pysqlite_dbapiunicode_cextensions 50
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 54
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_mssql_pyodbc_dbapiunicode_cextensions 54
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_mssql_pyodbc_dbapiunicode_nocextensions 58
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_mysql_mysqldb_dbapiunicode_cextensions 54
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_mysql_mysqldb_dbapiunicode_nocextensions 58
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_mysql_pymysql_dbapiunicode_cextensions 54
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_mysql_pymysql_dbapiunicode_nocextensions 58
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_oracle_cx_oracle_dbapiunicode_cextensions 54
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 58
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_postgresql_psycopg2_dbapiunicode_cextensions 54
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 58
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_sqlite_pysqlite_dbapiunicode_cextensions 54
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_connection_execute 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 58
 
 # TEST: test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute
 
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_mssql_pyodbc_dbapiunicode_cextensions 91
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_mssql_pyodbc_dbapiunicode_nocextensions 95
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_mysql_mysqldb_dbapiunicode_cextensions 91
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_mysql_mysqldb_dbapiunicode_nocextensions 95
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_mysql_pymysql_dbapiunicode_cextensions 91
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_mysql_pymysql_dbapiunicode_nocextensions 95
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_oracle_cx_oracle_dbapiunicode_cextensions 91
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 95
-test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_postgresql_psycopg2_dbapiunicode_cextensions 91
-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.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.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_mssql_pyodbc_dbapiunicode_cextensions 90
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_mssql_pyodbc_dbapiunicode_nocextensions 94
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_mysql_mysqldb_dbapiunicode_cextensions 90
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_mysql_mysqldb_dbapiunicode_nocextensions 94
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_mysql_pymysql_dbapiunicode_cextensions 90
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_mysql_pymysql_dbapiunicode_nocextensions 94
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_oracle_cx_oracle_dbapiunicode_cextensions 90
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 94
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_postgresql_psycopg2_dbapiunicode_cextensions 90
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 94
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_sqlite_pysqlite_dbapiunicode_cextensions 90
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 94
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_mssql_pyodbc_dbapiunicode_cextensions 92
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_mssql_pyodbc_dbapiunicode_nocextensions 96
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_mysql_mysqldb_dbapiunicode_cextensions 92
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_mysql_mysqldb_dbapiunicode_nocextensions 96
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_mysql_pymysql_dbapiunicode_cextensions 92
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_mysql_pymysql_dbapiunicode_nocextensions 96
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_oracle_cx_oracle_dbapiunicode_cextensions 92
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 96
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_postgresql_psycopg2_dbapiunicode_cextensions 92
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 96
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_sqlite_pysqlite_dbapiunicode_cextensions 92
+test.aaa_profiling.test_resultset.ExecutionTest.test_minimal_engine_execute 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 96
 
 # TEST: test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile
 
@@ -481,163 +481,162 @@ test.aaa_profiling.test_resultset.ResultSetTest.test_contains_doesnt_compile 3.8
 
 # 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 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.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mssql_pyodbc_dbapiunicode_cextensions 1517
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mssql_pyodbc_dbapiunicode_nocextensions 13522
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mysql_mysqldb_dbapiunicode_cextensions 1523
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mysql_mysqldb_dbapiunicode_nocextensions 13528
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mysql_pymysql_dbapiunicode_cextensions 123490
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_mysql_pymysql_dbapiunicode_nocextensions 135495
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_oracle_cx_oracle_dbapiunicode_cextensions 1550
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 43575
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_postgresql_psycopg2_dbapiunicode_cextensions 1493
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 13498
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_sqlite_pysqlite_dbapiunicode_cextensions 1446
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 13451
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_mssql_pyodbc_dbapiunicode_cextensions 1518
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_mssql_pyodbc_dbapiunicode_nocextensions 13525
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_mysql_mysqldb_dbapiunicode_cextensions 1524
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_mysql_mysqldb_dbapiunicode_nocextensions 13531
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_mysql_pymysql_dbapiunicode_cextensions 89280
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_mysql_pymysql_dbapiunicode_nocextensions 101287
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_oracle_cx_oracle_dbapiunicode_cextensions 1550
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 13557
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_postgresql_psycopg2_dbapiunicode_cextensions 1514
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 13521
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_sqlite_pysqlite_dbapiunicode_cextensions 1465
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_legacy 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 13472
 
 # 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 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.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mssql_pyodbc_dbapiunicode_cextensions 2521
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mssql_pyodbc_dbapiunicode_nocextensions 15526
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mysql_mysqldb_dbapiunicode_cextensions 2527
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mysql_mysqldb_dbapiunicode_nocextensions 15532
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mysql_pymysql_dbapiunicode_cextensions 124494
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_mysql_pymysql_dbapiunicode_nocextensions 137499
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_oracle_cx_oracle_dbapiunicode_cextensions 2554
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 45579
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_postgresql_psycopg2_dbapiunicode_cextensions 2497
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 15502
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_sqlite_pysqlite_dbapiunicode_cextensions 2450
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 15455
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_mssql_pyodbc_dbapiunicode_cextensions 2522
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_mssql_pyodbc_dbapiunicode_nocextensions 15529
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_mysql_mysqldb_dbapiunicode_cextensions 2528
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_mysql_mysqldb_dbapiunicode_nocextensions 15535
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_mysql_pymysql_dbapiunicode_cextensions 90284
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_mysql_pymysql_dbapiunicode_nocextensions 103291
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_oracle_cx_oracle_dbapiunicode_cextensions 2554
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 15561
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_postgresql_psycopg2_dbapiunicode_cextensions 2518
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 15525
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_sqlite_pysqlite_dbapiunicode_cextensions 2469
+test.aaa_profiling.test_resultset.ResultSetTest.test_fetch_by_key_mappings 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 15476
 
 # TEST: test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string
 
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_mssql_pyodbc_dbapiunicode_cextensions 277
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_mssql_pyodbc_dbapiunicode_nocextensions 6279
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_mysql_mysqldb_dbapiunicode_cextensions 319
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_mysql_mysqldb_dbapiunicode_nocextensions 6341
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_mysql_pymysql_dbapiunicode_cextensions 122275
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_mysql_pymysql_dbapiunicode_nocextensions 128277
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_oracle_cx_oracle_dbapiunicode_cextensions 387
-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 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.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_mssql_pyodbc_dbapiunicode_cextensions 276
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_mssql_pyodbc_dbapiunicode_nocextensions 6278
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_mysql_mysqldb_dbapiunicode_cextensions 318
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_mysql_mysqldb_dbapiunicode_nocextensions 6340
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_mysql_pymysql_dbapiunicode_cextensions 122274
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_mysql_pymysql_dbapiunicode_nocextensions 128276
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_oracle_cx_oracle_dbapiunicode_cextensions 386
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 36428
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_postgresql_psycopg2_dbapiunicode_cextensions 289
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 6311
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_sqlite_pysqlite_dbapiunicode_cextensions 257
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 6279
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_mssql_pyodbc_dbapiunicode_cextensions 261
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_mssql_pyodbc_dbapiunicode_nocextensions 6265
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_mysql_mysqldb_dbapiunicode_cextensions 294
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_mysql_mysqldb_dbapiunicode_nocextensions 6298
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_mysql_pymysql_dbapiunicode_cextensions 88049
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_mysql_pymysql_dbapiunicode_nocextensions 94053
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_oracle_cx_oracle_dbapiunicode_cextensions 351
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 6355
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_postgresql_psycopg2_dbapiunicode_cextensions 285
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 6289
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_sqlite_pysqlite_dbapiunicode_cextensions 251
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_string 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 6255
 
 # TEST: test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode
 
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_mssql_pyodbc_dbapiunicode_cextensions 277
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_mssql_pyodbc_dbapiunicode_nocextensions 6279
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_mysql_mysqldb_dbapiunicode_cextensions 319
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_mysql_mysqldb_dbapiunicode_nocextensions 6341
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_mysql_pymysql_dbapiunicode_cextensions 122275
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_mysql_pymysql_dbapiunicode_nocextensions 128277
-test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_oracle_cx_oracle_dbapiunicode_cextensions 387
-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 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.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_mssql_pyodbc_dbapiunicode_cextensions 276
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_mssql_pyodbc_dbapiunicode_nocextensions 6278
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_mysql_mysqldb_dbapiunicode_cextensions 318
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_mysql_mysqldb_dbapiunicode_nocextensions 6340
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_mysql_pymysql_dbapiunicode_cextensions 122274
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_mysql_pymysql_dbapiunicode_nocextensions 128276
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_oracle_cx_oracle_dbapiunicode_cextensions 386
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 36428
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_postgresql_psycopg2_dbapiunicode_cextensions 289
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 6311
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_sqlite_pysqlite_dbapiunicode_cextensions 257
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 6279
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_mssql_pyodbc_dbapiunicode_cextensions 261
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_mssql_pyodbc_dbapiunicode_nocextensions 6265
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_mysql_mysqldb_dbapiunicode_cextensions 294
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_mysql_mysqldb_dbapiunicode_nocextensions 6298
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_mysql_pymysql_dbapiunicode_cextensions 88049
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_mysql_pymysql_dbapiunicode_nocextensions 94053
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_oracle_cx_oracle_dbapiunicode_cextensions 351
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 6355
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_postgresql_psycopg2_dbapiunicode_cextensions 285
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 6289
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_sqlite_pysqlite_dbapiunicode_cextensions 251
+test.aaa_profiling.test_resultset.ResultSetTest.test_raw_unicode 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 6255
 
 # TEST: test.aaa_profiling.test_resultset.ResultSetTest.test_string
 
-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.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mssql_pyodbc_dbapiunicode_cextensions 526
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mssql_pyodbc_dbapiunicode_nocextensions 6528
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mysql_mysqldb_dbapiunicode_cextensions 532
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mysql_mysqldb_dbapiunicode_nocextensions 6534
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mysql_pymysql_dbapiunicode_cextensions 122499
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_mysql_pymysql_dbapiunicode_nocextensions 128501
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_oracle_cx_oracle_dbapiunicode_cextensions 559
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 36581
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_postgresql_psycopg2_dbapiunicode_cextensions 502
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 6504
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_sqlite_pysqlite_dbapiunicode_cextensions 455
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 6457
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_mssql_pyodbc_dbapiunicode_cextensions 530
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_mssql_pyodbc_dbapiunicode_nocextensions 6534
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_mysql_mysqldb_dbapiunicode_cextensions 536
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_mysql_mysqldb_dbapiunicode_nocextensions 6540
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_mysql_pymysql_dbapiunicode_cextensions 88292
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_mysql_pymysql_dbapiunicode_nocextensions 94296
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_oracle_cx_oracle_dbapiunicode_cextensions 562
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 6566
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_postgresql_psycopg2_dbapiunicode_cextensions 526
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 6530
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_sqlite_pysqlite_dbapiunicode_cextensions 477
+test.aaa_profiling.test_resultset.ResultSetTest.test_string 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 6481
 
 # TEST: test.aaa_profiling.test_resultset.ResultSetTest.test_unicode
 
-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
-
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mssql_pyodbc_dbapiunicode_cextensions 526
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mssql_pyodbc_dbapiunicode_nocextensions 6528
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mysql_mysqldb_dbapiunicode_cextensions 532
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mysql_mysqldb_dbapiunicode_nocextensions 6534
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mysql_pymysql_dbapiunicode_cextensions 122499
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_mysql_pymysql_dbapiunicode_nocextensions 128501
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_oracle_cx_oracle_dbapiunicode_cextensions 559
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_oracle_cx_oracle_dbapiunicode_nocextensions 36581
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_postgresql_psycopg2_dbapiunicode_cextensions 502
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_postgresql_psycopg2_dbapiunicode_nocextensions 6504
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_sqlite_pysqlite_dbapiunicode_cextensions 455
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 2.7_sqlite_pysqlite_dbapiunicode_nocextensions 6457
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_mssql_pyodbc_dbapiunicode_cextensions 530
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_mssql_pyodbc_dbapiunicode_nocextensions 6534
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_mysql_mysqldb_dbapiunicode_cextensions 536
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_mysql_mysqldb_dbapiunicode_nocextensions 6540
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_mysql_pymysql_dbapiunicode_cextensions 88292
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_mysql_pymysql_dbapiunicode_nocextensions 94296
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_oracle_cx_oracle_dbapiunicode_cextensions 562
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_oracle_cx_oracle_dbapiunicode_nocextensions 6566
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_postgresql_psycopg2_dbapiunicode_cextensions 526
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_postgresql_psycopg2_dbapiunicode_nocextensions 6530
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_sqlite_pysqlite_dbapiunicode_cextensions 477
+test.aaa_profiling.test_resultset.ResultSetTest.test_unicode 3.8_sqlite_pysqlite_dbapiunicode_nocextensions 6481