Class LargeObjectManager
It provides methods that allow client code to create, open and delete large objects from the database. When opening an object, an instance of org.postgresql.largeobject.LargeObject is returned, and its methods then allow access to the object.
This class can only be created by BaseConnection
To get access to this class, use the following segment of code:
import org.postgresql.largeobject.*; Connection conn; LargeObjectManager lobj; ... code that opens a connection ... lobj = ((org.postgresql.PGConnection)myconn).getLargeObjectAPI();
Normally, client code would use the getAsciiStream, getBinaryStream, or getUnicodeStream methods in ResultSet, or setAsciiStream, setBinaryStream, or setUnicodeStream methods in PreparedStatement to access Large Objects.
However, sometimes lower level access to Large Objects are required, that are not supported by the JDBC specification.
Refer to org.postgresql.largeobject.LargeObject on how to manipulate the contents of a Large Object.
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionint
create()
Deprecated.int
create
(int mode) Deprecated.As of 8.3, replaced bycreateLO(int)
long
createLO()
This creates a large object, returning its OID.long
createLO
(int mode) This creates a large object, returning its OID.void
delete
(int oid) Deprecated.As of 8.3, replaced bydelete(long)
void
delete
(long oid) This deletes a large object.open
(int oid) Deprecated.As of 8.3, replaced byopen(long)
open
(int oid, boolean commitOnClose) This opens an existing large object, same as previous method, but commits the transaction on close if asked.open
(int oid, int mode) Deprecated.As of 8.3, replaced byopen(long, int)
open
(int oid, int mode, boolean commitOnClose) This opens an existing large object, same as previous method, but commits the transaction on close if asked.open
(long oid) This opens an existing large object, based on its OID.open
(long oid, boolean commitOnClose) This opens an existing large object, same as previous method, but commits the transaction on close if asked.open
(long oid, int mode) This opens an existing large object, based on its OID.open
(long oid, int mode, boolean commitOnClose) This opens an existing large object, based on its OID.void
unlink
(int oid) Deprecated.As of 8.3, replaced byunlink(long)
void
unlink
(long oid) This deletes a large object.
-
Field Details
-
WRITE
public static final int WRITEThis mode indicates we want to write to an object.- See Also:
-
READ
public static final int READThis mode indicates we want to read an object.- See Also:
-
READWRITE
public static final int READWRITEThis mode is the default. It indicates we want read and write access to a large object.- See Also:
-
-
Constructor Details
-
LargeObjectManager
Constructs the LargeObject API.
Important Notice
This method should only be called byBaseConnection
There should only be one LargeObjectManager per Connection. The
BaseConnection
class keeps track of the various extension API's and it's advised you use those to gain access, and not going direct.- Parameters:
conn
- connection- Throws:
SQLException
- if something wrong happens
-
-
Method Details
-
open
Deprecated.As of 8.3, replaced byopen(long)
This opens an existing large object, based on its OID. This method assumes that READ and WRITE access is required (the default).- Parameters:
oid
- of large object- Returns:
- LargeObject instance providing access to the object
- Throws:
SQLException
- on error
-
open
This opens an existing large object, same as previous method, but commits the transaction on close if asked. This is useful when the LOB is returned to a caller which won't take care of transactions by itself.- Parameters:
oid
- of large objectcommitOnClose
- commit the transaction when this LOB will be closed- Returns:
- LargeObject instance providing access to the object
- Throws:
SQLException
- on error
-
open
This opens an existing large object, based on its OID. This method assumes that READ and WRITE access is required (the default).- Parameters:
oid
- of large object- Returns:
- LargeObject instance providing access to the object
- Throws:
SQLException
- on error
-
open
This opens an existing large object, same as previous method, but commits the transaction on close if asked.- Parameters:
oid
- of large objectcommitOnClose
- commit the transaction when this LOB will be closed- Returns:
- LargeObject instance providing access to the object
- Throws:
SQLException
- on error
-
open
Deprecated.As of 8.3, replaced byopen(long, int)
This opens an existing large object, based on its OID.- Parameters:
oid
- of large objectmode
- mode of open- Returns:
- LargeObject instance providing access to the object
- Throws:
SQLException
- on error
-
open
This opens an existing large object, same as previous method, but commits the transaction on close if asked.- Parameters:
oid
- of large objectmode
- mode of opencommitOnClose
- commit the transaction when this LOB will be closed- Returns:
- LargeObject instance providing access to the object
- Throws:
SQLException
- on error
-
open
This opens an existing large object, based on its OID.- Parameters:
oid
- of large objectmode
- mode of open- Returns:
- LargeObject instance providing access to the object
- Throws:
SQLException
- on error
-
open
This opens an existing large object, based on its OID.- Parameters:
oid
- of large objectmode
- mode of opencommitOnClose
- commit the transaction when this LOB will be closed- Returns:
- LargeObject instance providing access to the object
- Throws:
SQLException
- on error
-
create
Deprecated.As of 8.3, replaced bycreateLO()
This creates a large object, returning its OID.
It defaults to READWRITE for the new object's attributes.
- Returns:
- oid of new object
- Throws:
SQLException
- on error
-
createLO
This creates a large object, returning its OID.
It defaults to READWRITE for the new object's attributes.
- Returns:
- oid of new object
- Throws:
SQLException
- if something wrong happens
-
createLO
This creates a large object, returning its OID.- Parameters:
mode
- a bitmask describing different attributes of the new object- Returns:
- oid of new object
- Throws:
SQLException
- on error
-
create
Deprecated.As of 8.3, replaced bycreateLO(int)
This creates a large object, returning its OID.- Parameters:
mode
- a bitmask describing different attributes of the new object- Returns:
- oid of new object
- Throws:
SQLException
- on error
-
delete
This deletes a large object.- Parameters:
oid
- describing object to delete- Throws:
SQLException
- on error
-
unlink
Deprecated.As of 8.3, replaced byunlink(long)
This deletes a large object.
It is identical to the delete method, and is supplied as the C API uses unlink.
- Parameters:
oid
- describing object to delete- Throws:
SQLException
- on error
-
unlink
This deletes a large object.
It is identical to the delete method, and is supplied as the C API uses unlink.
- Parameters:
oid
- describing object to delete- Throws:
SQLException
- on error
-
delete
Deprecated.As of 8.3, replaced bydelete(long)
This deletes a large object.- Parameters:
oid
- describing object to delete- Throws:
SQLException
- on error
-
createLO()