All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.postgresql.jdbc3.AbstractJdbc3Blob Maven / Gradle / Ivy

/*-------------------------------------------------------------------------
*
* Copyright (c) 2004-2011, PostgreSQL Global Development Group
*
* IDENTIFICATION
*   $PostgreSQL: pgjdbc/org/postgresql/jdbc3/AbstractJdbc3Blob.java,v 1.14 2011/08/02 13:49:01 davecramer Exp $
*
*-------------------------------------------------------------------------
*/
package org.postgresql.jdbc3;

import java.sql.SQLException;

public abstract class AbstractJdbc3Blob extends org.postgresql.jdbc2.AbstractJdbc2Blob
{

    public AbstractJdbc3Blob(org.postgresql.core.BaseConnection conn, long oid) throws SQLException
    {
        super(conn, oid);
    }

    /**
     * Writes the given array of bytes to the BLOB value that
     * this Blob object represents, starting at position
     * pos, and returns the number of bytes written.
     *
     * @param pos the position in the BLOB object at which
     *    to start writing
     * @param bytes the array of bytes to be written to the BLOB
     *    value that this Blob object represents
     * @return the number of bytes written
     * @exception SQLException if there is an error accessing the
     *     BLOB value
     * @see #getBytes
     * @since 1.4
     */
    public synchronized int setBytes(long pos, byte[] bytes) throws SQLException
    {
        return setBytes(pos, bytes, 0, bytes.length);
    }

    

   /**
     * Writes all or part of the given byte array to the
     * BLOB value that this Blob object represents
     * and returns the number of bytes written.
     * Writing starts at position pos in the BLOB
     * value; len bytes from the given byte array are written.
     *
     * @param pos the position in the BLOB object at which
     *    to start writing
     * @param bytes the array of bytes to be written to this BLOB
     *    object
     * @param offset the offset into the array bytes at which
     *    to start reading the bytes to be set
     * @param len the number of bytes to be written to the BLOB
     *    value from the array of bytes bytes
     * @return the number of bytes written
     * @exception SQLException if there is an error accessing the
     *     BLOB value
     * @see #getBytes
     * @since 1.4
     */
    public synchronized int setBytes(long pos, byte[] bytes, int offset, int len) throws SQLException
    {
        assertPosition(pos);
        lo.seek((int) (pos-1));
        lo.write(bytes, offset, len);
        return len;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy