From 4eb8437f61139179a18f63168ff9987acfd0f3ca Mon Sep 17 00:00:00 2001 From: Noufal Ibrahim Date: Thu, 5 Dec 2013 18:21:49 +0530 Subject: [PATCH] Updates documentation for tsvector type. Signed-off-by: Noufal Ibrahim --- doc/build/dialects/postgresql.rst | 4 +++- lib/sqlalchemy/dialects/postgresql/base.py | 27 +++++++++++++++++++++- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/doc/build/dialects/postgresql.rst b/doc/build/dialects/postgresql.rst index c5a28bacfb..4fbbf52b6a 100644 --- a/doc/build/dialects/postgresql.rst +++ b/doc/build/dialects/postgresql.rst @@ -17,7 +17,7 @@ they originate from :mod:`sqlalchemy.types` or from the local dialect:: DOUBLE_PRECISION, ENUM, FLOAT, HSTORE, INET, INTEGER, \ INTERVAL, MACADDR, NUMERIC, REAL, SMALLINT, TEXT, TIME, \ TIMESTAMP, UUID, VARCHAR, INT4RANGE, INT8RANGE, NUMRANGE, \ - DATERANGE, TSRANGE, TSTZRANGE + DATERANGE, TSRANGE, TSTZRANGE, TSVECTOR Types which are specific to PostgreSQL, or have PostgreSQL-specific construction arguments, are as follows: @@ -77,6 +77,8 @@ construction arguments, are as follows: .. autoclass:: REAL :members: __init__ +.. autoclass:: TSVECTOR + :members: __init__ .. autoclass:: UUID :members: __init__ diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index 5ef16c412a..ed8a8c90f3 100644 --- a/lib/sqlalchemy/dialects/postgresql/base.py +++ b/lib/sqlalchemy/dialects/postgresql/base.py @@ -369,6 +369,31 @@ class UUID(sqltypes.TypeEngine): PGUuid = UUID class TSVECTOR(sqltypes.TypeEngine): + """The TSVECTOR type implements the Postgresql text search type + TSVECTOR. + + It can be used to do full text queries on natural language + *documents*. + + Search queries are performed using the ``@@`` operator in + postgresql. This is made available with the ``match`` method + available on the column. + + This means that if you have a table ``Example`` with a column + ``text`` of type ``TSVECTOR``, you can create a search clause like + so + + :: + + Example.text.match("search string") + + which will be compiled to + + :: + + text @@ to_tsquery('search string') + + """ __visit_name__ = 'TSVECTOR' @@ -1169,7 +1194,7 @@ class PGDDLCompiler(compiler.DDLCompiler): class PGTypeCompiler(compiler.GenericTypeCompiler): def visit_TSVECTOR(self, type): return "TSVECTOR" - + def visit_INET(self, type_): return "INET" -- 2.47.3