libpqxx: pqxx::largeobject Class Reference

libpqxx 4.0.1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Types | Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
pqxx::largeobject Class Reference

Identity of a large object. More...

`#include <largeobject.hxx>`

Inheritance diagram for pqxx::largeobject:

## Public Types
typedef long | size_type

## Public Member Functions
| largeobject () throw ()
| Refer to a nonexistent large object (similar to what a null pointer does)
| largeobject (dbtransaction &T)
| Create new large object.
| largeobject (oid O) throw ()
| Wrap object with given oid.
| largeobject (dbtransaction &T, const std::string &File)
| Import large object from a local file.
| largeobject (const largeobjectaccess &O) throw ()
| Take identity of an opened large object.
oid | id () const throw ()
| Object identifier.
void | to_file (dbtransaction &T, const std::string &File) const
| Export large object's contents to a local file.
void | remove (dbtransaction &T) const
| Delete large object from database.
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.
bool | operator!= (const largeobject &other) const
| Compare object identities.
bool | operator<= (const largeobject &other) const
| Compare object identities.
bool | operator>= (const largeobject &other) const
| Compare object identities.
bool | operator< (const largeobject &other) const
| Compare object identities.
bool | operator> (const largeobject &other) const
| Compare object identities.

## Protected Member Functions
std::string | Reason (int err) const

## Static Protected Member Functions
static internal::pq::PGconn *PQXX_PURE | RawConnection (const dbtransaction &T)

## Detailed Description

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.

## Member Typedef Documentation

typedef long pqxx::largeobject::size_type

## Constructor & Destructor Documentation

pqxx::largeobject::largeobject | ( |  | ) | throw ()

Refer to a nonexistent large object (similar to what a null pointer does)

pqxx::largeobject::largeobject | ( | dbtransaction & | T | ) |
| explicit

Create new large object.

Parameters

  T | Backend transaction in which the object is to be created

References pqxx::oid_none, RawConnection(), and Reason().

pqxx::largeobject::largeobject | ( | oid | O | ) | throw ()
| explicit

Wrap object with given oid.

Convert combination of a transaction and object identifier into a large object identity. Does not affect the database.

Parameters

  O | Object identifier for the given object

pqxx::largeobject::largeobject | ( | dbtransaction & | T,
|  | const std::string & | File
| ) |  |

Import large object from a local file.

Creates a large object containing the data found in the given file.

Parameters

  T | Backend transaction in which the large object is to be created
  File | A filename on the client program's filesystem

References pqxx::oid_none, RawConnection(), and Reason().

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.

Parameters

  O | Already opened large object to copy identity from

## Member Function Documentation

oid pqxx::largeobject::id | ( |  | ) | const throw ()

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).

bool pqxx::largeobject::operator!= | ( | const largeobject & | other | ) | const

Compare object identities.

Warning
  Only valid between large objects in the same database.

bool pqxx::largeobject::operator< | ( | const largeobject & | other | ) | const

Compare object identities.

Warning
  Only valid between large objects in the same database.

bool pqxx::largeobject::operator<= | ( | const largeobject & | other | ) | const

Compare object identities.

Warning
  Only valid between large objects in the same database.

bool pqxx::largeobject::operator== | ( | const largeobject & | other | ) | const

Compare object identities.

Warning
  Only valid between large objects in the same database.

bool pqxx::largeobject::operator> | ( | const largeobject & | other | ) | const

Compare object identities.

Warning
  Only valid between large objects in the same database.

bool pqxx::largeobject::operator>= | ( | const largeobject & | other | ) | const

Compare object identities.

Warning
  Only valid between large objects in the same database.

pqxx::internal::pq::PGconn * pqxx::largeobject::RawConnection | ( | const dbtransaction & | T | ) |
| staticprotected

References pqxx::transaction_base::conn().

Referenced by largeobject().

string pqxx::largeobject::Reason | ( | int | err | ) | const
| protected

References pqxx::oid_none, and pqxx::internal::strerror_wrapper().

Referenced by largeobject().

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.

Parameters

  T | Transaction in which the object is to be deleted

References pqxx::to_string().

void pqxx::largeobject::to_file | ( | dbtransaction & | T,
|  | const std::string & | File
| ) |  | const

Export large object's contents to a local file.

Writes the data stored in the large object to the given file.

Parameters

  T | Transaction in which the object is to be accessed
  File | A filename on the client's filesystem

References pqxx::to_string().

Referenced by pqxx::largeobjectaccess::to_file().

The documentation for this class was generated from the following files:

- largeobject.hxx
- largeobject.cxx