diff options
author | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-11-14 21:22:37 -0500 |
---|---|---|
committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2013-11-14 21:22:37 -0500 |
commit | 519efc944350b8cb01953ee7ebaf724c2d570469 (patch) | |
tree | 0dd1935cf8319e61264bad111ddee73932accdc1 | |
parent | 1ef29ef752291948a2942a0800dd3af907231f5d (diff) | |
parent | 7a3d3c050b644d74594bd491e0e4312e2144874d (diff) | |
download | sqlalchemy-519efc944350b8cb01953ee7ebaf724c2d570469.tar.gz |
Merge branch 'master' into rel_0_9
34 files changed, 105 insertions, 62 deletions
diff --git a/doc/build/changelog/changelog_07.rst b/doc/build/changelog/changelog_07.rst index 35e443bf2..68e03a2e2 100644 --- a/doc/build/changelog/changelog_07.rst +++ b/doc/build/changelog/changelog_07.rst @@ -11,7 +11,7 @@ :tickets: 2851 :versions: 0.8.3, 0.9.0b1 - The regexp used by the :func:`~.sqlalchemy.engine.url.make_url` function now parses + The regexp used by the :func:`~sqlalchemy.engine.url.make_url` function now parses ipv6 addresses, e.g. surrounded by brackets. .. change:: @@ -1444,10 +1444,10 @@ :tickets: 2361 Dialect-specific compilers now raise - CompileException for all type/statement compilation + CompileError for all type/statement compilation issues, instead of InvalidRequestError or ArgumentError. The DDL for CREATE TABLE will re-raise - CompileExceptions to include table/column information + CompileError to include table/column information for the problematic column. .. change:: @@ -1947,7 +1947,7 @@ :tickets: 1679 a "has_schema" method has been implemented - on dialect, but only works on Postgresql so far. + on dialect, but only works on Postgresql so far. Courtesy Manlio Perillo. .. change:: diff --git a/doc/build/changelog/changelog_08.rst b/doc/build/changelog/changelog_08.rst index 8b72ef288..15c78a3dc 100644 --- a/doc/build/changelog/changelog_08.rst +++ b/doc/build/changelog/changelog_08.rst @@ -82,7 +82,7 @@ errors on MySQL as it is not understood - the same behavior will also apply to the ``initially`` keyword. In 0.8, the keywords will remain ignored but a warning is emitted. Additionally, the ``match`` keyword - now raises a :class:`.CompileError` on 0.9 and emits a warning on 0.8; + now raises a :exc:`.CompileError` on 0.9 and emits a warning on 0.8; this keyword is not only silently ignored by MySQL but also breaks the ON UPDATE/ON DELETE options. @@ -259,7 +259,7 @@ :tags: bug, sql :versions: 0.9.0b1 - The :meth:`.Operators.notin_` operator added in 0.8 now properly + The :meth:`.ColumnOperators.notin_` operator added in 0.8 now properly produces the negation of the expression "IN" returns when used against an empty collection. @@ -330,7 +330,7 @@ since the element relies on dialect-specific compilation constructs, notably the ``__getitem__()`` operator as used with a Postgresql ``ARRAY`` element. The fix also adds a new exception class - :class:`.UnsupportedCompilationError` which is raised in those cases + :exc:`.UnsupportedCompilationError` which is raised in those cases where a compiler is asked to compile something it doesn't know how to. @@ -406,7 +406,7 @@ :tickets: 2764 :versions: 0.9.0b1 - Added :class:`.BIGINT` to the list of type names that can be + Added :class:`sqlalchemy.types.BIGINT` to the list of type names that can be reflected by the SQLite dialect; courtesy Russell Stuart. .. change:: @@ -1416,7 +1416,7 @@ .. change:: :tags: postgresql, bug - Fixed bug in :func:`.postgresql.array` construct whereby using it + Fixed bug in :class:`~sqlalchemy.dialects.postgresql.array()` construct whereby using it inside of an :func:`.expression.insert` construct would produce an error regarding a parameter issue in the ``self_group()`` method. @@ -1568,7 +1568,7 @@ :tags: sql, bug :tickets: 2618 - The :class:`.DECIMAL` type now honors the "precision" and + The :class:`~sqlalchemy.types.DECIMAL` type now honors the "precision" and "scale" arguments when rendering DDL. .. change:: @@ -1684,7 +1684,7 @@ .. change:: :tags: engine - The "reflect=True" argument to :class:`MetaData` is deprecated. + The "reflect=True" argument to :class:`~sqlalchemy.schema.MetaData` is deprecated. Please use the :meth:`.MetaData.reflect` method. .. change:: @@ -1821,7 +1821,7 @@ :tickets: 2595 The auto-correlation feature of :func:`.select`, and - by proxy that of :class:`.orm.Query`, will not + by proxy that of :class:`.Query`, will not take effect for a SELECT statement that is being rendered directly in the FROM list of the enclosing SELECT. Correlation in SQL only applies to column diff --git a/doc/build/changelog/changelog_09.rst b/doc/build/changelog/changelog_09.rst index 75579f758..b0dc07d97 100644 --- a/doc/build/changelog/changelog_09.rst +++ b/doc/build/changelog/changelog_09.rst @@ -317,7 +317,7 @@ :tags: feature, core :tickets: 2793 - Added a new variant to :meth:`.ValuesBase.returning` called + Added a new variant to :meth:`.UpdateBase.returning` called :meth:`.ValuesBase.return_defaults`; this allows arbitrary columns to be added to the RETURNING clause of the statement without interfering with the compilers usual "implicit returning" feature, which is used to @@ -563,7 +563,7 @@ :tags: feature, sql :tickets: 1068 - A :class:`.Label` construct will now render as its name alone + A :func:`~sqlalchemy.sql.expression.label` construct will now render as its name alone in an ``ORDER BY`` clause, if that label is also referred to in the columns clause of the select, instead of rewriting the full expression. This gives the database a better chance to @@ -601,13 +601,13 @@ :tags: bug, orm :tickets: 2736 - The "auto-aliasing" behavior of the :class:`.Query.select_from` + The "auto-aliasing" behavior of the :meth:`.Query.select_from` method has been turned off. The specific behavior is now - availble via a new method :class:`.Query.select_entity_from`. + availble via a new method :meth:`.Query.select_entity_from`. The auto-aliasing behavior here was never well documented and - is generally not what's desired, as :class:`.Query.select_from` + is generally not what's desired, as :meth:`.Query.select_from` has become more oriented towards controlling how a JOIN is - rendered. :class:`.Query.select_entity_from` will also be made + rendered. :meth:`.Query.select_entity_from` will also be made available in 0.8 so that applications which rely on the auto-aliasing can shift their applications to use this method. diff --git a/doc/build/changelog/migration_08.rst b/doc/build/changelog/migration_08.rst index 971dd2f51..dcff0365f 100644 --- a/doc/build/changelog/migration_08.rst +++ b/doc/build/changelog/migration_08.rst @@ -522,7 +522,7 @@ accepted as a FROM clause within the core:: stmt = select([User]).where(User.id == 5) Above, the mapped ``User`` class will expand into -:class:`.Table` to which :class:`.User` is mapped. +the :class:`.Table` to which ``User`` is mapped. :ticket:`2245` diff --git a/doc/build/copyright.rst b/doc/build/copyright.rst index 082beb3a3..36ced1b97 100644 --- a/doc/build/copyright.rst +++ b/doc/build/copyright.rst @@ -1,3 +1,5 @@ +:orphan: + ==================== Appendix: Copyright ==================== diff --git a/doc/build/core/dml.rst b/doc/build/core/dml.rst index 892d85921..3b6949b79 100644 --- a/doc/build/core/dml.rst +++ b/doc/build/core/dml.rst @@ -28,6 +28,7 @@ constructs build on the intermediary :class:`.ValuesBase`. .. autoclass:: sqlalchemy.sql.expression.UpdateBase :members: + :inherited-members: .. autoclass:: sqlalchemy.sql.expression.ValuesBase :members: diff --git a/doc/build/core/engines.rst b/doc/build/core/engines.rst index 5b315fc39..8d34ab5c6 100644 --- a/doc/build/core/engines.rst +++ b/doc/build/core/engines.rst @@ -87,6 +87,8 @@ known driver available for that backend (i.e. cx_oracle, pysqlite/sqlite3, psycopg2, mysqldb). For Jython connections, specify the `zxjdbc` driver, which is the JDBC-DBAPI bridge included with Jython. +.. autofunction:: sqlalchemy.engine.url.make_url + Postgresql ---------- diff --git a/doc/build/core/event.rst b/doc/build/core/event.rst index d5111b0c0..1b873972a 100644 --- a/doc/build/core/event.rst +++ b/doc/build/core/event.rst @@ -75,7 +75,7 @@ as long as the names match up:: print("New DBAPI connection:", dbapi_connection) print("Connection record:", kw['connection_record']) -Above, the presence of ``**kw`` tells :func:`.event.listen_for` that +Above, the presence of ``**kw`` tells :func:`.listens_for` that arguments should be passed to the function by name, rather than positionally. .. versionadded:: 0.9.0 Added optional ``named`` argument dispatch to diff --git a/doc/build/core/events.rst b/doc/build/core/events.rst index f43aa09f6..d52d50c5a 100644 --- a/doc/build/core/events.rst +++ b/doc/build/core/events.rst @@ -8,6 +8,9 @@ SQLAlchemy Core. For an introduction to the event listening API, see :ref:`event_toplevel`. ORM events are described in :ref:`orm_event_toplevel`. +.. autoclass:: sqlalchemy.event.base.Events + :members: + .. versionadded:: 0.7 The event system supercedes the previous system of "extension", "listener", and "proxy" classes. diff --git a/doc/build/core/pooling.rst b/doc/build/core/pooling.rst index 83ec0252f..550fb3527 100644 --- a/doc/build/core/pooling.rst +++ b/doc/build/core/pooling.rst @@ -291,11 +291,13 @@ API Documentation - Available Pool Implementations .. automethod:: connect .. automethod:: dispose .. automethod:: recreate + .. automethod:: unique_connection .. autoclass:: sqlalchemy.pool.QueuePool - .. automethod:: __init__ + .. automethod:: connect + .. automethod:: unique_connection .. autoclass:: SingletonThreadPool diff --git a/doc/build/core/selectable.rst b/doc/build/core/selectable.rst index 341ffcca6..170d1e701 100644 --- a/doc/build/core/selectable.rst +++ b/doc/build/core/selectable.rst @@ -54,11 +54,16 @@ elements are themselves :class:`.ColumnElement` subclasses). .. autoclass:: FromClause :members: +.. autoclass:: HasPrefixes + :members: .. autoclass:: Join :members: :inherited-members: +.. autoclass:: ScalarSelect + :members: + .. autoclass:: Select :members: :inherited-members: diff --git a/doc/build/core/sqlelement.rst b/doc/build/core/sqlelement.rst index e39c988d4..47855a6a3 100644 --- a/doc/build/core/sqlelement.rst +++ b/doc/build/core/sqlelement.rst @@ -69,6 +69,12 @@ used to construct any kind of typed SQL expression. .. autoclass:: BindParameter :members: +.. autoclass:: Case + :members: + +.. autoclass:: Cast + :members: + .. autoclass:: ClauseElement :members: @@ -87,18 +93,34 @@ used to construct any kind of typed SQL expression. .. autoclass:: ColumnElement :members: :inherited-members: + :undoc-members: .. autoclass:: sqlalchemy.sql.operators.ColumnOperators :members: :special-members: :inherited-members: +.. autoclass:: Extract + :members: + .. autoclass:: sqlalchemy.sql.elements.False_ :members: +.. autoclass:: Label + :members: + .. autoclass:: sqlalchemy.sql.elements.Null :members: +.. autoclass:: Over + :members: + +.. autoclass:: TextClause + :members: + +.. autoclass:: Tuple + :members: + .. autoclass:: sqlalchemy.sql.elements.True_ :members: diff --git a/doc/build/core/tutorial.rst b/doc/build/core/tutorial.rst index aa8ba2f2a..492c294ca 100644 --- a/doc/build/core/tutorial.rst +++ b/doc/build/core/tutorial.rst @@ -238,7 +238,7 @@ we use the ``connect()`` method:: >>> conn #doctest: +ELLIPSIS <sqlalchemy.engine.base.Connection object at 0x...> -The :class:`~sqlalchemy.engine.base.Connection` object represents an actively +The :class:`~sqlalchemy.engine.Connection` object represents an actively checked out DBAPI connection resource. Lets feed it our :class:`~sqlalchemy.sql.expression.Insert` object and see what happens: @@ -252,7 +252,7 @@ checked out DBAPI connection resource. Lets feed it our So the INSERT statement was now issued to the database. Although we got positional "qmark" bind parameters instead of "named" bind parameters in the output. How come ? Because when executed, the -:class:`~sqlalchemy.engine.base.Connection` used the SQLite **dialect** to +:class:`~sqlalchemy.engine.Connection` used the SQLite **dialect** to help generate the statement; when we use the ``str()`` function, the statement isn't aware of this dialect, and falls back onto a default which uses named parameters. We can view this manually as follows: @@ -264,9 +264,9 @@ parameters. We can view this manually as follows: 'INSERT INTO users (name, fullname) VALUES (?, ?)' What about the ``result`` variable we got when we called ``execute()`` ? As -the SQLAlchemy :class:`~sqlalchemy.engine.base.Connection` object references a +the SQLAlchemy :class:`~sqlalchemy.engine.Connection` object references a DBAPI connection, the result, known as a -:class:`~sqlalchemy.engine.result.ResultProxy` object, is analogous to the DBAPI +:class:`~sqlalchemy.engine.ResultProxy` object, is analogous to the DBAPI cursor object. In the case of an INSERT, we can get important information from it, such as the primary key values which were generated from our statement: @@ -292,7 +292,7 @@ Our insert example above was intentionally a little drawn out to show some various behaviors of expression language constructs. In the usual case, an :class:`~sqlalchemy.sql.expression.Insert` statement is usually compiled against the parameters sent to the ``execute()`` method on -:class:`~sqlalchemy.engine.base.Connection`, so that there's no need to use +:class:`~sqlalchemy.engine.Connection`, so that there's no need to use the ``values`` keyword with :class:`~sqlalchemy.sql.expression.Insert`. Lets create a generic :class:`~sqlalchemy.sql.expression.Insert` statement again and use it in the "normal" way: @@ -363,10 +363,10 @@ Above, we issued a basic :func:`.select` call, placing the ``users`` table within the COLUMNS clause of the select, and then executing. SQLAlchemy expanded the ``users`` table into the set of each of its columns, and also generated a FROM clause for us. The result returned is again a -:class:`~sqlalchemy.engine.result.ResultProxy` object, which acts much like a +:class:`~sqlalchemy.engine.ResultProxy` object, which acts much like a DBAPI cursor, including methods such as -:func:`~sqlalchemy.engine.result.ResultProxy.fetchone` and -:func:`~sqlalchemy.engine.result.ResultProxy.fetchall`. The easiest way to get +:func:`~sqlalchemy.engine.ResultProxy.fetchone` and +:func:`~sqlalchemy.engine.ResultProxy.fetchall`. The easiest way to get rows from it is to just iterate: .. sourcecode:: pycon+sql @@ -414,7 +414,7 @@ But another way, whose usefulness will become apparent later on, is to use the Result sets which have pending rows remaining should be explicitly closed before discarding. While the cursor and connection resources referenced by the -:class:`~sqlalchemy.engine.result.ResultProxy` will be respectively closed and +:class:`~sqlalchemy.engine.ResultProxy` will be respectively closed and returned to the connection pool when the object is garbage collected, it's better to make it explicit as some database APIs are very picky about such things: diff --git a/doc/build/core/types.rst b/doc/build/core/types.rst index 47145837f..b4781ee51 100644 --- a/doc/build/core/types.rst +++ b/doc/build/core/types.rst @@ -729,10 +729,6 @@ is needed, use :class:`.TypeDecorator` instead. Base Type API -------------- -.. autoclass:: AbstractType - :members: - - .. autoclass:: TypeEngine :members: diff --git a/doc/build/faq.rst b/doc/build/faq.rst index fea1a27d1..4d72d3109 100644 --- a/doc/build/faq.rst +++ b/doc/build/faq.rst @@ -1,3 +1,5 @@ +:orphan: + .. _faq_toplevel: ============================ diff --git a/doc/build/glossary.rst b/doc/build/glossary.rst index 7fe4c16bd..9b3d7f5f0 100644 --- a/doc/build/glossary.rst +++ b/doc/build/glossary.rst @@ -1,3 +1,5 @@ +:orphan: + .. _glossary: ======== diff --git a/doc/build/index.rst b/doc/build/index.rst index c03dc2ca4..2a26b206c 100644 --- a/doc/build/index.rst +++ b/doc/build/index.rst @@ -1,3 +1,5 @@ +:orphan: + .. _index_toplevel: ======================== diff --git a/doc/build/orm/deprecated.rst b/doc/build/orm/deprecated.rst index 943059747..8d277011c 100644 --- a/doc/build/orm/deprecated.rst +++ b/doc/build/orm/deprecated.rst @@ -1,3 +1,5 @@ +:orphan: + .. _dep_interfaces_orm_toplevel: Deprecated ORM Event Interfaces diff --git a/doc/build/orm/extensions/mutable.rst b/doc/build/orm/extensions/mutable.rst index 4b217ca4d..d2a292d90 100644 --- a/doc/build/orm/extensions/mutable.rst +++ b/doc/build/orm/extensions/mutable.rst @@ -12,7 +12,6 @@ API Reference :members: _parents, coerce .. autoclass:: Mutable - :members: .. autoclass:: MutableComposite diff --git a/doc/build/orm/mapper_config.rst b/doc/build/orm/mapper_config.rst index 7749b9314..9cd9abaca 100644 --- a/doc/build/orm/mapper_config.rst +++ b/doc/build/orm/mapper_config.rst @@ -1337,7 +1337,7 @@ If a transaction elsewhere has modifed the row independently, this version id will no longer match, and the UPDATE statement will report that no rows matched; this is the condition that SQLAlchemy tests, that exactly one row matched our UPDATE (or DELETE) statement. If zero rows match, that indicates our version -of the data is stale, and a :class:`.StaleDataError` is raised. +of the data is stale, and a :exc:`.StaleDataError` is raised. .. _custom_version_counter: diff --git a/lib/sqlalchemy/engine/reflection.py b/lib/sqlalchemy/engine/reflection.py index 461f5eb23..1f219e30c 100644 --- a/lib/sqlalchemy/engine/reflection.py +++ b/lib/sqlalchemy/engine/reflection.py @@ -161,7 +161,7 @@ class Inspector(object): """Return all table names in referred to within a particular schema. The names are expected to be real tables only, not views. - Views are instead returned using the :meth:`.get_view_names` + Views are instead returned using the :meth:`.Inspector.get_view_names` method. diff --git a/lib/sqlalchemy/engine/url.py b/lib/sqlalchemy/engine/url.py index 74584b787..8f84ab039 100644 --- a/lib/sqlalchemy/engine/url.py +++ b/lib/sqlalchemy/engine/url.py @@ -24,8 +24,8 @@ class URL(object): Represent the components of a URL used to connect to a database. This object is suitable to be passed directly to a - ``create_engine()`` call. The fields of the URL are parsed from a - string by the ``module-level make_url()`` function. the string + :func:`~sqlalchemy.create_engine` call. The fields of the URL are parsed from a + string by the :func:`.make_url` function. the string format of the URL is an RFC-1738-style string. All initialization parameters are available as public attributes. diff --git a/lib/sqlalchemy/events.py b/lib/sqlalchemy/events.py index b58b53916..c0118dd9f 100644 --- a/lib/sqlalchemy/events.py +++ b/lib/sqlalchemy/events.py @@ -307,7 +307,7 @@ class PoolEvents(event.Events): Processing of all checkout listeners will abort and restart using the new connection. - .. seealso:: :meth:`.ConnectionEvents.connect` - a similar event + .. seealso:: :meth:`.ConnectionEvents.engine_connect` - a similar event which occurs upon creation of a new :class:`.Connection`. """ @@ -668,7 +668,7 @@ class ConnectionEvents(event.Events): Note that this method is not called when a new :class:`.Connection` is produced which is inheriting execution options from its parent :class:`.Engine`; to intercept this condition, use the - :meth:`.ConnectionEvents.connect` event. + :meth:`.ConnectionEvents.engine_connect` event. :param conn: The newly copied :class:`.Connection` object diff --git a/lib/sqlalchemy/exc.py b/lib/sqlalchemy/exc.py index 7ebdc3983..3c0c6c365 100644 --- a/lib/sqlalchemy/exc.py +++ b/lib/sqlalchemy/exc.py @@ -6,9 +6,9 @@ """Exceptions used with SQLAlchemy. -The base exception class is :class:`.SQLAlchemyError`. Exceptions which are +The base exception class is :exc:`.SQLAlchemyError`. Exceptions which are raised as a result of DBAPI exceptions are all subclasses of -:class:`.DBAPIError`. +:exc:`.DBAPIError`. """ @@ -169,7 +169,7 @@ class UnboundExecutionError(InvalidRequestError): class DontWrapMixin(object): """A mixin class which, when applied to a user-defined Exception class, - will not be wrapped inside of :class:`.StatementError` if the error is + will not be wrapped inside of :exc:`.StatementError` if the error is emitted within the process of executing a statement. E.g.:: diff --git a/lib/sqlalchemy/inspection.py b/lib/sqlalchemy/inspection.py index 42e08b30d..865ec4af6 100644 --- a/lib/sqlalchemy/inspection.py +++ b/lib/sqlalchemy/inspection.py @@ -39,11 +39,11 @@ def inspect(subject, raiseerr=True): The returned value in some cases may be the same object as the one given, such as if a - :class:`.orm.Mapper` object is passed. In other + :class:`.Mapper` object is passed. In other cases, it will be an instance of the registered inspection type for the given object, such as - if a :class:`.engine.Engine` is passed, an - :class:`.engine.Inspector` object is returned. + if an :class:`.engine.Engine` is passed, an + :class:`.Inspector` object is returned. :param subject: the subject to be inspected. :param raiseerr: When ``True``, if the given subject diff --git a/lib/sqlalchemy/orm/base.py b/lib/sqlalchemy/orm/base.py index 7e56b0228..22c92b7c1 100644 --- a/lib/sqlalchemy/orm/base.py +++ b/lib/sqlalchemy/orm/base.py @@ -338,8 +338,8 @@ def class_mapper(class_, configure=True): """Given a class, return the primary :class:`.Mapper` associated with the key. - Raises :class:`.UnmappedClassError` if no mapping is configured - on the given class, or :class:`.ArgumentError` if a non-class + Raises :exc:`.UnmappedClassError` if no mapping is configured + on the given class, or :exc:`.ArgumentError` if a non-class object is passed. Equivalent functionality is available via the :func:`.inspect` diff --git a/lib/sqlalchemy/orm/mapper.py b/lib/sqlalchemy/orm/mapper.py index 4336c191d..375e7b1af 100644 --- a/lib/sqlalchemy/orm/mapper.py +++ b/lib/sqlalchemy/orm/mapper.py @@ -622,7 +622,7 @@ class Mapper(_InspectionAttr): def entity(self): """Part of the inspection API. - Returns self.class_. + Returns self.class\_. """ return self.class_ diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index 34b9691f5..7b6de0d01 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -541,7 +541,7 @@ class Query(object): :class:`.Query`, converted to a scalar subquery with a label of the given name. - Analogous to :meth:`sqlalchemy.sql.SelectBaseMixin.label`. + Analogous to :meth:`sqlalchemy.sql.expression.SelectBase.label`. .. versionadded:: 0.6.5 @@ -553,7 +553,7 @@ class Query(object): """Return the full SELECT statement represented by this :class:`.Query`, converted to a scalar subquery. - Analogous to :meth:`sqlalchemy.sql.SelectBaseMixin.as_scalar`. + Analogous to :meth:`sqlalchemy.sql.expression.SelectBase.as_scalar`. .. versionadded:: 0.6.5 @@ -1625,7 +1625,7 @@ class Query(object): example :ref:`examples_xmlpersistence` which illustrates an XPath-like query system using algorithmic joins. - :param *props: A collection of one or more join conditions, + :param \*props: A collection of one or more join conditions, each consisting of a relationship-bound attribute or string relationship name representing an "on clause", or a single target entity, or a tuple in the form of ``(target, onclause)``. @@ -2204,7 +2204,7 @@ class Query(object): ``Query``. :param \*prefixes: optional prefixes, typically strings, - not using any commas. In particular is useful for MySQL keywords. + not using any commas. In particular is useful for MySQL keywords. e.g.:: diff --git a/lib/sqlalchemy/sql/elements.py b/lib/sqlalchemy/sql/elements.py index e9b995eaa..5058b90e0 100644 --- a/lib/sqlalchemy/sql/elements.py +++ b/lib/sqlalchemy/sql/elements.py @@ -361,7 +361,7 @@ class ClauseElement(Visitable): as well as by :func:`.select` constructs when placed into the FROM clause of another :func:`.select`. (Note that subqueries should be normally created using the - :func:`.Select.alias` method, as many platforms require + :meth:`.Select.alias` method, as many platforms require nested SELECT statements to be named). As expressions are composed together, the application of diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py index 6be32f454..d1f019482 100644 --- a/lib/sqlalchemy/sql/expression.py +++ b/lib/sqlalchemy/sql/expression.py @@ -44,7 +44,7 @@ from .base import ColumnCollection, Generative, Executable, \ PARSE_AUTOCOMMIT from .selectable import Alias, Join, Select, Selectable, TableClause, \ - CompoundSelect, FromClause, FromGrouping, SelectBase, \ + CompoundSelect, CTE, FromClause, FromGrouping, SelectBase, \ alias, \ subquery, HasPrefixes, Exists, ScalarSelect diff --git a/lib/sqlalchemy/sql/operators.py b/lib/sqlalchemy/sql/operators.py index e9b904d7c..5bd4b302b 100644 --- a/lib/sqlalchemy/sql/operators.py +++ b/lib/sqlalchemy/sql/operators.py @@ -27,8 +27,11 @@ else: class Operators(object): """Base of comparison and logical operators. - Implements base methods :meth:`operate` and :meth:`reverse_operate`, - as well as :meth:`__and__`, :meth:`__or__`, :meth:`__invert__`. + Implements base methods :meth:`~sqlalchemy.sql.operators.Operators.operate` and + :meth:`~sqlalchemy.sql.operators.Operators.reverse_operate`, as well as + :meth:`~sqlalchemy.sql.operators.Operators.__and__`, + :meth:`~sqlalchemy.sql.operators.Operators.__or__`, + :meth:`~sqlalchemy.sql.operators.Operators.__invert__`. Usually is used via its most common subclass :class:`.ColumnOperators`. diff --git a/lib/sqlalchemy/sql/selectable.py b/lib/sqlalchemy/sql/selectable.py index 4fcf06290..046840110 100644 --- a/lib/sqlalchemy/sql/selectable.py +++ b/lib/sqlalchemy/sql/selectable.py @@ -1347,8 +1347,8 @@ class SelectBase(Executable, FromClause): @_generative @util.deprecated('0.6', - message=":func:`.autocommit` is deprecated. Use " - ":func:`.Executable.execution_options` with the " + message="``autocommit()`` is deprecated. Use " + ":meth:`.Executable.execution_options` with the " "'autocommit' flag.") def autocommit(self): """return a new selectable with the 'autocommit' flag set to diff --git a/lib/sqlalchemy/sql/sqltypes.py b/lib/sqlalchemy/sql/sqltypes.py index 82ab3d556..8f22ae81c 100644 --- a/lib/sqlalchemy/sql/sqltypes.py +++ b/lib/sqlalchemy/sql/sqltypes.py @@ -1512,7 +1512,7 @@ class NullType(TypeEngine): The :class:`.NullType` can be used within SQL expression invocation without issue, it just has no behavior either at the expression construction level or at the bind-parameter/result processing level. :class:`.NullType` - will result in a :class:`.CompileException` if the compiler is asked to render + will result in a :exc:`.CompileError` if the compiler is asked to render the type itself, such as if it is used in a :func:`.cast` operation or within a schema creation operation such as that invoked by :meth:`.MetaData.create_all` or the :class:`.CreateTable` construct. diff --git a/lib/sqlalchemy/types.py b/lib/sqlalchemy/types.py index e64b67fcf..b51bf510a 100644 --- a/lib/sqlalchemy/types.py +++ b/lib/sqlalchemy/types.py @@ -8,7 +8,7 @@ """ -__all__ = ['TypeEngine', 'TypeDecorator', 'AbstractType', 'UserDefinedType', +__all__ = ['TypeEngine', 'TypeDecorator', 'UserDefinedType', 'INT', 'CHAR', 'VARCHAR', 'NCHAR', 'NVARCHAR', 'TEXT', 'Text', 'FLOAT', 'NUMERIC', 'REAL', 'DECIMAL', 'TIMESTAMP', 'DATETIME', 'CLOB', 'BLOB', 'BINARY', 'VARBINARY', 'BOOLEAN', 'BIGINT', |