| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
| |
for #3175. fixes #3175 (for now)
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
on :class:`.Insert`. This helps to fix a bug where an
INSERT...FROM SELECT construct would inadvertently be compiled
as "implicit returning" on supporting backends, which would
cause breakage in the case of an INSERT that inserts zero rows
(as implicit returning expects a row), as well as arbitrary
return data in the case of an INSERT that inserts multiple
rows (e.g. only the first row of many).
A similar change is also applied to an INSERT..VALUES
with multiple parameter sets; implicit RETURNING will no longer emit
for this statement either. As both of these constructs deal
with varible numbers of rows, the
:attr:`.ResultProxy.inserted_primary_key` accessor does not
apply. Previously, there was a documentation note that one
may prefer ``inline=True`` with INSERT..FROM SELECT as some databases
don't support returning and therefore can't do "implicit" returning,
but there's no reason an INSERT...FROM SELECT needs implicit returning
in any case. Regular explicit :meth:`.Insert.returning` should
be used to return variable numbers of result rows if inserted
data is needed.
fixes #3169
|
| |
|
|
|
| |
if we already have a table; this prevents reentrant calls and
we aren't supporting columns/etc being moved around between different parents
|
| |
|
|
|
|
|
|
|
|
|
| |
:class:`.SynonymProperty` and :class:`.ComparableProperty`.
- The ``info`` parameter has been added as a constructor argument
to all schema constructs including :class:`.MetaData`,
:class:`.Index`, :class:`.ForeignKey`, :class:`.ForeignKeyConstraint`,
:class:`.UniqueConstraint`, :class:`.PrimaryKeyConstraint`,
:class:`.CheckConstraint`.
fixes #2963
|
| |
|
|
| |
information regarding #3027.
|
| | |
|
| |
|
|
|
|
| |
be always be correctly propagated when one CTE referred to another
aliased CTE in a statement.
Fixes #3154
|
| |
|
|
|
|
| |
a mis-named unit test such that so-called "schema" types like
:class:`.Boolean` and :class:`.Enum` could no longer be pickled.
fixes #3144
|
| |
|
|
|
|
|
|
|
| |
e.g. the ``func`` construct. Previously, behavior for this method
was undefined. The current behavior mimics that of pre-0.9.4,
which is that the function is turned into a single-column FROM
clause with the given alias name, where the column itself is
anonymously named.
fixes #3137
|
| |
|
|
| |
sqlalchemy/orm, sqlalchemy/event, sqlalchemy/testing
|
| |
|
|
|
|
|
|
| |
as a scalar subquery such as within an IN would receive inappropriate
substitutions from the enclosing query, if the same table were present
inside the subquery as were in the enclosing query such as in a
joined inheritance scenario.
fixes #3130
|
| | |
|
| |
|
|
|
| |
to again have the chance to veto rendering, as the naming convention
can make the decision that the name is "none" or not now.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
constraint convention that includes ``constraint_name`` would
then force all :class:`.Boolean` and :class:`.Enum` types to
require names as well, as these implicitly create a
constraint, even if the ultimate target backend were one that does
not require generation of the constraint such as Postgresql.
The mechanics of naming conventions for these particular
constraints has been reorganized such that the naming
determination is done at DDL compile time, rather than at
constraint/table construction time.
fixes #3067
|
| |
|
|
|
|
| |
parameters could be expressed in the wrong final order
when CTEs were nested in certain ways.
fixes #3090
|
| |
|
|
|
|
| |
to check subsequent values entries beyond the first one given
for literal SQL expressions.
fixes #3069
|
| |
|
|
|
|
|
| |
Python version < 2.6.5, working around the
"no unicode keyword arg" bug as these args are passed along as
keyword args within some reflection processes.
fixes #3123
|
| |
|
|
|
|
|
| |
subclasses where direct association of the type with a
:class:`.MetaData` would lead to a hang when events
(like create events) were emitted on the :class:`.MetaData`.
fixes #3124
|
| |
|
|
|
|
| |
type class as an argument which is internally converted to an
instance, using the same convention long established by other
constructs such as :class:`.Column`. fixes #3122
|
| |
|
|
| |
to get all flake8 passing
|
| |
|
|
| |
implements PG's to_tsquery('regconfig', 'arg') pattern. fixes #3078
|
| |
|
|
| |
fixes #3110
|
| | |
|
| |
|
|
|
| |
the compiled cache is used. That allows us to cache the whole metadata
and save on creating it at result time, when compiled cache is used.
|
| |
|
|
|
|
| |
system, whereby using a :class:`.TypeDecorator` in conjunction with
variant would fail with an MRO error when a comparison operator was used.
fixes #3102
|
| | |
|
| |
|
|
|
|
|
|
|
| |
when that :class:`.Column` is referred to in an explicit
:class:`.PrimaryKeyConstraint` for that table. This behavior now
matches that of when the :class:`.Column` itself has the
:paramref:`.Column.primary_key` flag set to ``True``, which is
intended to be an exactly equivalent case.
fixes #3023
|
| |
|
|
|
|
| |
Moved initialization into else block
Conflicts:
lib/sqlalchemy/sql/compiler.py
|
| |
|
|
|
| |
UNION would wrap the union in an anonymous (e.g. unlabled) subquery.
fixes #3044
|
| |
|
|
|
|
| |
due to repeats would not correctly be rewritten in subqueries.
This would affect SELECT queries with any kind of subquery + join.
fixes #3057
|
| |
|
|
|
|
|
| |
:meth:`.Operators.__or__` and :meth:`.Operators.__invert__`
operator overload methods could not be overridden within a custom
:class:`.TypeEngine.Comparator` implementation.
fixes #3012
|
| |
|
|
|
|
|
|
|
| |
filter operators section
- add language to MATCH explicitly stating this operator varies by backend and is not available
on SQLite, as the tutorial defaults to SQLite to start with, fix #3059
- on the actual match() documentation fix this up to be more accurate, list some example renderings
for different backends. again mention SQLite not supported
|
| |
|
|
| |
- add new FAQ for rendering SQL as a string
|
| |
|
|
| |
- implement for SQL server, use window functions when simple limit/offset not available
|
| |\
| |
| |
| | |
https://bitbucket.org/dobesv/sqlalchemy/branch/issue_3034 into ticket_3034
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
a BindParameter, instead of _offset and _limit in GenerativeSelect.
|
| | |
| |
| |
| | |
on a query.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Removed ungrammatical apostrophes from documentation, replacing
"it's" with "its" where appropriate (but in a few cases with "it is"
when that read better).
While doing that, I also fixed a couple of minor typos etc.
as I noticed them.
|
| | |
| |
| |
| |
| |
| |
| | |
would produce an empty WHERE clause when an empty :func:`.and_()`
or :func:`.or_()` or other blank expression were applied. This is
now consistent with that of :func:`.select`.
fixes #3045
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
"SELECT FIRST n ROWS" using a bound parameter (only firebird has both),
combined with column-level subqueries
which also feature "limit" as well as "positional" bound parameters
(e.g. qmark style) would erroneously assign the subquery-level positions
before that of the enclosing SELECT, thus returning parameters which
are out of order. Fixes #3038
|
| |/
|
|
| |
Found using: https://github.com/intgr/topy
|
| |
|
|
|
|
|
|
|
|
| |
a join condition that is strictly from a single column to itself,
translated through some kind of SQL function or expression. This
is kind of experimental, but the first proof of concept is a
"materialized path" join condition where a path string is compared
to itself using "like". The :meth:`.Operators.like` operator has
also been added to the list of valid operators to use in a primaryjoin
condition. fixes #3029
|
| |
|
|
|
|
|
| |
specify a :func:`.text` expression as the target; the index no longer
needs to have a table-bound column present if the index is to be
manually added to the table, either via inline declaration or via
:meth:`.Table.append_constraint`. fixes #3028
|
| |
|
|
|
| |
adding an argument for a construct not previously included for any
special arguments would fail. fixes #3024
|
| |
|
|
|
|
| |
feature from :ticket:`1068` would not apply quoting rules to the
label name as rendered in the ORDER BY.
fix #3020, re: #1068
|