base¶
Базовые функции для работы с бинарным форматом PostgreSQL COPY.
Описание:
Низкоуровневые функции для чтения и записи структурированных данных в формате PostgreSQL COPY binary. Обеспечивают работу с заголовками, записями и типами данных.
read_num_columns¶
- read_num_columns(fileobj, column_length)¶
- Параметры:
fileobj (BufferedReader) – Файловый объект
column_length (int) – Длина колонки
- Результат:
Количество колонок
- Тип результата:
int
Чтение количества колонок из заголовка бинарного формата.
read_record¶
- read_record(fileobj, reader, pgoid_function, buffer_object, pgoid)¶
- Параметры:
fileobj (BufferedReader) – Файловый объект
reader (object) – Функция чтения типа данных
pgoid_function (object) – Функция преобразования OID
buffer_object (object) – Объект буфера
pgoid (int) – OID типа данных PostgreSQL
- Результат:
Прочитанная запись
- Тип результата:
Any
Чтение одной записи (строки) из бинарного формата.
skip_all¶
- skip_all(fileobj, column_length, num_columns, num_rows)¶
- Параметры:
fileobj (BufferedReader) – Файловый объект
column_length (int) – Длина колонки
num_columns (int) – Количество колонок
num_rows (int) – Количество строк
- Результат:
Размер пропущенных данных
- Тип результата:
int
Пропуск всех записей без чтения данных.
writer¶
- writer(fileobj, write_row, dtype_values, num_columns)¶
- Параметры:
fileobj (BufferedReader) – Файловый объект для записи
write_row (object) – Функция записи строки
dtype_values (Any) – Значения для записи
num_columns (int) – Количество колонок
- Результат:
Количество записанных байт
- Тип результата:
int
Запись данных в бинарный формат PostgreSQL COPY.
nullable_writer¶
- nullable_writer(write_dtype, dtype_value, pgoid_function, buffer_object, pgoid)¶
- Параметры:
write_dtype (object) – Функция записи типа данных
dtype_value (Any) – Значение для записи
pgoid_function (object) – Функция преобразования OID
buffer_object (object) – Объект буфера
pgoid (int) – OID типа данных PostgreSQL
- Результат:
Байтовое представление с учетом NULL
- Тип результата:
bytes
Запись значений с поддержкой NULL для nullable типов.
make_rows¶
- make_rows(write_row, dtype_values, num_columns)¶
- Параметры:
write_row (object) – Функция записи строки
dtype_values (Any) – Значения для записи
num_columns (int) – Количество колонок
- Результат:
Генератор байтовых строк
- Тип результата:
Generator[bytes, None, None]
Генерация строк в бинарном формате PostgreSQL COPY.
Использование:
Как основа для реализации парсеров и сериализаторов формата COPY.