From 3bde1eae31212b5bc2c6652dca52f70fb79d5950 Mon Sep 17 00:00:00 2001 From: Federico Caselli Date: Fri, 17 Jun 2022 21:53:32 +0200 Subject: [PATCH] Normalize postgresql docs links to point to current Change-Id: Ib7d3ea7ff3356ff8a2f935892d904a69dbc25c3e --- doc/build/changelog/migration_07.rst | 3 +-- doc/build/orm/versioning.rst | 4 ++-- lib/sqlalchemy/dialects/postgresql/base.py | 8 ++++---- lib/sqlalchemy/dialects/postgresql/ext.py | 2 +- lib/sqlalchemy/dialects/postgresql/psycopg2.py | 4 ++-- lib/sqlalchemy/dialects/postgresql/ranges.py | 2 +- lib/sqlalchemy/orm/query.py | 2 +- lib/sqlalchemy/sql/schema.py | 4 ++-- lib/sqlalchemy/sql/sqltypes.py | 16 ++++++++-------- test/dialect/postgresql/test_reflection.py | 2 +- 10 files changed, 23 insertions(+), 24 deletions(-) diff --git a/doc/build/changelog/migration_07.rst b/doc/build/changelog/migration_07.rst index 12a3c23e6d..a222f5380b 100644 --- a/doc/build/changelog/migration_07.rst +++ b/doc/build/changelog/migration_07.rst @@ -373,8 +373,7 @@ The best introduction to window functions is on PostgreSQL's site, where window functions have been supported since version 8.4: -https://www.postgresql.org/docs/9.0/static/tutorial- -window.html +https://www.postgresql.org/docs/current/static/tutorial-window.html SQLAlchemy provides a simple construct typically invoked via an existing function clause, using the ``over()`` method, diff --git a/doc/build/orm/versioning.rst b/doc/build/orm/versioning.rst index ffc22fae68..f29e4f2384 100644 --- a/doc/build/orm/versioning.rst +++ b/doc/build/orm/versioning.rst @@ -45,7 +45,7 @@ transaction). .. seealso:: - `Repeatable Read Isolation Level `_ - PostgreSQL's implementation of repeatable read, including a description of the error condition. + `Repeatable Read Isolation Level `_ - PostgreSQL's implementation of repeatable read, including a description of the error condition. Simple Version Counting ----------------------- @@ -141,7 +141,7 @@ some means of generating new identifiers when a row is subject to an INSERT as well as with an UPDATE. For the UPDATE case, typically an update trigger is needed, unless the database in question supports some other native version identifier. The PostgreSQL database in particular supports a system -column called `xmin `_ +column called `xmin `_ which provides UPDATE versioning. We can make use of the PostgreSQL ``xmin`` column to version our ``User`` class as follows:: diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index 83e46151f0..0de8a9c445 100644 --- a/lib/sqlalchemy/dialects/postgresql/base.py +++ b/lib/sqlalchemy/dialects/postgresql/base.py @@ -408,7 +408,7 @@ which is in the ``public`` (i.e. default) schema will always have the from a backend-agnostic perspective `The Schema Search Path - `_ + `_ - on the PostgreSQL website. INSERT/UPDATE...RETURNING @@ -808,7 +808,7 @@ take full advantage of any indexes you may have created for full text search. .. seealso:: - `Full Text Search `_ - in the PostgreSQL documentation + `Full Text Search `_ - in the PostgreSQL documentation FROM ONLY ... @@ -871,7 +871,7 @@ Operator Classes PostgreSQL allows the specification of an *operator class* for each column of an index (see -https://www.postgresql.org/docs/8.3/interactive/indexes-opclass.html). +https://www.postgresql.org/docs/current/interactive/indexes-opclass.html). The :class:`.Index` construct allows these to be specified via the ``postgresql_ops`` keyword argument:: @@ -913,7 +913,7 @@ Index Types PostgreSQL provides several index types: B-Tree, Hash, GiST, and GIN, as well as the ability for users to create their own (see -https://www.postgresql.org/docs/8.3/static/indexes-types.html). These can be +https://www.postgresql.org/docs/current/static/indexes-types.html). These can be specified on :class:`.Index` using the ``postgresql_using`` keyword argument:: Index('my_index', my_table.c.data, postgresql_using='gin') diff --git a/lib/sqlalchemy/dialects/postgresql/ext.py b/lib/sqlalchemy/dialects/postgresql/ext.py index ef8c8f5290..0192cf5815 100644 --- a/lib/sqlalchemy/dialects/postgresql/ext.py +++ b/lib/sqlalchemy/dialects/postgresql/ext.py @@ -95,7 +95,7 @@ class ExcludeConstraint(ColumnCollectionConstraint): Defines an EXCLUDE constraint as described in the `PostgreSQL documentation`__. - __ https://www.postgresql.org/docs/9.0/static/sql-createtable.html#SQL-CREATETABLE-EXCLUDE + __ https://www.postgresql.org/docs/current/static/sql-createtable.html#SQL-CREATETABLE-EXCLUDE """ # noqa diff --git a/lib/sqlalchemy/dialects/postgresql/psycopg2.py b/lib/sqlalchemy/dialects/postgresql/psycopg2.py index 7488e431d1..2fe1ee15b1 100644 --- a/lib/sqlalchemy/dialects/postgresql/psycopg2.py +++ b/lib/sqlalchemy/dialects/postgresql/psycopg2.py @@ -107,7 +107,7 @@ using ``host`` as an additional keyword argument:: .. seealso:: `PQconnectdbParams \ - `_ + `_ .. _psycopg2_multi_host: @@ -132,7 +132,7 @@ or all connections are unsuccessful in which case an error is raised. .. seealso:: `PQConnString \ - `_ + `_ Empty DSN Connections / Environment Variable Connections --------------------------------------------------------- diff --git a/lib/sqlalchemy/dialects/postgresql/ranges.py b/lib/sqlalchemy/dialects/postgresql/ranges.py index b4d44fa915..81431ad597 100644 --- a/lib/sqlalchemy/dialects/postgresql/ranges.py +++ b/lib/sqlalchemy/dialects/postgresql/ranges.py @@ -20,7 +20,7 @@ class RangeOperators: provided in the ``postgres`` dialect and can likely be used for any range types you create yourself. - __ https://www.postgresql.org/docs/devel/static/functions-range.html + __ https://www.postgresql.org/docs/current/static/functions-range.html No extra support is provided for the Range Functions listed in the Range Functions table of the PostgreSQL documentation. For these, the normal diff --git a/lib/sqlalchemy/orm/query.py b/lib/sqlalchemy/orm/query.py index 596e910998..ead67be7fb 100644 --- a/lib/sqlalchemy/orm/query.py +++ b/lib/sqlalchemy/orm/query.py @@ -650,7 +650,7 @@ class Query( Here is the `PostgreSQL WITH RECURSIVE example - `_. + `_. Note that, in this example, the ``included_parts`` cte and the ``incl_alias`` alias of it are Core selectables, which means the columns are accessed via the ``.c.`` attribute. The diff --git a/lib/sqlalchemy/sql/schema.py b/lib/sqlalchemy/sql/schema.py index c37b600039..5ab6157810 100644 --- a/lib/sqlalchemy/sql/schema.py +++ b/lib/sqlalchemy/sql/schema.py @@ -4174,8 +4174,8 @@ class ForeignKeyConstraint(ColumnCollectionConstraint): ) else: # e.g. FOREIGN KEY (a) REFERENCES r (b, c) - # paraphrasing https://www.postgresql.org/docs/9.2/static/\ - # ddl-constraints.html + # paraphrasing + # https://www.postgresql.org/docs/current/static/ddl-constraints.html raise exc.ArgumentError( "ForeignKeyConstraint number " "of constrained columns must match the number of " diff --git a/lib/sqlalchemy/sql/sqltypes.py b/lib/sqlalchemy/sql/sqltypes.py index b4b444f23f..115bfeae0d 100644 --- a/lib/sqlalchemy/sql/sqltypes.py +++ b/lib/sqlalchemy/sql/sqltypes.py @@ -782,8 +782,8 @@ class DateTime( @util.memoized_property def _expression_adaptations(self): - # Based on https://www.postgresql.org/docs/current/\ - # static/functions-datetime.html. + # Based on + # https://www.postgresql.org/docs/current/static/functions-datetime.html. return { operators.add: {Interval: self.__class__}, @@ -809,8 +809,8 @@ class Date(_RenderISO8601NoT, HasExpressionLookup, TypeEngine[dt.date]): @util.memoized_property def _expression_adaptations(self): - # Based on https://www.postgresql.org/docs/current/\ - # static/functions-datetime.html. + # Based on + # https://www.postgresql.org/docs/current/static/functions-datetime.html. return { operators.add: { @@ -857,8 +857,8 @@ class Time(_RenderISO8601NoT, HasExpressionLookup, TypeEngine[dt.time]): @util.memoized_property def _expression_adaptations(self): - # Based on https://www.postgresql.org/docs/current/\ - # static/functions-datetime.html. + # Based on + # https://www.postgresql.org/docs/current/static/functions-datetime.html. return { operators.add: {Date: DateTime, Interval: self.__class__}, @@ -1921,8 +1921,8 @@ class Boolean(SchemaType, Emulated, TypeEngine[bool]): class _AbstractInterval(HasExpressionLookup, TypeEngine[dt.timedelta]): @util.memoized_property def _expression_adaptations(self): - # Based on https://www.postgresql.org/docs/current/\ - # static/functions-datetime.html. + # Based on + # https://www.postgresql.org/docs/current/static/functions-datetime.html. return { operators.add: { diff --git a/test/dialect/postgresql/test_reflection.py b/test/dialect/postgresql/test_reflection.py index cbb1809e4d..3e0569d32b 100644 --- a/test/dialect/postgresql/test_reflection.py +++ b/test/dialect/postgresql/test_reflection.py @@ -1091,7 +1091,7 @@ class ReflectionTest( # "ASC NULLS LAST" is implicit default for indexes, # and "NULLS FIRST" is implicit default for "DESC". - # (https://www.postgresql.org/docs/11/indexes-ordering.html) + # (https://www.postgresql.org/docs/current/indexes-ordering.html) def compile_exprs(exprs): return list(map(str, exprs)) -- 2.47.2