from .hstore import hstore
from .json import JSON
from .json import JSONB
+ from .named_types import CreateDomainType
+ from .named_types import CreateEnumType
+ from .named_types import DropDomainType
+ from .named_types import DropEnumType
+ from .named_types import ENUM
+ from .named_types import NamedType
+from .ranges import DATEMULTIRANGE
from .ranges import DATERANGE
+from .ranges import INT4MULTIRANGE
from .ranges import INT4RANGE
+from .ranges import INT8MULTIRANGE
from .ranges import INT8RANGE
+from .ranges import NUMMULTIRANGE
from .ranges import NUMRANGE
+from .ranges import TSMULTIRANGE
from .ranges import TSRANGE
+from .ranges import TSTZMULTIRANGE
from .ranges import TSTZRANGE
- from ...util import compat
+ from .types import BIT
+ from .types import BYTEA
+ from .types import CIDR
+ from .types import INET
+ from .types import INTERVAL
+ from .types import MACADDR
+ from .types import MONEY
+ from .types import OID
+ from .types import REGCLASS
+ from .types import TIME
+ from .types import TIMESTAMP
+ from .types import TSVECTOR
# Alias psycopg also as psycopg_async
psycopg_async = type(
dbapi_conn.rollback()
eq_(val, "off")
-- @testing.requires.psycopg_compatibility
++ @testing.requires.any_psycopg_compatibility
def test_psycopg_non_standard_err(self):
# note that psycopg2 is sometimes called psycopg2cffi
# depending on platform
assert isinstance(exception, exc.OperationalError)
@testing.requires.no_coverage
-- @testing.requires.psycopg_compatibility
++ @testing.requires.any_psycopg_compatibility
def test_notice_logging(self):
log = logging.getLogger("sqlalchemy.dialects.postgresql")
buf = logging.handlers.BufferingHandler(100)
from sqlalchemy import util
from sqlalchemy.dialects import postgresql
from sqlalchemy.dialects.postgresql import array
+from sqlalchemy.dialects.postgresql import DATEMULTIRANGE
from sqlalchemy.dialects.postgresql import DATERANGE
+ from sqlalchemy.dialects.postgresql import DOMAIN
+ from sqlalchemy.dialects.postgresql import ENUM
from sqlalchemy.dialects.postgresql import HSTORE
from sqlalchemy.dialects.postgresql import hstore
+from sqlalchemy.dialects.postgresql import INT4MULTIRANGE
from sqlalchemy.dialects.postgresql import INT4RANGE
+from sqlalchemy.dialects.postgresql import INT8MULTIRANGE
from sqlalchemy.dialects.postgresql import INT8RANGE
from sqlalchemy.dialects.postgresql import JSON
from sqlalchemy.dialects.postgresql import JSONB
+ from sqlalchemy.dialects.postgresql import NamedType
+from sqlalchemy.dialects.postgresql import NUMMULTIRANGE
from sqlalchemy.dialects.postgresql import NUMRANGE
+from sqlalchemy.dialects.postgresql import TSMULTIRANGE
from sqlalchemy.dialects.postgresql import TSRANGE
+from sqlalchemy.dialects.postgresql import TSTZMULTIRANGE
from sqlalchemy.dialects.postgresql import TSTZRANGE
from sqlalchemy.exc import CompileError
from sqlalchemy.orm import declarative_base
testing.combinations(
sqltypes.ARRAY,
postgresql.ARRAY,
-- (_ArrayOfEnum, testing.requires.psycopg_compatibility),
++ (_ArrayOfEnum, testing.requires.any_psycopg_compatibility),
argnames="array_cls",
)(fn)
)
class _RangeTypeRoundTrip(fixtures.TablesTest):
-- __requires__ = "range_types", "psycopg_compatibility"
++ __requires__ = "range_types", "any_psycopg_compatibility"
__backend__ = True
def extras(self):
@property
def range_types(self):
def check_range_types(config):
-- if not self.psycopg_compatibility.enabled:
++ if not self.any_psycopg_compatibility.enabled:
return False
try:
with config.db.connect() as conn:
@property
def native_hstore(self):
-- return self.psycopg_compatibility
++ return self.any_psycopg_compatibility
@property
def psycopg2_compatibility(self):
return only_on(["postgresql+psycopg2", "postgresql+psycopg2cffi"])
@property
-- def psycopg_compatibility(self):
++ def any_psycopg_compatibility(self):
return only_on(
[
"postgresql+psycopg2",
]
)
+ @property
+ def psycopg_only_compatibility(self):
+ return only_on(["postgresql+psycopg"])
+
@property
def psycopg_or_pg8000_compatibility(self):
-- return only_on([self.psycopg_compatibility, "postgresql+pg8000"])
++ return only_on([self.any_psycopg_compatibility, "postgresql+pg8000"])
@property
def percent_schema_names(self):