summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--oslo_db/sqlalchemy/utils.py10
-rw-r--r--releasenotes/notes/deprecate-insert-from-select-ea831381ebd7e7cf.yaml6
2 files changed, 12 insertions, 4 deletions
diff --git a/oslo_db/sqlalchemy/utils.py b/oslo_db/sqlalchemy/utils.py
index 87c6f07..8ce7c2a 100644
--- a/oslo_db/sqlalchemy/utils.py
+++ b/oslo_db/sqlalchemy/utils.py
@@ -22,6 +22,7 @@ import itertools
import logging
import re
+import debtcollector
from oslo_utils import timeutils
import six
import sqlalchemy
@@ -415,13 +416,14 @@ def get_table(engine, name):
return Table(name, metadata, autoload=True)
+@debtcollector.removals.removed_class(
+ 'InsertFromSelect',
+ replacement='sqlalchemy.sql.expression.Insert.from_select',
+ message='this functionality is provided out-of-box by SQLAlchemy >= 1.0.0'
+)
class InsertFromSelect(object):
"""Form the base for `INSERT INTO table (SELECT ... )` statement.
- DEPRECATED: this class is deprecated and will be removed from oslo_db
- in a few releases. Use default SQLAlchemy insert from select implementation
- instead
-
:param table: table to insert records
:param select: select query
:param cols: list of columns to specify in insert clause
diff --git a/releasenotes/notes/deprecate-insert-from-select-ea831381ebd7e7cf.yaml b/releasenotes/notes/deprecate-insert-from-select-ea831381ebd7e7cf.yaml
new file mode 100644
index 0000000..88a06e2
--- /dev/null
+++ b/releasenotes/notes/deprecate-insert-from-select-ea831381ebd7e7cf.yaml
@@ -0,0 +1,6 @@
+---
+deprecations:
+ - class ``InsertFromSelect`` from module ``oslo_db.sqlalchemy.utils`` is
+ deprecated in favor of ``sqlalchemy.sql.expression.Insert.from_select()``
+ method of Insert expression, that is available in SQLAlchemy versions
+ 1.0.0 and newer