Identity of a large object. More...
#include <largeobject.hxx>
Public Types | |
typedef long | size_type |
Public Member Functions | |
largeobject () throw () | |
Refer to a nonexistent large object (similar to what a null pointer does) More... | |
largeobject (dbtransaction &T) | |
Create new large object. More... | |
largeobject (oid O) throw () | |
Wrap object with given oid. More... | |
largeobject (dbtransaction &T, const PGSTD::string &File) | |
Import large object from a local file. More... | |
largeobject (const largeobjectaccess &O) throw () | |
Take identity of an opened large object. More... | |
oid | id () const throw () |
Object identifier. More... | |
void | remove (dbtransaction &T) const |
Delete large object from database. More... | |
void | to_file (dbtransaction &T, const PGSTD::string &File) const |
Export large object's contents to a local file. More... | |
Identity comparisons | |
These operators compare the object identifiers of large objects. This has nothing to do with the objects' actual contents; use them only for keeping track of containers of references to large objects and such. | |
bool | operator== (const largeobject &other) const |
Compare object identities. More... | |
bool | operator!= (const largeobject &other) const |
Compare object identities. More... | |
bool | operator<= (const largeobject &other) const |
Compare object identities. More... | |
bool | operator>= (const largeobject &other) const |
Compare object identities. More... | |
bool | operator< (const largeobject &other) const |
Compare object identities. More... | |
bool | operator> (const largeobject &other) const |
Compare object identities. More... | |
Protected Member Functions | |
PGSTD::string | Reason (int err) const |
Static Protected Member Functions | |
static internal::pq::PGconn *PQXX_PURE | RawConnection (const dbtransaction &T) |
Private Attributes | |
oid | m_ID |
Identity of a large object.
This class encapsulates the identity of a large object. To access the contents of the object, create a largeobjectaccess, a largeobject_streambuf, or an ilostream, an olostream or a lostream around the largeobject.
A largeobject must be accessed only from within a backend transaction, but the object's identity remains valid as long as the object exists.
typedef long pqxx::largeobject::size_type |
pqxx::largeobject::largeobject | ( | ) | throw () |
Refer to a nonexistent large object (similar to what a null pointer does)
|
explicit |
Create new large object.
T | Backend transaction in which the object is to be created |
|
inlineexplicit |
Wrap object with given oid.
Convert combination of a transaction and object identifier into a large object identity. Does not affect the database.
O | Object identifier for the given object |
pqxx::largeobject::largeobject | ( | dbtransaction & | T, |
const PGSTD::string & | File | ||
) |
Import large object from a local file.
Creates a large object containing the data found in the given file.
T | Backend transaction in which the large object is to be created |
File | A filename on the client program's filesystem |
pqxx::largeobject::largeobject | ( | const largeobjectaccess & | O | ) | throw () |
Take identity of an opened large object.
Copy identity of already opened large object. Note that this may be done as an implicit conversion.
O | Already opened large object to copy identity from |
|
inline |
Object identifier.
The number returned by this function identifies the large object in the database we're connected to (or oid_none is returned if we refer to the null object).
|
inline |
Compare object identities.
|
inline |
Compare object identities.
|
inline |
Compare object identities.
|
inline |
Compare object identities.
|
inline |
Compare object identities.
|
inline |
Compare object identities.
|
staticprotected |
|
protected |
void pqxx::largeobject::remove | ( | dbtransaction & | T | ) | const |
Delete large object from database.
Unlike its low-level equivalent cunlink, this will throw an exception if deletion fails.
T | Transaction in which the object is to be deleted |
void pqxx::largeobject::to_file | ( | dbtransaction & | T, |
const PGSTD::string & | File | ||
) | const |
Export large object's contents to a local file.
Writes the data stored in the large object to the given file.
T | Transaction in which the object is to be accessed |
File | A filename on the client's filesystem |
Referenced by pqxx::largeobjectaccess::to_file().
|
private |