/*
 * Copyright (c) 2003, PostgreSQL Global Development Group
 * See the LICENSE file in the project root for more information.
 */

package org.postgresql;

import java.sql.SQLException;

This interface defines the public PostgreSQL extensions to java.sql.Statement. All Statements constructed by the PostgreSQL driver implement PGStatement.
/** * This interface defines the public PostgreSQL extensions to java.sql.Statement. All Statements * constructed by the PostgreSQL driver implement PGStatement. */
public interface PGStatement { // We can't use Long.MAX_VALUE or Long.MIN_VALUE for java.sql.date // because this would break the 'normalization contract' of the // java.sql.Date API. // The follow values are the nearest MAX/MIN values with hour, // minute, second, millisecond set to 0 - this is used for // -infinity / infinity representation in Java long DATE_POSITIVE_INFINITY = 9223372036825200000L; long DATE_NEGATIVE_INFINITY = -9223372036832400000L; long DATE_POSITIVE_SMALLER_INFINITY = 185543533774800000L; long DATE_NEGATIVE_SMALLER_INFINITY = -185543533774800000L;
Returns the Last inserted/updated oid.
Throws:
Returns:OID of last insert
Since:7.3
/** * Returns the Last inserted/updated oid. * * @return OID of last insert * @throws SQLException if something goes wrong * @since 7.3 */
long getLastOID() throws SQLException;
Turn on the use of prepared statements in the server (server side prepared statements are unrelated to jdbc PreparedStatements) As of build 302, this method is equivalent to setPrepareThreshold(1).
Params:
  • flag – use server prepare
Throws:
Since:7.3
Deprecated:As of build 302, replaced by setPrepareThreshold(int)
/** * Turn on the use of prepared statements in the server (server side prepared statements are * unrelated to jdbc PreparedStatements) As of build 302, this method is equivalent to * <code>setPrepareThreshold(1)</code>. * * @param flag use server prepare * @throws SQLException if something goes wrong * @since 7.3 * @deprecated As of build 302, replaced by {@link #setPrepareThreshold(int)} */
@Deprecated void setUseServerPrepare(boolean flag) throws SQLException;
Checks if this statement will be executed as a server-prepared statement. A return value of true indicates that the next execution of the statement will be done as a server-prepared statement, assuming the underlying protocol supports it.
Returns:true if the next reuse of this statement will use a server-prepared statement
/** * Checks if this statement will be executed as a server-prepared statement. A return value of * <code>true</code> indicates that the next execution of the statement will be done as a * server-prepared statement, assuming the underlying protocol supports it. * * @return true if the next reuse of this statement will use a server-prepared statement */
boolean isUseServerPrepare();

Sets the reuse threshold for using server-prepared statements.

If threshold is a non-zero value N, the Nth and subsequent reuses of a PreparedStatement will use server-side prepare.

If threshold is zero, server-side prepare will not be used.

The reuse threshold is only used by PreparedStatement and CallableStatement objects; it is ignored for plain Statements.

Params:
  • threshold – the new threshold for this statement
Throws:
  • SQLException – if an exception occurs while changing the threshold
Since:build 302
/** * <p>Sets the reuse threshold for using server-prepared statements.</p> * * <p>If <code>threshold</code> is a non-zero value N, the Nth and subsequent reuses of a * PreparedStatement will use server-side prepare.</p> * * <p>If <code>threshold</code> is zero, server-side prepare will not be used.</p> * * <p>The reuse threshold is only used by PreparedStatement and CallableStatement objects; it is * ignored for plain Statements.</p> * * @param threshold the new threshold for this statement * @throws SQLException if an exception occurs while changing the threshold * @since build 302 */
void setPrepareThreshold(int threshold) throws SQLException;
Gets the server-side prepare reuse threshold in use for this statement.
See Also:
Returns:the current threshold
Since:build 302
/** * Gets the server-side prepare reuse threshold in use for this statement. * * @return the current threshold * @see #setPrepareThreshold(int) * @since build 302 */
int getPrepareThreshold(); }