]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commit
- A large refactoring of the ``sqlalchemy.sql`` package has reorganized
authorMike Bayer <mike_mp@zzzcomputing.com>
Mon, 12 Aug 2013 21:50:37 +0000 (17:50 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Mon, 12 Aug 2013 21:50:37 +0000 (17:50 -0400)
commitf6198d9abf453182f4b111e0579a7a4ef1614e79
treee258eafc9db70c4745d98a56b55b439732aebf91
parente8c2a2738b6c15cb12e7571b9e12c15cc2f200c9
- A large refactoring of the ``sqlalchemy.sql`` package has reorganized
the import structure of many core modules.
``sqlalchemy.schema`` and ``sqlalchemy.types``
remain in the top-level package, but are now just lists of names
that pull from within ``sqlalchemy.sql``.  Their implementations
are now broken out among ``sqlalchemy.sql.type_api``, ``sqlalchemy.sql.sqltypes``,
``sqlalchemy.sql.schema`` and ``sqlalchemy.sql.ddl``, the last of which was
moved from ``sqlalchemy.engine``.  ``sqlalchemy.sql.expression`` is also
a namespace now which pulls implementations mostly from ``sqlalchemy.sql.elements``,
``sqlalchemy.sql.selectable``, and ``sqlalchemy.sql.dml``.
Most of the "factory" functions
used to create SQL expression objects have been moved to classmethods
or constructors, which are exposed in ``sqlalchemy.sql.expression``
using a programmatic system.  Care has been taken such that all the
original import namespaces remain intact and there should be no impact
on any existing applications.   The rationale here was to break out these
very large modules into smaller ones, provide more manageable lists
of function names, to greatly reduce "import cycles" and clarify the
up-front importing of names, and to remove the need for redundant
functions and documentation throughout the expression package.
44 files changed:
doc/build/changelog/changelog_09.rst
lib/sqlalchemy/__init__.py
lib/sqlalchemy/dialects/drizzle/base.py
lib/sqlalchemy/dialects/mysql/base.py
lib/sqlalchemy/engine/__init__.py
lib/sqlalchemy/engine/base.py
lib/sqlalchemy/engine/ddl.py [deleted file]
lib/sqlalchemy/engine/default.py
lib/sqlalchemy/engine/interfaces.py
lib/sqlalchemy/engine/reflection.py
lib/sqlalchemy/engine/result.py
lib/sqlalchemy/events.py
lib/sqlalchemy/inspection.py
lib/sqlalchemy/log.py
lib/sqlalchemy/orm/__init__.py
lib/sqlalchemy/orm/attributes.py
lib/sqlalchemy/orm/dynamic.py
lib/sqlalchemy/orm/mapper.py
lib/sqlalchemy/orm/properties.py
lib/sqlalchemy/orm/query.py
lib/sqlalchemy/orm/strategies.py
lib/sqlalchemy/schema.py
lib/sqlalchemy/sql/__init__.py
lib/sqlalchemy/sql/annotation.py [new file with mode: 0644]
lib/sqlalchemy/sql/base.py [new file with mode: 0644]
lib/sqlalchemy/sql/compiler.py
lib/sqlalchemy/sql/ddl.py [new file with mode: 0644]
lib/sqlalchemy/sql/default_comparator.py [new file with mode: 0644]
lib/sqlalchemy/sql/dml.py [new file with mode: 0644]
lib/sqlalchemy/sql/elements.py [new file with mode: 0644]
lib/sqlalchemy/sql/expression.py
lib/sqlalchemy/sql/functions.py
lib/sqlalchemy/sql/schema.py [new file with mode: 0644]
lib/sqlalchemy/sql/selectable.py [new file with mode: 0644]
lib/sqlalchemy/sql/sqltypes.py [new file with mode: 0644]
lib/sqlalchemy/sql/type_api.py [new file with mode: 0644]
lib/sqlalchemy/sql/util.py
lib/sqlalchemy/testing/plugin/noseplugin.py
lib/sqlalchemy/types.py
lib/sqlalchemy/util/__init__.py
lib/sqlalchemy/util/langhelpers.py
test/engine/test_bind.py
test/orm/test_relationships.py
test/sql/test_ddlemit.py [moved from test/engine/test_ddlemit.py with 99% similarity]