From b3dd55c6517a6a9f531a7bab463e9bcf6291aa9b Mon Sep 17 00:00:00 2001 From: Barry Lind Date: Wed, 14 Aug 2002 20:35:40 +0000 Subject: Added support for JDBC3. The driver will now build under JDBC3 (i.e. Java 1.4). This concludes my changes that restructured the code to support JDBC3. The jdbc unit tests were also resturctured to allow different tests between jdbc2 and jdbc3, although currently make check (aka ant test) for JDBC3 just runs the JDBC2 tests. Of special note the largeobject/PGblob and PGclob classes have been moved under the jdbc2/jdbc3 specific directories as they now differ by jdbc version. Also note that this checkin removes the PostgresqlDataSource and files in the xa directory. A recent checkin has added new datasource support that replaces the functionality provided by these classes. Modified Files: jdbc/build.xml jdbc/org/postgresql/jdbc1/AbstractJdbc1DatabaseMetaData.java jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSet.java jdbc/org/postgresql/jdbc1/AbstractJdbc1ResultSetMetaData.java jdbc/org/postgresql/jdbc1/AbstractJdbc1Statement.java jdbc/org/postgresql/jdbc2/AbstractJdbc2Connection.java jdbc/org/postgresql/jdbc2/AbstractJdbc2DatabaseMetaData.java jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSet.java jdbc/org/postgresql/jdbc2/AbstractJdbc2ResultSetMetaData.java jdbc/org/postgresql/jdbc2/AbstractJdbc2Statement.java jdbc/org/postgresql/jdbc2/Array.java jdbc/org/postgresql/jdbc2/Jdbc2CallableStatement.java jdbc/org/postgresql/jdbc2/Jdbc2Connection.java jdbc/org/postgresql/jdbc2/Jdbc2DatabaseMetaData.java jdbc/org/postgresql/jdbc2/Jdbc2PreparedStatement.java jdbc/org/postgresql/jdbc2/Jdbc2ResultSet.java jdbc/org/postgresql/jdbc2/Jdbc2ResultSetMetaData.java jdbc/org/postgresql/jdbc2/Jdbc2Statement.java jdbc/org/postgresql/test/jdbc2/BatchExecuteTest.java jdbc/org/postgresql/test/jdbc2/BlobTest.java jdbc/org/postgresql/test/jdbc2/CallableStmtTest.java jdbc/org/postgresql/test/jdbc2/ConnectionTest.java jdbc/org/postgresql/test/jdbc2/DatabaseMetaDataTest.java jdbc/org/postgresql/test/jdbc2/DateTest.java jdbc/org/postgresql/test/jdbc2/DriverTest.java jdbc/org/postgresql/test/jdbc2/JBuilderTest.java jdbc/org/postgresql/test/jdbc2/MiscTest.java jdbc/org/postgresql/test/jdbc2/ResultSetTest.java jdbc/org/postgresql/test/jdbc2/TimeTest.java jdbc/org/postgresql/test/jdbc2/TimestampTest.java jdbc/org/postgresql/test/jdbc2/UpdateableResultTest.java Added Files: jdbc/org/postgresql/jdbc2/AbstractJdbc2Blob.java jdbc/org/postgresql/jdbc2/AbstractJdbc2Clob.java jdbc/org/postgresql/jdbc2/Jdbc2Blob.java jdbc/org/postgresql/jdbc2/Jdbc2Clob.java jdbc/org/postgresql/jdbc3/AbstractJdbc3Blob.java jdbc/org/postgresql/jdbc3/AbstractJdbc3Clob.java jdbc/org/postgresql/jdbc3/AbstractJdbc3Connection.java jdbc/org/postgresql/jdbc3/AbstractJdbc3DatabaseMetaData.java jdbc/org/postgresql/jdbc3/AbstractJdbc3ResultSet.java jdbc/org/postgresql/jdbc3/AbstractJdbc3Statement.java jdbc/org/postgresql/jdbc3/Jdbc3Blob.java jdbc/org/postgresql/jdbc3/Jdbc3CallableStatement.java jdbc/org/postgresql/jdbc3/Jdbc3Clob.java jdbc/org/postgresql/jdbc3/Jdbc3Connection.java jdbc/org/postgresql/jdbc3/Jdbc3DatabaseMetaData.java jdbc/org/postgresql/jdbc3/Jdbc3PreparedStatement.java jdbc/org/postgresql/jdbc3/Jdbc3ResultSet.java jdbc/org/postgresql/jdbc3/Jdbc3ResultSetMetaData.java jdbc/org/postgresql/jdbc3/Jdbc3Statement.java jdbc/org/postgresql/test/TestUtil.java jdbc/org/postgresql/test/jdbc2/Jdbc2TestSuite.java jdbc/org/postgresql/test/jdbc3/Jdbc3TestSuite.java Removed Files: jdbc/org/postgresql/PostgresqlDataSource.java jdbc/org/postgresql/largeobject/PGblob.java jdbc/org/postgresql/largeobject/PGclob.java jdbc/org/postgresql/test/JDBC2Tests.java jdbc/org/postgresql/xa/ClientConnection.java jdbc/org/postgresql/xa/TwoPhaseConnection.java jdbc/org/postgresql/xa/TxConnection.java jdbc/org/postgresql/xa/XAConnectionImpl.java jdbc/org/postgresql/xa/XADataSourceImpl.java --- .../postgresql/jdbc3/AbstractJdbc3Statement.java | 1300 ++++++++++++++++++++ 1 file changed, 1300 insertions(+) create mode 100644 src/interfaces/jdbc/org/postgresql/jdbc3/AbstractJdbc3Statement.java (limited to 'src/interfaces/jdbc/org/postgresql/jdbc3/AbstractJdbc3Statement.java') diff --git a/src/interfaces/jdbc/org/postgresql/jdbc3/AbstractJdbc3Statement.java b/src/interfaces/jdbc/org/postgresql/jdbc3/AbstractJdbc3Statement.java new file mode 100644 index 0000000000..8b18e6153d --- /dev/null +++ b/src/interfaces/jdbc/org/postgresql/jdbc3/AbstractJdbc3Statement.java @@ -0,0 +1,1300 @@ +package org.postgresql.jdbc3; + + +import java.math.BigDecimal; +import java.sql.*; +import java.util.Calendar; + +/* $Header: /cvsroot/pgsql/src/interfaces/jdbc/org/postgresql/jdbc3/Attic/AbstractJdbc3Statement.java,v 1.1 2002/08/14 20:35:39 barry Exp $ + * This class defines methods of the jdbc3 specification. This class extends + * org.postgresql.jdbc2.AbstractJdbc2Statement which provides the jdbc2 + * methods. The real Statement class (for jdbc2) is org.postgresql.jdbc3.Jdbc3Statement + */ +public abstract class AbstractJdbc3Statement extends org.postgresql.jdbc2.AbstractJdbc2Statement +{ + + public AbstractJdbc3Statement (AbstractJdbc3Connection c) + { + super(c); + } + + public AbstractJdbc3Statement(AbstractJdbc3Connection connection, String sql) throws SQLException + { + super(connection, sql); + } + + /** + * Moves to this Statement object's next result, deals with + * any current ResultSet object(s) according to the instructions + * specified by the given flag, and returns + * true if the next result is a ResultSet object. + * + *

There are no more results when the following is true: + *

+     *      (!getMoreResults() && (getUpdateCount() == -1)
+     * 
+ * + * @param current one of the following Statement + * constants indicating what should happen to current + * ResultSet objects obtained using the method + * getResultSetCLOSE_CURRENT_RESULT, + * KEEP_CURRENT_RESULT, or + * CLOSE_ALL_RESULTS + * @return true if the next result is a ResultSet + * object; false if it is an update count or there are no + * more results + * @exception SQLException if a database access error occurs + * @since 1.4 + * @see #execute + */ + public boolean getMoreResults(int current) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves any auto-generated keys created as a result of executing this + * Statement object. If this Statement object did + * not generate any keys, an empty ResultSet + * object is returned. + * + * @return a ResultSet object containing the auto-generated key(s) + * generated by the execution of this Statement object + * @exception SQLException if a database access error occurs + * @since 1.4 + */ + public ResultSet getGeneratedKeys() throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Executes the given SQL statement and signals the driver with the + * given flag about whether the + * auto-generated keys produced by this Statement object + * should be made available for retrieval. + * + * @param sql must be an SQL INSERT, UPDATE or + * DELETE statement or an SQL statement that + * returns nothing + * @param autoGeneratedKeys a flag indicating whether auto-generated keys + * should be made available for retrieval; + * one of the following constants: + * Statement.RETURN_GENERATED_KEYS + * Statement.NO_GENERATED_KEYS + * @return either the row count for INSERT, UPDATE + * or DELETE statements, or 0 for SQL + * statements that return nothing + * @exception SQLException if a database access error occurs, the given + * SQL statement returns a ResultSet object, or + * the given constant is not one of those allowed + * @since 1.4 + */ + public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Executes the given SQL statement and signals the driver that the + * auto-generated keys indicated in the given array should be made available + * for retrieval. The driver will ignore the array if the SQL statement + * is not an INSERT statement. + * + * @param sql an SQL INSERT, UPDATE or + * DELETE statement or an SQL statement that returns nothing, + * such as an SQL DDL statement + * @param columnIndexes an array of column indexes indicating the columns + * that should be returned from the inserted row + * @return either the row count for INSERT, UPDATE, + * or DELETE statements, or 0 for SQL statements + * that return nothing + * @exception SQLException if a database access error occurs or the SQL + * statement returns a ResultSet object + * @since 1.4 + */ + public int executeUpdate(String sql, int columnIndexes[]) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Executes the given SQL statement and signals the driver that the + * auto-generated keys indicated in the given array should be made available + * for retrieval. The driver will ignore the array if the SQL statement + * is not an INSERT statement. + * + * @param sql an SQL INSERT, UPDATE or + * DELETE statement or an SQL statement that returns nothing + * @param columnNames an array of the names of the columns that should be + * returned from the inserted row + * @return either the row count for INSERT, UPDATE, + * or DELETE statements, or 0 for SQL statements + * that return nothing + * @exception SQLException if a database access error occurs + * + * @since 1.4 + */ + public int executeUpdate(String sql, String columnNames[]) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Executes the given SQL statement, which may return multiple results, + * and signals the driver that any + * auto-generated keys should be made available + * for retrieval. The driver will ignore this signal if the SQL statement + * is not an INSERT statement. + *

+ * In some (uncommon) situations, a single SQL statement may return + * multiple result sets and/or update counts. Normally you can ignore + * this unless you are (1) executing a stored procedure that you know may + * return multiple results or (2) you are dynamically executing an + * unknown SQL string. + *

+ * The execute method executes an SQL statement and indicates the + * form of the first result. You must then use the methods + * getResultSet or getUpdateCount + * to retrieve the result, and getMoreResults to + * move to any subsequent result(s). + * + * @param sql any SQL statement + * @param autoGeneratedKeys a constant indicating whether auto-generated + * keys should be made available for retrieval using the method + * getGeneratedKeys; one of the following constants: + * Statement.RETURN_GENERATED_KEYS or + * Statement.NO_GENERATED_KEYS + * @return true if the first result is a ResultSet + * object; false if it is an update count or there are + * no results + * @exception SQLException if a database access error occurs + * @see #getResultSet + * @see #getUpdateCount + * @see #getMoreResults + * @see #getGeneratedKeys + * + * @since 1.4 + */ + public boolean execute(String sql, int autoGeneratedKeys) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Executes the given SQL statement, which may return multiple results, + * and signals the driver that the + * auto-generated keys indicated in the given array should be made available + * for retrieval. This array contains the indexes of the columns in the + * target table that contain the auto-generated keys that should be made + * available. The driver will ignore the array if the given SQL statement + * is not an INSERT statement. + *

+ * Under some (uncommon) situations, a single SQL statement may return + * multiple result sets and/or update counts. Normally you can ignore + * this unless you are (1) executing a stored procedure that you know may + * return multiple results or (2) you are dynamically executing an + * unknown SQL string. + *

+ * The execute method executes an SQL statement and indicates the + * form of the first result. You must then use the methods + * getResultSet or getUpdateCount + * to retrieve the result, and getMoreResults to + * move to any subsequent result(s). + * + * @param sql any SQL statement + * @param columnIndexes an array of the indexes of the columns in the + * inserted row that should be made available for retrieval by a + * call to the method getGeneratedKeys + * @return true if the first result is a ResultSet + * object; false if it is an update count or there + * are no results + * @exception SQLException if a database access error occurs + * @see #getResultSet + * @see #getUpdateCount + * @see #getMoreResults + * + * @since 1.4 + */ + public boolean execute(String sql, int columnIndexes[]) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Executes the given SQL statement, which may return multiple results, + * and signals the driver that the + * auto-generated keys indicated in the given array should be made available + * for retrieval. This array contains the names of the columns in the + * target table that contain the auto-generated keys that should be made + * available. The driver will ignore the array if the given SQL statement + * is not an INSERT statement. + *

+ * In some (uncommon) situations, a single SQL statement may return + * multiple result sets and/or update counts. Normally you can ignore + * this unless you are (1) executing a stored procedure that you know may + * return multiple results or (2) you are dynamically executing an + * unknown SQL string. + *

+ * The execute method executes an SQL statement and indicates the + * form of the first result. You must then use the methods + * getResultSet or getUpdateCount + * to retrieve the result, and getMoreResults to + * move to any subsequent result(s). + * + * @param sql any SQL statement + * @param columnNames an array of the names of the columns in the inserted + * row that should be made available for retrieval by a call to the + * method getGeneratedKeys + * @return true if the next result is a ResultSet + * object; false if it is an update count or there + * are no more results + * @exception SQLException if a database access error occurs + * @see #getResultSet + * @see #getUpdateCount + * @see #getMoreResults + * @see #getGeneratedKeys + * + * @since 1.4 + */ + public boolean execute(String sql, String columnNames[]) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the result set holdability for ResultSet objects + * generated by this Statement object. + * + * @return either ResultSet.HOLD_CURSORS_OVER_COMMIT or + * ResultSet.CLOSE_CURSORS_AT_COMMIT + * @exception SQLException if a database access error occurs + * + * @since 1.4 + */ + public int getResultSetHoldability() throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given java.net.URL value. + * The driver converts this to an SQL DATALINK value + * when it sends it to the database. + * + * @param parameterIndex the first parameter is 1, the second is 2, ... + * @param x the java.net.URL object to be set + * @exception SQLException if a database access error occurs + * @since 1.4 + */ + public void setURL(int parameterIndex, java.net.URL x) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the number, types and properties of this + * PreparedStatement object's parameters. + * + * @return a ParameterMetaData object that contains information + * about the number, types and properties of this + * PreparedStatement object's parameters + * @exception SQLException if a database access error occurs + * @see ParameterMetaData + * @since 1.4 + */ + public ParameterMetaData getParameterMetaData() throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Registers the OUT parameter named + * parameterName to the JDBC type + * sqlType. All OUT parameters must be registered + * before a stored procedure is executed. + *

+ * The JDBC type specified by sqlType for an OUT + * parameter determines the Java type that must be used + * in the get method to read the value of that parameter. + *

+ * If the JDBC type expected to be returned to this output parameter + * is specific to this particular database, sqlType + * should be java.sql.Types.OTHER. The method + * {@link #getObject} retrieves the value. + * @param parameterName the name of the parameter + * @param sqlType the JDBC type code defined by java.sql.Types. + * If the parameter is of JDBC type NUMERIC + * or DECIMAL, the version of + * registerOutParameter that accepts a scale value + * should be used. + * @exception SQLException if a database access error occurs + * @since 1.4 + * @see Types + */ + public void registerOutParameter(String parameterName, int sqlType) + throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Registers the parameter named + * parameterName to be of JDBC type + * sqlType. This method must be called + * before a stored procedure is executed. + *

+ * The JDBC type specified by sqlType for an OUT + * parameter determines the Java type that must be used + * in the get method to read the value of that parameter. + *

+ * This version of registerOutParameter should be + * used when the parameter is of JDBC type NUMERIC + * or DECIMAL. + * @param parameterName the name of the parameter + * @param sqlType SQL type code defined by java.sql.Types. + * @param scale the desired number of digits to the right of the + * decimal point. It must be greater than or equal to zero. + * @exception SQLException if a database access error occurs + * @since 1.4 + * @see Types + */ + public void registerOutParameter(String parameterName, int sqlType, int scale) + throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Registers the designated output parameter. This version of + * the method registerOutParameter + * should be used for a user-named or REF output parameter. Examples + * of user-named types include: STRUCT, DISTINCT, JAVA_OBJECT, and + * named array types. + * + * Before executing a stored procedure call, you must explicitly + * call registerOutParameter to register the type from + * java.sql.Types for each + * OUT parameter. For a user-named parameter the fully-qualified SQL + * type name of the parameter should also be given, while a REF + * parameter requires that the fully-qualified type name of the + * referenced type be given. A JDBC driver that does not need the + * type code and type name information may ignore it. To be portable, + * however, applications should always provide these values for + * user-named and REF parameters. + * + * Although it is intended for user-named and REF parameters, + * this method may be used to register a parameter of any JDBC type. + * If the parameter does not have a user-named or REF type, the + * typeName parameter is ignored. + * + *

Note: When reading the value of an out parameter, you + * must use the getXXX method whose Java type XXX corresponds to the + * parameter's registered SQL type. + * + * @param parameterName the name of the parameter + * @param sqlType a value from {@link java.sql.Types} + * @param typeName the fully-qualified name of an SQL structured type + * @exception SQLException if a database access error occurs + * @see Types + * @since 1.4 + */ + public void registerOutParameter (String parameterName, int sqlType, String typeName) + throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of the designated JDBC DATALINK parameter as a + * java.net.URL object. + * + * @param parameterIndex the first parameter is 1, the second is 2,... + * @return a java.net.URL object that represents the + * JDBC DATALINK value used as the designated + * parameter + * @exception SQLException if a database access error occurs, + * or if the URL being returned is + * not a valid URL on the Java platform + * @see #setURL + * @since 1.4 + */ + public java.net.URL getURL(int parameterIndex) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given java.net.URL object. + * The driver converts this to an SQL DATALINK value when + * it sends it to the database. + * + * @param parameterName the name of the parameter + * @param val the parameter value + * @exception SQLException if a database access error occurs, + * or if a URL is malformed + * @see #getURL + * @since 1.4 + */ + public void setURL(String parameterName, java.net.URL val) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to SQL NULL. + * + *

Note: You must specify the parameter's SQL type. + * + * @param parameterName the name of the parameter + * @param sqlType the SQL type code defined in java.sql.Types + * @exception SQLException if a database access error occurs + * @since 1.4 + */ + public void setNull(String parameterName, int sqlType) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given Java boolean value. + * The driver converts this + * to an SQL BIT value when it sends it to the database. + * + * @param parameterName the name of the parameter + * @param x the parameter value + * @exception SQLException if a database access error occurs + * @see #getBoolean + * @since 1.4 + */ + public void setBoolean(String parameterName, boolean x) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given Java byte value. + * The driver converts this + * to an SQL TINYINT value when it sends it to the database. + * + * @param parameterName the name of the parameter + * @param x the parameter value + * @exception SQLException if a database access error occurs + * @see #getByte + * @since 1.4 + */ + public void setByte(String parameterName, byte x) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given Java short value. + * The driver converts this + * to an SQL SMALLINT value when it sends it to the database. + * + * @param parameterName the name of the parameter + * @param x the parameter value + * @exception SQLException if a database access error occurs + * @see #getShort + * @since 1.4 + */ + public void setShort(String parameterName, short x) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given Java int value. + * The driver converts this + * to an SQL INTEGER value when it sends it to the database. + * + * @param parameterName the name of the parameter + * @param x the parameter value + * @exception SQLException if a database access error occurs + * @see #getInt + * @since 1.4 + */ + public void setInt(String parameterName, int x) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given Java long value. + * The driver converts this + * to an SQL BIGINT value when it sends it to the database. + * + * @param parameterName the name of the parameter + * @param x the parameter value + * @exception SQLException if a database access error occurs + * @see #getLong + * @since 1.4 + */ + public void setLong(String parameterName, long x) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given Java float value. + * The driver converts this + * to an SQL FLOAT value when it sends it to the database. + * + * @param parameterName the name of the parameter + * @param x the parameter value + * @exception SQLException if a database access error occurs + * @see #getFloat + * @since 1.4 + */ + public void setFloat(String parameterName, float x) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given Java double value. + * The driver converts this + * to an SQL DOUBLE value when it sends it to the database. + * + * @param parameterName the name of the parameter + * @param x the parameter value + * @exception SQLException if a database access error occurs + * @see #getDouble + * @since 1.4 + */ + public void setDouble(String parameterName, double x) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given + * java.math.BigDecimal value. + * The driver converts this to an SQL NUMERIC value when + * it sends it to the database. + * + * @param parameterName the name of the parameter + * @param x the parameter value + * @exception SQLException if a database access error occurs + * @see #getBigDecimal + * @since 1.4 + */ + public void setBigDecimal(String parameterName, BigDecimal x) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given Java String value. + * The driver converts this + * to an SQL VARCHAR or LONGVARCHAR value + * (depending on the argument's + * size relative to the driver's limits on VARCHAR values) + * when it sends it to the database. + * + * @param parameterName the name of the parameter + * @param x the parameter value + * @exception SQLException if a database access error occurs + * @see #getString + * @since 1.4 + */ + public void setString(String parameterName, String x) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given Java array of bytes. + * The driver converts this to an SQL VARBINARY or + * LONGVARBINARY (depending on the argument's size relative + * to the driver's limits on VARBINARY values) when it sends + * it to the database. + * + * @param parameterName the name of the parameter + * @param x the parameter value + * @exception SQLException if a database access error occurs + * @see #getBytes + * @since 1.4 + */ + public void setBytes(String parameterName, byte x[]) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given java.sql.Date value. + * The driver converts this + * to an SQL DATE value when it sends it to the database. + * + * @param parameterName the name of the parameter + * @param x the parameter value + * @exception SQLException if a database access error occurs + * @see #getDate + * @since 1.4 + */ + public void setDate(String parameterName, java.sql.Date x) + throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given java.sql.Time value. + * The driver converts this + * to an SQL TIME value when it sends it to the database. + * + * @param parameterName the name of the parameter + * @param x the parameter value + * @exception SQLException if a database access error occurs + * @see #getTime + * @since 1.4 + */ + public void setTime(String parameterName, java.sql.Time x) + throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given java.sql.Timestamp value. + * The driver + * converts this to an SQL TIMESTAMP value when it sends it to the + * database. + * + * @param parameterName the name of the parameter + * @param x the parameter value + * @exception SQLException if a database access error occurs + * @see #getTimestamp + * @since 1.4 + */ + public void setTimestamp(String parameterName, java.sql.Timestamp x) + throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given input stream, which will have + * the specified number of bytes. + * When a very large ASCII value is input to a LONGVARCHAR + * parameter, it may be more practical to send it via a + * java.io.InputStream. Data will be read from the stream + * as needed until end-of-file is reached. The JDBC driver will + * do any necessary conversion from ASCII to the database char format. + * + *

Note: This stream object can either be a standard + * Java stream object or your own subclass that implements the + * standard interface. + * + * @param parameterName the name of the parameter + * @param x the Java input stream that contains the ASCII parameter value + * @param length the number of bytes in the stream + * @exception SQLException if a database access error occurs + * @since 1.4 + */ + public void setAsciiStream(String parameterName, java.io.InputStream x, int length) + throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given input stream, which will have + * the specified number of bytes. + * When a very large binary value is input to a LONGVARBINARY + * parameter, it may be more practical to send it via a + * java.io.InputStream object. The data will be read from the stream + * as needed until end-of-file is reached. + * + *

Note: This stream object can either be a standard + * Java stream object or your own subclass that implements the + * standard interface. + * + * @param parameterName the name of the parameter + * @param x the java input stream which contains the binary parameter value + * @param length the number of bytes in the stream + * @exception SQLException if a database access error occurs + * @since 1.4 + */ + public void setBinaryStream(String parameterName, java.io.InputStream x, + int length) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the value of the designated parameter with the given object. The second + * argument must be an object type; for integral values, the + * java.lang equivalent objects should be used. + * + *

The given Java object will be converted to the given targetSqlType + * before being sent to the database. + * + * If the object has a custom mapping (is of a class implementing the + * interface SQLData), + * the JDBC driver should call the method SQLData.writeSQL to write it + * to the SQL data stream. + * If, on the other hand, the object is of a class implementing + * Ref, Blob, Clob, Struct, + * or Array, the driver should pass it to the database as a + * value of the corresponding SQL type. + *

+ * Note that this method may be used to pass datatabase- + * specific abstract data types. + * + * @param parameterName the name of the parameter + * @param x the object containing the input parameter value + * @param targetSqlType the SQL type (as defined in java.sql.Types) to be + * sent to the database. The scale argument may further qualify this type. + * @param scale for java.sql.Types.DECIMAL or java.sql.Types.NUMERIC types, + * this is the number of digits after the decimal point. For all other + * types, this value will be ignored. + * @exception SQLException if a database access error occurs + * @see Types + * @see #getObject + * @since 1.4 + */ + public void setObject(String parameterName, Object x, int targetSqlType, int scale) + throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the value of the designated parameter with the given object. + * This method is like the method setObject + * above, except that it assumes a scale of zero. + * + * @param parameterName the name of the parameter + * @param x the object containing the input parameter value + * @param targetSqlType the SQL type (as defined in java.sql.Types) to be + * sent to the database + * @exception SQLException if a database access error occurs + * @see #getObject + * @since 1.4 + */ + public void setObject(String parameterName, Object x, int targetSqlType) + throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the value of the designated parameter with the given object. + * The second parameter must be of type Object; therefore, the + * java.lang equivalent objects should be used for built-in types. + * + *

The JDBC specification specifies a standard mapping from + * Java Object types to SQL types. The given argument + * will be converted to the corresponding SQL type before being + * sent to the database. + * + *

Note that this method may be used to pass datatabase- + * specific abstract data types, by using a driver-specific Java + * type. + * + * If the object is of a class implementing the interface SQLData, + * the JDBC driver should call the method SQLData.writeSQL + * to write it to the SQL data stream. + * If, on the other hand, the object is of a class implementing + * Ref, Blob, Clob, Struct, + * or Array, the driver should pass it to the database as a + * value of the corresponding SQL type. + *

+ * This method throws an exception if there is an ambiguity, for example, if the + * object is of a class implementing more than one of the interfaces named above. + * + * @param parameterName the name of the parameter + * @param x the object containing the input parameter value + * @exception SQLException if a database access error occurs or if the given + * Object parameter is ambiguous + * @see #getObject + * @since 1.4 + */ + public void setObject(String parameterName, Object x) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + + /** + * Sets the designated parameter to the given Reader + * object, which is the given number of characters long. + * When a very large UNICODE value is input to a LONGVARCHAR + * parameter, it may be more practical to send it via a + * java.io.Reader object. The data will be read from the stream + * as needed until end-of-file is reached. The JDBC driver will + * do any necessary conversion from UNICODE to the database char format. + * + *

Note: This stream object can either be a standard + * Java stream object or your own subclass that implements the + * standard interface. + * + * @param parameterName the name of the parameter + * @param reader the java.io.Reader object that + * contains the UNICODE data used as the designated parameter + * @param length the number of characters in the stream + * @exception SQLException if a database access error occurs + * @since 1.4 + */ + public void setCharacterStream(String parameterName, + java.io.Reader reader, + int length) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given java.sql.Date value, + * using the given Calendar object. The driver uses + * the Calendar object to construct an SQL DATE value, + * which the driver then sends to the database. With a + * a Calendar object, the driver can calculate the date + * taking into account a custom timezone. If no + * Calendar object is specified, the driver uses the default + * timezone, which is that of the virtual machine running the application. + * + * @param parameterName the name of the parameter + * @param x the parameter value + * @param cal the Calendar object the driver will use + * to construct the date + * @exception SQLException if a database access error occurs + * @see #getDate + * @since 1.4 + */ + public void setDate(String parameterName, java.sql.Date x, Calendar cal) + throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given java.sql.Time value, + * using the given Calendar object. The driver uses + * the Calendar object to construct an SQL TIME value, + * which the driver then sends to the database. With a + * a Calendar object, the driver can calculate the time + * taking into account a custom timezone. If no + * Calendar object is specified, the driver uses the default + * timezone, which is that of the virtual machine running the application. + * + * @param parameterName the name of the parameter + * @param x the parameter value + * @param cal the Calendar object the driver will use + * to construct the time + * @exception SQLException if a database access error occurs + * @see #getTime + * @since 1.4 + */ + public void setTime(String parameterName, java.sql.Time x, Calendar cal) + throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to the given java.sql.Timestamp value, + * using the given Calendar object. The driver uses + * the Calendar object to construct an SQL TIMESTAMP value, + * which the driver then sends to the database. With a + * a Calendar object, the driver can calculate the timestamp + * taking into account a custom timezone. If no + * Calendar object is specified, the driver uses the default + * timezone, which is that of the virtual machine running the application. + * + * @param parameterName the name of the parameter + * @param x the parameter value + * @param cal the Calendar object the driver will use + * to construct the timestamp + * @exception SQLException if a database access error occurs + * @see #getTimestamp + * @since 1.4 + */ + public void setTimestamp(String parameterName, java.sql.Timestamp x, Calendar cal) + throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Sets the designated parameter to SQL NULL. + * This version of the method setNull should + * be used for user-defined types and REF type parameters. Examples + * of user-defined types include: STRUCT, DISTINCT, JAVA_OBJECT, and + * named array types. + * + *

Note: To be portable, applications must give the + * SQL type code and the fully-qualified SQL type name when specifying + * a NULL user-defined or REF parameter. In the case of a user-defined type + * the name is the type name of the parameter itself. For a REF + * parameter, the name is the type name of the referenced type. If + * a JDBC driver does not need the type code or type name information, + * it may ignore it. + * + * Although it is intended for user-defined and Ref parameters, + * this method may be used to set a null parameter of any JDBC type. + * If the parameter does not have a user-defined or REF type, the given + * typeName is ignored. + * + * + * @param paramName the name of the parameter + * @param sqlType a value from java.sql.Types + * @param typeName the fully-qualified name of an SQL user-defined type; + * ignored if the parameter is not a user-defined type or + * SQL REF value + * @exception SQLException if a database access error occurs + * @since 1.4 + */ + public void setNull (String parameterName, int sqlType, String typeName) + throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC CHAR, VARCHAR, + * or LONGVARCHAR parameter as a String in + * the Java programming language. + *

+ * For the fixed-length type JDBC CHAR, + * the String object + * returned has exactly the same value the JDBC + * CHAR value had in the + * database, including any padding added by the database. + * @param parameterName the name of the parameter + * @return the parameter value. If the value is SQL NULL, the result + * is null. + * @exception SQLException if a database access error occurs + * @see #setString + * @since 1.4 + */ + public String getString(String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC BIT parameter as a + * boolean in the Java programming language. + * @param parameterName the name of the parameter + * @return the parameter value. If the value is SQL NULL, the result + * is false. + * @exception SQLException if a database access error occurs + * @see #setBoolean + * @since 1.4 + */ + public boolean getBoolean(String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC TINYINT parameter as a byte + * in the Java programming language. + * @param parameterName the name of the parameter + * @return the parameter value. If the value is SQL NULL, the result + * is 0. + * @exception SQLException if a database access error occurs + * @see #setByte + * @since 1.4 + */ + public byte getByte(String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC SMALLINT parameter as a short + * in the Java programming language. + * @param parameterName the name of the parameter + * @return the parameter value. If the value is SQL NULL, the result + * is 0. + * @exception SQLException if a database access error occurs + * @see #setShort + * @since 1.4 + */ + public short getShort(String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC INTEGER parameter as an int + * in the Java programming language. + * + * @param parameterName the name of the parameter + * @return the parameter value. If the value is SQL NULL, + * the result is 0. + * @exception SQLException if a database access error occurs + * @see #setInt + * @since 1.4 + */ + public int getInt(String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC BIGINT parameter as a long + * in the Java programming language. + * + * @param parameterName the name of the parameter + * @return the parameter value. If the value is SQL NULL, + * the result is 0. + * @exception SQLException if a database access error occurs + * @see #setLong + * @since 1.4 + */ + public long getLong(String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC FLOAT parameter as a float + * in the Java programming language. + * @param parameterName the name of the parameter + * @return the parameter value. If the value is SQL NULL, + * the result is 0. + * @exception SQLException if a database access error occurs + * @see #setFloat + * @since 1.4 + */ + public float getFloat(String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC DOUBLE parameter as a double + * in the Java programming language. + * @param parameterName the name of the parameter + * @return the parameter value. If the value is SQL NULL, + * the result is 0. + * @exception SQLException if a database access error occurs + * @see #setDouble + * @since 1.4 + */ + public double getDouble(String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC BINARY or VARBINARY + * parameter as an array of byte values in the Java + * programming language. + * @param parameterName the name of the parameter + * @return the parameter value. If the value is SQL NULL, the result is + * null. + * @exception SQLException if a database access error occurs + * @see #setBytes + * @since 1.4 + */ + public byte[] getBytes(String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC DATE parameter as a + * java.sql.Date object. + * @param parameterName the name of the parameter + * @return the parameter value. If the value is SQL NULL, the result + * is null. + * @exception SQLException if a database access error occurs + * @see #setDate + * @since 1.4 + */ + public java.sql.Date getDate(String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC TIME parameter as a + * java.sql.Time object. + * @param parameterName the name of the parameter + * @return the parameter value. If the value is SQL NULL, the result + * is null. + * @exception SQLException if a database access error occurs + * @see #setTime + * @since 1.4 + */ + public java.sql.Time getTime(String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC TIMESTAMP parameter as a + * java.sql.Timestamp object. + * @param parameterName the name of the parameter + * @return the parameter value. If the value is SQL NULL, the result + * is null. + * @exception SQLException if a database access error occurs + * @see #setTimestamp + * @since 1.4 + */ + public java.sql.Timestamp getTimestamp(String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a parameter as an Object in the Java + * programming language. If the value is an SQL NULL, the + * driver returns a Java null. + *

+ * This method returns a Java object whose type corresponds to the JDBC + * type that was registered for this parameter using the method + * registerOutParameter. By registering the target JDBC + * type as java.sql.Types.OTHER, this method can be used + * to read database-specific abstract data types. + * @param parameterName the name of the parameter + * @return A java.lang.Object holding the OUT parameter value. + * @exception SQLException if a database access error occurs + * @see Types + * @see #setObject + * @since 1.4 + */ + public Object getObject(String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC NUMERIC parameter as a + * java.math.BigDecimal object with as many digits to the + * right of the decimal point as the value contains. + * @param parameterName the name of the parameter + * @return the parameter value in full precision. If the value is + * SQL NULL, the result is null. + * @exception SQLException if a database access error occurs + * @see #setBigDecimal + * @since 1.4 + */ + public BigDecimal getBigDecimal(String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Returns an object representing the value of OUT parameter + * i and uses map for the custom + * mapping of the parameter value. + *

+ * This method returns a Java object whose type corresponds to the + * JDBC type that was registered for this parameter using the method + * registerOutParameter. By registering the target + * JDBC type as java.sql.Types.OTHER, this method can + * be used to read database-specific abstract data types. + * @param parameterName the name of the parameter + * @param map the mapping from SQL type names to Java classes + * @return a java.lang.Object holding the OUT parameter value + * @exception SQLException if a database access error occurs + * @see #setObject + * @since 1.4 + */ + public Object getObject (String parameterName, java.util.Map map) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC REF(<structured-type>) + * parameter as a {@link Ref} object in the Java programming language. + * + * @param parameterName the name of the parameter + * @return the parameter value as a Ref object in the + * Java programming language. If the value was SQL NULL, + * the value null is returned. + * @exception SQLException if a database access error occurs + * @since 1.4 + */ + public Ref getRef (String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC BLOB parameter as a + * {@link Blob} object in the Java programming language. + * + * @param parameterName the name of the parameter + * @return the parameter value as a Blob object in the + * Java programming language. If the value was SQL NULL, + * the value null is returned. + * @exception SQLException if a database access error occurs + * @since 1.4 + */ + public Blob getBlob (String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC CLOB parameter as a + * Clob object in the Java programming language. + * @param parameterName the name of the parameter + * @return the parameter value as a Clob object in the + * Java programming language. If the value was SQL NULL, + * the value null is returned. + * @exception SQLException if a database access error occurs + * @since 1.4 + */ + public Clob getClob (String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC ARRAY parameter as an + * {@link Array} object in the Java programming language. + * + * @param parameterName the name of the parameter + * @return the parameter value as an Array object in + * Java programming language. If the value was SQL NULL, + * the value null is returned. + * @exception SQLException if a database access error occurs + * @since 1.4 + */ + public Array getArray (String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC DATE parameter as a + * java.sql.Date object, using + * the given Calendar object + * to construct the date. + * With a Calendar object, the driver + * can calculate the date taking into account a custom timezone and locale. + * If no Calendar object is specified, the driver uses the + * default timezone and locale. + * + * @param parameterName the name of the parameter + * @param cal the Calendar object the driver will use + * to construct the date + * @return the parameter value. If the value is SQL NULL, + * the result is null. + * @exception SQLException if a database access error occurs + * @see #setDate + * @since 1.4 + */ + public java.sql.Date getDate(String parameterName, Calendar cal) + throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC TIME parameter as a + * java.sql.Time object, using + * the given Calendar object + * to construct the time. + * With a Calendar object, the driver + * can calculate the time taking into account a custom timezone and locale. + * If no Calendar object is specified, the driver uses the + * default timezone and locale. + * + * @param parameterName the name of the parameter + * @param cal the Calendar object the driver will use + * to construct the time + * @return the parameter value; if the value is SQL NULL, the result is + * null. + * @exception SQLException if a database access error occurs + * @see #setTime + * @since 1.4 + */ + public java.sql.Time getTime(String parameterName, Calendar cal) + throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC TIMESTAMP parameter as a + * java.sql.Timestamp object, using + * the given Calendar object to construct + * the Timestamp object. + * With a Calendar object, the driver + * can calculate the timestamp taking into account a custom timezone and locale. + * If no Calendar object is specified, the driver uses the + * default timezone and locale. + * + * + * @param parameterName the name of the parameter + * @param cal the Calendar object the driver will use + * to construct the timestamp + * @return the parameter value. If the value is SQL NULL, the result is + * null. + * @exception SQLException if a database access error occurs + * @see #setTimestamp + * @since 1.4 + */ + public java.sql.Timestamp getTimestamp(String parameterName, Calendar cal) + throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + + /** + * Retrieves the value of a JDBC DATALINK parameter as a + * java.net.URL object. + * + * @param parameterName the name of the parameter + * @return the parameter value as a java.net.URL object in the + * Java programming language. If the value was SQL NULL, the + * value null is returned. + * @exception SQLException if a database access error occurs, + * or if there is a problem with the URL + * @see #setURL + * @since 1.4 + */ + public java.net.URL getURL(String parameterName) throws SQLException { + throw org.postgresql.Driver.notImplemented(); + } + +} -- cgit v1.2.1