relstorage.adapters.postgresql.mover – IObjectMover implementation

IObjectMover implementation.

class PostgreSQLObjectMover(*args, **kwargs)[source]

Bases: relstorage.adapters.mover.AbstractObjectMover

Parameters

database_driver – The IDBDriver in use.

download_blob(cursor, oid, tid, filename)[source]

Download a blob into a file.

on_store_opened(cursor, restart=False)[source]

Create the temporary tables for storing objects

restore(cursor, batcher, oid, tid, data)[source]

Store an object directly, without conflict detection.

Used for copying transactions into this database.

upload_blob(cursor, oid, tid, filename)[source]

Upload a blob from a file.

If serial is None, upload to the temporary table.

class PostgreSQLRowBatcherStoreTemps(keep_history, binary, batcher_factory=<class 'relstorage.adapters.batch.RowBatcher'>)[source]

Bases: relstorage.adapters.mover.RowBatcherStoreTemps

class TempStoreCopyBuffer(table, state_oid_tid_iterable, digester)[source]

Bases: io.BufferedIOBase

A binary file-like object for putting data into temp_store.

read(size=- 1)[source]

Read and return up to n bytes.

If the argument is omitted, None, or negative, reads and returns all data until EOF.

If the argument is positive, and the underlying raw stream is not ‘interactive’, multiple raw reads may be issued to satisfy the byte count (unless EOF is reached first). But for interactive raw streams (as well as sockets and pipes), at most one raw read will be issued, and a short result does not imply that EOF is imminent.

Returns an empty bytes object on EOF.

Returns None if the underlying raw stream was open in non-blocking mode and no data is available at the moment.