summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy
diff options
context:
space:
mode:
authormike bayer <mike_mp@zzzcomputing.com>2022-08-04 13:32:17 +0000
committerGerrit Code Review <gerrit@ci3.zzzcomputing.com>2022-08-04 13:32:17 +0000
commit0027b3a4bc54599ac8102a4a3d81d8007738903e (patch)
tree5355294f6a81c5b413684dd371cc58c94bdcb5ab /lib/sqlalchemy
parentdc5a1c482ee1a8faf15fd81db866e5f72c1c719f (diff)
parentf684bb7659ff195d4c55414162c1de4fbfdafc2f (diff)
downloadsqlalchemy-0027b3a4bc54599ac8102a4a3d81d8007738903e.tar.gz
Merge "ensure RETURNING renders in stringify w/ no server version" into main
Diffstat (limited to 'lib/sqlalchemy')
-rw-r--r--lib/sqlalchemy/dialects/mysql/base.py6
-rw-r--r--lib/sqlalchemy/dialects/sqlite/base.py7
-rw-r--r--lib/sqlalchemy/engine/default.py4
3 files changed, 15 insertions, 2 deletions
diff --git a/lib/sqlalchemy/dialects/mysql/base.py b/lib/sqlalchemy/dialects/mysql/base.py
index 596ca34f2..9e7ba4646 100644
--- a/lib/sqlalchemy/dialects/mysql/base.py
+++ b/lib/sqlalchemy/dialects/mysql/base.py
@@ -2568,6 +2568,12 @@ class MySQLDialect(default.DefaultDialect):
# this would have been set by the default dialect already,
# so set it again
self.identifier_preparer = self.preparer(self)
+
+ # this will be updated on first connect in initialize()
+ # if using older mariadb version
+ self.delete_returning = True
+ self.insert_returning = True
+
self.is_mariadb = is_mariadb
def do_begin_twophase(self, connection, xid):
diff --git a/lib/sqlalchemy/dialects/sqlite/base.py b/lib/sqlalchemy/dialects/sqlite/base.py
index ce688741f..222f3a137 100644
--- a/lib/sqlalchemy/dialects/sqlite/base.py
+++ b/lib/sqlalchemy/dialects/sqlite/base.py
@@ -1930,6 +1930,9 @@ class SQLiteDialect(default.DefaultDialect):
tuple_in_values = True
supports_statement_cache = True
insert_null_pk_still_autoincrements = True
+ insert_returning = True
+ update_returning = True
+ delete_returning = True
default_paramstyle = "qmark"
execution_ctx_cls = SQLiteExecutionContext
@@ -2037,10 +2040,10 @@ class SQLiteDialect(default.DefaultDialect):
14,
)
- if self.dbapi.sqlite_version_info >= (3, 35):
+ if self.dbapi.sqlite_version_info < (3, 35):
self.update_returning = (
self.delete_returning
- ) = self.insert_returning = True
+ ) = self.insert_returning = False
_isolation_lookup = util.immutabledict(
{"READ UNCOMMITTED": 1, "SERIALIZABLE": 0}
diff --git a/lib/sqlalchemy/engine/default.py b/lib/sqlalchemy/engine/default.py
index cab96eac1..4b312dceb 100644
--- a/lib/sqlalchemy/engine/default.py
+++ b/lib/sqlalchemy/engine/default.py
@@ -903,6 +903,10 @@ class StrCompileDialect(DefaultDialect):
type_compiler_cls = compiler.StrSQLTypeCompiler
preparer = compiler.IdentifierPreparer
+ insert_returning = True
+ update_returning = True
+ delete_returning = True
+
supports_statement_cache = True
supports_identity_columns = True