summaryrefslogtreecommitdiff
path: root/test/dialect/postgresql
diff options
context:
space:
mode:
authorJulian David Rath <julian.rath@semadox.com>2023-03-06 15:50:48 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2023-03-15 13:09:55 -0400
commite8baf5aa010ce7e3dea9b0ccf5e8b0b90f4310ad (patch)
tree67b5477cc4bdaed1f188a55d07dc0c7a0b0082c4 /test/dialect/postgresql
parent7fd3b4747d2935effd9e0c2bbe72f080df4ffc50 (diff)
downloadsqlalchemy-e8baf5aa010ce7e3dea9b0ccf5e8b0b90f4310ad.tar.gz
Implementation of CITEXT , unittest and documentation
Added new PostgreSQL type :class:`_postgresql.CITEXT`. Pull request courtesy Julian David Rath. Fixes: #9416 Closes: #9417 Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/9417 Pull-request-sha: 23a83a342ad6d820ee5749ebccda04e54c373f7d Change-Id: I54699b9457426c20afbdc0acaa41dc57644b0536
Diffstat (limited to 'test/dialect/postgresql')
-rw-r--r--test/dialect/postgresql/test_types.py28
1 files changed, 28 insertions, 0 deletions
diff --git a/test/dialect/postgresql/test_types.py b/test/dialect/postgresql/test_types.py
index 2b15c7d73..61d2a3107 100644
--- a/test/dialect/postgresql/test_types.py
+++ b/test/dialect/postgresql/test_types.py
@@ -40,6 +40,7 @@ from sqlalchemy.dialects.postgresql import aggregate_order_by
from sqlalchemy.dialects.postgresql import array
from sqlalchemy.dialects.postgresql import array_agg
from sqlalchemy.dialects.postgresql import base
+from sqlalchemy.dialects.postgresql import CITEXT
from sqlalchemy.dialects.postgresql import DATEMULTIRANGE
from sqlalchemy.dialects.postgresql import DATERANGE
from sqlalchemy.dialects.postgresql import DOMAIN
@@ -5748,3 +5749,30 @@ class JSONBCastSuiteTest(suite.JSONLegacyStringCastIndexTest):
__requires__ = ("postgresql_jsonb",)
datatype = JSONB
+
+
+class CITextTest(fixtures.TablesTest):
+ __requires__ = ("citext",)
+ __only_on__ = "postgresql"
+
+ @classmethod
+ def define_tables(cls, metadata):
+ Table(
+ "ci_test_table",
+ metadata,
+ Column("id", Integer, primary_key=True),
+ Column("caseignore_text", CITEXT),
+ )
+
+ def test_citext(self, connection):
+ ci_test_table = self.tables.ci_test_table
+ connection.execute(
+ ci_test_table.insert(),
+ {"caseignore_text": "Hello World"},
+ )
+
+ ret = connection.execute(
+ select(ci_test_table.c.caseignore_text == "hello world")
+ ).scalar()
+
+ assert ret is not None