From 8e3a05ab987dcb783385e555aa607248df1469ca Mon Sep 17 00:00:00 2001 From: Gord Thompson Date: Thu, 19 Dec 2019 19:58:52 -0500 Subject: Implement SQL VALUES in core. Added a core :class:`Values` object that enables a VALUES construct to be used in the FROM clause of an SQL statement for databases that support it (mainly PostgreSQL and SQL Server). Fixes: #4868 Closes: #5030 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/5030 Pull-request-sha: 84684038a8efa93b460318e0db53f6c644554588 Change-Id: Ib8109b63bc1a9dc04ab987c5322ca3375f7e824d --- lib/sqlalchemy/sql/expression.py | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/sqlalchemy/sql/expression.py') diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py index 780648df0..4dc2b8bbf 100644 --- a/lib/sqlalchemy/sql/expression.py +++ b/lib/sqlalchemy/sql/expression.py @@ -32,6 +32,7 @@ __all__ = [ "Selectable", "TableClause", "Update", + "Values", "alias", "and_", "asc", @@ -80,6 +81,7 @@ __all__ = [ "Subquery", "TableSample", "tablesample", + "values", ] @@ -156,6 +158,7 @@ from .selectable import TableClause # noqa from .selectable import TableSample # noqa from .selectable import TextAsFrom # noqa from .selectable import TextualSelect # noqa +from .selectable import Values # noqa from .visitors import Visitable # noqa from ..util.langhelpers import public_factory # noqa @@ -184,6 +187,7 @@ label = public_factory(Label, ".sql.expression.label") case = public_factory(Case, ".sql.expression.case") cast = public_factory(Cast, ".sql.expression.cast") cte = public_factory(CTE._factory, ".sql.expression.cte") +values = public_factory(Values, ".sql.expression.values") extract = public_factory(Extract, ".sql.expression.extract") tuple_ = public_factory(Tuple, ".sql.expression.tuple_") except_ = public_factory( -- cgit v1.2.1