ObjectStreamException.java: New file.
* java/io/ObjectStreamException.java: New file. * java/io/OptionalDataException.java: New file. * java/io/StreamCorruptedException.java: New file. * java/math/BigDecimal.java: New file. * java/sql/CallableStatement.java: New file. * java/sql/Connection.java: New file. * java/sql/DataTruncation.java: New file. * java/sql/DatabaseMetaData.java: New file. * java/sql/Date.java: New file. * java/sql/Driver.java: New file. * java/sql/DriverManager.java: New file. * java/sql/DriverPropertyInfo.java: New file. * java/sql/PreparedStatement.java: New file. * java/sql/ResultSet.java: New file. * java/sql/ResultSetMetaData.java: New file. * java/sql/SQLException.java: New file. * java/sql/SQLWarning.java: New file. * java/sql/Statement.java: New file. * java/sql/Time.java: New file. * java/sql/Timestamp.java: New file. * java/sql/Types.java: New file. * Makefile.am: Added above new files. * Makefile.in: Rebuilt. * mauve-libgcj: Turned on java.math, java.sql and java.security tests. * java/net/MulticastSocket.java (MulticastSocket): Pass values a la DatagramSocket constructor instead of null. java.sql is JDK 1.1 Compliant From-SVN: r33077
This commit is contained in:
parent
3a2b2c7a20
commit
d0123c54ca
26 changed files with 7065 additions and 20 deletions
299
libjava/java/sql/CallableStatement.java
Normal file
299
libjava/java/sql/CallableStatement.java
Normal file
|
@ -0,0 +1,299 @@
|
|||
/* CallableStatement.java -- A statement for calling stored procedures.
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package java.sql;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.Reader;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Calendar;
|
||||
|
||||
/**
|
||||
* This interface provides a mechanism for calling stored procedures.
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*/
|
||||
public interface CallableStatement extends PreparedStatement
|
||||
{
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method tests whether the value of the last parameter that was fetched
|
||||
* was actually a SQL NULL value.
|
||||
*
|
||||
* @return <code>true</code> if the last parameter fetched was a NULL,
|
||||
* <code>false</code> otherwise.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
wasNull() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified parameter as a Java
|
||||
* <code>String</code>.
|
||||
*
|
||||
* @param index The index of the parameter to return.
|
||||
*
|
||||
* @return The parameter value as a <code>String</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract String
|
||||
getString(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified parameter as a Java
|
||||
* <code>Object</code>.
|
||||
*
|
||||
* @param index The index of the parameter to return.
|
||||
*
|
||||
* @return The parameter value as an <code>Object</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract Object
|
||||
getObject(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified parameter as a Java
|
||||
* <code>boolean</code>.
|
||||
*
|
||||
* @param index The index of the parameter to return.
|
||||
*
|
||||
* @return The parameter value as a <code>boolean</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
getBoolean(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified parameter as a Java
|
||||
* <code>byte</code>.
|
||||
*
|
||||
* @param index The index of the parameter to return.
|
||||
*
|
||||
* @return The parameter value as a <code>byte</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract byte
|
||||
getByte(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified parameter as a Java
|
||||
* <code>short</code>.
|
||||
*
|
||||
* @param index The index of the parameter to return.
|
||||
*
|
||||
* @return The parameter value as a <code>short</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract short
|
||||
getShort(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified parameter as a Java
|
||||
* <code>int</code>.
|
||||
*
|
||||
* @param index The index of the parameter to return.
|
||||
*
|
||||
* @return The parameter value as a <code>int</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract int
|
||||
getInt(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified parameter as a Java
|
||||
* <code>long</code>.
|
||||
*
|
||||
* @param index The index of the parameter to return.
|
||||
*
|
||||
* @return The parameter value as a <code>long</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract long
|
||||
getLong(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified parameter as a Java
|
||||
* <code>float</code>.
|
||||
*
|
||||
* @param index The index of the parameter to return.
|
||||
*
|
||||
* @return The parameter value as a <code>float</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract float
|
||||
getFloat(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified parameter as a Java
|
||||
* <code>double</code>.
|
||||
*
|
||||
* @param index The index of the parameter to return.
|
||||
*
|
||||
* @return The parameter value as a <code>double</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract double
|
||||
getDouble(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified parameter as a Java
|
||||
* <code>BigDecimal</code>.
|
||||
*
|
||||
* @param index The index of the parameter to return.
|
||||
* @param scale The number of digits to the right of the decimal to return.
|
||||
*
|
||||
* @return The parameter value as a <code>BigDecimal</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract BigDecimal
|
||||
getBigDecimal(int index, int scale) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified parameter as a Java
|
||||
* byte array.
|
||||
*
|
||||
* @param index The index of the parameter to return.
|
||||
*
|
||||
* @return The parameter value as a byte array
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract byte[]
|
||||
getBytes(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified parameter as a Java
|
||||
* <code>java.sql.Date</code>.
|
||||
*
|
||||
* @param index The index of the parameter to return.
|
||||
*
|
||||
* @return The parameter value as a <code>java.sql.Date</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract java.sql.Date
|
||||
getDate(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified parameter as a Java
|
||||
* <code>java.sql.Time</code>.
|
||||
*
|
||||
* @param index The index of the parameter to return.
|
||||
*
|
||||
* @return The parameter value as a <code>java.sql.Time</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract java.sql.Time
|
||||
getTime(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified parameter as a Java
|
||||
* <code>java.sql.Timestamp</code>.
|
||||
*
|
||||
* @param index The index of the parameter to return.
|
||||
*
|
||||
* @return The parameter value as a <code>java.sql.Timestamp</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract java.sql.Timestamp
|
||||
getTimestamp(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method registers the specified parameter as an output parameter
|
||||
* of the specified SQL type.
|
||||
*
|
||||
* @param index The index of the parameter to register as output.
|
||||
* @param type The SQL type value from <code>Types</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
registerOutParameter(int index, int type) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method registers the specified parameter as an output parameter
|
||||
* of the specified SQL type and scale.
|
||||
*
|
||||
* @param index The index of the parameter to register as output.
|
||||
* @param type The SQL type value from <code>Types</code>.
|
||||
* @param scale The scale of the value that will be returned.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
registerOutParameter(int index, int type, int scale) throws SQLException;
|
||||
|
||||
} // interface CallableStatement
|
||||
|
||||
|
350
libjava/java/sql/Connection.java
Normal file
350
libjava/java/sql/Connection.java
Normal file
|
@ -0,0 +1,350 @@
|
|||
/* Connection.java -- Manage a database connection.
|
||||
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package java.sql;
|
||||
|
||||
/**
|
||||
* This interface provides methods for managing a connection to a database.
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*/
|
||||
public interface Connection
|
||||
{
|
||||
|
||||
/**
|
||||
* This transaction isolation level indicates that transactions are not
|
||||
* supported.
|
||||
*/
|
||||
public static final int TRANSACTION_NONE = 0;
|
||||
|
||||
/**
|
||||
* This transaction isolation level indicates that one transaction can
|
||||
* read modifications by other transactions before the other transactions
|
||||
* have committed their changes. This could result in invalid reads.
|
||||
*/
|
||||
public static final int TRANSACTION_READ_UNCOMMITTED = 1;
|
||||
|
||||
/**
|
||||
* This transaction isolation leve indicates that only committed data from
|
||||
* other transactions will be read. If a transaction reads a row, then
|
||||
* another transaction commits a change to that row, the first transaction
|
||||
* would retrieve the changed row on subsequent reads of the same row.
|
||||
*/
|
||||
public static final int TRANSACTION_READ_COMMITTED = 2;
|
||||
|
||||
/**
|
||||
* This transaction isolation level indicates that only committed data from
|
||||
* other transactions will be read. It also ensures that data read from
|
||||
* a row will not be different on a subsequent read even if another
|
||||
* transaction commits a change.
|
||||
*/
|
||||
public static final int TRANSACTION_REPEATABLE_READ = 4;
|
||||
|
||||
/**
|
||||
* This transaction isolation level indicates that only committed data from
|
||||
* other transactions will be read. It also ensures that data read from
|
||||
* a row will not be different on a subsequent read even if another
|
||||
* transaction commits a change. Additionally, rows modified by other
|
||||
* transactions will not affect the result set returned during subsequent
|
||||
* executions of the same WHERE clause in this transaction.
|
||||
*/
|
||||
public static final int TRANSACTION_SERIALIZABLE = 8;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method creates a new SQL statement. The default result set type
|
||||
* and concurrency will be used.
|
||||
*
|
||||
* @return A new <code>Statement</code> object.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*
|
||||
* @see Statement
|
||||
*/
|
||||
public abstract Statement
|
||||
createStatement() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method creates a new <code>PreparedStatement</code> for the specified
|
||||
* SQL string. This method is designed for use with parameterized
|
||||
* statements. The default result set type and concurrency will be used.
|
||||
*
|
||||
* @param The SQL statement to use in creating this
|
||||
* <code>PreparedStatement</code>.
|
||||
*
|
||||
* @return A new <code>PreparedStatement</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*
|
||||
* @see PreparedStatement
|
||||
*/
|
||||
public abstract PreparedStatement
|
||||
prepareStatement(String sql) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method creates a new <code>CallableStatement</code> for the
|
||||
* specified SQL string. Thie method is designed to be used with
|
||||
* stored procedures. The default result set type and concurrency
|
||||
* will be used.
|
||||
*
|
||||
* @param The SQL statement to use in creating this
|
||||
* <code>CallableStatement</code>.
|
||||
*
|
||||
* @return A new <code>CallableStatement</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*
|
||||
* @see CallableStatement
|
||||
*/
|
||||
public abstract CallableStatement
|
||||
prepareCall(String sql) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method converts the specified generic SQL statement into the
|
||||
* native grammer of the database this object is connected to.
|
||||
*
|
||||
* @param The JDBC generic SQL statement.
|
||||
*
|
||||
* @return The native SQL statement.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract String
|
||||
nativeSQL(String sql) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method tests whether or not auto commit mode is currently enabled.
|
||||
* In auto commit mode, every SQL statement is committed its own transaction.
|
||||
* Otherwise a transaction must be explicitly committed or rolled back.
|
||||
*
|
||||
* @return <code>true</code> if auto commit mode is enabled,
|
||||
* <code>false</code> otherwise.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*
|
||||
* @see commit
|
||||
* @see rollback
|
||||
*/
|
||||
public abstract boolean
|
||||
getAutoCommit() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method turns auto commit mode on or off. In auto commit mode,
|
||||
* every SQL statement is committed its own transaction. Otherwise a
|
||||
* transaction must be explicitly committed or rolled back.
|
||||
*
|
||||
* @param autoCommit <code>true</code> to enable auto commit mode,
|
||||
* <code>false</code> to disable it.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*
|
||||
* @see commit
|
||||
* @see rollback
|
||||
*/
|
||||
public abstract void
|
||||
setAutoCommit(boolean autoCommit) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method commits any SQL statements executed on this connection since
|
||||
* the last commit or rollback.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
commit() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method rolls back any SQL statements executed on this connection
|
||||
* since the last commit or rollback.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
rollback() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method immediately closes this database connection.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
close() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method tests whether or not this connection has been closed.
|
||||
*
|
||||
* @return <code>true</code> if the connection is closed, <code>false</code>
|
||||
* otherwise.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
isClosed() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the meta data for this database connection.
|
||||
*
|
||||
* @return The meta data for this database.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*
|
||||
* @see DatabaseMetaData
|
||||
*/
|
||||
public abstract DatabaseMetaData
|
||||
getMetaData() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method tests whether or not this connection is in read only mode.
|
||||
*
|
||||
* @return <code>true</code> if the connection is read only <code>false</code>
|
||||
* otherwise.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
isReadOnly() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method turns read only mode on or off. It may not be called while
|
||||
* a transaction is in progress.
|
||||
*
|
||||
* @param readOnly <code>true</code> if this connection is read only,
|
||||
* <code>false</code> otherwise.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setReadOnly(boolean readOnly) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the name of the catalog in use by this connection,
|
||||
* if any.
|
||||
*
|
||||
* @return The name of the catalog, or <code>null</code> if one does not
|
||||
* exist or catalogs are not supported by this database.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract String
|
||||
getCatalog() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the name of the catalog in use by this connection.
|
||||
* Note that this method does nothing if catalogs are not supported by
|
||||
* this database.
|
||||
*
|
||||
* @param catalog The name of the catalog to use for this connection.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setCatalog(String catalog) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the current transaction isolation mode. This will
|
||||
* be one of the constants defined in this interface.
|
||||
*
|
||||
* @return The transaction isolation level.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract int
|
||||
getTransactionIsolation() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the transaction isolation level using one of the
|
||||
* constants defined in this interface.
|
||||
*
|
||||
* @param level The transaction isolation level to change to; must be
|
||||
* one of the TRANSACTION_* isolation values with the exception of
|
||||
* TRANSACTION_NONE; some databases may not support other values.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setTransactionIsolation(int level) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the first warning that occurred on this connection,
|
||||
* if any. If there were any subsequence warnings, they will be chained
|
||||
* to the first one.
|
||||
*
|
||||
* @return The first <code>SQLWarning</code> that occurred, or
|
||||
* <code>null</code> if there have been no warnings.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract SQLWarning
|
||||
getWarnings() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method clears all warnings that have occurred on this connection.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
clearWarnings() throws SQLException;
|
||||
|
||||
} // interface Connection
|
||||
|
185
libjava/java/sql/DataTruncation.java
Normal file
185
libjava/java/sql/DataTruncation.java
Normal file
|
@ -0,0 +1,185 @@
|
|||
/* DataTruncation.java -- Warning when data has been truncated.
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package java.sql;
|
||||
|
||||
/**
|
||||
* This exception is thrown when a piece of data is unexpectedly
|
||||
* truncated in JDBC.
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*/
|
||||
public class DataTruncation extends SQLWarning implements java.io.Serializable
|
||||
{
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Instance Variables
|
||||
*/
|
||||
|
||||
/**
|
||||
* The original size of the data.
|
||||
* @serialized
|
||||
*/
|
||||
private int dataSize;
|
||||
|
||||
/**
|
||||
* The index of the parameter or column whose value was truncated.
|
||||
* @serialized
|
||||
*/
|
||||
private int index;
|
||||
|
||||
/**
|
||||
* Indicates whether or not a parameter value was truncated.
|
||||
* @serialized
|
||||
*/
|
||||
private boolean parameter;
|
||||
|
||||
/**
|
||||
* Indicates whether or not a data column value was truncated.
|
||||
* @serialized
|
||||
*/
|
||||
private boolean read;
|
||||
|
||||
/**
|
||||
* This is the size of the data after truncation.
|
||||
* @serialized
|
||||
*/
|
||||
private int transferSize;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Constructors
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method initializes a new instance of <code>DataTruncation</code>
|
||||
* with the specified values. The descriptive error message for this
|
||||
* exception will be "Data truncation", the SQL state will be "01004"
|
||||
* and the vendor specific error code will be set to 0.
|
||||
*
|
||||
* @param index The index of the parameter or column that was truncated.
|
||||
* @param parameter <code>true</code> if a parameter was truncated,
|
||||
* <code>false</code> otherwise.
|
||||
* @param read <code>true</code> if a data column was truncated,
|
||||
* <code>false</code> otherwise.
|
||||
* @param dataSize The original size of the data.
|
||||
* @param transferSize The size of the data after truncation.
|
||||
*/
|
||||
public
|
||||
DataTruncation(int index, boolean parameter, boolean read, int dataSize,
|
||||
int transferSize)
|
||||
{
|
||||
super("Data truncation", "01004");
|
||||
|
||||
this.index = index;
|
||||
this.parameter = parameter;
|
||||
this.read = read;
|
||||
this.dataSize = dataSize;
|
||||
this.transferSize = transferSize;
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Instance Methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method returns the index of the column or parameter that was
|
||||
* truncated.
|
||||
*
|
||||
* @return The index of the column or parameter that was truncated.
|
||||
*/
|
||||
public int
|
||||
getIndex()
|
||||
{
|
||||
return(index);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method determines whether or not it was a parameter that was
|
||||
* truncated.
|
||||
*
|
||||
* @return <code>true</code> if a parameter was truncated, <code>false</code>
|
||||
* otherwise.
|
||||
*/
|
||||
public boolean
|
||||
getParameter()
|
||||
{
|
||||
return(parameter);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method determines whether or not it was a column that was
|
||||
* truncated.
|
||||
*
|
||||
* @return <code>true</code> if a column was truncated, <code>false</code>
|
||||
* otherwise.
|
||||
*/
|
||||
public boolean
|
||||
getRead()
|
||||
{
|
||||
return(read);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the original size of the parameter or column that
|
||||
* was truncated.
|
||||
*
|
||||
* @return The original size of the parameter or column that was truncated.
|
||||
*/
|
||||
public int
|
||||
getDataSize()
|
||||
{
|
||||
return(dataSize);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the size of the parameter or column after it was
|
||||
* truncated.
|
||||
*
|
||||
* @return The size of the parameter or column after it was truncated.
|
||||
*/
|
||||
public int
|
||||
getTransferSize()
|
||||
{
|
||||
return(transferSize);
|
||||
}
|
||||
|
||||
} // class DataTruncation
|
||||
|
2460
libjava/java/sql/DatabaseMetaData.java
Normal file
2460
libjava/java/sql/DatabaseMetaData.java
Normal file
File diff suppressed because it is too large
Load diff
133
libjava/java/sql/Date.java
Normal file
133
libjava/java/sql/Date.java
Normal file
|
@ -0,0 +1,133 @@
|
|||
/* Date.java -- Wrapper around java.util.Date
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package java.sql;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
/**
|
||||
* This class is a wrapper around java.util.Date to allow the JDBC
|
||||
* driver to identify the value as a SQL Date.
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*/
|
||||
public class Date extends java.util.Date implements java.io.Serializable
|
||||
{
|
||||
|
||||
/*
|
||||
* Class Variables
|
||||
*/
|
||||
|
||||
/**
|
||||
* Used for parsing and formatting this date.
|
||||
*/
|
||||
private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Class Methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method returns a new instance of this class by parsing a
|
||||
* date in JDBC format into a Java date.
|
||||
*
|
||||
* @param str The string to parse.
|
||||
*
|
||||
* @return The resulting <code>java.sql.Date</code> value.
|
||||
*/
|
||||
public static Date
|
||||
valueOf(String str)
|
||||
{
|
||||
try
|
||||
{
|
||||
java.util.Date d = (java.util.Date)sdf.parseObject(str);
|
||||
return(new Date(d.getTime()));
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
return(null);
|
||||
}
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Constructors
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method initializes a new instance of this class with the
|
||||
* specified year, month, and day.
|
||||
*
|
||||
* @param year The year of this date minue 1900.
|
||||
* @param month The month of this date (0-11).
|
||||
* @param day The day of this date (1-31).
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
public
|
||||
Date(int year, int month, int day)
|
||||
{
|
||||
super(year, month, day);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method initializes a new instance of this class with the
|
||||
* specified time value representing the number of seconds since
|
||||
* Jan 1, 1970 at 12:00 midnight GMT.
|
||||
*
|
||||
* @param time The time value to intialize this date to.
|
||||
*/
|
||||
public
|
||||
Date(long date)
|
||||
{
|
||||
super(date);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Instance Methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method returns this date in JDBC format.
|
||||
*
|
||||
* @return This date as a string.
|
||||
*/
|
||||
public String
|
||||
toString()
|
||||
{
|
||||
return(sdf.format(this));
|
||||
}
|
||||
|
||||
} // class Date
|
||||
|
137
libjava/java/sql/Driver.java
Normal file
137
libjava/java/sql/Driver.java
Normal file
|
@ -0,0 +1,137 @@
|
|||
/* Driver.java -- A JDBC driver
|
||||
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package java.sql;
|
||||
|
||||
import java.util.Properties;
|
||||
|
||||
/**
|
||||
* This interface specifies a mechanism for accessing a JDBC database
|
||||
* driver. When the class implementing this method is loaded, it should
|
||||
* register an instance of itself with the <code>DriverManager</code> in
|
||||
* a static initializer.
|
||||
* <p>
|
||||
* Because the <code>DriverManager</code> might attempt to use several
|
||||
* drivers to find one that can connect to the requested database,
|
||||
* this driver should not cause large numbers of classes and code to
|
||||
* be loaded. If another driver is the one that ends up performing the
|
||||
* request, any loading done by this driver would be wasted.
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*/
|
||||
public interface Driver
|
||||
{
|
||||
|
||||
/**
|
||||
* This method returns the major version number of the driver.
|
||||
*
|
||||
* @return The major version number of the driver.
|
||||
*/
|
||||
public abstract int
|
||||
getMajorVersion();
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the minor version number of the driver.
|
||||
*
|
||||
* @return The minor version number of the driver.
|
||||
*/
|
||||
public abstract int
|
||||
getMinorVersion();
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method tests whether or not the driver is JDBC compliant. This
|
||||
* method should only return <code>true</code> if the driver has been
|
||||
* certified as JDBC compliant.
|
||||
*
|
||||
* @return <code>true</code> if the driver has been certified JDBC compliant,
|
||||
* <code>false</code> otherwise.
|
||||
*/
|
||||
public abstract boolean
|
||||
jdbcCompliant();
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns an array of possible properties that could be
|
||||
* used to connect to the specified database.
|
||||
*
|
||||
* @param url The URL string of the database to connect to.
|
||||
* @param properties The list of properties the caller is planning to use
|
||||
* to connect to the database.
|
||||
*
|
||||
* @return A list of possible additional properties for a connection to this
|
||||
* database. This list may be empty.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract DriverPropertyInfo[]
|
||||
getPropertyInfo(String url, Properties properties) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method tests whether or not the driver believes it can connect to
|
||||
* the specified database. The driver should only test whether it
|
||||
* understands and accepts the URL. It should not necessarily attempt to
|
||||
* probe the database for a connection.
|
||||
*
|
||||
* @param The database URL string.
|
||||
*
|
||||
* @return <code>true</code> if the drivers can connect to the database,
|
||||
* <code>false</code> otherwise.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
acceptsURL(String url) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method connects to the specified database using the connection
|
||||
* properties supplied. If the driver does not understand the database
|
||||
* URL, it should return <code>null</code> instead of throwing an
|
||||
* exception since the <code>DriverManager</code> will probe a driver
|
||||
* in this manner.
|
||||
*
|
||||
* @param url The URL string for this connection.
|
||||
* @param properties The list of database connection properties.
|
||||
*
|
||||
* @return A <code>Connection</code> object for the newly established
|
||||
* connection, or <code>null</code> if the URL is not understood.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract Connection
|
||||
connect(String url, Properties properties) throws SQLException;
|
||||
|
||||
} // interface Driver
|
||||
|
336
libjava/java/sql/DriverManager.java
Normal file
336
libjava/java/sql/DriverManager.java
Normal file
|
@ -0,0 +1,336 @@
|
|||
/* DriverManager.java -- Manage JDBC drivers
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package java.sql;
|
||||
|
||||
import java.io.PrintStream;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.Enumeration;
|
||||
import java.util.Properties;
|
||||
import java.util.StringTokenizer;
|
||||
import java.util.Vector;
|
||||
|
||||
/**
|
||||
* This class manages the JDBC drivers in the system. It maintains a
|
||||
* registry of drivers and locates the appropriate driver to handle a
|
||||
* JDBC database URL.
|
||||
* <p>
|
||||
* On startup, <code>DriverManager</code> loads all the managers specified
|
||||
* by the system property <code>jdbc.drivers</code>. The value of this
|
||||
* property should be a colon separated list of fully qualified driver
|
||||
* class names. Additional drivers can be loaded at any time by
|
||||
* simply loading the driver class with <code>class.forName(String)</code>.
|
||||
* The driver should automatically register itself in a static
|
||||
* initializer.
|
||||
* <p>
|
||||
* The methods in this class are all <code>static</code>. This class
|
||||
* cannot be instantiated.
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*/
|
||||
public class DriverManager
|
||||
{
|
||||
|
||||
/*
|
||||
* Class Variables
|
||||
*/
|
||||
|
||||
/**
|
||||
* This is the log stream for JDBC drivers.
|
||||
*/
|
||||
private static PrintStream log_stream;
|
||||
|
||||
/**
|
||||
* This is the log writer for JDBC drivers.
|
||||
*/
|
||||
private static PrintWriter log_writer;
|
||||
|
||||
/**
|
||||
* This is the login timeout used by JDBC drivers.
|
||||
*/
|
||||
private static int login_timeout;
|
||||
|
||||
/**
|
||||
* This is the list of JDBC drivers that are loaded.
|
||||
*/
|
||||
private static Vector drivers;
|
||||
// Hmm, seems like we might want to do a Hashtable and lookup by something,
|
||||
// but what would it be?
|
||||
|
||||
// Load all drivers on startup
|
||||
static
|
||||
{
|
||||
drivers = new Vector();
|
||||
|
||||
String driver_string = System.getProperty("jdbc.drivers");
|
||||
if (driver_string != null)
|
||||
{
|
||||
StringTokenizer st = new StringTokenizer(driver_string);
|
||||
while (st.hasMoreTokens())
|
||||
{
|
||||
String driver_classname = st.nextToken();
|
||||
|
||||
try
|
||||
{
|
||||
Class.forName(driver_classname); // The driver registers itself
|
||||
}
|
||||
catch (Exception e) { ; } // Ignore not founds
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Class Methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method returns the login timeout in use by JDBC drivers systemwide.
|
||||
*
|
||||
* @return The login timeout.
|
||||
*/
|
||||
public static int
|
||||
getLoginTimeout()
|
||||
{
|
||||
return(login_timeout);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method set the login timeout used by JDBC drivers. This is a
|
||||
* system-wide parameter that applies to all drivers.
|
||||
*
|
||||
* @param login_timeout The new login timeout value.
|
||||
*/
|
||||
public static void
|
||||
setLoginTimeout(int login_timeout)
|
||||
{
|
||||
DriverManager.login_timeout = login_timeout;
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the log stream in use by JDBC.
|
||||
*
|
||||
* @return The log stream in use by JDBC.
|
||||
*
|
||||
* @deprecated Use <code>getLogWriter()</code> instead.
|
||||
*/
|
||||
public static PrintStream
|
||||
getLogStream()
|
||||
{
|
||||
return(log_stream);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the log stream in use by JDBC.
|
||||
*
|
||||
* @param log_stream The log stream in use by JDBC.
|
||||
*
|
||||
* @deprecated Use <code>setLogWriter</code> instead.
|
||||
*/
|
||||
public static void
|
||||
setLogStream(PrintStream log_stream)
|
||||
{
|
||||
DriverManager.log_stream = log_stream;
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method prints the specified line to the log stream.
|
||||
*
|
||||
* @param str The string to write to the log stream.
|
||||
*/
|
||||
public static void
|
||||
println(String str)
|
||||
{
|
||||
if (log_stream != null) // Watch for user not using logging
|
||||
log_stream.println(str);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method registers a new driver with the manager. This is normally
|
||||
* called by the driver itself in a static initializer.
|
||||
*
|
||||
* @param driver The new <code>Driver</code> to add.
|
||||
*/
|
||||
public static void
|
||||
registerDriver(Driver driver)
|
||||
{
|
||||
if (!drivers.contains(driver))
|
||||
drivers.addElement(driver);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method de-registers a driver from the manager.
|
||||
*
|
||||
* @param driver The <code>Driver</code> to unregister.
|
||||
*/
|
||||
public static void
|
||||
deregisterDriver(Driver driver)
|
||||
{
|
||||
if (drivers.contains(driver))
|
||||
drivers.removeElement(driver);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns a list of all the currently loaded JDBC drivers which
|
||||
* the current caller has access to.
|
||||
*
|
||||
* @return An <code>Enumeration</code> of all currently loaded JDBC drivers.
|
||||
*/
|
||||
public static Enumeration
|
||||
getDrivers()
|
||||
{
|
||||
return(drivers.elements());
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns a driver that can connect to the specified
|
||||
* JDBC URL string. This will be selected from among drivers loaded
|
||||
* at initialization time and those drivers manually loaded by the
|
||||
* same class loader as the caller.
|
||||
*
|
||||
* @param url The JDBC URL string to find a driver for.
|
||||
*
|
||||
* @return A <code>Driver</code> that can connect to the specified
|
||||
* URL, or <code>null</code> if a suitable driver cannot be found.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public static Driver
|
||||
getDriver(String url) throws SQLException
|
||||
{
|
||||
// FIXME: Limit driver search to the appropriate subset of loaded drivers.
|
||||
|
||||
Enumeration e = drivers.elements();
|
||||
while(e.hasMoreElements())
|
||||
{
|
||||
Driver d = (Driver)e.nextElement();
|
||||
if (d.acceptsURL(url))
|
||||
return(d);
|
||||
}
|
||||
|
||||
return(null);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method attempts to return a connection to the specified
|
||||
* JDBC URL string.
|
||||
*
|
||||
* @param url The JDBC URL string to connect to.
|
||||
*
|
||||
* @return A <code>Connection</code> to that URL.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public static Connection
|
||||
getConnection(String url) throws SQLException
|
||||
{
|
||||
return(getConnection(url, new Properties()));
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method attempts to return a connection to the specified
|
||||
* JDBC URL string using the specified username and password.
|
||||
*
|
||||
* @param url The JDBC URL string to connect to.
|
||||
* @param user The username to connect with.
|
||||
* @param password The password to connect with.
|
||||
*
|
||||
* @return A <code>Connection</code> to that URL.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public static Connection
|
||||
getConnection(String url, String user, String password) throws SQLException
|
||||
{
|
||||
Properties p = new Properties();
|
||||
|
||||
p.setProperty("user", user);
|
||||
p.setProperty("password", password);
|
||||
|
||||
return(getConnection(url, p));
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method attempts to return a connection to the specified
|
||||
* JDBC URL string using the specified connection properties.
|
||||
*
|
||||
* @param url The JDBC URL string to connect to.
|
||||
* @param properties The connection properties.
|
||||
*
|
||||
* @return A <code>Connection</code> to that URL.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public static Connection
|
||||
getConnection(String url, Properties properties) throws SQLException
|
||||
{
|
||||
Driver d = getDriver(url);
|
||||
if (d == null)
|
||||
throw new SQLException("Driver not found for URL: " + url);
|
||||
|
||||
return(d.connect(url, properties));
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Constructors
|
||||
*/
|
||||
|
||||
// Keep bozos from trying to instantiate us.
|
||||
private
|
||||
DriverManager()
|
||||
{
|
||||
;
|
||||
}
|
||||
|
||||
} // class DriverManager
|
||||
|
91
libjava/java/sql/DriverPropertyInfo.java
Normal file
91
libjava/java/sql/DriverPropertyInfo.java
Normal file
|
@ -0,0 +1,91 @@
|
|||
/* DriverPropertyInfo.java -- Property information about drivers.
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package java.sql;
|
||||
|
||||
/**
|
||||
* This class holds a driver property that can be used for querying or
|
||||
* setting driver configuration parameters.
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*/
|
||||
public class DriverPropertyInfo
|
||||
{
|
||||
|
||||
/*
|
||||
* Instance Variables
|
||||
*/
|
||||
|
||||
/**
|
||||
* The name of the property.
|
||||
*/
|
||||
public String name;
|
||||
|
||||
/**
|
||||
* This is the value of the property.
|
||||
*/
|
||||
public String value;
|
||||
|
||||
/**
|
||||
* A description of the property, possibly <code>null</code>.
|
||||
*/
|
||||
public String description;
|
||||
|
||||
/**
|
||||
* A flag indicating whether or not a value for this property is required
|
||||
* in order to connect to the database.
|
||||
*/
|
||||
public boolean required;
|
||||
|
||||
/**
|
||||
* If values are restricted to certain choices, this is the list of valid
|
||||
* ones. Otherwise it is <code>null</code>.
|
||||
*/
|
||||
public String[] choices;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Constructors
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method initializes a new instance of <code>DriverPropertyInfo</code>
|
||||
* with the specified name and value. All other fields are defaulted.
|
||||
*
|
||||
* @param name The name of the property.
|
||||
* @param value The value to assign to the property.
|
||||
*/
|
||||
public
|
||||
DriverPropertyInfo(String name, String value)
|
||||
{
|
||||
this.name = name;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
} // DriverPropertyInfo
|
||||
|
387
libjava/java/sql/PreparedStatement.java
Normal file
387
libjava/java/sql/PreparedStatement.java
Normal file
|
@ -0,0 +1,387 @@
|
|||
/* PreparedStatement.java -- Interface for pre-compiled statements.
|
||||
Copyright (C) 1999, 2000 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package java.sql;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.Reader;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* This interface provides a mechanism for executing pre-compiled
|
||||
* statements. This provides greater efficiency when calling the same
|
||||
* statement multiple times. Parameters are allowed in a statement,
|
||||
* providings for maximum reusability.
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*/
|
||||
public interface PreparedStatement extends Statement
|
||||
{
|
||||
|
||||
/**
|
||||
* This method populates the specified parameter with a SQL NULL value
|
||||
* for the specified type.
|
||||
*
|
||||
* @param index The index of the parameter to set.
|
||||
* @param type The SQL type identifier of the parameter from <code>Types</code>
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setNull(int index, int type) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* <code>boolean</code> value.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setBoolean(int index, boolean value) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* <code>byte</code> value.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setByte(int index, byte value) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* <code>short</code> value.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setShort(int index, short value) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* <code>int</code> value.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setInt(int index, int value) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* <code>long</code> value.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setLong(int index, long value) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* <code>float</code> value.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setFloat(int index, float value) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* <code>double</code> value.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setDouble(int index, double value) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* <code>String</code> value.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setString(int index, String value) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* <code>byte</code> array value.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setBytes(int index, byte[] value) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* <code>java.math.BigDecimal</code> value.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setBigDecimal(int index, java.math.BigDecimal value) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* <code>java.sql.Date</code> value.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setDate(int index, java.sql.Date value) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* <code>java.sql.Time</code> value.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setTime(int index, java.sql.Time value) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* <code>java.sql.Timestamp</code> value.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setTimestamp(int index, java.sql.Timestamp value) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* ASCII <code>InputStream</code> value.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
* @param length The number of bytes in the stream.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setAsciiStream(int index, InputStream value, int length) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* Unicode UTF-8 <code>InputStream</code> value.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
* @param length The number of bytes in the stream.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setUnicodeStream(int index, InputStream value, int length) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* binary <code>InputStream</code> value.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
* @param length The number of bytes in the stream.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setBinaryStream(int index, InputStream value, int length) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* <code>Object</code> value. The default object type to SQL type mapping
|
||||
* will be used.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setObject(int index, Object value) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* <code>Object</code> value. The specified SQL object type will be used.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
* @param type The SQL type to use for the parameter, from <code>Types</code>
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*
|
||||
* @see Types
|
||||
*/
|
||||
public abstract void
|
||||
setObject(int index, Object value, int type) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the specified parameter from the given Java
|
||||
* <code>Object</code> value. The specified SQL object type will be used.
|
||||
*
|
||||
* @param index The index of the parameter value to set.
|
||||
* @param value The value of the parameter.
|
||||
* @param type The SQL type to use for the parameter, from <code>Types</code>
|
||||
* @param scale The scale of the value, for numeric values only.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*
|
||||
* @see Types
|
||||
*/
|
||||
public abstract void
|
||||
setObject(int index, Object value, int type, int scale) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method clears all of the input parameter that have been
|
||||
* set on this statement.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
clearParameters() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method executes a prepared SQL query.
|
||||
* Some prepared statements return multiple results; the execute method
|
||||
* handles these complex statements as well as the simpler form of
|
||||
* statements handled by executeQuery and executeUpdate.
|
||||
*
|
||||
* @return The result of the SQL statement.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
execute() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method executes a prepared SQL query and returns its ResultSet.
|
||||
*
|
||||
* @return The ResultSet of the SQL statement.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract ResultSet
|
||||
executeQuery() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method executes an SQL INSERT, UPDATE or DELETE statement. SQL
|
||||
* statements that return nothing such as SQL DDL statements can be executed.
|
||||
*
|
||||
* @return The result is either the row count for INSERT, UPDATE or DELETE
|
||||
* statements; or 0 for SQL statements that return nothing.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract int
|
||||
executeUpdate() throws SQLException;
|
||||
|
||||
} // interface PreparedStatement
|
||||
|
682
libjava/java/sql/ResultSet.java
Normal file
682
libjava/java/sql/ResultSet.java
Normal file
|
@ -0,0 +1,682 @@
|
|||
/* ResultSet.java -- A SQL statement result set.
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package java.sql;
|
||||
|
||||
import java.io.InputStream;
|
||||
import java.io.Reader;
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* This interface provides access to the data set returned by a SQL
|
||||
* statement. An instance of this interface is returned by the various
|
||||
* execution methods in the <code>Statement</code.
|
||||
* <p>
|
||||
* This class models a cursor, which can be stepped through one row at a
|
||||
* time. Methods are provided for accessing columns by column name or by
|
||||
* index.
|
||||
* <p>
|
||||
* Note that a result set is invalidated if the statement that returned
|
||||
* it is closed.
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*/
|
||||
public interface ResultSet
|
||||
{
|
||||
|
||||
/**
|
||||
* This method advances to the next row in the result set. Any streams
|
||||
* open on the current row are closed automatically.
|
||||
*
|
||||
* @return <code>true</code> if the next row exists, <code>false</code>
|
||||
* otherwise.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
next() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method closes the result set and frees any associated resources.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
close() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method tests whether the value of the last column that was fetched
|
||||
* was actually a SQL NULL value.
|
||||
*
|
||||
* @return <code>true</code> if the last column fetched was a NULL,
|
||||
* <code>false</code> otherwise.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
wasNull() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>String</code>.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>String</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract String
|
||||
getString(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>Object</code>.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
*
|
||||
* @return The column value as an <code>Object</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract Object
|
||||
getObject(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>boolean</code>.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>boolean</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
getBoolean(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>byte</code>.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>byte</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract byte
|
||||
getByte(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>short</code>.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>short</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract short
|
||||
getShort(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>int</code>.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>int</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract int
|
||||
getInt(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>long</code>.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>long</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract long
|
||||
getLong(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>float</code>.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>float</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract float
|
||||
getFloat(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>double</code>.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>double</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract double
|
||||
getDouble(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>BigDecimal</code>.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
* @param scale The number of digits to the right of the decimal to return.
|
||||
*
|
||||
* @return The column value as a <code>BigDecimal</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract BigDecimal
|
||||
getBigDecimal(int index, int scale) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* byte array.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
*
|
||||
* @return The column value as a byte array
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract byte[]
|
||||
getBytes(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>java.sql.Date</code>.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>java.sql.Date</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract java.sql.Date
|
||||
getDate(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>java.sql.Time</code>.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>java.sql.Time</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract java.sql.Time
|
||||
getTime(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>java.sql.Timestamp</code>.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>java.sql.Timestamp</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract java.sql.Timestamp
|
||||
getTimestamp(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as an ASCII
|
||||
* stream. Note that all the data from this stream must be read before
|
||||
* fetching the value of any other column. Please also be aware that
|
||||
* calling <code>next()</code> or <code>close()</code> on this result set
|
||||
* will close this stream as well.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
*
|
||||
* @return The column value as an ASCII <code>InputStream</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract InputStream
|
||||
getAsciiStream(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Unicode UTF-8
|
||||
* stream. Note that all the data from this stream must be read before
|
||||
* fetching the value of any other column. Please also be aware that
|
||||
* calling <code>next()</code> or <code>close()</code> on this result set
|
||||
* will close this stream as well.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
*
|
||||
* @return The column value as a Unicode UTF-8 <code>InputStream</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract InputStream
|
||||
getUnicodeStream(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a raw byte
|
||||
* stream. Note that all the data from this stream must be read before
|
||||
* fetching the value of any other column. Please also be aware that
|
||||
* calling <code>next()</code> or <code>close()</code> on this result set
|
||||
* will close this stream as well.
|
||||
*
|
||||
* @param index The index of the column to return.
|
||||
*
|
||||
* @return The column value as a raw byte <code>InputStream</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract InputStream
|
||||
getBinaryStream(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>String</code>.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>String</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract String
|
||||
getString(String column) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>Object</code>.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
*
|
||||
* @return The column value as an <code>Object</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract Object
|
||||
getObject(String column) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>boolean</code>.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>boolean</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
getBoolean(String column) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>byte</code>.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>byte</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract byte
|
||||
getByte(String column) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>short</code>.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>short</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract short
|
||||
getShort(String column) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>int</code>.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>int</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract int
|
||||
getInt(String column) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>long</code>.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>long</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract long
|
||||
getLong(String column) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>float</code>.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>float</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract float
|
||||
getFloat(String column) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>double</code>.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>double</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract double
|
||||
getDouble(String column) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>BigDecimal</code>.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
* @param scale The number of digits to the right of the decimal to return.
|
||||
*
|
||||
* @return The column value as a <code>BigDecimal</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract BigDecimal
|
||||
getBigDecimal(String column, int scale) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* byte array.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
*
|
||||
* @return The column value as a byte array
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract byte[]
|
||||
getBytes(String column) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>java.sql.Date</code>.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>java.sql.Date</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract java.sql.Date
|
||||
getDate(String column) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>java.sql.Time</code>.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>java.sql.Time</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract java.sql.Time
|
||||
getTime(String column) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Java
|
||||
* <code>java.sql.Timestamp</code>.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
*
|
||||
* @return The column value as a <code>java.sql.Timestamp</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract java.sql.Timestamp
|
||||
getTimestamp(String column) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as an ASCII
|
||||
* stream. Note that all the data from this stream must be read before
|
||||
* fetching the value of any other column. Please also be aware that
|
||||
* calling <code>next()</code> or <code>close()</code> on this result set
|
||||
* will close this stream as well.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
*
|
||||
* @return The column value as an ASCII <code>InputStream</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract InputStream
|
||||
getAsciiStream(String column) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a Unicode UTF-8
|
||||
* stream. Note that all the data from this stream must be read before
|
||||
* fetching the value of any other column. Please also be aware that
|
||||
* calling <code>next()</code> or <code>close()</code> on this result set
|
||||
* will close this stream as well.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
*
|
||||
* @return The column value as a Unicode UTF-8 <code>InputStream</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract InputStream
|
||||
getUnicodeStream(String column) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the value of the specified column as a raw byte
|
||||
* stream. Note that all the data from this stream must be read before
|
||||
* fetching the value of any other column. Please also be aware that
|
||||
* calling <code>next()</code> or <code>close()</code> on this result set
|
||||
* will close this stream as well.
|
||||
*
|
||||
* @param column The name of the column to return.
|
||||
*
|
||||
* @return The column value as a raw byte <code>InputStream</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract InputStream
|
||||
getBinaryStream(String column) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the first SQL warning associated with this result
|
||||
* set. Any additional warnings will be chained to this one.
|
||||
*
|
||||
* @return The first SQLWarning for this result set, or <code>null</code> if
|
||||
* there are no warnings.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract SQLWarning
|
||||
getWarnings() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method clears all warnings associated with this result set.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
clearWarnings() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the name of the database cursor used by this
|
||||
* result set.
|
||||
*
|
||||
* @return The name of the database cursor used by this result set.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract String
|
||||
getCursorName() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns data about the columns returned as part of the
|
||||
* result set as a <code>ResultSetMetaData</code> instance.
|
||||
*
|
||||
* @return The <code>ResultSetMetaData</code> instance for this result set.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract ResultSetMetaData
|
||||
getMetaData() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the column index of the specified named column.
|
||||
*
|
||||
* @param column The name of the column.
|
||||
*
|
||||
* @return The index of the column.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract int
|
||||
findColumn(String column) throws SQLException;
|
||||
|
||||
} // interface ResultSet
|
||||
|
362
libjava/java/sql/ResultSetMetaData.java
Normal file
362
libjava/java/sql/ResultSetMetaData.java
Normal file
|
@ -0,0 +1,362 @@
|
|||
/* ResultSetMetaData.java -- Returns information about the ResultSet
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package java.sql;
|
||||
|
||||
/**
|
||||
* This interface provides a mechanism for obtaining information about
|
||||
* the columns that are present in a <code>ResultSet</code>.
|
||||
* <p>
|
||||
* Note that in this class column indexes start at 1, not 0.
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*/
|
||||
public interface ResultSetMetaData
|
||||
{
|
||||
|
||||
/**
|
||||
* The column does not allow NULL's.
|
||||
*/
|
||||
public static final int columnNoNulls = 0;
|
||||
|
||||
/**
|
||||
* The column allows NULL's.
|
||||
*/
|
||||
public static final int columnNullable = 1;
|
||||
|
||||
/**
|
||||
* It is unknown whether or not the column allows NULL's.
|
||||
*/
|
||||
public static final int columnNullableUnknown = 2;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the number of columns in the result set.
|
||||
*
|
||||
* @return The number of columns in the result set.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract int
|
||||
getColumnCount() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method test whether or not the column is an auto-increment column.
|
||||
* Auto-increment columns are read-only.
|
||||
*
|
||||
* @param index The index of the column to test.
|
||||
*
|
||||
* @return <code>true</code> if the column is auto-increment, <code>false</code>
|
||||
* otherwise.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
isAutoIncrement(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method tests whether or not a column is case sensitive in its values.
|
||||
*
|
||||
* @param index The index of the column to test.
|
||||
*
|
||||
* @return <code>true</code> if the column value is case sensitive,
|
||||
* <code>false</code> otherwise.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
isCaseSensitive(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method tests whether not the specified column can be used in
|
||||
* a WHERE clause.
|
||||
*
|
||||
* @param index The index of the column to test.
|
||||
*
|
||||
* @return <code>true</code> if the column may be used in a WHERE clause,
|
||||
* <code>false</code> otherwise.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
isSearchable(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method tests whether or not the column stores a monetary value.
|
||||
*
|
||||
* @param index The index of the column to test.
|
||||
*
|
||||
* @return <code>true</code> if the column contains a monetary value,
|
||||
* <code>false</code> otherwise.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
isCurrency(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns a value indicating whether or not the specified
|
||||
* column may contain a NULL value.
|
||||
*
|
||||
* @param index The index of the column to test.
|
||||
*
|
||||
* @return A constant indicating whether or not the column can contain NULL,
|
||||
* which will be one of <code>columnNoNulls</code>,
|
||||
* <code>columnNullable</code>, or <code>columnNullableUnknown</code>.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract int
|
||||
isNullable(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method tests whether or not the value of the specified column
|
||||
* is signed or unsigned.
|
||||
*
|
||||
* @param index The index of the column to test.
|
||||
*
|
||||
* @return <code>true</code> if the column value is signed, <code>false</code>
|
||||
* otherwise.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
isSigned(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the maximum number of characters that can be used
|
||||
* to display a value in this column.
|
||||
*
|
||||
* @param index The index of the column to check.
|
||||
*
|
||||
* @return The maximum number of characters that can be used to display a
|
||||
* value for this column.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract int
|
||||
getColumnDisplaySize(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns a string that should be used as a caption for this
|
||||
* column for user display purposes.
|
||||
*
|
||||
* @param index The index of the column to check.
|
||||
*
|
||||
* @return A display string for the column.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract String
|
||||
getColumnLabel(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the name of the specified column.
|
||||
*
|
||||
* @param index The index of the column to return the name of.
|
||||
*
|
||||
* @return The name of the column.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract String
|
||||
getColumnName(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the name of the schema that contains the specified
|
||||
* column.
|
||||
*
|
||||
* @param index The index of the column to check the schema name for.
|
||||
*
|
||||
* @return The name of the schema that contains the column.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract String
|
||||
getSchemaName(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the precision of the specified column, which is the
|
||||
* number of decimal digits it contains.
|
||||
*
|
||||
* @param index The index of the column to check the precision on.
|
||||
*
|
||||
* @return The precision of the specified column.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract int
|
||||
getPrecision(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the scale of the specified column, which is the
|
||||
* number of digits to the right of the decimal point.
|
||||
*
|
||||
* @param index The index column to check the scale of.
|
||||
*
|
||||
* @return The scale of the column.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract int
|
||||
getScale(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the name of the table containing the specified
|
||||
* column.
|
||||
*
|
||||
* @param index The index of the column to check the table name for.
|
||||
*
|
||||
* @return The name of the table containing the column.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract String
|
||||
getTableName(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the name of the catalog containing the specified
|
||||
* column.
|
||||
*
|
||||
* @param index The index of the column to check the catalog name for.
|
||||
*
|
||||
* @return The name of the catalog containing the column.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract String
|
||||
getCatalogName(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the SQL type of the specified column. This will
|
||||
* be one of the constants from <code>Types</code>.
|
||||
*
|
||||
* @param index The index of the column to check the SQL type of.
|
||||
*
|
||||
* @return The SQL type for this column.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*
|
||||
* @see Types
|
||||
*/
|
||||
public abstract int
|
||||
getColumnType(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the name of the SQL type for this column.
|
||||
*
|
||||
* @param index The index of the column to check the SQL type name for.
|
||||
*
|
||||
* @return The name of the SQL type for this column.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract String
|
||||
getColumnTypeName(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method tests whether or not the specified column is read only.
|
||||
*
|
||||
* @param index The index of the column to check.
|
||||
*
|
||||
* @return <code>true</code> if the column is read only, <code>false</code>
|
||||
* otherwise.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
isReadOnly(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method tests whether or not the column may be writable. This
|
||||
* does not guarantee that a write will be successful.
|
||||
*
|
||||
* @param index The index of the column to check for writability.
|
||||
*
|
||||
* @return <code>true</code> if the column may be writable,
|
||||
* <code>false</code> otherwise.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
isWritable(int index) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method tests whether or not the column is writable. This
|
||||
* does guarantee that a write will be successful.
|
||||
*
|
||||
* @param index The index of the column to check for writability.
|
||||
*
|
||||
* @return <code>true</code> if the column is writable,
|
||||
* <code>false</code> otherwise.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
isDefinitelyWritable(int index) throws SQLException;
|
||||
|
||||
} // interface ResultSetMetaData
|
||||
|
199
libjava/java/sql/SQLException.java
Normal file
199
libjava/java/sql/SQLException.java
Normal file
|
@ -0,0 +1,199 @@
|
|||
/* SQLException.java -- General SQL exception
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package java.sql;
|
||||
|
||||
/**
|
||||
* This exception is thrown when a database error occurs.
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*/
|
||||
public class SQLException extends Exception implements java.io.Serializable
|
||||
{
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Instance Variables
|
||||
*/
|
||||
|
||||
/**
|
||||
* This is the next exception in the chain
|
||||
* @serialized
|
||||
*/
|
||||
private SQLException next;
|
||||
|
||||
/**
|
||||
* This is the state of the SQL statement at the time of the error.
|
||||
* @serialized
|
||||
*/
|
||||
private String SQLState;
|
||||
|
||||
/**
|
||||
* The vendor error code for this error
|
||||
* @serialized
|
||||
*/
|
||||
private int vendorCode;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Constructors
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method initializes a new instance of <code>SQLException</code>
|
||||
* that does not have a descriptive messages and SQL state, and which
|
||||
* has a vendor error code of 0.
|
||||
*/
|
||||
public
|
||||
SQLException()
|
||||
{
|
||||
this(null, null, 0);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method initializes a new instance of <code>SQLException</code>
|
||||
* with the specified descriptive error message. The SQL state of this
|
||||
* instance will be <code>null</code> and the vendor error code will be 0.
|
||||
*
|
||||
* @param message A string describing the nature of the error.
|
||||
*/
|
||||
public
|
||||
SQLException(String message)
|
||||
{
|
||||
this(message, null, 0);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method initializes a new instance of <code>SQLException</code>
|
||||
* with the specified descriptive error message and SQL state string.
|
||||
* The vendor error code of this instance will be 0.
|
||||
*
|
||||
* @param message A string describing the nature of the error.
|
||||
* @param SQLState A string containing the SQL state of the error.
|
||||
*/
|
||||
public
|
||||
SQLException(String message, String SQLState)
|
||||
{
|
||||
this(message, SQLState, 0);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method initializes a nwe instance of <code>SQLException</code>
|
||||
* with the specified descriptive error message, SQL state string, and
|
||||
* vendor code.
|
||||
*
|
||||
* @param message A string describing the nature of the error.
|
||||
* @param SQLState A string containing the SQL state of the error.
|
||||
* @param vendorCode The vendor error code associated with this error.
|
||||
*/
|
||||
public
|
||||
SQLException(String message, String SQLState, int vendorCode)
|
||||
{
|
||||
super(message);
|
||||
|
||||
this.SQLState = SQLState;
|
||||
this.vendorCode = vendorCode;
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Instance Methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method returns the SQLState information associated with this
|
||||
* error. The value returned is a <code>String</code> which is formatted
|
||||
* using the XOPEN SQL state conventions.
|
||||
*
|
||||
* @return The SQL state, which may be <code>null</code>.
|
||||
*/
|
||||
public String
|
||||
getSQLState()
|
||||
{
|
||||
return(SQLState);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the vendor specific error code associated with
|
||||
* this error.
|
||||
*
|
||||
* @return The vendor specific error code associated with this error.
|
||||
*/
|
||||
public int
|
||||
getErrorCode()
|
||||
{
|
||||
return(vendorCode);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the exception that is chained to this object.
|
||||
*
|
||||
* @return The exception chained to this object, which may be
|
||||
* <code>null</code>.
|
||||
*/
|
||||
public SQLException
|
||||
getNextException()
|
||||
{
|
||||
return(next);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method adds a new exception to the end of the chain of exceptions
|
||||
* that are chained to this object.
|
||||
*
|
||||
* @param e The exception to add to the end of the chain.
|
||||
*/
|
||||
public void
|
||||
setNextException(SQLException e)
|
||||
{
|
||||
if (e == null)
|
||||
return;
|
||||
|
||||
SQLException list_entry = this;
|
||||
while (list_entry.getNextException() != null)
|
||||
list_entry = list_entry.getNextException();
|
||||
|
||||
list_entry.next = e;
|
||||
}
|
||||
|
||||
} // class SQLException
|
||||
|
136
libjava/java/sql/SQLWarning.java
Normal file
136
libjava/java/sql/SQLWarning.java
Normal file
|
@ -0,0 +1,136 @@
|
|||
/* SQLWarning.java -- Database access warnings.
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package java.sql;
|
||||
|
||||
/**
|
||||
* This exception is thrown when a database warning occurs.
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*/
|
||||
public class SQLWarning extends SQLException implements java.io.Serializable
|
||||
{
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Constructors
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method initializes a new instance of <code>SQLWxception</code>
|
||||
* that does not have a descriptive messages and SQL state, and which
|
||||
* has a vendor error code of 0.
|
||||
*/
|
||||
public
|
||||
SQLWarning()
|
||||
{
|
||||
this(null, null, 0);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method initializes a new instance of <code>SQLWarning</code>
|
||||
* with the specified descriptive error message. The SQL state of this
|
||||
* instance will be <code>null</code> and the vendor error code will be 0.
|
||||
*
|
||||
* @param message A string describing the nature of the error.
|
||||
*/
|
||||
public
|
||||
SQLWarning(String message)
|
||||
{
|
||||
this(message, null, 0);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method initializes a new instance of <code>SQLWarning</code>
|
||||
* with the specified descriptive error message and SQL state string.
|
||||
* The vendor error code of this instance will be 0.
|
||||
*
|
||||
* @param message A string describing the nature of the error.
|
||||
* @param SQLState A string containing the SQL state of the error.
|
||||
*/
|
||||
public
|
||||
SQLWarning(String message, String SQLState)
|
||||
{
|
||||
this(message, SQLState, 0);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method initializes a nwe instance of <code>SQLWarning</code>
|
||||
* with the specified descriptive error message, SQL state string, and
|
||||
* vendor code.
|
||||
*
|
||||
* @param message A string describing the nature of the error.
|
||||
* @param SQLState A string containing the SQL state of the error.
|
||||
* @param vendorCode The vendor error code associated with this error.
|
||||
*/
|
||||
public
|
||||
SQLWarning(String message, String SQLState, int vendorCode)
|
||||
{
|
||||
super(message, SQLState, vendorCode);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Instance Methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method returns the exception that is chained to this object.
|
||||
*
|
||||
* @return The exception chained to this object, which may be
|
||||
* <code>null</code>.
|
||||
*/
|
||||
public SQLWarning
|
||||
getNextWarning()
|
||||
{
|
||||
return((SQLWarning)super.getNextException());
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method adds a new exception to the end of the chain of exceptions
|
||||
* that are chained to this object.
|
||||
*
|
||||
* @param e The exception to add to the end of the chain.
|
||||
*/
|
||||
public void
|
||||
setNextWarning(SQLWarning e)
|
||||
{
|
||||
super.setNextException(e);
|
||||
}
|
||||
|
||||
} // class SQLWarning
|
||||
|
277
libjava/java/sql/Statement.java
Normal file
277
libjava/java/sql/Statement.java
Normal file
|
@ -0,0 +1,277 @@
|
|||
/* Statement.java -- Interface for executing SQL statements.
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package java.sql;
|
||||
|
||||
/**
|
||||
* This interface provides a mechanism for executing SQL statements.
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*/
|
||||
public interface Statement
|
||||
{
|
||||
|
||||
/**
|
||||
* This method executes the specified SQL SELECT statement and returns a
|
||||
* (possibly empty) <code>ResultSet</code> with the results of the query.
|
||||
*
|
||||
* @param sql The SQL statement to execute.
|
||||
*
|
||||
* @return The result set of the SQL statement.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract ResultSet
|
||||
executeQuery(String sql) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method executes the specified SQL INSERT, UPDATE, or DELETE statement
|
||||
* and returns the number of rows affected, which may be 0.
|
||||
*
|
||||
* @param sql The SQL statement to execute.
|
||||
*
|
||||
* @return The number of rows affected by the SQL statement.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract int
|
||||
executeUpdate(String sql) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method closes the statement and frees any associated resources.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
close() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the maximum length of any column value in bytes.
|
||||
*
|
||||
* @return The maximum length of any column value in bytes.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract int
|
||||
getMaxFieldSize() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the limit for the maximum length of any column in bytes.
|
||||
*
|
||||
* @param maxsize The new maximum length of any column in bytes.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setMaxFieldSize(int maxsize) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the maximum possible number of rows in a result set.
|
||||
*
|
||||
* @return The maximum possible number of rows in a result set.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract int
|
||||
getMaxRows() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the maximum number of rows that can be present in a
|
||||
* result set.
|
||||
*
|
||||
* @param maxrows The maximum possible number of rows in a result set.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setMaxRows(int maxrows) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the local escape processing mode on or off. The
|
||||
* default value is on.
|
||||
*
|
||||
* @param escape <code>true</code> to enable local escape processing,
|
||||
* <code>false</code> to disable it.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setEscapeProcessing(boolean esacpe) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* The method returns the number of seconds a statement may be in process
|
||||
* before timing out. A value of 0 means there is no timeout.
|
||||
*
|
||||
* @return The SQL statement timeout in seconds.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract int
|
||||
getQueryTimeout() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the number of seconds a statement may be in process
|
||||
* before timing out. A value of 0 means there is no timeout.
|
||||
*
|
||||
* @param timeout The new SQL statement timeout value.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setQueryTimeout(int timeout) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method cancels an outstanding statement, if the database supports
|
||||
* that operation.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
cancel() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the first SQL warning attached to this statement.
|
||||
* Subsequent warnings will be chained to this one.
|
||||
*
|
||||
* @return The first SQL warning for this statement.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract SQLWarning
|
||||
getWarnings() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method clears any SQL warnings that have been attached to this
|
||||
* statement.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
clearWarnings() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the cursor name that will be used by the result set.
|
||||
*
|
||||
* @param name The cursor name to use for this statement.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract void
|
||||
setCursorName(String name) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method executes an arbitrary SQL statement of any time. The
|
||||
* methods <code>getResultSet</code>, <code>getMoreResults</code> and
|
||||
* <code>getUpdateCount</code> retrieve the results.
|
||||
*
|
||||
* @return <code>true</code> if a result set was returned, <code>false</code>
|
||||
* if an update count was returned.
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*/
|
||||
public abstract boolean
|
||||
execute(String sql) throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the result set of the SQL statement that was
|
||||
* executed. This should be called only once per result set returned.
|
||||
*
|
||||
* @return The result set of the query, or <code>null</code> if there was
|
||||
* no result set (for example, if the statement was an UPDATE).
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*
|
||||
* @see execute
|
||||
*/
|
||||
public abstract ResultSet
|
||||
getResultSet() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the update count of the SQL statement that was
|
||||
* executed. This should be called only once per executed SQL statement.
|
||||
*
|
||||
* @return The update count of the query, or -1 if there was no update
|
||||
* count (for example, if the statement was a SELECT).
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*
|
||||
* @see execute
|
||||
*/
|
||||
public abstract int
|
||||
getUpdateCount() throws SQLException;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method advances the result set pointer to the next result set,
|
||||
* which can then be retrieved using <code>getResultSet</code>
|
||||
*
|
||||
* @return <code>true</code> if there is another result set,
|
||||
* <code>false</code> otherwise (for example, the next result is an
|
||||
* update count).
|
||||
*
|
||||
* @exception SQLException If an error occurs.
|
||||
*
|
||||
* @see execute
|
||||
*/
|
||||
public abstract boolean
|
||||
getMoreResults() throws SQLException;
|
||||
|
||||
} // interface Statement
|
||||
|
137
libjava/java/sql/Time.java
Normal file
137
libjava/java/sql/Time.java
Normal file
|
@ -0,0 +1,137 @@
|
|||
/* Time.java -- Wrapper around java.util.Date
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package java.sql;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
/**
|
||||
* This class is a wrapper around java.util.Date to allow the JDBC
|
||||
* driver to identify the value as a SQL Time.
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*/
|
||||
public class Time extends java.util.Date implements java.io.Serializable
|
||||
{
|
||||
|
||||
/*
|
||||
* Class Variables
|
||||
*/
|
||||
|
||||
/**
|
||||
* Used for parsing and formatting this date.
|
||||
*/
|
||||
private static SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Class Methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method returns a new instance of this class by parsing a
|
||||
* date in JDBC format into a Java date.
|
||||
*
|
||||
* @param str The string to parse.
|
||||
*
|
||||
* @return The resulting <code>java.sql.Time</code> value.
|
||||
*/
|
||||
public static Time
|
||||
valueOf(String str)
|
||||
{
|
||||
try
|
||||
{
|
||||
java.util.Date d = (java.util.Date)sdf.parseObject(str);
|
||||
return(new Time(d.getTime()));
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
return(null);
|
||||
}
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Constructors
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method initializes a new instance of this class with the
|
||||
* specified year, month, and day.
|
||||
*
|
||||
* @param hour The hour for this Time (0-23)
|
||||
* @param minute The minute for this time (0-59)
|
||||
* @param second The second for this time (0-59)
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
public
|
||||
Time(int hour, int minute, int second)
|
||||
{
|
||||
super(System.currentTimeMillis());
|
||||
|
||||
setHours(hour);
|
||||
setMinutes(minute);
|
||||
setSeconds(second);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method initializes a new instance of this class with the
|
||||
* specified time value representing the number of seconds since
|
||||
* Jan 1, 1970 at 12:00 midnight GMT.
|
||||
*
|
||||
* @param time The time value to intialize this <code>Time</code> to.
|
||||
*/
|
||||
public
|
||||
Time(long date)
|
||||
{
|
||||
super(date);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Instance Methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method returns this date in JDBC format.
|
||||
*
|
||||
* @return This date as a string.
|
||||
*/
|
||||
public String
|
||||
toString()
|
||||
{
|
||||
return(sdf.format(this));
|
||||
}
|
||||
|
||||
} // class Time
|
||||
|
285
libjava/java/sql/Timestamp.java
Normal file
285
libjava/java/sql/Timestamp.java
Normal file
|
@ -0,0 +1,285 @@
|
|||
/* Time.java -- Wrapper around java.util.Date
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package java.sql;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
/**
|
||||
* This class is a wrapper around java.util.Date to allow the JDBC
|
||||
* driver to identify the value as a SQL Timestamp. Note that this
|
||||
* class also adds an additional field for nano-seconds, and so
|
||||
* is not completely identical to <code>java.util.Date</code> as
|
||||
* the <code>java.sql.Date</code> and <code>java.sql.Time</code>
|
||||
* classes are.
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*/
|
||||
public class Timestamp extends java.util.Date implements java.io.Serializable
|
||||
{
|
||||
|
||||
/*
|
||||
* Class Variables
|
||||
*/
|
||||
|
||||
/**
|
||||
* Used for parsing and formatting this date.
|
||||
*/
|
||||
// Millisecond will have to be close enough for now.
|
||||
private static SimpleDateFormat parse_sdf =
|
||||
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSSS");
|
||||
|
||||
private static SimpleDateFormat format_sdf =
|
||||
new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Instance Variables
|
||||
*/
|
||||
|
||||
/**
|
||||
* @serial The nanosecond value for this object
|
||||
*/
|
||||
private int nanos;
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Class Methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method returns a new instance of this class by parsing a
|
||||
* date in JDBC format into a Java date.
|
||||
*
|
||||
* @param str The string to parse.
|
||||
*
|
||||
* @return The resulting <code>java.sql.Timestamp</code> value.
|
||||
*/
|
||||
public static Timestamp
|
||||
valueOf(String str)
|
||||
{
|
||||
try
|
||||
{
|
||||
Date d = (Date)parse_sdf.parseObject(str);
|
||||
return(new Timestamp(d.getTime()));
|
||||
}
|
||||
catch(Exception e)
|
||||
{
|
||||
return(null);
|
||||
}
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Constructors
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method initializes a new instance of this class with the
|
||||
* specified year, month, and day.
|
||||
*
|
||||
* @param year The year for this Timestamp (year - 1900)
|
||||
* @param month The month for this Timestamp (0-11)
|
||||
* @param day The day for this Timestamp (1-31)
|
||||
* @param hour The hour for this Timestamp (0-23)
|
||||
* @param minute The minute for this Timestamp (0-59)
|
||||
* @param second The second for this Timestamp (0-59)
|
||||
* @param nanos The nanosecond value for this Timestamp (0 to 999,999,9999)
|
||||
*
|
||||
* @deprecated
|
||||
*/
|
||||
public
|
||||
Timestamp(int year, int month, int day, int hour, int minute, int second,
|
||||
int nanos)
|
||||
{
|
||||
super(year, month, day, hour, minute, second);
|
||||
|
||||
this.nanos = nanos;
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method initializes a new instance of this class with the
|
||||
* specified time value representing the number of seconds since
|
||||
* Jan 1, 1970 at 12:00 midnight GMT.
|
||||
*
|
||||
* @param time The time value to intialize this <code>Time</code> to.
|
||||
*/
|
||||
public
|
||||
Timestamp(long date)
|
||||
{
|
||||
super(date);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/*
|
||||
* Instance Methods
|
||||
*/
|
||||
|
||||
/**
|
||||
* This method returns this date in JDBC format.
|
||||
*
|
||||
* @return This date as a string.
|
||||
*/
|
||||
public String
|
||||
toString()
|
||||
{
|
||||
return(format_sdf.format(this) + "." + getNanos());
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method returns the nanosecond value for this object.
|
||||
*
|
||||
* @return The nanosecond value for this object.
|
||||
*/
|
||||
public int
|
||||
getNanos()
|
||||
{
|
||||
return(nanos);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method sets the nanosecond value for this object.
|
||||
*
|
||||
* @param nanos The nanosecond value for this object.
|
||||
*/
|
||||
public void
|
||||
setNanos(int nanos)
|
||||
{
|
||||
this.nanos = nanos;
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This methods tests whether this object is earlier than the specified
|
||||
* object.
|
||||
*
|
||||
* @param ts The other <code>Timestamp</code> to test against.
|
||||
*
|
||||
* @return <code>true</code> if this object is earlier than the other object,
|
||||
* <code>false</code> otherwise.
|
||||
*/
|
||||
public boolean
|
||||
before(Timestamp ts)
|
||||
{
|
||||
if (ts.getTime() > getTime())
|
||||
return(true);
|
||||
|
||||
if (ts.getNanos() > getNanos())
|
||||
return(true);
|
||||
|
||||
return(false);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This methods tests whether this object is later than the specified
|
||||
* object.
|
||||
*
|
||||
* @param ts The other <code>Timestamp</code> to test against.
|
||||
*
|
||||
* @return <code>true</code> if this object is later than the other object,
|
||||
* <code>false</code> otherwise.
|
||||
*/
|
||||
public boolean
|
||||
after(Timestamp ts)
|
||||
{
|
||||
if (ts.getTime() < getTime())
|
||||
return(true);
|
||||
|
||||
if (ts.getNanos() < getNanos())
|
||||
return(true);
|
||||
|
||||
return(false);
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method these the specified <code>Object</code> for equality
|
||||
* against this object. This will be true if an only if the specified
|
||||
* object is an instance of <code>Timestamp</code> and has the same
|
||||
* time value fields.
|
||||
*
|
||||
* @param obj The object to test against for equality.
|
||||
*
|
||||
* @return <code>true</code> if the specified object is equal to this
|
||||
* object, <code>false</code> otherwise.
|
||||
*/
|
||||
public boolean
|
||||
equals(Object obj)
|
||||
{
|
||||
if (obj == null)
|
||||
return(false);
|
||||
|
||||
if (!(obj instanceof Timestamp))
|
||||
return(false);
|
||||
|
||||
return(equals((Timestamp)obj));
|
||||
}
|
||||
|
||||
/*************************************************************************/
|
||||
|
||||
/**
|
||||
* This method tests the specified timestamp for equality against this
|
||||
* object. This will be true if and only if the specified object is
|
||||
* not <code>null</code> and contains all the same time value fields
|
||||
* as this object.
|
||||
*
|
||||
* @param ts The <code>Timestamp</code> to test against for equality.
|
||||
*
|
||||
* @return <code>true</code> if the specified object is equal to this
|
||||
* object, <code>false</code> otherwise.
|
||||
*/
|
||||
public boolean
|
||||
equals(Timestamp ts)
|
||||
{
|
||||
if (ts == null)
|
||||
return(false);
|
||||
|
||||
if (ts.getTime() != getTime())
|
||||
return(false);
|
||||
|
||||
if (ts.getNanos() != getNanos())
|
||||
return(false);
|
||||
|
||||
return(true);
|
||||
}
|
||||
|
||||
} // class Timestamp
|
||||
|
64
libjava/java/sql/Types.java
Normal file
64
libjava/java/sql/Types.java
Normal file
|
@ -0,0 +1,64 @@
|
|||
/* Types.java -- SQL type constants
|
||||
Copyright (C) 1999 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Classpath.
|
||||
|
||||
GNU Classpath is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2, or (at your option)
|
||||
any later version.
|
||||
|
||||
GNU Classpath is distributed in the hope that it will be useful, but
|
||||
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Classpath; see the file COPYING. If not, write to the
|
||||
Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
|
||||
02111-1307 USA.
|
||||
|
||||
As a special exception, if you link this library with other files to
|
||||
produce an executable, this library does not by itself cause the
|
||||
resulting executable to be covered by the GNU General Public License.
|
||||
This exception does not however invalidate any other reasons why the
|
||||
executable file might be covered by the GNU General Public License. */
|
||||
|
||||
|
||||
package java.sql;
|
||||
|
||||
/**
|
||||
* This class contains constants that are used to identify SQL data types.
|
||||
*
|
||||
* @author Aaron M. Renn (arenn@urbanophile.com)
|
||||
*/
|
||||
public class Types
|
||||
{
|
||||
|
||||
// These should be self explanatory. People need a SQL book, not
|
||||
// Javadoc comments for these.
|
||||
|
||||
public static final int BIT = -7;
|
||||
public static final int TINYINT = -6;
|
||||
public static final int SMALLINT = 5;
|
||||
public static final int INTEGER = 4;
|
||||
public static final int BIGINT = -5;
|
||||
public static final int FLOAT = 6;
|
||||
public static final int REAL = 7;
|
||||
public static final int DOUBLE = 8;
|
||||
public static final int NUMERIC = 2;
|
||||
public static final int DECIMAL = 3;
|
||||
public static final int CHAR = 1;
|
||||
public static final int VARCHAR = 12;
|
||||
public static final int LONGVARCHAR = -1;
|
||||
public static final int DATE = 91;
|
||||
public static final int TIME = 92;
|
||||
public static final int TIMESTAMP = 93;
|
||||
public static final int BINARY = -2;
|
||||
public static final int VARBINARY = -3;
|
||||
public static final int LONGVARBINARY = -4;
|
||||
public static final int NULL = 0;
|
||||
public static final int OTHER = 1111;
|
||||
|
||||
} // class Types
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue