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.