| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| |
|
|
| |
Found using: https://github.com/intgr/topy
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is currently being supported in addition to nose, and will likely
be preferred to nose going forward. The nose plugin system used
by SQLAlchemy has been split out so that it works under pytest as
well. There are no plans to drop support for nose at the moment
and we hope that the test suite itself can continue to remain as
agnostic of testing platform as possible. See the file
README.unittests.rst for updated information on running tests
with pytest.
The test plugin system has also been enhanced to support running
tests against mutiple database URLs at once, by specifying the ``--db``
and/or ``--dburi`` flags multiple times. This does not run the entire test
suite for each database, but instead allows test cases that are specific
to certain backends make use of that backend as the test is run.
When using pytest as the test runner, the system will also run
specific test suites multiple times, once for each database, particularly
those tests within the "dialect suite". The plan is that the enhanced
system will also be used by Alembic, and allow Alembic to run
migration operation tests against multiple backends in one run, including
third-party backends not included within Alembic itself.
Third party dialects and extensions are also encouraged to standardize
on SQLAlchemy's test suite as a basis; see the file README.dialects.rst
for background on building out from SQLAlchemy's test platform.
|
| |
|
|
| |
defaults would prevent history values of NULL from being written.
|
| |
|
|
|
|
|
| |
- pep8 cleanup
- fix tests for "changed" column
- document that "changed" is optional
- changelog
|
| |\ |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
"history" on a relationship-bound attribute will now no longer emit
any SQL if the relationship is unloaded.
|
| | | |
|
| | |
| |
| |
| | |
- fix broken py2k/py3k isms
|
| | |
| |
| |
| | |
the primaryjoin examples there
|
| | |
| |
| |
| |
| |
| |
| |
| | |
standalone gendered pronoun with a gender-neutral subject, but also
have replaced all occurences of "his/her", "his or her", etc. The docs have always
strived to account for both genders in any non-specific singular pronoun,
however recent controversy in the community suggests
that a zero-gendered-pronoun policy is probably best going forward.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
- add the other versioning examples from the wiki
- modernize the dictlike examples
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
viewcode extension
to allow ad-hoc display of the source of any file, as well as a "directory listing" structure.
- reorganize examples/ to take advantage of new extension. in particular, keep moving all
the descriptive text for files etc. into module docstrings, taking more advantage of
self-documentation.
|
| |/ |
|
| |
|
|
|
|
| |
joined inheritance schemes more than one level deep.
- don't need to use _lib.py here anymore now that these features are in
sqlalchemy.testing
|
| |
|
|
|
|
| |
they're too big
- fix the targeting of module names moved around by using custom handlers for "Bases", etc.
|
| |
|
|
| |
- clean up these tests to not use globals so much, close out the session
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
that ``discriminator_on_association.py`` makes use of single table
inheritance do the work with the "discriminator". Also
added a true "generic foreign key" example, which works similarly
to other popular frameworks in that it uses an open-ended integer
to point to any other table, foregoing traditional referential
integrity. While we don't recommend this pattern, information wants
to be free. Also in 0.8.3.
- Added a convenience class decorator :func:`.as_declarative`, is
a wrapper for :func:`.declarative_base` which allows an existing base
class to be applied using a nifty class-decorated approach. Also
in 0.8.3.
|
| |
|
|
| |
follow up to https://bitbucket.org/zzzeek/sqlalchemy/pull-request/2
|
| |
|
|
| |
The code that determines whether an object in a relation has been added/removed does not take into account that that relation may be a backref. If the relation is a backref, then nothing on the current table is changing, and therefore no history entry should be created.
|
| |\ |
|
| | |
| |
| |
| |
| | |
of SQL cache keys wasn't applying deduping labels to the
statement the same way :class:`.Query` normally does.
|
| |/
|
|
| |
- went through examples/ and cleaned out excess list() calls
|
| | |
|
| |
|
|
|
|
|
|
|
| |
the limit/offset parameter values wouldn't be taken into
account when computing the cache key. The
_key_from_query() function has been simplified to work
directly from the final compiled statement in order to get
at both the full statement as well as the fully processed
parameter list.
|
| | |
|
| | |
|
| |
|
|
| |
which was due to the change in #2614.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
can now provide "bind expressions" and
"column expressions" which allow compile-time
injection of SQL expressions into statements
on a per-column or per-bind level. This is
to suit the use case of a type which needs
to augment bind- and result- behavior at the
SQL level, as opposed to in the Python level.
Allows for schemes like transparent encryption/
decryption, usage of Postgis functions, etc.
[ticket:1534]
- update postgis example fully.
- still need to repair the result map propagation
here to be transparent for cases like "labeled column".
|
| |
|
|
|
| |
- we don't have coverage for type-wide instrumentation events, the listener was broke.
could break again too.
|
| |
|
|
| |
shortly)
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
and the entire related system of alternate
class implementation is now moved out
to sqlalchemy.ext.instrumentation. This is
a seldom used system that adds significant
complexity and overhead to the mechanics of
class instrumentation. The new architecture
allows it to remain unused until
InstrumentationManager is actually imported,
at which point it is bootstrapped into
the core.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
reflection" system has been moved into the
declarative extension itself, using the
new DeferredReflection class. This
class is now tested with both single
and joined table inheritance use cases.
[ticket:2485]
- [bug] The autoload_replace flag on Table,
when False, will cause any reflected foreign key
constraints which refer to already-declared
columns to be skipped, assuming that the
in-Python declared column will take over
the task of specifying in-Python ForeignKey
or ForeignKeyConstraint declarations.
|
| |
|
|
|
|
|
|
|
|
|
| |
provides the functionality of query.with_polymorphic()
in a standalone form. It can be applied to any
entity within a query, including as the target
of a join in place of the "of_type()" modifier.
[ticket:2333]
- redo a large portion of the inheritance docs in terms
of declarative, new with_polymorphic() function
- upgrade examples/inheritance/polymorph, rename to "joined"
|
| |
|
|
|
|
|
| |
in Beaker example to pull bindparams from the
fully compiled statement, as a quick means
to get everything including subqueries in the
columns clause, etc.
|
| |
|
|
| |
added a tweak to make that possible
|
| |
|
|
|
|
|
|
| |
example to support single-table inheritance,
multiple calls to prepare(), tables that
are present in alternate schemas,
establishing only a subset of classes
as reflected.
|
| | |
|