47 lines
1.1 KiB
Python
47 lines
1.1 KiB
Python
"""
|
|
psycopg raw queries cursors
|
|
"""
|
|
|
|
# Copyright (C) 2023 The Psycopg Team
|
|
|
|
from __future__ import annotations
|
|
|
|
from typing import TYPE_CHECKING
|
|
|
|
from .abc import ConnectionType
|
|
from .rows import Row
|
|
from .cursor import Cursor
|
|
from ._queries import PostgresRawQuery
|
|
from ._cursor_base import BaseCursor
|
|
from .cursor_async import AsyncCursor
|
|
from ._server_cursor import ServerCursor
|
|
from ._server_cursor_async import AsyncServerCursor
|
|
|
|
if TYPE_CHECKING:
|
|
from typing import Any # noqa: F401
|
|
|
|
from .connection import Connection # noqa: F401
|
|
from .connection_async import AsyncConnection # noqa: F401
|
|
|
|
|
|
class RawCursorMixin(BaseCursor[ConnectionType, Row]):
|
|
_query_cls = PostgresRawQuery
|
|
|
|
|
|
class RawCursor(RawCursorMixin["Connection[Any]", Row], Cursor[Row]):
|
|
__module__ = "psycopg"
|
|
|
|
|
|
class AsyncRawCursor(RawCursorMixin["AsyncConnection[Any]", Row], AsyncCursor[Row]):
|
|
__module__ = "psycopg"
|
|
|
|
|
|
class RawServerCursor(RawCursorMixin["Connection[Any]", Row], ServerCursor[Row]):
|
|
__module__ = "psycopg"
|
|
|
|
|
|
class AsyncRawServerCursor(
|
|
RawCursorMixin["AsyncConnection[Any]", Row], AsyncServerCursor[Row]
|
|
):
|
|
__module__ = "psycopg"
|