クラス LargeObjectManager

java.lang.Object
org.postgresql.largeobject.LargeObjectManager

public class LargeObjectManager extends Object
This class implements the large object interface to org.postgresql.

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.

関連項目:
  • フィールドの概要

    フィールド
    修飾子とタイプ
    フィールド
    説明
    static final int
    This mode indicates we want to read an object.
    static final int
    This mode is the default.
    static final int
    This mode indicates we want to write to an object.
  • コンストラクタの概要

    コンストラクタ
    コンストラクタ
    説明
    Constructs the LargeObject API.
  • メソッドの概要

    修飾子とタイプ
    メソッド
    説明
    int
    推奨されていません。
    As of 8.3, replaced by createLO()
    int
    create(int mode)
    推奨されていません。
    As of 8.3, replaced by createLO(int)
    long
    This creates a large object, returning its OID.
    long
    createLO(int mode)
    This creates a large object, returning its OID.
    void
    delete(int oid)
    推奨されていません。
    As of 8.3, replaced by delete(long)
    void
    delete(long oid)
    This deletes a large object.
    open(int oid)
    推奨されていません。
    As of 8.3, replaced by open(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)
    推奨されていません。
    As of 8.3, replaced by open(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)
    推奨されていません。
    As of 8.3, replaced by unlink(long)
    void
    unlink(long oid)
    This deletes a large object.

    クラスから継承されたメソッド java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • WRITE

      public static final int WRITE
      This mode indicates we want to write to an object.
      関連項目:
    • READ

      public static final int READ
      This mode indicates we want to read an object.
      関連項目:
    • READWRITE

      public static final int READWRITE
      This mode is the default. It indicates we want read and write access to a large object.
      関連項目:
  • コンストラクタの詳細

    • LargeObjectManager

      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 - connection
      例外:
      SQLException - if something wrong happens
  • メソッドの詳細

    • open

      @Deprecated public LargeObject open(int oid) throws SQLException
      推奨されていません。
      As of 8.3, replaced by open(long)
      This opens an existing large object, based on its OID. This method assumes that READ and WRITE access is required (the default).
      パラメータ:
      oid - of large object
      戻り値:
      LargeObject instance providing access to the object
      例外:
      SQLException - on error
    • open

      public LargeObject open(int oid, boolean commitOnClose) throws SQLException
      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.
      パラメータ:
      oid - of large object
      commitOnClose - commit the transaction when this LOB will be closed
      戻り値:
      LargeObject instance providing access to the object
      例外:
      SQLException - on error
    • open

      public LargeObject open(long oid) throws SQLException
      This opens an existing large object, based on its OID. This method assumes that READ and WRITE access is required (the default).
      パラメータ:
      oid - of large object
      戻り値:
      LargeObject instance providing access to the object
      例外:
      SQLException - on error
    • open

      public LargeObject open(long oid, boolean commitOnClose) throws SQLException
      This opens an existing large object, same as previous method, but commits the transaction on close if asked.
      パラメータ:
      oid - of large object
      commitOnClose - commit the transaction when this LOB will be closed
      戻り値:
      LargeObject instance providing access to the object
      例外:
      SQLException - on error
    • open

      @Deprecated public LargeObject open(int oid, int mode) throws SQLException
      推奨されていません。
      As of 8.3, replaced by open(long, int)
      This opens an existing large object, based on its OID.
      パラメータ:
      oid - of large object
      mode - mode of open
      戻り値:
      LargeObject instance providing access to the object
      例外:
      SQLException - on error
    • open

      public LargeObject open(int oid, int mode, boolean commitOnClose) throws SQLException
      This opens an existing large object, same as previous method, but commits the transaction on close if asked.
      パラメータ:
      oid - of large object
      mode - mode of open
      commitOnClose - commit the transaction when this LOB will be closed
      戻り値:
      LargeObject instance providing access to the object
      例外:
      SQLException - on error
    • open

      public LargeObject open(long oid, int mode) throws SQLException
      This opens an existing large object, based on its OID.
      パラメータ:
      oid - of large object
      mode - mode of open
      戻り値:
      LargeObject instance providing access to the object
      例外:
      SQLException - on error
    • open

      public LargeObject open(long oid, int mode, boolean commitOnClose) throws SQLException
      This opens an existing large object, based on its OID.
      パラメータ:
      oid - of large object
      mode - mode of open
      commitOnClose - commit the transaction when this LOB will be closed
      戻り値:
      LargeObject instance providing access to the object
      例外:
      SQLException - on error
    • create

      @Deprecated public int create() throws SQLException
      推奨されていません。
      As of 8.3, replaced by createLO()

      This creates a large object, returning its OID.

      It defaults to READWRITE for the new object's attributes.

      戻り値:
      oid of new object
      例外:
      SQLException - on error
    • createLO

      public long createLO() throws SQLException

      This creates a large object, returning its OID.

      It defaults to READWRITE for the new object's attributes.

      戻り値:
      oid of new object
      例外:
      SQLException - if something wrong happens
    • createLO

      public long createLO(int mode) throws SQLException
      This creates a large object, returning its OID.
      パラメータ:
      mode - a bitmask describing different attributes of the new object
      戻り値:
      oid of new object
      例外:
      SQLException - on error
    • create

      @Deprecated public int create(int mode) throws SQLException
      推奨されていません。
      As of 8.3, replaced by createLO(int)
      This creates a large object, returning its OID.
      パラメータ:
      mode - a bitmask describing different attributes of the new object
      戻り値:
      oid of new object
      例外:
      SQLException - on error
    • delete

      public void delete(long oid) throws SQLException
      This deletes a large object.
      パラメータ:
      oid - describing object to delete
      例外:
      SQLException - on error
    • unlink

      @Deprecated public void unlink(int oid) throws SQLException
      推奨されていません。
      As of 8.3, replaced by 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 delete
      例外:
      SQLException - on error
    • unlink

      public 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 delete
      例外:
      SQLException - on error
    • delete

      @Deprecated public void delete(int oid) throws SQLException
      推奨されていません。
      As of 8.3, replaced by delete(long)
      This deletes a large object.
      パラメータ:
      oid - describing object to delete
      例外:
      SQLException - on error