From 8eda9d7d0762ecbf7d50f2905206481d1fb3ed79 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sun, 26 Jul 2009 18:39:31 +0000 Subject: [PATCH] preexecute_pk_sequences indicates run the "default" separately to get its value --- lib/sqlalchemy/dialects/mssql/base.py | 3 ++- lib/sqlalchemy/dialects/mysql/zxjdbc.py | 4 +++- test/sql/test_defaults.py | 4 +--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/lib/sqlalchemy/dialects/mssql/base.py b/lib/sqlalchemy/dialects/mssql/base.py index 4dab0a25d3..7db0d25899 100644 --- a/lib/sqlalchemy/dialects/mssql/base.py +++ b/lib/sqlalchemy/dialects/mssql/base.py @@ -1143,7 +1143,8 @@ class MSDialect(default.DefaultDialect): schema_name = "dbo" colspecs = colspecs ischema_names = ischema_names - + preexecute_pk_sequences = True + supports_unicode_binds = True server_version_info = () diff --git a/lib/sqlalchemy/dialects/mysql/zxjdbc.py b/lib/sqlalchemy/dialects/mysql/zxjdbc.py index 3166248440..b32b6fe2a1 100644 --- a/lib/sqlalchemy/dialects/mysql/zxjdbc.py +++ b/lib/sqlalchemy/dialects/mysql/zxjdbc.py @@ -47,7 +47,9 @@ class MySQL_jdbc(ZxJDBCConnector, MySQLDialect): jdbc_db_name = 'mysql' jdbc_driver_name = "com.mysql.jdbc.Driver" - + + preexecute_pk_sequences = True + colspecs = util.update_copy( MySQLDialect.colspecs, { diff --git a/test/sql/test_defaults.py b/test/sql/test_defaults.py index 06488774a4..3f1c1c10d5 100644 --- a/test/sql/test_defaults.py +++ b/test/sql/test_defaults.py @@ -276,7 +276,7 @@ class DefaultTest(testing.TestBase): assert r.lastrow_has_defaults() eq_(set(r.context.postfetch_cols), set([t.c.col3, t.c.col5, t.c.col4, t.c.col6])) - + eq_(t.select(t.c.col1==54).execute().fetchall(), [(54, 'imthedefault', f, ts, ts, ctexec, True, False, 12, today, None)]) @@ -370,8 +370,6 @@ class PKDefaultTest(_base.TablesTest): default=sa.select([func.max(t2.c.nextid)]).as_scalar()), Column('data', String(30))) - @testing.fails_on('mssql', 'FIXME: unknown') - @testing.fails_on('mysql+zxjdbc', 'SELECT LAST_INSERT_ID() only returns the generated id') @testing.resolve_artifact_names def test_basic(self): t2.insert().execute(nextid=1) -- 2.47.3