]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
update execute() arg formats in modules and tests
authorMike Bayer <mike_mp@zzzcomputing.com>
Wed, 6 Jan 2021 15:43:19 +0000 (10:43 -0500)
committerMike Bayer <mike_mp@zzzcomputing.com>
Fri, 15 Jan 2021 18:04:58 +0000 (13:04 -0500)
continuing with producing a SQLAlchemy 1.4.0b2 that internally
does not emit any of its own 2.0 deprecation warnings,
migrate the *args and **kwargs passed to execute() methods
that now must be a single list or dictionary.

Alembic 1.5 is again waiting on this internal consistency to
be present so that it can pass all tests with no 2.0
deprecation warnings.

Change-Id: If6b792e57c8c5dff205419644ab68e631575a2fa

37 files changed:
lib/sqlalchemy/dialects/oracle/base.py
lib/sqlalchemy/dialects/postgresql/base.py
lib/sqlalchemy/dialects/postgresql/provision.py
lib/sqlalchemy/orm/__init__.py
lib/sqlalchemy/testing/fixtures.py
lib/sqlalchemy/testing/suite/test_insert.py
lib/sqlalchemy/testing/suite/test_select.py
lib/sqlalchemy/testing/suite/test_sequence.py
lib/sqlalchemy/testing/suite/test_update_delete.py
lib/sqlalchemy/testing/warnings.py
test/dialect/mssql/test_query.py
test/dialect/mssql/test_types.py
test/dialect/oracle/test_dialect.py
test/dialect/oracle/test_reflection.py
test/dialect/oracle/test_types.py
test/dialect/postgresql/test_dialect.py
test/dialect/postgresql/test_query.py
test/dialect/postgresql/test_types.py
test/dialect/test_sqlite.py
test/engine/test_ddlevents.py
test/engine/test_deprecations.py
test/engine/test_execute.py
test/engine/test_transaction.py
test/orm/test_deprecations.py
test/orm/test_eager_relations.py
test/orm/test_expire.py
test/orm/test_lazy_relations.py
test/orm/test_naturalpks.py
test/sql/test_defaults.py
test/sql/test_deprecations.py
test/sql/test_functions.py
test/sql/test_insert_exec.py
test/sql/test_query.py
test/sql/test_resultset.py
test/sql/test_returning.py
test/sql/test_type_expressions.py
test/sql/test_types.py

index 1cc8b7aef07584b3ca1784d4a7f1cc457b6be05b..a496f03543db0bd04a03b98bfca14c5bf70dcdb6 100644 (file)
@@ -1731,7 +1731,7 @@ class OracleDialect(default.DefaultDialect):
                 sql.text(
                     "SELECT username FROM user_db_links " "WHERE db_link=:link"
                 ),
-                link=dblink,
+                dict(link=dblink),
             )
             dblink = "@" + dblink
         elif not owner:
@@ -1805,7 +1805,7 @@ class OracleDialect(default.DefaultDialect):
                 "SELECT sequence_name FROM all_sequences "
                 "WHERE sequence_owner = :schema_name"
             ),
-            schema_name=self.denormalize_name(schema),
+            dict(schema_name=self.denormalize_name(schema)),
         )
         return [self.normalize_name(row[0]) for row in cursor]
 
index 735990a20df6c9160cbccac971163a153ef7625d..7a898cb8ac8c9ae5d28af2e438f6323c4170260f 100644 (file)
@@ -3335,7 +3335,11 @@ class PGDialect(default.DefaultDialect):
                 "WHERE n.nspname = :schema AND c.relkind IN (%s)"
                 % (", ".join("'%s'" % elem for elem in kinds))
             ).columns(relname=sqltypes.Unicode),
-            schema=schema if schema is not None else self.default_schema_name,
+            dict(
+                schema=schema
+                if schema is not None
+                else self.default_schema_name
+            ),
         )
         return [name for name, in result]
 
@@ -3367,8 +3371,12 @@ class PGDialect(default.DefaultDialect):
                 "WHERE n.nspname = :schema AND c.relname = :view_name "
                 "AND c.relkind IN ('v', 'm')"
             ).columns(view_def=sqltypes.Unicode),
-            schema=schema if schema is not None else self.default_schema_name,
-            view_name=view_name,
+            dict(
+                schema=schema
+                if schema is not None
+                else self.default_schema_name,
+                view_name=view_name,
+            ),
         )
         return view_def
 
index 70c3908000318ed44d8119cdccd6585f01313934..9196337baae1b18aefa4745bd42f9d4b436e05ce 100644 (file)
@@ -62,7 +62,7 @@ def _pg_drop_db(cfg, eng, ident):
                     "where usename=current_user and pid != pg_backend_pid() "
                     "and datname=:dname"
                 ),
-                dname=ident,
+                dict(dname=ident),
             )
             conn.exec_driver_sql("DROP DATABASE %s" % ident)
 
index 2b7ad7bbd36140d912803daa7fd7999b95db55b1..f6b1a2e93f69bc6f1c768003ad1c915079b62c68 100644 (file)
@@ -264,6 +264,7 @@ def clear_mappers():
     upon a fixed set of classes.
 
     """
+
     with mapperlib._CONFIGURE_MUTEX:
         while _mapper_registry:
             try:
index f19b4652adfe972c4ed34c4877680b728a6a4237..dcdeee5c902340a7897f082f09cfa27f77ac3acd 100644 (file)
@@ -396,9 +396,7 @@ def stop_test_class_inside_fixtures(cls):
 
 
 def after_test():
-
     if _fixture_sessions:
-
         _close_all_sessions()
 
 
index da59d831f7e7ab9ef6da61b2ec9c0934e0a7fa41..35f3315c72a7c701bdec26bae52a0578c77a633b 100644 (file)
@@ -51,13 +51,15 @@ class LastrowidTest(fixtures.TablesTest):
 
     def test_autoincrement_on_insert(self, connection):
 
-        connection.execute(self.tables.autoinc_pk.insert(), data="some data")
+        connection.execute(
+            self.tables.autoinc_pk.insert(), dict(data="some data")
+        )
         self._assert_round_trip(self.tables.autoinc_pk, connection)
 
     def test_last_inserted_id(self, connection):
 
         r = connection.execute(
-            self.tables.autoinc_pk.insert(), data="some data"
+            self.tables.autoinc_pk.insert(), dict(data="some data")
         )
         pk = connection.scalar(select(self.tables.autoinc_pk.c.id))
         eq_(r.inserted_primary_key, (pk,))
@@ -65,7 +67,7 @@ class LastrowidTest(fixtures.TablesTest):
     @requirements.dbapi_lastrowid
     def test_native_lastrowid_autoinc(self, connection):
         r = connection.execute(
-            self.tables.autoinc_pk.insert(), data="some data"
+            self.tables.autoinc_pk.insert(), dict(data="some data")
         )
         lastrowid = r.lastrowid
         pk = connection.scalar(select(self.tables.autoinc_pk.c.id))
@@ -116,7 +118,9 @@ class InsertBehaviorTest(fixtures.TablesTest):
             engine = config.db
 
         with engine.begin() as conn:
-            r = conn.execute(self.tables.autoinc_pk.insert(), data="some data")
+            r = conn.execute(
+                self.tables.autoinc_pk.insert(), dict(data="some data")
+            )
         assert r._soft_closed
         assert not r.closed
         assert r.is_insert
@@ -131,7 +135,7 @@ class InsertBehaviorTest(fixtures.TablesTest):
     @requirements.returning
     def test_autoclose_on_insert_implicit_returning(self, connection):
         r = connection.execute(
-            self.tables.autoinc_pk.insert(), data="some data"
+            self.tables.autoinc_pk.insert(), dict(data="some data")
         )
         assert r._soft_closed
         assert not r.closed
@@ -315,7 +319,7 @@ class ReturningTest(fixtures.TablesTest):
     def test_explicit_returning_pk_autocommit(self, connection):
         table = self.tables.autoinc_pk
         r = connection.execute(
-            table.insert().returning(table.c.id), data="some data"
+            table.insert().returning(table.c.id), dict(data="some data")
         )
         pk = r.first()[0]
         fetched_pk = connection.scalar(select(table.c.id))
@@ -324,7 +328,7 @@ class ReturningTest(fixtures.TablesTest):
     def test_explicit_returning_pk_no_autocommit(self, connection):
         table = self.tables.autoinc_pk
         r = connection.execute(
-            table.insert().returning(table.c.id), data="some data"
+            table.insert().returning(table.c.id), dict(data="some data")
         )
         pk = r.first()[0]
         fetched_pk = connection.scalar(select(table.c.id))
@@ -332,13 +336,15 @@ class ReturningTest(fixtures.TablesTest):
 
     def test_autoincrement_on_insert_implicit_returning(self, connection):
 
-        connection.execute(self.tables.autoinc_pk.insert(), data="some data")
+        connection.execute(
+            self.tables.autoinc_pk.insert(), dict(data="some data")
+        )
         self._assert_round_trip(self.tables.autoinc_pk, connection)
 
     def test_last_inserted_id_implicit_returning(self, connection):
 
         r = connection.execute(
-            self.tables.autoinc_pk.insert(), data="some data"
+            self.tables.autoinc_pk.insert(), dict(data="some data")
         )
         pk = connection.scalar(select(self.tables.autoinc_pk.c.id))
         eq_(r.inserted_primary_key, (pk,))
index f8d9b3d88c557e09cc05614762135a18befd54fa..0d9f08848fa404db025695434402ec00b724ea60 100644 (file)
@@ -742,7 +742,7 @@ class PostCompileParamsTest(
 
         with self.sql_execution_asserter() as asserter:
             with config.db.connect() as conn:
-                conn.execute(stmt, q=10)
+                conn.execute(stmt, dict(q=10))
 
         asserter.assert_(
             CursorSQL(
@@ -761,7 +761,7 @@ class PostCompileParamsTest(
 
         with self.sql_execution_asserter() as asserter:
             with config.db.connect() as conn:
-                conn.execute(stmt, q=[5, 6, 7])
+                conn.execute(stmt, dict(q=[5, 6, 7]))
 
         asserter.assert_(
             CursorSQL(
@@ -783,7 +783,7 @@ class PostCompileParamsTest(
 
         with self.sql_execution_asserter() as asserter:
             with config.db.connect() as conn:
-                conn.execute(stmt, q=[(5, 10), (12, 18)])
+                conn.execute(stmt, dict(q=[(5, 10), (12, 18)]))
 
         asserter.assert_(
             CursorSQL(
@@ -807,7 +807,7 @@ class PostCompileParamsTest(
 
         with self.sql_execution_asserter() as asserter:
             with config.db.connect() as conn:
-                conn.execute(stmt, q=[(5, "z1"), (12, "z3")])
+                conn.execute(stmt, dict(q=[(5, "z1"), (12, "z3")]))
 
         asserter.assert_(
             CursorSQL(
index d8c35ed0b6802064bdef2f9804634819e3c79f3d..7445ade00c85c94deedb9306bc0775db26e10ea5 100644 (file)
@@ -46,11 +46,13 @@ class SequenceTest(fixtures.TablesTest):
         )
 
     def test_insert_roundtrip(self, connection):
-        connection.execute(self.tables.seq_pk.insert(), data="some data")
+        connection.execute(self.tables.seq_pk.insert(), dict(data="some data"))
         self._assert_round_trip(self.tables.seq_pk, connection)
 
     def test_insert_lastrowid(self, connection):
-        r = connection.execute(self.tables.seq_pk.insert(), data="some data")
+        r = connection.execute(
+            self.tables.seq_pk.insert(), dict(data="some data")
+        )
         eq_(
             r.inserted_primary_key, (testing.db.dialect.default_sequence_base,)
         )
@@ -62,7 +64,7 @@ class SequenceTest(fixtures.TablesTest):
     @requirements.sequences_optional
     def test_optional_seq(self, connection):
         r = connection.execute(
-            self.tables.seq_opt_pk.insert(), data="some data"
+            self.tables.seq_opt_pk.insert(), dict(data="some data")
         )
         eq_(r.inserted_primary_key, (1,))
 
index f7e6da98e15018aafa901d7d6bac75dbabf55e3c..3fb51ead3dba8433082f9bf07882b5c01fbcccf4 100644 (file)
@@ -32,7 +32,9 @@ class SimpleUpdateDeleteTest(fixtures.TablesTest):
 
     def test_update(self, connection):
         t = self.tables.plain_pk
-        r = connection.execute(t.update().where(t.c.id == 2), data="d2_new")
+        r = connection.execute(
+            t.update().where(t.c.id == 2), dict(data="d2_new")
+        )
         assert not r.is_insert
         assert not r.returns_rows
 
index 1b078a26344ffb7a221179e08e4e1d0718d1a623..5699cd035d3c86fbcb7378a179dfc5ada98cacb7 100644 (file)
@@ -56,9 +56,6 @@ def setup_filters():
         # Core execution
         #
         r"The (?:Executable|Engine)\.(?:execute|scalar)\(\) method",
-        r"The connection.execute\(\) method in SQLAlchemy 2.0 will accept "
-        "parameters as a single dictionary or a single sequence of "
-        "dictionaries only.",
         r"The Connection.connect\(\) method is considered legacy",
         #        r".*DefaultGenerator.execute\(\)",
         #
index b806b9247f65bf83cb05eb3f39ddc7ad0378394b..d3b2e06441b1bb767803cb3abc758ebefd50e962 100644 (file)
@@ -91,7 +91,7 @@ class IdentityInsertTest(fixtures.TablesTest, AssertsCompiledSQL):
     def test_insert_plain_param(self, connection):
         conn = connection
         cattable = self.tables.cattable
-        conn.execute(cattable.insert(), id=5)
+        conn.execute(cattable.insert(), dict(id=5))
         eq_(conn.scalar(select(cattable.c.id)), 5)
 
     def test_insert_values_key_plain(self, connection):
@@ -156,8 +156,7 @@ class QueryTest(testing.AssertsExecutionResults, fixtures.TestBase):
     __only_on__ = "mssql"
     __backend__ = True
 
-    @testing.provide_metadata
-    def test_fetchid_trigger(self, connection):
+    def test_fetchid_trigger(self, metadata, connection):
         # TODO: investigate test hang on mssql when connection fixture is used
         """
         Verify identity return value on inserting to a trigger table.
@@ -190,7 +189,7 @@ class QueryTest(testing.AssertsExecutionResults, fixtures.TestBase):
         # TODO: check whether this error also occurs with clients other
         #      than the SQL Server Native Client. Maybe an assert_raises
         #      test should be written.
-        meta = self.metadata
+        meta = metadata
         t1 = Table(
             "t1",
             meta,
@@ -230,9 +229,9 @@ class QueryTest(testing.AssertsExecutionResults, fixtures.TestBase):
         # seems to work with all linux drivers + backend.  not sure
         # if windows drivers / servers have different behavior here.
         meta.create_all(connection)
-        r = connection.execute(t2.insert(), descr="hello")
+        r = connection.execute(t2.insert(), dict(descr="hello"))
         eq_(r.inserted_primary_key, (200,))
-        r = connection.execute(t1.insert(), descr="hello")
+        r = connection.execute(t1.insert(), dict(descr="hello"))
         eq_(r.inserted_primary_key, (100,))
 
     @testing.provide_metadata
index c2231d105bd6b48eb85d4878040211f8e873b8a3..439828fe4d2db783ce85a3d2425e042cbab942af 100644 (file)
@@ -770,7 +770,7 @@ class TypeRoundTripTest(
     def test_date_roundtrips(self, date_fixture, connection):
         t, (d1, t1, d2) = date_fixture
         connection.execute(
-            t.insert(), adate=d1, adatetime=d2, atime1=t1, atime2=d2
+            t.insert(), dict(adate=d1, adatetime=d2, atime1=t1, atime2=d2)
         )
 
         row = connection.execute(t.select()).first()
@@ -876,13 +876,13 @@ class TypeRoundTripTest(
                 sa.exc.DBAPIError,
                 connection.execute,
                 t.insert(),
-                adatetimeoffset=dto_param_value,
+                dict(adatetimeoffset=dto_param_value),
             )
             return
 
         connection.execute(
             t.insert(),
-            adatetimeoffset=dto_param_value,
+            dict(adatetimeoffset=dto_param_value),
         )
 
         row = connection.execute(t.select()).first()
@@ -1248,7 +1248,7 @@ class BinaryTest(fixtures.TestBase):
                 expected = data
 
         with engine.begin() as conn:
-            conn.execute(binary_table.insert(), data=data)
+            conn.execute(binary_table.insert(), dict(data=data))
 
             eq_(conn.scalar(select(binary_table.c.data)), expected)
 
@@ -1263,7 +1263,7 @@ class BinaryTest(fixtures.TestBase):
 
             conn.execute(binary_table.delete())
 
-            conn.execute(binary_table.insert(), data=None)
+            conn.execute(binary_table.insert(), dict(data=None))
             eq_(conn.scalar(select(binary_table.c.data)), None)
 
             eq_(
index 32234bf653b1068bc1eb754695865a88a7cfa091..2ec30684254c596eb0836bbf3df3e86a19afdc77 100644 (file)
@@ -465,7 +465,7 @@ end;
                 outparam("y_out", Float),
                 outparam("z_out", String),
             ),
-            x_in=5,
+            dict(x_in=5),
         )
         eq_(result.out_parameters, {"x_out": 10, "y_out": 75, "z_out": None})
         assert isinstance(result.out_parameters["x_out"], int)
@@ -527,7 +527,7 @@ class QuotedBindRoundTripTest(fixtures.TestBase):
 
         connection.execute(
             select(t).where(t.c.foo.in_(bindparam("uid", expanding=True))),
-            uid=[1, 2, 3],
+            dict(uid=[1, 2, 3]),
         )
 
 
index 0df4236e25c4410cd928e0ed7cdf2125d942d962..f9ce1a30b19abf454664bffb23d909850457e1c2 100644 (file)
@@ -668,8 +668,10 @@ class RoundTripIndexTest(fixtures.TestBase):
                AND owner = :owner
                AND constraint_type = 'P' """
             ),
-            table_name=s_table.name.upper(),
-            owner=testing.db.dialect.default_schema_name.upper(),
+            dict(
+                table_name=s_table.name.upper(),
+                owner=testing.db.dialect.default_schema_name.upper(),
+            ),
         )
 
         reflectedtable = inspect.tables[s_table.name]
index 8ea7c0e044ec06986f6abf803ddb6b331943163c..5b92dea01617b1fe1b8e1b474310f259f4ceaafd 100644 (file)
@@ -206,9 +206,11 @@ class TypesTest(fixtures.TestBase):
         t.create(connection)
         connection.execute(
             t.insert(),
-            dict(id=1, data=v1),
-            dict(id=2, data=v2),
-            dict(id=3, data=v3),
+            [
+                dict(id=1, data=v1),
+                dict(id=2, data=v2),
+                dict(id=3, data=v3),
+            ],
         )
 
         eq_(
@@ -767,7 +769,7 @@ class TypesTest(fixtures.TestBase):
             Column("data", oracle.RAW(35)),
         )
         metadata.create_all(connection)
-        connection.execute(raw_table.insert(), id=1, data=b("ABCDEF"))
+        connection.execute(raw_table.insert(), dict(id=1, data=b("ABCDEF")))
         eq_(connection.execute(raw_table.select()).first(), (1, b("ABCDEF")))
 
     def test_reflect_nvarchar(self, metadata, connection):
@@ -842,7 +844,7 @@ class TypesTest(fixtures.TestBase):
 
         t = Table("t", metadata, Column("data", oracle.LONG))
         metadata.create_all(connection)
-        connection.execute(t.insert(), data="xyz")
+        connection.execute(t.insert(), dict(data="xyz"))
         eq_(connection.scalar(select(t.c.data)), "xyz")
 
     def test_longstring(self, metadata, connection):
@@ -858,7 +860,7 @@ class TypesTest(fixtures.TestBase):
         )
         try:
             t = Table("z_test", metadata, autoload_with=connection)
-            connection.execute(t.insert(), id=1.0, add_user="foobar")
+            connection.execute(t.insert(), dict(id=1.0, add_user="foobar"))
             assert connection.execute(t.select()).fetchall() == [(1, "foobar")]
         finally:
             exec_sql(connection, "DROP TABLE Z_TEST")
@@ -909,7 +911,7 @@ class LOBFetchTest(fixtures.TablesTest):
             cls.stream = stream = file_.read(12000)
 
         for i in range(1, 11):
-            connection.execute(binary_table.insert(), id=i, data=stream)
+            connection.execute(binary_table.insert(), dict(id=i, data=stream))
 
     def test_lobs_without_convert(self):
         engine = testing_engine(options=dict(auto_convert_lobs=False))
index 9c9d817bba958d52fdfe7faba30e8def152e522a..08be41b75f14c30b31604cf3eb7aa84634784200 100644 (file)
@@ -1160,7 +1160,7 @@ $$ LANGUAGE plpgsql;
         )
         t = Table("speedy_users", meta, autoload_with=connection)
         r = connection.execute(
-            t.insert(), user_name="user", user_password="lala"
+            t.insert(), dict(user_name="user", user_password="lala")
         )
         eq_(r.inserted_primary_key, (1,))
         result = connection.execute(t.select()).fetchall()
index c51fd19432c2e5b36c7fdade006e3ba63603d536..47f86e791f6507966a9b4cac3b8147c46a63425f 100644 (file)
@@ -180,13 +180,15 @@ class InsertTest(fixtures.TestBase, AssertsExecutionResults):
 
                 conn.execute(
                     table.insert(),
-                    {"id": 31, "data": "d3"},
-                    {"id": 32, "data": "d4"},
+                    [
+                        {"id": 31, "data": "d3"},
+                        {"id": 32, "data": "d4"},
+                    ],
                 )
 
                 # executemany, uses SERIAL
 
-                conn.execute(table.insert(), {"data": "d5"}, {"data": "d6"})
+                conn.execute(table.insert(), [{"data": "d5"}, {"data": "d6"}])
 
                 # single execute, explicit id, inline
 
@@ -252,10 +254,12 @@ class InsertTest(fixtures.TestBase, AssertsExecutionResults):
                 eq_(r.inserted_primary_key, (5,))
                 conn.execute(
                     table.insert(),
-                    {"id": 31, "data": "d3"},
-                    {"id": 32, "data": "d4"},
+                    [
+                        {"id": 31, "data": "d3"},
+                        {"id": 32, "data": "d4"},
+                    ],
                 )
-                conn.execute(table.insert(), {"data": "d5"}, {"data": "d6"})
+                conn.execute(table.insert(), [{"data": "d5"}, {"data": "d6"}])
                 conn.execute(table.insert().inline(), {"id": 33, "data": "d7"})
                 conn.execute(table.insert().inline(), {"data": "d8"})
 
@@ -320,13 +324,15 @@ class InsertTest(fixtures.TestBase, AssertsExecutionResults):
 
                 conn.execute(
                     table.insert(),
-                    {"id": 31, "data": "d3"},
-                    {"id": 32, "data": "d4"},
+                    [
+                        {"id": 31, "data": "d3"},
+                        {"id": 32, "data": "d4"},
+                    ],
                 )
 
                 # executemany, uses SERIAL
 
-                conn.execute(table.insert(), {"data": "d5"}, {"data": "d6"})
+                conn.execute(table.insert(), [{"data": "d5"}, {"data": "d6"}])
 
                 # single execute, explicit id, inline
 
@@ -392,10 +398,12 @@ class InsertTest(fixtures.TestBase, AssertsExecutionResults):
                 eq_(r.inserted_primary_key, (5,))
                 conn.execute(
                     table.insert(),
-                    {"id": 31, "data": "d3"},
-                    {"id": 32, "data": "d4"},
+                    [
+                        {"id": 31, "data": "d3"},
+                        {"id": 32, "data": "d4"},
+                    ],
                 )
-                conn.execute(table.insert(), {"data": "d5"}, {"data": "d6"})
+                conn.execute(table.insert(), [{"data": "d5"}, {"data": "d6"}])
                 conn.execute(table.insert().inline(), {"id": 33, "data": "d7"})
                 conn.execute(table.insert().inline(), {"data": "d8"})
 
@@ -451,10 +459,12 @@ class InsertTest(fixtures.TestBase, AssertsExecutionResults):
                 conn.execute(table.insert(), {"data": "d2"})
                 conn.execute(
                     table.insert(),
-                    {"id": 31, "data": "d3"},
-                    {"id": 32, "data": "d4"},
+                    [
+                        {"id": 31, "data": "d3"},
+                        {"id": 32, "data": "d4"},
+                    ],
                 )
-                conn.execute(table.insert(), {"data": "d5"}, {"data": "d6"})
+                conn.execute(table.insert(), [{"data": "d5"}, {"data": "d6"}])
                 conn.execute(table.insert().inline(), {"id": 33, "data": "d7"})
                 conn.execute(table.insert().inline(), {"data": "d8"})
 
@@ -514,10 +524,12 @@ class InsertTest(fixtures.TestBase, AssertsExecutionResults):
                 conn.execute(table.insert(), {"data": "d2"})
                 conn.execute(
                     table.insert(),
-                    {"id": 31, "data": "d3"},
-                    {"id": 32, "data": "d4"},
+                    [
+                        {"id": 31, "data": "d3"},
+                        {"id": 32, "data": "d4"},
+                    ],
                 )
-                conn.execute(table.insert(), {"data": "d5"}, {"data": "d6"})
+                conn.execute(table.insert(), [{"data": "d5"}, {"data": "d6"}])
                 conn.execute(table.insert().inline(), {"id": 33, "data": "d7"})
                 conn.execute(table.insert().inline(), {"data": "d8"})
 
index 6202f8f868b71018b4324fcc2d3ce099a8204993..b36f50408d5f9df11bf3d9a18cf7af06ce1fa580 100644 (file)
@@ -128,7 +128,7 @@ class FloatCoercionTest(fixtures.TablesTest, AssertsExecutionResults):
         )
         metadata.create_all(connection)
         connection.execute(
-            t1.insert(), x=[5], y=[5], z=[6], q=[decimal.Decimal("6.4")]
+            t1.insert(), dict(x=[5], y=[5], z=[6], q=[decimal.Decimal("6.4")])
         )
         row = connection.execute(t1.select()).first()
         eq_(row, ([5], [5], [6], [decimal.Decimal("6.4")]))
@@ -144,7 +144,7 @@ class FloatCoercionTest(fixtures.TablesTest, AssertsExecutionResults):
         )
         metadata.create_all(connection)
         connection.execute(
-            t1.insert(), x=[5], y=[5], z=[6], q=[decimal.Decimal("6.4")]
+            t1.insert(), dict(x=[5], y=[5], z=[6], q=[decimal.Decimal("6.4")])
         )
         row = connection.execute(t1.select()).first()
         eq_(row, ([5], [5], [6], [decimal.Decimal("6.4")]))
@@ -167,9 +167,9 @@ class EnumTest(fixtures.TestBase, AssertsExecutionResults):
         )
         t1.create(connection)
         t1.create(connection, checkfirst=True)  # check the create
-        connection.execute(t1.insert(), value="two")
-        connection.execute(t1.insert(), value="three")
-        connection.execute(t1.insert(), value="three")
+        connection.execute(t1.insert(), dict(value="two"))
+        connection.execute(t1.insert(), dict(value="three"))
+        connection.execute(t1.insert(), dict(value="three"))
         eq_(
             connection.execute(t1.select().order_by(t1.c.id)).fetchall(),
             [(1, "two"), (2, "three"), (3, "three")],
@@ -207,9 +207,9 @@ class EnumTest(fixtures.TestBase, AssertsExecutionResults):
         ]
         t1.create(conn, checkfirst=True)
 
-        conn.execute(t1.insert(), value="two")
-        conn.execute(t1.insert(), value="three")
-        conn.execute(t1.insert(), value="three")
+        conn.execute(t1.insert(), dict(value="two"))
+        conn.execute(t1.insert(), dict(value="three"))
+        conn.execute(t1.insert(), dict(value="three"))
         eq_(
             conn.execute(t1.select().order_by(t1.c.id)).fetchall(),
             [(1, "two"), (2, "three"), (3, "three")],
@@ -245,9 +245,9 @@ class EnumTest(fixtures.TestBase, AssertsExecutionResults):
             ),
         )
         metadata.create_all(connection)
-        connection.execute(t1.insert(), value=util.u("drôle"))
-        connection.execute(t1.insert(), value=util.u("réveillé"))
-        connection.execute(t1.insert(), value=util.u("S’il"))
+        connection.execute(t1.insert(), dict(value=util.u("drôle")))
+        connection.execute(t1.insert(), dict(value=util.u("réveillé")))
+        connection.execute(t1.insert(), dict(value=util.u("S’il")))
         eq_(
             connection.execute(t1.select().order_by(t1.c.id)).fetchall(),
             [
@@ -940,7 +940,9 @@ class TimezoneTest(fixtures.TablesTest):
 
         somedate = connection.scalar(func.current_timestamp().select())
         assert somedate.tzinfo
-        connection.execute(tztable.insert(), id=1, name="row1", date=somedate)
+        connection.execute(
+            tztable.insert(), dict(id=1, name="row1", date=somedate)
+        )
         row = connection.execute(
             select(tztable.c.date).where(tztable.c.id == 1)
         ).first()
@@ -951,7 +953,9 @@ class TimezoneTest(fixtures.TablesTest):
         )
         result = connection.execute(
             tztable.update(tztable.c.id == 1).returning(tztable.c.date),
-            name="newname",
+            dict(
+                name="newname",
+            ),
         )
         row = result.first()
         assert row[0] >= somedate
@@ -964,7 +968,7 @@ class TimezoneTest(fixtures.TablesTest):
         somedate = datetime.datetime(2005, 10, 20, 11, 52, 0)
         assert not somedate.tzinfo
         connection.execute(
-            notztable.insert(), id=1, name="row1", date=somedate
+            notztable.insert(), dict(id=1, name="row1", date=somedate)
         )
         row = connection.execute(
             select(notztable.c.date).where(notztable.c.id == 1)
@@ -973,7 +977,9 @@ class TimezoneTest(fixtures.TablesTest):
         eq_(row[0].tzinfo, None)
         result = connection.execute(
             notztable.update(notztable.c.id == 1).returning(notztable.c.date),
-            name="newname",
+            dict(
+                name="newname",
+            ),
         )
         row = result.first()
         assert row[0] >= somedate
@@ -1324,7 +1330,7 @@ class ArrayRoundTripTest(object):
         )
 
     def _fixture_456(self, table, connection):
-        connection.execute(table.insert(), intarr=[4, 5, 6])
+        connection.execute(table.insert(), dict(intarr=[4, 5, 6]))
 
     def test_reflect_array_column(self, connection):
         metadata2 = MetaData()
@@ -1403,8 +1409,10 @@ class ArrayRoundTripTest(object):
         arrtable = self.tables.arrtable
         connection.execute(
             arrtable.insert(),
-            intarr=[1, 2, 3],
-            strarr=[util.u("abc"), util.u("def")],
+            dict(
+                intarr=[1, 2, 3],
+                strarr=[util.u("abc"), util.u("def")],
+            ),
         )
         results = connection.execute(arrtable.select()).fetchall()
         eq_(len(results), 1)
@@ -1415,8 +1423,10 @@ class ArrayRoundTripTest(object):
         arrtable = self.tables.arrtable
         connection.execute(
             arrtable.insert(),
-            intarr=[1, None, 3],
-            strarr=[util.u("abc"), None],
+            dict(
+                intarr=[1, None, 3],
+                strarr=[util.u("abc"), None],
+            ),
         )
         results = connection.execute(arrtable.select()).fetchall()
         eq_(len(results), 1)
@@ -1427,11 +1437,13 @@ class ArrayRoundTripTest(object):
         arrtable = self.tables.arrtable
         connection.execute(
             arrtable.insert(),
-            intarr=[1, 2, 3],
-            strarr=[util.u("abc"), util.u("def")],
+            dict(
+                intarr=[1, 2, 3],
+                strarr=[util.u("abc"), util.u("def")],
+            ),
         )
         connection.execute(
-            arrtable.insert(), intarr=[4, 5, 6], strarr=util.u("ABC")
+            arrtable.insert(), dict(intarr=[4, 5, 6], strarr=util.u("ABC"))
         )
         results = connection.execute(
             arrtable.select().where(arrtable.c.intarr == [1, 2, 3])
@@ -1443,8 +1455,7 @@ class ArrayRoundTripTest(object):
         arrtable = self.tables.arrtable
         connection.execute(
             arrtable.insert(),
-            intarr=[1, 2, 3],
-            strarr=[util.u("abc"), util.u("def")],
+            dict(intarr=[1, 2, 3], strarr=[util.u("abc"), util.u("def")]),
         )
         results = connection.execute(
             select(arrtable.c.intarr + [4, 5, 6])
@@ -1456,9 +1467,9 @@ class ArrayRoundTripTest(object):
         arrtable = self.tables.arrtable
         connection.execute(
             arrtable.insert(),
-            id=5,
-            intarr=[1, 2, 3],
-            strarr=[util.u("abc"), util.u("def")],
+            dict(
+                id=5, intarr=[1, 2, 3], strarr=[util.u("abc"), util.u("def")]
+            ),
         )
         results = connection.execute(
             select(arrtable.c.id).where(arrtable.c.intarr < [4, 5, 6])
@@ -1470,13 +1481,17 @@ class ArrayRoundTripTest(object):
         arrtable = self.tables.arrtable
         connection.execute(
             arrtable.insert(),
-            intarr=[4, 5, 6],
-            strarr=[[util.ue("m\xe4\xe4")], [util.ue("m\xf6\xf6")]],
+            dict(
+                intarr=[4, 5, 6],
+                strarr=[[util.ue("m\xe4\xe4")], [util.ue("m\xf6\xf6")]],
+            ),
         )
         connection.execute(
             arrtable.insert(),
-            intarr=[1, 2, 3],
-            strarr=[util.ue("m\xe4\xe4"), util.ue("m\xf6\xf6")],
+            dict(
+                intarr=[1, 2, 3],
+                strarr=[util.ue("m\xe4\xe4"), util.ue("m\xf6\xf6")],
+            ),
         )
         results = connection.execute(
             arrtable.select(order_by=[arrtable.c.intarr])
@@ -1556,8 +1571,10 @@ class ArrayRoundTripTest(object):
         arrtable = self.tables.arrtable
         connection.execute(
             arrtable.insert(),
-            intarr=[4, 5, 6],
-            strarr=[util.u("abc"), util.u("def")],
+            dict(
+                intarr=[4, 5, 6],
+                strarr=[util.u("abc"), util.u("def")],
+            ),
         )
         eq_(connection.scalar(select(arrtable.c.intarr[2:3])), [5, 6])
         connection.execute(
@@ -1567,7 +1584,9 @@ class ArrayRoundTripTest(object):
 
     def test_multi_dim_roundtrip(self, connection):
         arrtable = self.tables.arrtable
-        connection.execute(arrtable.insert(), dimarr=[[1, 2, 3], [4, 5, 6]])
+        connection.execute(
+            arrtable.insert(), dict(dimarr=[[1, 2, 3], [4, 5, 6]])
+        )
         eq_(
             connection.scalar(select(arrtable.c.dimarr)),
             [[-1, 0, 1], [2, 3, 4]],
@@ -1575,7 +1594,7 @@ class ArrayRoundTripTest(object):
 
     def test_array_any_exec(self, connection):
         arrtable = self.tables.arrtable
-        connection.execute(arrtable.insert(), intarr=[4, 5, 6])
+        connection.execute(arrtable.insert(), dict(intarr=[4, 5, 6]))
         eq_(
             connection.scalar(
                 select(arrtable.c.intarr).where(
@@ -1587,7 +1606,7 @@ class ArrayRoundTripTest(object):
 
     def test_array_all_exec(self, connection):
         arrtable = self.tables.arrtable
-        connection.execute(arrtable.insert(), intarr=[4, 5, 6])
+        connection.execute(arrtable.insert(), dict(intarr=[4, 5, 6]))
         eq_(
             connection.scalar(
                 select(arrtable.c.intarr).where(
@@ -1610,16 +1629,18 @@ class ArrayRoundTripTest(object):
         )
         metadata.create_all(connection)
         connection.execute(
-            t1.insert(), id=1, data=["1", "2", "3"], data2=[5.4, 5.6]
+            t1.insert(), dict(id=1, data=["1", "2", "3"], data2=[5.4, 5.6])
         )
         connection.execute(
-            t1.insert(), id=2, data=["4", "5", "6"], data2=[1.0]
+            t1.insert(), dict(id=2, data=["4", "5", "6"], data2=[1.0])
         )
         connection.execute(
             t1.insert(),
-            id=3,
-            data=[["4", "5"], ["6", "7"]],
-            data2=[[5.4, 5.6], [1.0, 1.1]],
+            dict(
+                id=3,
+                data=[["4", "5"], ["6", "7"]],
+                data2=[[5.4, 5.6], [1.0, 1.1]],
+            ),
         )
 
         r = connection.execute(t1.select().order_by(t1.c.id)).fetchall()
@@ -1704,7 +1725,7 @@ class PGArrayRoundTripTest(
 
     def test_array_contained_by_exec(self, connection):
         arrtable = self.tables.arrtable
-        connection.execute(arrtable.insert(), intarr=[6, 5, 4])
+        connection.execute(arrtable.insert(), dict(intarr=[6, 5, 4]))
         eq_(
             connection.scalar(
                 select(arrtable.c.intarr.contained_by([4, 5, 6, 7]))
@@ -1724,7 +1745,7 @@ class PGArrayRoundTripTest(
 
     def test_array_overlap_exec(self, connection):
         arrtable = self.tables.arrtable
-        connection.execute(arrtable.insert(), intarr=[4, 5, 6])
+        connection.execute(arrtable.insert(), dict(intarr=[4, 5, 6]))
         eq_(
             connection.scalar(
                 select(arrtable.c.intarr).where(
@@ -2106,10 +2127,12 @@ class SpecialTypesTest(fixtures.TablesTest, ComparesTables):
     def test_tsvector_round_trip(self, connection, metadata):
         t = Table("t1", metadata, Column("data", postgresql.TSVECTOR))
         t.create(connection)
-        connection.execute(t.insert(), data="a fat cat sat")
+        connection.execute(t.insert(), dict(data="a fat cat sat"))
         eq_(connection.scalar(select(t.c.data)), "'a' 'cat' 'fat' 'sat'")
 
-        connection.execute(t.update(), data="'a' 'cat' 'fat' 'mat' 'sat'")
+        connection.execute(
+            t.update(), dict(data="'a' 'cat' 'fat' 'mat' 'sat'")
+        )
 
         eq_(
             connection.scalar(select(t.c.data)),
@@ -2479,11 +2502,13 @@ class HStoreRoundTripTest(fixtures.TablesTest):
         data_table = self.tables.data_table
         connection.execute(
             data_table.insert(),
-            {"name": "r1", "data": {"k1": "r1v1", "k2": "r1v2"}},
-            {"name": "r2", "data": {"k1": "r2v1", "k2": "r2v2"}},
-            {"name": "r3", "data": {"k1": "r3v1", "k2": "r3v2"}},
-            {"name": "r4", "data": {"k1": "r4v1", "k2": "r4v2"}},
-            {"name": "r5", "data": {"k1": "r5v1", "k2": "r5v2"}},
+            [
+                {"name": "r1", "data": {"k1": "r1v1", "k2": "r1v2"}},
+                {"name": "r2", "data": {"k1": "r2v1", "k2": "r2v2"}},
+                {"name": "r3", "data": {"k1": "r3v1", "k2": "r3v2"}},
+                {"name": "r4", "data": {"k1": "r4v1", "k2": "r4v2"}},
+                {"name": "r5", "data": {"k1": "r5v1", "k2": "r5v2"}},
+            ],
         )
 
     def _assert_data(self, compare, conn):
index 1926c6065282d7ca3dcbec232b7ba582124d6ffa..587148525721f627136e8d7a9ad6a3f8bccbcf90 100644 (file)
@@ -106,7 +106,7 @@ class TestTypes(fixtures.TestBase, AssertsExecutionResults):
             exc.StatementError,
             connection.execute,
             select(1).where(bindparam("date", type_=Date)),
-            date=str(datetime.date(2007, 10, 30)),
+            dict(date=str(datetime.date(2007, 10, 30))),
         )
 
     def test_cant_parse_datetime_message(self, connection):
@@ -305,7 +305,7 @@ class JSONTest(fixtures.TestBase):
 
         value = {"json": {"foo": "bar"}, "recs": ["one", "two"]}
 
-        connection.execute(sqlite_json.insert(), foo=value)
+        connection.execute(sqlite_json.insert(), dict(foo=value))
 
         eq_(connection.scalar(select(sqlite_json.c.foo)), value)
 
@@ -316,7 +316,7 @@ class JSONTest(fixtures.TestBase):
 
         value = {"json": {"foo": "bar"}}
 
-        connection.execute(sqlite_json.insert(), foo=value)
+        connection.execute(sqlite_json.insert(), dict(foo=value))
 
         eq_(
             connection.scalar(select(sqlite_json.c.foo["json"])), value["json"]
@@ -2397,11 +2397,11 @@ class SavepointTest(fixtures.TablesTest):
         users = self.tables.users
         connection = self.bind.connect()
         transaction = connection.begin()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
         trans2 = connection.begin_nested()
-        connection.execute(users.insert(), user_id=2, user_name="user2")
+        connection.execute(users.insert(), dict(user_id=2, user_name="user2"))
         trans2.rollback()
-        connection.execute(users.insert(), user_id=3, user_name="user3")
+        connection.execute(users.insert(), dict(user_id=3, user_name="user3"))
         transaction.commit()
         eq_(
             connection.execute(
@@ -2415,11 +2415,11 @@ class SavepointTest(fixtures.TablesTest):
         users = self.tables.users
         connection = self.bind.connect()
         transaction = connection.begin()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
         trans2 = connection.begin_nested()
-        connection.execute(users.insert(), user_id=2, user_name="user2")
+        connection.execute(users.insert(), dict(user_id=2, user_name="user2"))
         trans2.commit()
-        connection.execute(users.insert(), user_id=3, user_name="user3")
+        connection.execute(users.insert(), dict(user_id=3, user_name="user3"))
         transaction.commit()
         eq_(
             connection.execute(
index baa766d48fda4d636537163a56d475c71652439a..d2755221d1d7163a6cdf1c46d1e820ef99bab3c6 100644 (file)
@@ -490,17 +490,10 @@ class DDLExecutionTest(fixtures.TestBase):
         engine = create_engine("sqlite:///")
         cx = engine.connect()
         cx.begin()
-        table = self.users
         ddl = DDL("SELECT 1")
 
-        for spec in (
-            (cx.execute, ddl),
-            (cx.execute, ddl, table),
-        ):
-            fn = spec[0]
-            arg = spec[1:]
-            r = fn(*arg)
-            eq_(list(r), [(1,)])
+        r = cx.execute(ddl)
+        eq_(list(r), [(1,)])
 
     def test_platform_escape(self):
         """test the escaping of % characters in the DDL construct."""
index 0a2c9abe5842bc2759d5aedf8cda8068f3277864..4758d49eb6c7a0f8d0be47bb9ab8411d720f7854 100644 (file)
@@ -2,6 +2,7 @@ import re
 
 import sqlalchemy as tsa
 import sqlalchemy as sa
+from sqlalchemy import bindparam
 from sqlalchemy import create_engine
 from sqlalchemy import DDL
 from sqlalchemy import engine
@@ -508,13 +509,13 @@ class TransactionTest(fixtures.TablesTest):
         connection.begin()
         branched = connection.connect()
         assert branched.in_transaction()
-        branched.execute(users.insert(), user_id=1, user_name="user1")
+        branched.execute(users.insert(), dict(user_id=1, user_name="user1"))
         with testing.expect_deprecated_20(
             r"Calling .begin\(\) when a transaction is already "
             "begun, creating a 'sub' transaction"
         ):
             nested = branched.begin()
-        branched.execute(users.insert(), user_id=2, user_name="user2")
+        branched.execute(users.insert(), dict(user_id=2, user_name="user2"))
         nested.rollback()
         assert not connection.in_transaction()
 
@@ -559,16 +560,16 @@ class TransactionTest(fixtures.TablesTest):
         connection = local_connection
         users = self.tables.users
         transaction = connection.begin()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
         trans2 = connection.begin_nested()
-        connection.execute(users.insert(), user_id=2, user_name="user2")
+        connection.execute(users.insert(), dict(user_id=2, user_name="user2"))
 
         with testing.expect_deprecated_20(
             r"Calling .begin\(\) when a transaction is already "
             "begun, creating a 'sub' transaction"
         ):
             trans3 = connection.begin()
-        connection.execute(users.insert(), user_id=3, user_name="user3")
+        connection.execute(users.insert(), dict(user_id=3, user_name="user3"))
         trans3.rollback()
 
         assert_raises_message(
@@ -580,7 +581,7 @@ class TransactionTest(fixtures.TablesTest):
         trans2.rollback()
         assert connection._nested_transaction is None
 
-        connection.execute(users.insert(), user_id=4, user_name="user4")
+        connection.execute(users.insert(), dict(user_id=4, user_name="user4"))
         transaction.commit()
         eq_(
             connection.execute(
@@ -602,24 +603,24 @@ class TransactionTest(fixtures.TablesTest):
         connection = local_connection
         users = self.tables.users
         transaction = connection.begin_twophase()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
         with testing.expect_deprecated_20(
             r"Calling .begin\(\) when a transaction is already "
             "begun, creating a 'sub' transaction"
         ):
             transaction2 = connection.begin()
-        connection.execute(users.insert(), user_id=2, user_name="user2")
+        connection.execute(users.insert(), dict(user_id=2, user_name="user2"))
         transaction3 = connection.begin_nested()
-        connection.execute(users.insert(), user_id=3, user_name="user3")
+        connection.execute(users.insert(), dict(user_id=3, user_name="user3"))
         with testing.expect_deprecated_20(
             r"Calling .begin\(\) when a transaction is already "
             "begun, creating a 'sub' transaction"
         ):
             transaction4 = connection.begin()
-        connection.execute(users.insert(), user_id=4, user_name="user4")
+        connection.execute(users.insert(), dict(user_id=4, user_name="user4"))
         transaction4.commit()
         transaction3.rollback()
-        connection.execute(users.insert(), user_id=5, user_name="user5")
+        connection.execute(users.insert(), dict(user_id=5, user_name="user5"))
         transaction2.commit()
         transaction.prepare()
         transaction.commit()
@@ -664,16 +665,16 @@ class TransactionTest(fixtures.TablesTest):
         connection = local_connection
         users = self.tables.users
         transaction = connection.begin()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
-        connection.execute(users.insert(), user_id=2, user_name="user2")
-        connection.execute(users.insert(), user_id=3, user_name="user3")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
+        connection.execute(users.insert(), dict(user_id=2, user_name="user2"))
+        connection.execute(users.insert(), dict(user_id=3, user_name="user3"))
         with testing.expect_deprecated_20(
             r"Calling .begin\(\) when a transaction is already "
             "begun, creating a 'sub' transaction"
         ):
             trans2 = connection.begin()
-        connection.execute(users.insert(), user_id=4, user_name="user4")
-        connection.execute(users.insert(), user_id=5, user_name="user5")
+        connection.execute(users.insert(), dict(user_id=4, user_name="user4"))
+        connection.execute(users.insert(), dict(user_id=5, user_name="user5"))
         assert connection.in_transaction()
         trans2.close()
         assert connection.in_transaction()
@@ -692,16 +693,16 @@ class TransactionTest(fixtures.TablesTest):
         connection = local_connection
         users = self.tables.users
         transaction = connection.begin()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
-        connection.execute(users.insert(), user_id=2, user_name="user2")
-        connection.execute(users.insert(), user_id=3, user_name="user3")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
+        connection.execute(users.insert(), dict(user_id=2, user_name="user2"))
+        connection.execute(users.insert(), dict(user_id=3, user_name="user3"))
         with testing.expect_deprecated_20(
             r"Calling .begin\(\) when a transaction is already "
             "begun, creating a 'sub' transaction"
         ):
             trans2 = connection.begin()
-        connection.execute(users.insert(), user_id=4, user_name="user4")
-        connection.execute(users.insert(), user_id=5, user_name="user5")
+        connection.execute(users.insert(), dict(user_id=4, user_name="user4"))
+        connection.execute(users.insert(), dict(user_id=5, user_name="user5"))
         assert connection.in_transaction()
         trans2.close()
         assert connection.in_transaction()
@@ -746,13 +747,13 @@ class TransactionTest(fixtures.TablesTest):
             transaction = connection.begin()
             try:
                 connection.execute(
-                    users.insert(), user_id=1, user_name="user1"
+                    users.insert(), dict(user_id=1, user_name="user1")
                 )
                 connection.execute(
-                    users.insert(), user_id=2, user_name="user2"
+                    users.insert(), dict(user_id=2, user_name="user2")
                 )
                 connection.execute(
-                    users.insert(), user_id=3, user_name="user3"
+                    users.insert(), dict(user_id=3, user_name="user3")
                 )
                 with testing.expect_deprecated_20(
                     r"Calling .begin\(\) when a transaction is already "
@@ -761,10 +762,10 @@ class TransactionTest(fixtures.TablesTest):
                     trans2 = connection.begin()
                 try:
                     connection.execute(
-                        users.insert(), user_id=4, user_name="user4"
+                        users.insert(), dict(user_id=4, user_name="user4")
                     )
                     connection.execute(
-                        users.insert(), user_id=5, user_name="user5"
+                        users.insert(), dict(user_id=5, user_name="user5")
                     )
                     raise Exception("uh oh")
                     trans2.commit()
@@ -786,16 +787,16 @@ class TransactionTest(fixtures.TablesTest):
         connection = local_connection
         users = self.tables.users
         transaction = connection.begin()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
-        connection.execute(users.insert(), user_id=2, user_name="user2")
-        connection.execute(users.insert(), user_id=3, user_name="user3")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
+        connection.execute(users.insert(), dict(user_id=2, user_name="user2"))
+        connection.execute(users.insert(), dict(user_id=3, user_name="user3"))
         with testing.expect_deprecated_20(
             r"Calling .begin\(\) when a transaction is already "
             "begun, creating a 'sub' transaction"
         ):
             trans2 = connection.begin()
-        connection.execute(users.insert(), user_id=4, user_name="user4")
-        connection.execute(users.insert(), user_id=5, user_name="user5")
+        connection.execute(users.insert(), dict(user_id=4, user_name="user4"))
+        connection.execute(users.insert(), dict(user_id=5, user_name="user5"))
         trans2.commit()
         transaction.rollback()
         self.assert_(
@@ -930,9 +931,9 @@ class TransactionTest(fixtures.TablesTest):
         trans = connection.begin()
         branched = connection.connect()
         assert branched.in_transaction()
-        branched.execute(users.insert(), user_id=1, user_name="user1")
+        branched.execute(users.insert(), dict(user_id=1, user_name="user1"))
         nested = branched.begin_nested()
-        branched.execute(users.insert(), user_id=2, user_name="user2")
+        branched.execute(users.insert(), dict(user_id=2, user_name="user2"))
         nested.rollback()
         assert connection.in_transaction()
         trans.commit()
@@ -951,9 +952,11 @@ class TransactionTest(fixtures.TablesTest):
             r"The current statement is being autocommitted using "
             "implicit autocommit"
         ):
-            branched.execute(users.insert(), user_id=1, user_name="user1")
+            branched.execute(
+                users.insert(), dict(user_id=1, user_name="user1")
+            )
         nested = branched.begin_twophase()
-        branched.execute(users.insert(), user_id=2, user_name="user2")
+        branched.execute(users.insert(), dict(user_id=2, user_name="user2"))
         nested.rollback()
         assert not connection.in_transaction()
         eq_(
@@ -1616,6 +1619,44 @@ class EngineEventsTest(fixtures.TestBase):
                 ):
                     break
 
+    @testing.combinations(
+        ((), {"z": 10}, [], {"z": 10}, testing.requires.legacy_engine),
+    )
+    def test_modify_parameters_from_event_one(
+        self, multiparams, params, expected_multiparams, expected_params
+    ):
+        # this is testing both the normalization added to parameters
+        # as of I97cb4d06adfcc6b889f10d01cc7775925cffb116 as well as
+        # that the return value from the event is taken as the new set
+        # of parameters.
+        def before_execute(
+            conn, clauseelement, multiparams, params, execution_options
+        ):
+            eq_(multiparams, expected_multiparams)
+            eq_(params, expected_params)
+            return clauseelement, (), {"q": "15"}
+
+        def after_execute(
+            conn, clauseelement, multiparams, params, result, execution_options
+        ):
+            eq_(multiparams, ())
+            eq_(params, {"q": "15"})
+
+        e1 = testing_engine(config.db_url)
+        event.listen(e1, "before_execute", before_execute, retval=True)
+        event.listen(e1, "after_execute", after_execute)
+
+        with e1.connect() as conn:
+            with testing.expect_deprecated_20(
+                r"The connection\.execute\(\) method"
+            ):
+                result = conn.execute(
+                    select(bindparam("q", type_=String)),
+                    *multiparams,
+                    **params
+                )
+            eq_(result.all(), [("15",)])
+
     def test_retval_flag(self):
         canary = []
 
index a1e4ea218ea43ce0433a0d1dd88ae2b0b62681cc..b9eb4f815e569503beaf9076a2e5ad84a1902972 100644 (file)
@@ -1650,7 +1650,6 @@ class EngineEventsTest(fixtures.TestBase):
             [{"x": 5, "y": 10}, {"x": 8, "y": 9}],
             {},
         ),
-        ((), {"z": 10}, [], {"z": 10}, testing.requires.legacy_engine),
         (({"z": 10},), {}, [], {"z": 10}),
         argnames="multiparams, params, expected_multiparams, expected_params",
     )
index 47504b60a32a11633f852800994b400f77366801..8a8d1fa62d66f6f22f41b535cb9525d09e93f40e 100644 (file)
@@ -47,12 +47,12 @@ class TransactionTest(fixtures.TablesTest):
         users = self.tables.users
         connection = local_connection
         transaction = connection.begin()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
         transaction.commit()
 
         transaction = connection.begin()
-        connection.execute(users.insert(), user_id=2, user_name="user2")
-        connection.execute(users.insert(), user_id=3, user_name="user3")
+        connection.execute(users.insert(), dict(user_id=2, user_name="user2"))
+        connection.execute(users.insert(), dict(user_id=3, user_name="user3"))
         transaction.commit()
 
         transaction = connection.begin()
@@ -67,9 +67,9 @@ class TransactionTest(fixtures.TablesTest):
         users = self.tables.users
         connection = local_connection
         transaction = connection.begin()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
-        connection.execute(users.insert(), user_id=2, user_name="user2")
-        connection.execute(users.insert(), user_id=3, user_name="user3")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
+        connection.execute(users.insert(), dict(user_id=2, user_name="user2"))
+        connection.execute(users.insert(), dict(user_id=3, user_name="user3"))
         transaction.rollback()
         result = connection.exec_driver_sql("select * from users")
         assert len(result.fetchall()) == 0
@@ -80,9 +80,15 @@ class TransactionTest(fixtures.TablesTest):
 
         transaction = connection.begin()
         try:
-            connection.execute(users.insert(), user_id=1, user_name="user1")
-            connection.execute(users.insert(), user_id=2, user_name="user2")
-            connection.execute(users.insert(), user_id=1, user_name="user3")
+            connection.execute(
+                users.insert(), dict(user_id=1, user_name="user1")
+            )
+            connection.execute(
+                users.insert(), dict(user_id=2, user_name="user2")
+            )
+            connection.execute(
+                users.insert(), dict(user_id=1, user_name="user3")
+            )
             transaction.commit()
             assert False
         except Exception as e:
@@ -242,9 +248,9 @@ class TransactionTest(fixtures.TablesTest):
         connection = local_connection
         users = self.tables.users
         transaction = connection.begin()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
         conn2 = connection.execution_options(dummy=True)
-        conn2.execute(users.insert(), user_id=2, user_name="user2")
+        conn2.execute(users.insert(), dict(user_id=2, user_name="user2"))
         transaction.rollback()
         eq_(
             connection.exec_driver_sql("select count(*) from users").scalar(),
@@ -255,10 +261,12 @@ class TransactionTest(fixtures.TablesTest):
         connection = local_connection
         users = self.tables.users
         trans = connection.begin()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
-        connection.execute(users.insert(), user_id=2, user_name="user2")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
+        connection.execute(users.insert(), dict(user_id=2, user_name="user2"))
         try:
-            connection.execute(users.insert(), user_id=2, user_name="user2.5")
+            connection.execute(
+                users.insert(), dict(user_id=2, user_name="user2.5")
+            )
         except Exception:
             trans.__exit__(*sys.exc_info())
 
@@ -271,7 +279,7 @@ class TransactionTest(fixtures.TablesTest):
         )
 
         trans = connection.begin()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
         trans.__exit__(None, None, None)
         assert not trans.is_active
         self.assert_(
@@ -285,9 +293,9 @@ class TransactionTest(fixtures.TablesTest):
         connection = local_connection
         users = self.tables.users
         transaction = connection.begin()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
-        connection.execute(users.insert(), user_id=2, user_name="user2")
-        connection.execute(users.insert(), user_id=3, user_name="user3")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
+        connection.execute(users.insert(), dict(user_id=2, user_name="user2"))
+        connection.execute(users.insert(), dict(user_id=3, user_name="user3"))
         assert connection.in_transaction()
         transaction.commit()
         assert not connection.in_transaction()
@@ -298,9 +306,9 @@ class TransactionTest(fixtures.TablesTest):
         connection = local_connection
         users = self.tables.users
         transaction = connection.begin()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
-        connection.execute(users.insert(), user_id=2, user_name="user2")
-        connection.execute(users.insert(), user_id=3, user_name="user3")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
+        connection.execute(users.insert(), dict(user_id=2, user_name="user2"))
+        connection.execute(users.insert(), dict(user_id=3, user_name="user3"))
         assert connection.in_transaction()
         transaction.close()
         assert not connection.in_transaction()
@@ -312,11 +320,11 @@ class TransactionTest(fixtures.TablesTest):
         connection = local_connection
         users = self.tables.users
         transaction = connection.begin()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
         trans2 = connection.begin_nested()
-        connection.execute(users.insert(), user_id=2, user_name="user2")
+        connection.execute(users.insert(), dict(user_id=2, user_name="user2"))
         trans2.rollback()
-        connection.execute(users.insert(), user_id=3, user_name="user3")
+        connection.execute(users.insert(), dict(user_id=3, user_name="user3"))
         transaction.commit()
         eq_(
             connection.execute(
@@ -330,11 +338,11 @@ class TransactionTest(fixtures.TablesTest):
         connection = local_connection
         users = self.tables.users
         transaction = connection.begin()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
         trans2 = connection.begin_nested()
-        connection.execute(users.insert(), user_id=2, user_name="user2")
+        connection.execute(users.insert(), dict(user_id=2, user_name="user2"))
         trans2.commit()
-        connection.execute(users.insert(), user_id=3, user_name="user3")
+        connection.execute(users.insert(), dict(user_id=3, user_name="user3"))
         transaction.commit()
         eq_(
             connection.execute(
@@ -348,18 +356,18 @@ class TransactionTest(fixtures.TablesTest):
         connection = local_connection
         users = self.tables.users
         transaction = connection.begin_twophase()
-        connection.execute(users.insert(), user_id=1, user_name="user1")
+        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
         transaction.prepare()
         transaction.commit()
         transaction = connection.begin_twophase()
-        connection.execute(users.insert(), user_id=2, user_name="user2")
+        connection.execute(users.insert(), dict(user_id=2, user_name="user2"))
         transaction.commit()
         transaction.close()
         transaction = connection.begin_twophase()
-        connection.execute(users.insert(), user_id=3, user_name="user3")
+        connection.execute(users.insert(), dict(user_id=3, user_name="user3"))
         transaction.rollback()
         transaction = connection.begin_twophase()
-        connection.execute(users.insert(), user_id=4, user_name="user4")
+        connection.execute(users.insert(), dict(user_id=4, user_name="user4"))
         transaction.prepare()
         transaction.rollback()
         transaction.close()
@@ -386,7 +394,9 @@ class TransactionTest(fixtures.TablesTest):
         connection = testing.db.connect()
 
         transaction = connection.begin_twophase()
-        connection.execute(users.insert(), dict(user_id=1, user_name="user1"))
+        connection.execute(
+            users.insert(), dict(dict(user_id=1, user_name="user1"))
+        )
         transaction.prepare()
         connection.invalidate()
 
@@ -415,18 +425,18 @@ class TransactionTest(fixtures.TablesTest):
         conn = local_connection
         users = self.tables.users
         xa = conn.begin_twophase()
-        conn.execute(users.insert(), user_id=1, user_name="user1")
+        conn.execute(users.insert(), dict(user_id=1, user_name="user1"))
         xa.prepare()
         xa.commit()
         xa = conn.begin_twophase()
-        conn.execute(users.insert(), user_id=2, user_name="user2")
+        conn.execute(users.insert(), dict(user_id=2, user_name="user2"))
         xa.prepare()
         xa.rollback()
         xa = conn.begin_twophase()
-        conn.execute(users.insert(), user_id=3, user_name="user3")
+        conn.execute(users.insert(), dict(user_id=3, user_name="user3"))
         xa.rollback()
         xa = conn.begin_twophase()
-        conn.execute(users.insert(), user_id=4, user_name="user4")
+        conn.execute(users.insert(), dict(user_id=4, user_name="user4"))
         xa.prepare()
         xa.commit()
         result = conn.execute(
@@ -456,7 +466,7 @@ class TransactionTest(fixtures.TablesTest):
             rec = conn.connection._connection_record
             raw_dbapi_con = rec.connection
             conn.begin_twophase()
-            conn.execute(users.insert(), user_id=1, user_name="user1")
+            conn.execute(users.insert(), dict(user_id=1, user_name="user1"))
 
         assert rec.connection is raw_dbapi_con
 
index 15063ebe929fd46e6e3d348ab09e525a32ba65c0..ce012d381f73c7de7d8615bb5835bcfd58ecb396 100644 (file)
@@ -2201,6 +2201,10 @@ class AutocommitClosesOnFailTest(fixtures.MappedTest):
     __requires__ = ("deferrable_fks",)
     __only_on__ = ("postgresql+psycopg2",)  # needs #5824 for asyncpg
 
+    # this test has a lot of problems, am investigating asyncpg
+    # issues separately.  just get this legacy use case to pass for now.
+    __only_on__ = ("postgresql+psycopg2",)
+
     @classmethod
     def define_tables(cls, metadata):
         Table("t1", metadata, Column("id", Integer, primary_key=True))
@@ -2239,7 +2243,7 @@ class AutocommitClosesOnFailTest(fixtures.MappedTest):
     def test_close_transaction_on_commit_fail(self):
         T2 = self.classes.T2
 
-        session = fixture_session(autocommit=True)
+        session = Session(testing.db, autocommit=True)
 
         # with a deferred constraint, this fails at COMMIT time instead
         # of at INSERT time.
index 7eedb37c92879c5224c5f4e73ec719c257fbed96..0f67aa94dbfe3e1002cea3896c1ec21e9cd76056 100644 (file)
@@ -4969,19 +4969,23 @@ class CorrelatedSubqueryTest(fixtures.MappedTest):
 
         connection.execute(
             users.insert(),
-            {"id": 1, "name": "user1"},
-            {"id": 2, "name": "user2"},
-            {"id": 3, "name": "user3"},
+            [
+                {"id": 1, "name": "user1"},
+                {"id": 2, "name": "user2"},
+                {"id": 3, "name": "user3"},
+            ],
         )
 
         connection.execute(
             stuff.insert(),
-            {"id": 1, "user_id": 1, "date": datetime.date(2007, 10, 15)},
-            {"id": 2, "user_id": 1, "date": datetime.date(2007, 12, 15)},
-            {"id": 3, "user_id": 1, "date": datetime.date(2007, 11, 15)},
-            {"id": 4, "user_id": 2, "date": datetime.date(2008, 1, 15)},
-            {"id": 5, "user_id": 3, "date": datetime.date(2007, 6, 15)},
-            {"id": 6, "user_id": 3, "date": datetime.date(2007, 3, 15)},
+            [
+                {"id": 1, "user_id": 1, "date": datetime.date(2007, 10, 15)},
+                {"id": 2, "user_id": 1, "date": datetime.date(2007, 12, 15)},
+                {"id": 3, "user_id": 1, "date": datetime.date(2007, 11, 15)},
+                {"id": 4, "user_id": 2, "date": datetime.date(2008, 1, 15)},
+                {"id": 5, "user_id": 3, "date": datetime.date(2007, 6, 15)},
+                {"id": 6, "user_id": 3, "date": datetime.date(2007, 3, 15)},
+            ],
         )
 
     def test_labeled_on_date_noalias(self):
index 5771ee5385daa1a5e3ec2033c797ae69b5f81eb4..95efae850e7e5697c2842c2c7330e9aea446ba53 100644 (file)
@@ -1392,14 +1392,18 @@ class PolymorphicExpireTest(fixtures.MappedTest):
 
         connection.execute(
             people.insert(),
-            {"person_id": 1, "name": "person1", "type": "person"},
-            {"person_id": 2, "name": "engineer1", "type": "engineer"},
-            {"person_id": 3, "name": "engineer2", "type": "engineer"},
+            [
+                {"person_id": 1, "name": "person1", "type": "person"},
+                {"person_id": 2, "name": "engineer1", "type": "engineer"},
+                {"person_id": 3, "name": "engineer2", "type": "engineer"},
+            ],
         )
         connection.execute(
             engineers.insert(),
-            {"person_id": 2, "status": "new engineer"},
-            {"person_id": 3, "status": "old engineer"},
+            [
+                {"person_id": 2, "status": "new engineer"},
+                {"person_id": 3, "status": "old engineer"},
+            ],
         )
 
     @classmethod
index 43cf81e6d4159c75feb1ca166236994706402995..921a1b15de16ffe81aa098bcd60f956a6e1e5280 100644 (file)
@@ -1184,18 +1184,22 @@ class CorrelatedTest(fixtures.MappedTest):
 
         connection.execute(
             user_t.insert(),
-            {"id": 1, "name": "user1"},
-            {"id": 2, "name": "user2"},
-            {"id": 3, "name": "user3"},
+            [
+                {"id": 1, "name": "user1"},
+                {"id": 2, "name": "user2"},
+                {"id": 3, "name": "user3"},
+            ],
         )
 
         connection.execute(
             stuff.insert(),
-            {"id": 1, "user_id": 1, "date": datetime.date(2007, 10, 15)},
-            {"id": 2, "user_id": 1, "date": datetime.date(2007, 12, 15)},
-            {"id": 3, "user_id": 1, "date": datetime.date(2007, 11, 15)},
-            {"id": 4, "user_id": 2, "date": datetime.date(2008, 1, 15)},
-            {"id": 5, "user_id": 3, "date": datetime.date(2007, 6, 15)},
+            [
+                {"id": 1, "user_id": 1, "date": datetime.date(2007, 10, 15)},
+                {"id": 2, "user_id": 1, "date": datetime.date(2007, 12, 15)},
+                {"id": 3, "user_id": 1, "date": datetime.date(2007, 11, 15)},
+                {"id": 4, "user_id": 2, "date": datetime.date(2008, 1, 15)},
+                {"id": 5, "user_id": 3, "date": datetime.date(2007, 6, 15)},
+            ],
         )
 
     def test_correlated_lazyload(self):
@@ -1308,8 +1312,10 @@ class O2MWOSideFixedTest(fixtures.MappedTest):
 
                 conn.execute(
                     person.insert(),
-                    {"id": 1, "city_id": 1},
-                    {"id": 2, "city_id": 1},
+                    [
+                        {"id": 1, "city_id": 1},
+                        {"id": 2, "city_id": 1},
+                    ],
                 )
 
             conn.execute(city.insert(), {"id": 2, "deleted": True})
index 4a3fee6343272e4e5fffc8dd8ba606777e9355e7..6ad612b7404f9f535977a7d9c6d92881c4d76e46 100644 (file)
@@ -315,9 +315,15 @@ class NaturalPKTest(fixtures.MappedTest):
         )
 
         with testing.db.begin() as conn:
-            conn.execute(users.insert(), username="jack", fullname="jack")
-            conn.execute(addresses.insert(), email="jack1", username="jack")
-            conn.execute(addresses.insert(), email="jack2", username="jack")
+            conn.execute(
+                users.insert(), dict(username="jack", fullname="jack")
+            )
+            conn.execute(
+                addresses.insert(), dict(email="jack1", username="jack")
+            )
+            conn.execute(
+                addresses.insert(), dict(email="jack2", username="jack")
+            )
 
         mapper(User, users)
         mapper(
index 8be7eed1f51d0143774cfcfc719cf25fba1831a9..7f83917085345887e05513718049d8a45bb20ca8 100644 (file)
@@ -980,12 +980,12 @@ class PKDefaultTest(fixtures.TablesTest):
                 options={"implicit_returning": returning}
             )
         with engine.begin() as conn:
-            conn.execute(t2.insert(), nextid=1)
-            r = conn.execute(t1.insert(), data="hi")
+            conn.execute(t2.insert(), dict(nextid=1))
+            r = conn.execute(t1.insert(), dict(data="hi"))
             eq_((1,), r.inserted_primary_key)
 
-            conn.execute(t2.insert(), nextid=2)
-            r = conn.execute(t1.insert(), data="there")
+            conn.execute(t2.insert(), dict(nextid=2))
+            r = conn.execute(t1.insert(), dict(data="there"))
             eq_((2,), r.inserted_primary_key)
 
             r = conn.execute(date_table.insert())
@@ -1015,19 +1015,19 @@ class PKIncrementTest(fixtures.TablesTest):
         aitable = self.tables.aitable
 
         ids = set()
-        rs = connection.execute(aitable.insert(), int1=1)
+        rs = connection.execute(aitable.insert(), dict(int1=1))
         last = rs.inserted_primary_key[0]
         self.assert_(last)
         self.assert_(last not in ids)
         ids.add(last)
 
-        rs = connection.execute(aitable.insert(), str1="row 2")
+        rs = connection.execute(aitable.insert(), dict(str1="row 2"))
         last = rs.inserted_primary_key[0]
         self.assert_(last)
         self.assert_(last not in ids)
         ids.add(last)
 
-        rs = connection.execute(aitable.insert(), int1=3, str1="row 3")
+        rs = connection.execute(aitable.insert(), dict(int1=3, str1="row 3"))
         last = rs.inserted_primary_key[0]
         self.assert_(last)
         self.assert_(last not in ids)
@@ -1066,14 +1066,13 @@ class EmptyInsertTest(fixtures.TestBase):
     __backend__ = True
 
     @testing.fails_on("oracle", "FIXME: unknown")
-    @testing.provide_metadata
-    def test_empty_insert(self, connection):
+    def test_empty_insert(self, metadata, connection):
         t1 = Table(
             "t1",
-            self.metadata,
+            metadata,
             Column("is_true", Boolean, server_default=("1")),
         )
-        self.metadata.create_all(connection)
+        metadata.create_all(connection)
         connection.execute(t1.insert())
         eq_(
             1,
index 7775652208b6f21c724a47a16117db8dafcb57bd..903da2f3448c309407c3ce27ad78f1f0d1867888 100644 (file)
@@ -1089,7 +1089,7 @@ class KeyTargetingTest(fixtures.TablesTest):
         conn.execute(cls.tables.keyed2.insert(), dict(a="a2", b="b2"))
         conn.execute(cls.tables.keyed3.insert(), dict(a="a3", d="d3"))
         conn.execute(cls.tables.keyed4.insert(), dict(b="b4", q="q4"))
-        conn.execute(cls.tables.content.insert(), type="t1")
+        conn.execute(cls.tables.content.insert(), dict(type="t1"))
 
         if testing.requires.schemas.enabled:
             conn.execute(
@@ -1475,8 +1475,10 @@ class CursorResultTest(fixtures.TablesTest):
 
         connection.execute(
             users.insert(),
-            dict(user_id=1, user_name="john"),
-            dict(user_id=2, user_name="jack"),
+            [
+                dict(user_id=1, user_name="john"),
+                dict(user_id=2, user_name="jack"),
+            ],
         )
 
     def test_column_accessor_textual_select(self, connection):
@@ -1602,9 +1604,11 @@ class CursorResultTest(fixtures.TablesTest):
             conn.execute(users.delete())
             conn.execute(
                 users.insert(),
-                {"user_id": 7, "user_name": "jack"},
-                {"user_id": 8, "user_name": "ed"},
-                {"user_id": 9, "user_name": "fred"},
+                [
+                    {"user_id": 7, "user_name": "jack"},
+                    {"user_id": 8, "user_name": "ed"},
+                    {"user_id": 9, "user_name": "fred"},
+                ],
             )
 
             for pickle in False, True:
index 32ea642d744432e20671b5fe24e41883309aaff9..50f50f0f0fd27d89a4d6884b59f4ce4143636c93 100644 (file)
@@ -1024,7 +1024,7 @@ class ExecuteTest(fixtures.TestBase):
         connection.execute(t2.insert().values(value=func.length("one")))
         connection.execute(
             t2.insert().values(value=func.length("asfda") + -19),
-            stuff="hi",
+            dict(stuff="hi"),
         )
 
         res = sorted(connection.execute(select(t2.c.value, t2.c.stuff)))
@@ -1032,7 +1032,7 @@ class ExecuteTest(fixtures.TestBase):
 
         connection.execute(
             t2.update().values(value=func.length("asdsafasd")),
-            stuff="some stuff",
+            dict(stuff="some stuff"),
         )
         eq_(
             connection.execute(select(t2.c.value, t2.c.stuff)).fetchall(),
index 198ff48c08040141c241e1d1e3b1f865bfc96cd8..ba763772c7291f6d5309d1811af471b39fbfb7ee 100644 (file)
@@ -82,9 +82,11 @@ class InsertExecTest(fixtures.TablesTest):
         # a length check on all subsequent parameters.
         connection.execute(
             users.insert(),
-            {"user_id": 7},
-            {"user_id": 8, "user_name": "ed"},
-            {"user_id": 9},
+            [
+                {"user_id": 7},
+                {"user_id": 8, "user_name": "ed"},
+                {"user_id": 9},
+            ],
         )
 
     def _test_lastrow_accessor(self, table_, values, assertvalues):
@@ -107,7 +109,7 @@ class InsertExecTest(fixtures.TablesTest):
                     is_(bool(comp.returning), True)
 
             with engine.begin() as connection:
-                result = connection.execute(table_.insert(), **values)
+                result = connection.execute(table_.insert(), values)
                 ret = values.copy()
 
                 for col, id_ in zip(
index 3047b5d0968736fecf481812ea2ff7c74582a742..903a6f23e4923ae02dfe018c63ba2107f4886657 100644 (file)
@@ -86,9 +86,11 @@ class QueryTest(fixtures.TablesTest):
 
         connection.execute(
             users.insert(),
-            {"user_id": 7, "user_name": "jack"},
-            {"user_id": 8, "user_name": "ed"},
-            {"user_id": 9, "user_name": "fred"},
+            [
+                {"user_id": 7, "user_name": "jack"},
+                {"user_id": 8, "user_name": "ed"},
+                {"user_id": 9, "user_name": "fred"},
+            ],
         )
 
         concat = ("test: " + users.c.user_name).label("thedata")
@@ -115,9 +117,11 @@ class QueryTest(fixtures.TablesTest):
         users = self.tables.users
         connection.execute(
             users.insert(),
-            {"user_id": 7, "user_name": "jack"},
-            {"user_id": 8, "user_name": "ed"},
-            {"user_id": 9, "user_name": "fred"},
+            [
+                {"user_id": 7, "user_name": "jack"},
+                {"user_id": 8, "user_name": "ed"},
+                {"user_id": 9, "user_name": "fred"},
+            ],
         )
 
         concat = ("test: " + users.c.user_name).label("thedata")
@@ -171,11 +175,13 @@ class QueryTest(fixtures.TablesTest):
         users = self.tables.users
         connection.execute(
             users.insert(),
-            {"user_id": 1, "user_name": "apples"},
-            {"user_id": 2, "user_name": "oranges"},
-            {"user_id": 3, "user_name": "bananas"},
-            {"user_id": 4, "user_name": "legumes"},
-            {"user_id": 5, "user_name": "hi % there"},
+            [
+                {"user_id": 1, "user_name": "apples"},
+                {"user_id": 2, "user_name": "oranges"},
+                {"user_id": 3, "user_name": "bananas"},
+                {"user_id": 4, "user_name": "legumes"},
+                {"user_id": 5, "user_name": "hi % there"},
+            ],
         )
 
         for expr, result in (
@@ -223,10 +229,12 @@ class QueryTest(fixtures.TablesTest):
         users = self.tables.users
         connection.execute(
             users.insert(),
-            {"user_id": 1, "user_name": "one"},
-            {"user_id": 2, "user_name": "TwO"},
-            {"user_id": 3, "user_name": "ONE"},
-            {"user_id": 4, "user_name": "OnE"},
+            [
+                {"user_id": 1, "user_name": "one"},
+                {"user_id": 2, "user_name": "TwO"},
+                {"user_id": 3, "user_name": "ONE"},
+                {"user_id": 4, "user_name": "OnE"},
+            ],
         )
 
         eq_(
@@ -263,25 +271,26 @@ class QueryTest(fixtures.TablesTest):
 
     def test_compiled_execute(self, connection):
         users = self.tables.users
-        connection.execute(users.insert(), user_id=7, user_name="jack")
+        connection.execute(users.insert(), dict(user_id=7, user_name="jack"))
         s = (
             select(users)
             .where(users.c.user_id == bindparam("id"))
             .compile(connection)
         )
-        eq_(connection.execute(s, id=7).first()._mapping["user_id"], 7)
+        eq_(connection.execute(s, dict(id=7)).first()._mapping["user_id"], 7)
 
     def test_compiled_insert_execute(self, connection):
         users = self.tables.users
         connection.execute(
-            users.insert().compile(connection), user_id=7, user_name="jack"
+            users.insert().compile(connection),
+            dict(user_id=7, user_name="jack"),
         )
         s = (
             select(users)
             .where(users.c.user_id == bindparam("id"))
             .compile(connection)
         )
-        eq_(connection.execute(s, id=7).first()._mapping["user_id"], 7)
+        eq_(connection.execute(s, dict(id=7)).first()._mapping["user_id"], 7)
 
     def test_repeated_bindparams(self, connection):
         """Tests that a BindParam can be used more than once.
@@ -291,12 +300,12 @@ class QueryTest(fixtures.TablesTest):
         """
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=7, user_name="jack")
-        connection.execute(users.insert(), user_id=8, user_name="fred")
+        connection.execute(users.insert(), dict(user_id=7, user_name="jack"))
+        connection.execute(users.insert(), dict(user_id=8, user_name="fred"))
 
         u = bindparam("userid")
         s = users.select(and_(users.c.user_name == u, users.c.user_name == u))
-        r = connection.execute(s, userid="fred").fetchall()
+        r = connection.execute(s, dict(userid="fred")).fetchall()
         assert len(r) == 1
 
     def test_bindparam_detection(self):
@@ -365,9 +374,9 @@ class QueryTest(fixtures.TablesTest):
 
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=1, user_name="c")
-        connection.execute(users.insert(), user_id=2, user_name="b")
-        connection.execute(users.insert(), user_id=3, user_name="a")
+        connection.execute(users.insert(), dict(user_id=1, user_name="c"))
+        connection.execute(users.insert(), dict(user_id=2, user_name="b"))
+        connection.execute(users.insert(), dict(user_id=3, user_name="a"))
 
         def a_eq(executable, wanted):
             got = list(connection.execute(executable))
@@ -467,9 +476,9 @@ class QueryTest(fixtures.TablesTest):
 
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=1)
-        connection.execute(users.insert(), user_id=2, user_name="b")
-        connection.execute(users.insert(), user_id=3, user_name="a")
+        connection.execute(users.insert(), dict(user_id=1))
+        connection.execute(users.insert(), dict(user_id=2, user_name="b"))
+        connection.execute(users.insert(), dict(user_id=3, user_name="a"))
 
         def a_eq(executable, wanted):
             got = list(connection.execute(executable))
@@ -563,9 +572,9 @@ class QueryTest(fixtures.TablesTest):
         """test the behavior of the in_() function."""
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=7, user_name="jack")
-        connection.execute(users.insert(), user_id=8, user_name="fred")
-        connection.execute(users.insert(), user_id=9, user_name=None)
+        connection.execute(users.insert(), dict(user_id=7, user_name="jack"))
+        connection.execute(users.insert(), dict(user_id=8, user_name="fred"))
+        connection.execute(users.insert(), dict(user_id=9, user_name=None))
 
         s = users.select(users.c.user_name.in_([]))
         r = connection.execute(s).fetchall()
@@ -821,16 +830,16 @@ class QueryTest(fixtures.TablesTest):
 
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=7, user_name="jack")
-        connection.execute(users.insert(), user_id=8, user_name="fred")
-        connection.execute(users.insert(), user_id=9, user_name=None)
+        connection.execute(users.insert(), dict(user_id=7, user_name="jack"))
+        connection.execute(users.insert(), dict(user_id=8, user_name="fred"))
+        connection.execute(users.insert(), dict(user_id=9, user_name=None))
 
         u = bindparam("search_key", type_=String)
 
         s = users.select(not_(u.in_([])))
-        r = connection.execute(s, search_key="john").fetchall()
+        r = connection.execute(s, dict(search_key="john")).fetchall()
         assert len(r) == 3
-        r = connection.execute(s, search_key=None).fetchall()
+        r = connection.execute(s, dict(search_key=None)).fetchall()
         assert len(r) == 3
 
     def test_literal_in(self, connection):
@@ -838,9 +847,9 @@ class QueryTest(fixtures.TablesTest):
 
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=7, user_name="jack")
-        connection.execute(users.insert(), user_id=8, user_name="fred")
-        connection.execute(users.insert(), user_id=9, user_name=None)
+        connection.execute(users.insert(), dict(user_id=7, user_name="jack"))
+        connection.execute(users.insert(), dict(user_id=8, user_name="fred"))
+        connection.execute(users.insert(), dict(user_id=9, user_name=None))
 
         s = users.select(not_(literal("john").in_([])))
         r = connection.execute(s).fetchall()
@@ -891,14 +900,6 @@ class RequiredBindTest(fixtures.TablesTest):
 
     def _assert_raises(self, stmt, params):
         with testing.db.connect() as conn:
-            assert_raises_message(
-                exc.StatementError,
-                "A value is required for bind parameter 'x'",
-                conn.execute,
-                stmt,
-                **params
-            )
-
             assert_raises_message(
                 exc.StatementError,
                 "A value is required for bind parameter 'x'",
@@ -967,33 +968,33 @@ class LimitTest(fixtures.TablesTest):
     def insert_data(cls, connection):
         users, addresses = cls.tables("users", "addresses")
         conn = connection
-        conn.execute(users.insert(), user_id=1, user_name="john")
+        conn.execute(users.insert(), dict(user_id=1, user_name="john"))
         conn.execute(
-            addresses.insert(), address_id=1, user_id=1, address="addr1"
+            addresses.insert(), dict(address_id=1, user_id=1, address="addr1")
         )
-        conn.execute(users.insert(), user_id=2, user_name="jack")
+        conn.execute(users.insert(), dict(user_id=2, user_name="jack"))
         conn.execute(
-            addresses.insert(), address_id=2, user_id=2, address="addr1"
+            addresses.insert(), dict(address_id=2, user_id=2, address="addr1")
         )
-        conn.execute(users.insert(), user_id=3, user_name="ed")
+        conn.execute(users.insert(), dict(user_id=3, user_name="ed"))
         conn.execute(
-            addresses.insert(), address_id=3, user_id=3, address="addr2"
+            addresses.insert(), dict(address_id=3, user_id=3, address="addr2")
         )
-        conn.execute(users.insert(), user_id=4, user_name="wendy")
+        conn.execute(users.insert(), dict(user_id=4, user_name="wendy"))
         conn.execute(
-            addresses.insert(), address_id=4, user_id=4, address="addr3"
+            addresses.insert(), dict(address_id=4, user_id=4, address="addr3")
         )
-        conn.execute(users.insert(), user_id=5, user_name="laura")
+        conn.execute(users.insert(), dict(user_id=5, user_name="laura"))
         conn.execute(
-            addresses.insert(), address_id=5, user_id=5, address="addr4"
+            addresses.insert(), dict(address_id=5, user_id=5, address="addr4")
         )
-        conn.execute(users.insert(), user_id=6, user_name="ralph")
+        conn.execute(users.insert(), dict(user_id=6, user_name="ralph"))
         conn.execute(
-            addresses.insert(), address_id=6, user_id=6, address="addr5"
+            addresses.insert(), dict(address_id=6, user_id=6, address="addr5")
         )
-        conn.execute(users.insert(), user_id=7, user_name="fido")
+        conn.execute(users.insert(), dict(user_id=7, user_name="fido"))
         conn.execute(
-            addresses.insert(), address_id=7, user_id=7, address="addr5"
+            addresses.insert(), dict(address_id=7, user_id=7, address="addr5")
         )
 
     def test_select_limit(self, connection):
@@ -1510,16 +1511,22 @@ class JoinTest(fixtures.TablesTest):
 
         conn.execute(
             t1.insert(),
-            {"t1_id": 10, "name": "t1 #10"},
-            {"t1_id": 11, "name": "t1 #11"},
-            {"t1_id": 12, "name": "t1 #12"},
+            [
+                {"t1_id": 10, "name": "t1 #10"},
+                {"t1_id": 11, "name": "t1 #11"},
+                {"t1_id": 12, "name": "t1 #12"},
+            ],
         )
         conn.execute(
             t2.insert(),
-            {"t2_id": 20, "t1_id": 10, "name": "t2 #20"},
-            {"t2_id": 21, "t1_id": 11, "name": "t2 #21"},
+            [
+                {"t2_id": 20, "t1_id": 10, "name": "t2 #20"},
+                {"t2_id": 21, "t1_id": 11, "name": "t2 #21"},
+            ],
+        )
+        conn.execute(
+            t3.insert(), [{"t3_id": 30, "t2_id": 20, "name": "t3 #30"}]
         )
-        conn.execute(t3.insert(), {"t3_id": 30, "t2_id": 20, "name": "t3 #30"})
 
     def assertRows(self, statement, expected):
         """Execute a statement and assert that rows returned equal expected."""
index 7ad12c62037d8c333c792c87114b0a980f97a436..23aa703d368558432a64cd102c25e8eb5b99eb97 100644 (file)
@@ -95,9 +95,11 @@ class CursorResultTest(fixtures.TablesTest):
 
         connection.execute(
             users.insert(),
-            {"user_id": 7, "user_name": "jack"},
-            {"user_id": 8, "user_name": "ed"},
-            {"user_id": 9, "user_name": "fred"},
+            [
+                {"user_id": 7, "user_name": "jack"},
+                {"user_id": 8, "user_name": "ed"},
+                {"user_id": 9, "user_name": "fred"},
+            ],
         )
         r = connection.execute(users.select())
         rows = []
@@ -110,9 +112,11 @@ class CursorResultTest(fixtures.TablesTest):
 
         connection.execute(
             users.insert(),
-            {"user_id": 7, "user_name": "jack"},
-            {"user_id": 8, "user_name": "ed"},
-            {"user_id": 9, "user_name": "fred"},
+            [
+                {"user_id": 7, "user_name": "jack"},
+                {"user_id": 8, "user_name": "ed"},
+                {"user_id": 9, "user_name": "fred"},
+            ],
         )
         r = connection.execute(users.select())
         rows = []
@@ -129,9 +133,11 @@ class CursorResultTest(fixtures.TablesTest):
 
         connection.execute(
             users.insert(),
-            {"user_id": 7, "user_name": "jack"},
-            {"user_id": 8, "user_name": "ed"},
-            {"user_id": 9, "user_name": "fred"},
+            [
+                {"user_id": 7, "user_name": "jack"},
+                {"user_id": 8, "user_name": "ed"},
+                {"user_id": 9, "user_name": "fred"},
+            ],
         )
 
         sel = (
@@ -148,7 +154,7 @@ class CursorResultTest(fixtures.TablesTest):
     def test_row_comparison(self, connection):
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=7, user_name="jack")
+        connection.execute(users.insert(), dict(user_id=7, user_name="jack"))
         rp = connection.execute(users.select()).first()
 
         eq_(rp, rp)
@@ -222,9 +228,11 @@ class CursorResultTest(fixtures.TablesTest):
 
         connection.execute(
             users.insert(),
-            {"user_id": 7, "user_name": "jack"},
-            {"user_id": 8, "user_name": "ed"},
-            {"user_id": 9, "user_name": "fred"},
+            [
+                {"user_id": 7, "user_name": "jack"},
+                {"user_id": 8, "user_name": "ed"},
+                {"user_id": 9, "user_name": "fred"},
+            ],
         )
 
         for pickle in False, True:
@@ -330,10 +338,11 @@ class CursorResultTest(fixtures.TablesTest):
         users = self.tables.users
         addresses = self.tables.addresses
 
-        connection.execute(users.insert(), user_id=1, user_name="john")
-        connection.execute(users.insert(), user_id=2, user_name="jack")
+        connection.execute(users.insert(), dict(user_id=1, user_name="john"))
+        connection.execute(users.insert(), dict(user_id=2, user_name="jack"))
         connection.execute(
-            addresses.insert(), address_id=1, user_id=2, address="foo@bar.com"
+            addresses.insert(),
+            dict(address_id=1, user_id=2, address="foo@bar.com"),
         )
 
         r = connection.execute(text("select * from addresses")).first()
@@ -345,10 +354,11 @@ class CursorResultTest(fixtures.TablesTest):
         users = self.tables.users
         addresses = self.tables.addresses
 
-        connection.execute(users.insert(), user_id=1, user_name="john")
-        connection.execute(users.insert(), user_id=2, user_name="jack")
+        connection.execute(users.insert(), dict(user_id=1, user_name="john"))
+        connection.execute(users.insert(), dict(user_id=2, user_name="jack"))
         connection.execute(
-            addresses.insert(), address_id=1, user_id=2, address="foo@bar.com"
+            addresses.insert(),
+            dict(address_id=1, user_id=2, address="foo@bar.com"),
         )
 
         r = connection.execute(text("select * from addresses"))
@@ -362,8 +372,10 @@ class CursorResultTest(fixtures.TablesTest):
 
         connection.execute(
             users.insert(),
-            dict(user_id=1, user_name="john"),
-            dict(user_id=2, user_name="jack"),
+            [
+                dict(user_id=1, user_name="john"),
+                dict(user_id=2, user_name="jack"),
+            ],
         )
 
         r = connection.execute(users.select(users.c.user_id == 2)).first()
@@ -380,8 +392,10 @@ class CursorResultTest(fixtures.TablesTest):
 
         connection.execute(
             users.insert(),
-            dict(user_id=1, user_name="john"),
-            dict(user_id=2, user_name="jack"),
+            [
+                dict(user_id=1, user_name="john"),
+                dict(user_id=2, user_name="jack"),
+            ],
         )
 
         r = connection.execute(users.select(users.c.user_id == 2)).first()
@@ -399,8 +413,10 @@ class CursorResultTest(fixtures.TablesTest):
 
         connection.execute(
             users.insert(),
-            dict(user_id=1, user_name="john"),
-            dict(user_id=2, user_name="jack"),
+            [
+                dict(user_id=1, user_name="john"),
+                dict(user_id=2, user_name="jack"),
+            ],
         )
 
         r = connection.execute(
@@ -414,8 +430,10 @@ class CursorResultTest(fixtures.TablesTest):
 
         connection.execute(
             users.insert(),
-            dict(user_id=1, user_name="john"),
-            dict(user_id=2, user_name="jack"),
+            [
+                dict(user_id=1, user_name="john"),
+                dict(user_id=2, user_name="jack"),
+            ],
         )
         r = connection.execute(
             text("select * from users where user_id=2")
@@ -435,8 +453,10 @@ class CursorResultTest(fixtures.TablesTest):
 
         connection.execute(
             users.insert(),
-            dict(user_id=1, user_name="john"),
-            dict(user_id=2, user_name="jack"),
+            [
+                dict(user_id=1, user_name="john"),
+                dict(user_id=2, user_name="jack"),
+            ],
         )
         r = connection.execute(
             text("select * from users where user_id=2").columns(
@@ -457,8 +477,10 @@ class CursorResultTest(fixtures.TablesTest):
 
         connection.execute(
             users.insert(),
-            dict(user_id=1, user_name="john"),
-            dict(user_id=2, user_name="jack"),
+            [
+                dict(user_id=1, user_name="john"),
+                dict(user_id=2, user_name="jack"),
+            ],
         )
         # this will create column() objects inside
         # the select(), these need to match on name anyway
@@ -619,7 +641,7 @@ class CursorResultTest(fixtures.TablesTest):
             lambda r: r.cursor_strategy.fetchone(r, r.cursor),
         ]:
             trans = conn.begin()
-            result = conn.execute(users.insert(), user_id=1)
+            result = conn.execute(users.insert(), dict(user_id=1))
             assert_raises_message(
                 exc.ResourceClosedError,
                 "This result object does not return rows. "
@@ -691,7 +713,7 @@ class CursorResultTest(fixtures.TablesTest):
     def test_row_as_args(self, connection):
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=1, user_name="john")
+        connection.execute(users.insert(), dict(user_id=1, user_name="john"))
         r = connection.execute(users.select(users.c.user_id == 1)).first()
         connection.execute(users.delete())
         connection.execute(users.insert(), r._mapping)
@@ -719,7 +741,7 @@ class CursorResultTest(fixtures.TablesTest):
 
         connection.execute(users2.delete())
         r = connection.execute(users.select())
-        connection.execute(users2.insert(), *[row._mapping for row in r])
+        connection.execute(users2.insert(), [row._mapping for row in r])
         eq_(
             connection.execute(
                 users2.select().order_by(users2.c.user_id)
@@ -732,7 +754,7 @@ class CursorResultTest(fixtures.TablesTest):
         users = self.tables.users
         addresses = self.tables.addresses
 
-        connection.execute(users.insert(), user_id=1, user_name="john")
+        connection.execute(users.insert(), dict(user_id=1, user_name="john"))
         result = connection.execute(users.outerjoin(addresses).select())
         r = result.first()
 
@@ -775,7 +797,7 @@ class CursorResultTest(fixtures.TablesTest):
     def test_ambiguous_column_by_col(self, connection):
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=1, user_name="john")
+        connection.execute(users.insert(), dict(user_id=1, user_name="john"))
         ua = users.alias()
         u2 = users.alias()
         result = connection.execute(
@@ -807,7 +829,7 @@ class CursorResultTest(fixtures.TablesTest):
         # ticket 2702.  in 0.7 we'd get True, False.
         # in 0.8, both columns are present so it's True;
         # but when they're fetched you'll get the ambiguous error.
-        connection.execute(users.insert(), user_id=1, user_name="john")
+        connection.execute(users.insert(), dict(user_id=1, user_name="john"))
         result = connection.execute(
             select(users.c.user_id, addresses.c.user_id).select_from(
                 users.outerjoin(addresses)
@@ -896,7 +918,7 @@ class CursorResultTest(fixtures.TablesTest):
     def test_ambiguous_column_by_col_plus_label(self, connection):
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=1, user_name="john")
+        connection.execute(users.insert(), dict(user_id=1, user_name="john"))
         result = connection.execute(
             select(
                 users.c.user_id,
@@ -910,7 +932,7 @@ class CursorResultTest(fixtures.TablesTest):
     def test_fetch_partial_result_map(self, connection):
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=7, user_name="ed")
+        connection.execute(users.insert(), dict(user_id=7, user_name="ed"))
 
         t = text("select * from users").columns(user_name=String())
         eq_(connection.execute(t).fetchall(), [(7, "ed")])
@@ -918,7 +940,7 @@ class CursorResultTest(fixtures.TablesTest):
     def test_fetch_unordered_result_map(self, connection):
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=7, user_name="ed")
+        connection.execute(users.insert(), dict(user_id=7, user_name="ed"))
 
         class Goofy1(TypeDecorator):
             impl = String
@@ -948,7 +970,7 @@ class CursorResultTest(fixtures.TablesTest):
     def test_column_label_targeting(self, connection):
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=7, user_name="ed")
+        connection.execute(users.insert(), dict(user_id=7, user_name="ed"))
 
         for s in (
             users.select().alias("foo"),
@@ -962,7 +984,7 @@ class CursorResultTest(fixtures.TablesTest):
     def test_ro_mapping_py3k(self, connection):
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=1, user_name="foo")
+        connection.execute(users.insert(), dict(user_id=1, user_name="foo"))
         result = connection.execute(users.select())
 
         row = result.first()
@@ -985,7 +1007,7 @@ class CursorResultTest(fixtures.TablesTest):
     def test_ro_mapping_py2k(self, connection):
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=1, user_name="foo")
+        connection.execute(users.insert(), dict(user_id=1, user_name="foo"))
         result = connection.execute(users.select())
 
         row = result.first()
@@ -1012,7 +1034,7 @@ class CursorResultTest(fixtures.TablesTest):
         users = self.tables.users
         addresses = self.tables.addresses
 
-        connection.execute(users.insert(), user_id=1, user_name="foo")
+        connection.execute(users.insert(), dict(user_id=1, user_name="foo"))
         result = connection.execute(users.select())
 
         obj = get_object(result)
@@ -1041,7 +1063,7 @@ class CursorResultTest(fixtures.TablesTest):
     def test_row_mapping_keys(self, connection):
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=1, user_name="foo")
+        connection.execute(users.insert(), dict(user_id=1, user_name="foo"))
         result = connection.execute(users.select())
         eq_(result.keys(), ["user_id", "user_name"])
         row = result.first()
@@ -1055,7 +1077,7 @@ class CursorResultTest(fixtures.TablesTest):
     def test_row_keys_legacy_dont_warn(self, connection):
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=1, user_name="foo")
+        connection.execute(users.insert(), dict(user_id=1, user_name="foo"))
         result = connection.execute(users.select())
         row = result.first()
         # DO NOT WARN DEPRECATED IN 1.x, ONLY 2.0 WARNING
@@ -1065,7 +1087,7 @@ class CursorResultTest(fixtures.TablesTest):
     def test_row_namedtuple_legacy_ok(self, connection):
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=1, user_name="foo")
+        connection.execute(users.insert(), dict(user_id=1, user_name="foo"))
         result = connection.execute(users.select())
         row = result.first()
         eq_(row.user_id, 1)
@@ -1076,7 +1098,7 @@ class CursorResultTest(fixtures.TablesTest):
 
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=1, user_name="foo")
+        connection.execute(users.insert(), dict(user_id=1, user_name="foo"))
         result = connection.execute(
             select(
                 users.c.user_id,
@@ -1093,7 +1115,7 @@ class CursorResultTest(fixtures.TablesTest):
     def test_items(self, connection):
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=1, user_name="foo")
+        connection.execute(users.insert(), dict(user_id=1, user_name="foo"))
         r = connection.execute(users.select()).first()
         eq_(
             [(x[0].lower(), x[1]) for x in list(r._mapping.items())],
@@ -1119,9 +1141,11 @@ class CursorResultTest(fixtures.TablesTest):
 
         connection.execute(
             users.insert(),
-            dict(user_id=1, user_name="foo"),
-            dict(user_id=2, user_name="bar"),
-            dict(user_id=3, user_name="def"),
+            [
+                dict(user_id=1, user_name="foo"),
+                dict(user_id=2, user_name="bar"),
+                dict(user_id=3, user_name="def"),
+            ],
         )
 
         rows = connection.execute(
@@ -1136,7 +1160,7 @@ class CursorResultTest(fixtures.TablesTest):
         # should return values in column definition order
         users = self.tables.users
 
-        connection.execute(users.insert(), user_id=1, user_name="foo")
+        connection.execute(users.insert(), dict(user_id=1, user_name="foo"))
         r = connection.execute(users.select(users.c.user_id == 1)).first()
         eq_(r[0], 1)
         eq_(r[1], "foo")
@@ -1174,12 +1198,14 @@ class CursorResultTest(fixtures.TablesTest):
         self.metadata.create_all(connection)
         connection.execute(
             shadowed.insert(),
-            shadow_id=1,
-            shadow_name="The Shadow",
-            parent="The Light",
-            row="Without light there is no shadow",
-            _parent="Hidden parent",
-            _row="Hidden row",
+            dict(
+                shadow_id=1,
+                shadow_name="The Shadow",
+                parent="The Light",
+                row="Without light there is no shadow",
+                _parent="Hidden parent",
+                _row="Hidden row",
+            ),
         )
         r = connection.execute(
             shadowed.select(shadowed.c.shadow_id == 1)
@@ -1254,7 +1280,8 @@ class CursorResultTest(fixtures.TablesTest):
             with engine.begin() as conn:
                 mock_rowcount.__get__ = Mock()
                 conn.execute(
-                    t.insert(), {"data": "d1"}, {"data": "d2"}, {"data": "d3"}
+                    t.insert(),
+                    [{"data": "d1"}, {"data": "d2"}, {"data": "d3"}],
                 )
 
                 eq_(len(mock_rowcount.__get__.mock_calls), 0)
index 187cf0dd023f7935fe62f08c99022142a0f77a04..62d9ab75ec48690f8cdd5d901ca1702538a70bd1 100644 (file)
@@ -466,7 +466,7 @@ class KeyReturningTest(fixtures.TablesTest, AssertsExecutionResults):
     def test_insert(self, connection):
         table = self.tables.tables
         result = connection.execute(
-            table.insert().returning(table.c.foo_id), data="somedata"
+            table.insert().returning(table.c.foo_id), dict(data="somedata")
         )
         row = result.first()._mapping
         assert row[table.c.foo_id] == row["id"] == 1
index 719f8e3187aa5f08e7db8dedecf3c0fb605f904b..e6f7dbdaffa32eea32cfcc19610a707c4e0c698b 100644 (file)
@@ -336,9 +336,11 @@ class RoundTripTestBase(object):
     def test_round_trip(self, connection):
         connection.execute(
             self.tables.test_table.insert(),
-            {"x": "X1", "y": "Y1"},
-            {"x": "X2", "y": "Y2"},
-            {"x": "X3", "y": "Y3"},
+            [
+                {"x": "X1", "y": "Y1"},
+                {"x": "X2", "y": "Y2"},
+                {"x": "X3", "y": "Y3"},
+            ],
         )
 
         # test insert coercion alone
index 64ace87dfab066a5451eee94368bd94b39db90db..0a85414676b350b5748ef6a1d4f5f055709ff893 100644 (file)
@@ -1494,7 +1494,7 @@ class VariantTest(fixtures.TestBase, AssertsCompiledSQL):
         t = Table("t", self.metadata, Column("x", variant))
         t.create(connection)
 
-        connection.execute(t.insert(), x="foo")
+        connection.execute(t.insert(), dict(x="foo"))
 
         eq_(connection.scalar(select(t.c.x).where(t.c.x == "foo")), "fooUTWO")
 
@@ -1509,7 +1509,8 @@ class VariantTest(fixtures.TestBase, AssertsCompiledSQL):
         t.create(connection)
 
         connection.execute(
-            t.insert(), x=datetime.datetime(2015, 4, 18, 10, 15, 17, 4839)
+            t.insert(),
+            dict(x=datetime.datetime(2015, 4, 18, 10, 15, 17, 4839)),
         )
 
         eq_(
@@ -2418,28 +2419,34 @@ class BinaryTest(fixtures.TablesTest, AssertsExecutionResults):
         stream2 = self.load_stream("binary_data_two.dat")
         connection.execute(
             binary_table.insert(),
-            primary_id=1,
-            misc="binary_data_one.dat",
-            data=stream1,
-            data_slice=stream1[0:100],
-            pickled=testobj1,
-            mypickle=testobj3,
+            dict(
+                primary_id=1,
+                misc="binary_data_one.dat",
+                data=stream1,
+                data_slice=stream1[0:100],
+                pickled=testobj1,
+                mypickle=testobj3,
+            ),
         )
         connection.execute(
             binary_table.insert(),
-            primary_id=2,
-            misc="binary_data_two.dat",
-            data=stream2,
-            data_slice=stream2[0:99],
-            pickled=testobj2,
+            dict(
+                primary_id=2,
+                misc="binary_data_two.dat",
+                data=stream2,
+                data_slice=stream2[0:99],
+                pickled=testobj2,
+            ),
         )
         connection.execute(
             binary_table.insert(),
-            primary_id=3,
-            misc="binary_data_two.dat",
-            data=None,
-            data_slice=stream2[0:99],
-            pickled=None,
+            dict(
+                primary_id=3,
+                misc="binary_data_two.dat",
+                data=None,
+                data_slice=stream2[0:99],
+                pickled=None,
+            ),
         )
 
         for stmt in (
@@ -2475,7 +2482,7 @@ class BinaryTest(fixtures.TablesTest, AssertsExecutionResults):
         assert isinstance(expr.right.type, LargeBinary)
 
         data = os.urandom(32)
-        connection.execute(binary_table.insert(), data=data)
+        connection.execute(binary_table.insert(), dict(data=data))
         eq_(
             connection.scalar(
                 select(func.count("*"))
@@ -3299,7 +3306,7 @@ class NumericRawSQLTest(fixtures.TestBase):
     def _fixture(self, connection, metadata, type_, data):
         t = Table("t", metadata, Column("val", type_))
         metadata.create_all(connection)
-        connection.execute(t.insert(), val=data)
+        connection.execute(t.insert(), dict(val=data))
 
     @testing.fails_on("sqlite", "Doesn't provide Decimal results natively")
     @testing.provide_metadata
@@ -3379,9 +3386,11 @@ class IntervalTest(fixtures.TablesTest, AssertsExecutionResults):
         delta = datetime.timedelta(14)
         connection.execute(
             interval_table.insert(),
-            native_interval=small_delta,
-            native_interval_args=delta,
-            non_native_interval=delta,
+            dict(
+                native_interval=small_delta,
+                native_interval_args=delta,
+                non_native_interval=delta,
+            ),
         )
         row = connection.execute(interval_table.select()).first()
         eq_(row.native_interval, small_delta)
@@ -3393,9 +3402,11 @@ class IntervalTest(fixtures.TablesTest, AssertsExecutionResults):
 
         connection.execute(
             interval_table.insert(),
-            id=1,
-            native_inverval=None,
-            non_native_interval=None,
+            dict(
+                id=1,
+                native_inverval=None,
+                non_native_interval=None,
+            ),
         )
         row = connection.execute(interval_table.select()).first()
         eq_(row.native_interval, None)