public class LargeObjectManager extends Object
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.
ResultSet.getAsciiStream(int)
,
ResultSet.getBinaryStream(int)
,
ResultSet.getUnicodeStream(int)
,
PreparedStatement.setAsciiStream(int, java.io.InputStream, int)
,
PreparedStatement.setBinaryStream(int, java.io.InputStream, int)
,
PreparedStatement.setUnicodeStream(int, java.io.InputStream, int)
Modifier and Type | Field and Description |
---|---|
static int |
READ
This mode indicates we want to read an object.
|
static int |
READWRITE
This mode is the default.
|
static int |
WRITE
This mode indicates we want to write to an object.
|
Constructor and Description |
---|
LargeObjectManager(BaseConnection conn)
Constructs the LargeObject API.
|
Modifier and Type | Method and Description |
---|---|
int |
create()
Deprecated.
As of 8.3, replaced by
createLO() |
int |
create(int mode)
Deprecated.
As of 8.3, replaced by
createLO(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 by
delete(long) |
void |
delete(long oid)
This deletes a large object.
|
LargeObject |
open(int oid)
Deprecated.
As of 8.3, replaced by
open(long) |
LargeObject |
open(int oid,
boolean commitOnClose)
This opens an existing large object, same as previous method, but commits the transaction on
close if asked.
|
LargeObject |
open(int oid,
int mode)
Deprecated.
As of 8.3, replaced by
open(long, int) |
LargeObject |
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.
|
LargeObject |
open(long oid)
This opens an existing large object, based on its OID.
|
LargeObject |
open(long oid,
boolean commitOnClose)
This opens an existing large object, same as previous method, but commits the transaction on
close if asked.
|
LargeObject |
open(long oid,
int mode)
This opens an existing large object, based on its OID.
|
LargeObject |
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 by
unlink(long) |
void |
unlink(long oid)
This deletes a large object.
|
public static final int WRITE
public static final int READ
public static final int READWRITE
public LargeObjectManager(BaseConnection conn) throws SQLException
Constructs the LargeObject API.
Important Notice
This method should only be called by BaseConnection
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.
conn
- connectionSQLException
- if something wrong happens@Deprecated public LargeObject open(int oid) throws SQLException
open(long)
oid
- of large objectSQLException
- on errorpublic LargeObject open(int oid, boolean commitOnClose) throws SQLException
oid
- of large objectcommitOnClose
- commit the transaction when this LOB will be closedSQLException
- on errorpublic LargeObject open(long oid) throws SQLException
oid
- of large objectSQLException
- on errorpublic LargeObject open(long oid, boolean commitOnClose) throws SQLException
oid
- of large objectcommitOnClose
- commit the transaction when this LOB will be closedSQLException
- on error@Deprecated public LargeObject open(int oid, int mode) throws SQLException
open(long, int)
oid
- of large objectmode
- mode of openSQLException
- on errorpublic LargeObject open(int oid, int mode, boolean commitOnClose) throws SQLException
oid
- of large objectmode
- mode of opencommitOnClose
- commit the transaction when this LOB will be closedSQLException
- on errorpublic LargeObject open(long oid, int mode) throws SQLException
oid
- of large objectmode
- mode of openSQLException
- on errorpublic LargeObject open(long oid, int mode, boolean commitOnClose) throws SQLException
oid
- of large objectmode
- mode of opencommitOnClose
- commit the transaction when this LOB will be closedSQLException
- on error@Deprecated public int create() throws SQLException
createLO()
This creates a large object, returning its OID.
It defaults to READWRITE for the new object's attributes.
SQLException
- on errorpublic long createLO() throws SQLException
This creates a large object, returning its OID.
It defaults to READWRITE for the new object's attributes.
SQLException
- if something wrong happenspublic long createLO(int mode) throws SQLException
mode
- a bitmask describing different attributes of the new objectSQLException
- on error@Deprecated public int create(int mode) throws SQLException
createLO(int)
mode
- a bitmask describing different attributes of the new objectSQLException
- on errorpublic void delete(long oid) throws SQLException
oid
- describing object to deleteSQLException
- on error@Deprecated public void unlink(int oid) throws SQLException
unlink(long)
This deletes a large object.
It is identical to the delete method, and is supplied as the C API uses unlink.
oid
- describing object to deleteSQLException
- on errorpublic void unlink(long oid) throws SQLException
This deletes a large object.
It is identical to the delete method, and is supplied as the C API uses unlink.
oid
- describing object to deleteSQLException
- on error@Deprecated public void delete(int oid) throws SQLException
delete(long)
oid
- describing object to deleteSQLException
- on errorCopyright © 1997-2020 PostgreSQL Global Development Group. All Rights Reserved.