| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
|
|
|
| |
Opened up two tests that now pass with pg8000. Also, rewrote two tests
to use actual tables rather than having a round trip in a single select
statement. This is necessary for pg8000 because it sends strings to the
server with type 'unknown' and lets the server work out the type.
|
| |
|
|
| |
based on hash ordering of the ClassManager
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
mapper is implicitly combining one of its column-based attributes
with that of the parent, where those columns normally don't necessarily
share the same value. This is an extension of an existing check that
was added via :ticket:`1892`; however this new check emits only a
warning, instead of an exception, to allow for applications that may
be relying upon the existing behavior.
fixes #3042
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
While "oid" is generally a private type within PG that is not exposed
in modern versions, there are some PG use cases such as large object
support where these types might be exposed, as well as within some
user-reported schema reflection use cases.
fixes #3002
|
| |
|
|
|
|
|
|
| |
on an index needed to have the same quoting for quoted names in
order to be recognized. The fix makes the quotes optional but
also provides the old behavior for backwards compatibility with those
using the workaround.
fixes #3085
|
| |
|
|
|
|
|
|
|
| |
columns are always added to the list of columns to be "undeferred";
otherwise, the ORM can't load the row's identity. Apparently,
one can defer the mapped primary keys and the ORM will fail, that
hasn't been changed. But as load_only is essentially saying
"defer all but X", it's more critical that PK cols not be part of this
deferral. fixes #3080
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
- Fixed bug which would occur if a DBAPI exception
occurs when the engine first connects and does its initial checks,
and the exception is not a disconnect exception, yet the cursor
raises an error when we try to close it. In this case the real
exception would be quashed as we tried to log the cursor close
exception via the connection pool and failed, as we were trying
to access the pool's logger in a way that is inappropriate
in this very specific scenario. fixes #3063
|
| |
|
|
|
|
|
|
|
| |
mixin or abstract class when accessed, so that modifications made
to this dictionary by declarative itself won't conflict with that
of other mappings. The dictionary is modified regarding the
``version_id_col`` and ``polymorphic_on`` arguments, replacing the
column within with the one that is officially mapped to the local
class/table. fixes #3062
|
| |\ |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
As with postgresql+psycopg2,
execution_options(isolation_level='AUTOCOMMIT') now works for the
postgresql+pg8000 dialect.
Also enabled the autocommit test in test_dialect.py for pg8000.
|
| | |
| |
| |
| |
| | |
pg8000 uses binary transfer of floats and so accuracy is lost for floats
that can't be represented exactly in binary.
|
| | | |
|
| | |
| |
| |
| |
| | |
The two tests, test_create_table() and test_unicode_labels() previously
failed under pg8000, but now they pass, so this commit opens them up.
|
| | |
| |
| |
| |
| | |
We can now update the requirements to remove the special case of pg8000
truncating decimals.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
of work such that loading for related many-to-one objects is slightly
more aggressive, in the case of a graph of self-referential objects
that are to be deleted; the load of related objects is to help
determine the correct order for deletion if passive_deletes is
not set.
- revert the changes to test_delete_unloaded_m2o, these deletes do in fact
need to occur in the order of the two child objects first.
|
| | |
| |
| |
| |
| |
| | |
that might take one of multiple directions; apply this to test_delete_unloaded_m2o
which is now illustrating multiple paths due to #3060/#3061, though still doing the
right thing.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
implicitly initialized to None via first access; this action,
which has always resulted in a population of the attribute,
now emits an attribute event just like any other attribute set
operation and generates the same kind of history as one. Additionally,
many mapper internal operations will no longer implicitly generate
these "None" values when various never-set attributes are checked.
These are subtle behavioral fixes to attribute mechanics which provide
a better solution to the problem of :ticket:`3060`, which also
involves recognition of attributes explicitly set to ``None``
vs. attributes that were never set.
fixes #3061
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
scenario, where an INSERT/DELETE can be turned into an UPDATE.
In this situation, a many-to-one relationship set to None, or
in some cases a scalar attribute set to None, may not be detected
as a net change in value, and therefore the UPDATE would not reset
what was on the previous row. This is due to some as-yet
unresovled side effects of the way attribute history works in terms
of implicitly assuming None isn't really a "change" for a previously
un-set attribute. See also :ticket:`3061`. fixes #3060
|
| | |
| |
| |
| |
| | |
UNION would wrap the union in an anonymous (e.g. unlabled) subquery.
fixes #3044
|
| | |
| |
| |
| |
| |
| | |
is needed to allow the ORM to skip over trying to "hash" an ORM-mapped
HSTORE column when requesting it in a mixed column/entity list.
Patch courtesy Gunnlaugur Þór Briem. Fixes #3053
|
| | |
| |
| |
| |
| |
| |
| | |
eager loads across a polymorphic-subclass boundary in conjunction
with polymorphic loading would fail to locate the subclass-link in the
chain, erroring out with a missing property name on an
:class:`.AliasedClass`. fixes #3055
|
| | |
| |
| |
| |
| |
| | |
due to repeats would not correctly be rewritten in subqueries.
This would affect SELECT queries with any kind of subquery + join.
fixes #3057
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
add to lazy loading.
not really clear which approach is better in the long run.
|
| | |
| |
| |
| | |
- restore __len__ to identity map
|
| | |
| |
| |
| |
| |
| |
| | |
:meth:`.Operators.__or__` and :meth:`.Operators.__invert__`
operator overload methods could not be overridden within a custom
:class:`.TypeEngine.Comparator` implementation.
fixes #3012
|
| | |
| |
| |
| | |
- implement for SQL server, use window functions when simple limit/offset not available
|
| |\ \
| |/
|/|
| | |
https://bitbucket.org/dobesv/sqlalchemy/branch/issue_3034 into ticket_3034
|
| | | |
|
| | |
| |
| |
| | |
on a query.
|
| | |
| |
| |
| |
| | |
- refactor tests a bit
fixes #2785
|
| |\ \
| | |
| | |
| | | |
https://bitbucket.org/LevonXXL/sqlalchemy/overview into t
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | | |
report change events for the ``setdefault()`` dictionary operation.
fixes #3051
|
| |\ \ \
| |/ /
|/| | |
Added optional '=' to MySQL KEY_BLOCK_SIZE regex
|
| | | | |
|
| |\ \ \
| | | |
| | | | |
Documentation fix-up: "its" vs. "it's"
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
AttributeErrors or KeyErrors that should raise during mapper
configuration due to user errors. The catch for attribute/keyerror
has been made more specific to not include the configuration step.
fixes #3047
|
| |/ / / |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
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
|
| | | |
| | |
| | |
| | |
| | |
| | | |
__init__() method.
No clue. nosetests doesn't do this. concerning that other tests might have the same issue.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
"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
|