summaryrefslogtreecommitdiff
path: root/javax
diff options
context:
space:
mode:
authorBryce McKinlay <mckinlay@redhat.com>2002-06-21 05:34:11 +0000
committerBryce McKinlay <mckinlay@redhat.com>2002-06-21 05:34:11 +0000
commite6310144dfb9c26e957cf5fc1bce338949701b3c (patch)
treee4d7695f13ba10c21a2ddcbb912b865954627db7 /javax
parent1b1211e7e94c0d19d2df89c565016ff6cd260969 (diff)
downloadclasspath-e6310144dfb9c26e957cf5fc1bce338949701b3c.tar.gz
Reformat JDBC classes and add new JDK 1.4 classes and methods.
* java/sql/ParameterMetaData.java, java/sql/SQLPermission.java, java/sql/Savepoint.java: New files. * java/sql/Array.java, java/sql/BatchUpdateException.java, java/sql/Blob.java, java/sql/CallableStatement.java, java/sql/Clob.java, java/sql/Connection.java, java/sql/DataTruncation.java, java/sql/DatabaseMetaData.java, java/sql/Date.java, java/sql/Driver.java, java/sql/DriverManager.java, java/sql/DriverPropertyInfo.java, java/sql/PreparedStatement.java, java/sql/Ref.java, java/sql/ResultSet.java, java/sql/ResultSetMetaData.java, java/sql/SQLData.java java/sql/SQLException.java, java/sql/SQLInput.java, java/sql/SQLOutput.java, java/sql/SQLWarning.java java/sql/Statement.java, java/sql/Struct.java, java/sql/Time.java, java/sql/Timestamp.java, java/sql/Types.java: Updated to JDBC 3.0 (JDK 1.4) specification. * javax/sql/ConnectionEvent.java, javax/sql/ConnectionEventListener.java, javax/sql/ConnectionPoolDataSource.java, javax/sql/DataSource.java, javax/sql/PooledConnection.java, javax/sql/RowSetEvent.java, javax/sql/RowSetInternal.java, javax/sql/RowSet.java, javax/sql/RowSetListener.java, javax/sql/RowSetMetaData.java, javax/sql/RowSetReader.java, javax/sql/RowSetWriter.java, javax/sql/XAConnection.java, javax/sql/XADataSource.java: New files. * java/sql/Makefile.am: Add new files. * javax/sql/Makefile.am: New. * javax/sql/package.html: New.
Diffstat (limited to 'javax')
-rw-r--r--javax/sql/ConnectionEvent.java75
-rw-r--r--javax/sql/ConnectionEventListener.java57
-rw-r--r--javax/sql/ConnectionPoolDataSource.java79
-rw-r--r--javax/sql/DataSource.java80
-rw-r--r--javax/sql/Makefile.am18
-rw-r--r--javax/sql/PooledConnection.java68
-rw-r--r--javax/sql/RowSet.java361
-rw-r--r--javax/sql/RowSetEvent.java52
-rw-r--r--javax/sql/RowSetInternal.java74
-rw-r--r--javax/sql/RowSetListener.java62
-rw-r--r--javax/sql/RowSetMetaData.java147
-rw-r--r--javax/sql/RowSetReader.java52
-rw-r--r--javax/sql/RowSetWriter.java52
-rw-r--r--javax/sql/XAConnection.java53
-rw-r--r--javax/sql/XADataSource.java79
-rw-r--r--javax/sql/package.html46
16 files changed, 1355 insertions, 0 deletions
diff --git a/javax/sql/ConnectionEvent.java b/javax/sql/ConnectionEvent.java
new file mode 100644
index 000000000..1c4b5ef5b
--- /dev/null
+++ b/javax/sql/ConnectionEvent.java
@@ -0,0 +1,75 @@
+/* ConnectionEvent.java
+ Copyright (C) 2002 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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.sql;
+
+import java.sql.SQLException;
+import java.util.EventObject;
+
+/**
+ * @since 1.4
+ */
+public class ConnectionEvent extends EventObject
+{
+ private SQLException sqlException;
+
+ /**
+ * @since 1.4
+ */
+ public ConnectionEvent(PooledConnection con)
+ {
+ super(con);
+ }
+
+ /**
+ * @since 1.4
+ */
+ public ConnectionEvent(PooledConnection con, SQLException ex)
+ {
+ super(con);
+ this.sqlException = ex;
+ }
+
+ /**
+ * @since 1.4
+ */
+ public SQLException getSQLException()
+ {
+ return sqlException;
+ }
+}
diff --git a/javax/sql/ConnectionEventListener.java b/javax/sql/ConnectionEventListener.java
new file mode 100644
index 000000000..9358e694d
--- /dev/null
+++ b/javax/sql/ConnectionEventListener.java
@@ -0,0 +1,57 @@
+/* ConnectionEventListener.java
+ Copyright (C) 2002 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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.sql;
+
+import java.util.EventListener;
+
+/**
+ * @since 1.4
+ */
+public interface ConnectionEventListener extends EventListener
+{
+ /**
+ * @since 1.4
+ */
+ public void connectionClosed(ConnectionEvent event);
+
+ /**
+ * @since 1.4
+ */
+ public void connectionErrorOccurred(ConnectionEvent event);
+}
diff --git a/javax/sql/ConnectionPoolDataSource.java b/javax/sql/ConnectionPoolDataSource.java
new file mode 100644
index 000000000..e281840bd
--- /dev/null
+++ b/javax/sql/ConnectionPoolDataSource.java
@@ -0,0 +1,79 @@
+/* ConnectionPoolDataSource.java
+ Copyright (C) 2002 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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.sql;
+
+import java.io.PrintWriter;
+import java.sql.SQLException;
+
+/**
+ * @since 1.4
+ */
+public interface ConnectionPoolDataSource
+{
+ /**
+ * @since 1.4
+ */
+ public PooledConnection getPooledConnection() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public PooledConnection getPooledConnection(String user, String password)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public PrintWriter getLogWriter() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setLogWriter(PrintWriter out) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setLoginTimeout(int seconds) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public int getLoginTimeout() throws SQLException;
+}
diff --git a/javax/sql/DataSource.java b/javax/sql/DataSource.java
new file mode 100644
index 000000000..05f97fd4b
--- /dev/null
+++ b/javax/sql/DataSource.java
@@ -0,0 +1,80 @@
+/* DataSource.java
+ Copyright (C) 2002 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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.sql;
+
+import java.io.PrintWriter;
+import java.sql.Connection;
+import java.sql.SQLException;
+
+/**
+ * @since 1.4
+ */
+public interface DataSource
+{
+ /**
+ * @since 1.4
+ */
+ public Connection getConnection() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public Connection getConnection(String username, String password)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public PrintWriter getLogWriter() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setLogWriter(PrintWriter out) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setLoginTimeout(int seconds) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public int getLoginTimeout() throws SQLException;
+}
diff --git a/javax/sql/Makefile.am b/javax/sql/Makefile.am
new file mode 100644
index 000000000..88838839a
--- /dev/null
+++ b/javax/sql/Makefile.am
@@ -0,0 +1,18 @@
+## Input file for automake to generate the Makefile.in used by configure
+
+EXTRA_DIST = \
+ConnectionEvent.java \
+ConnectionEventListener.java \
+ConnectionPoolDataSource.java \
+DataSource.java \
+PooledConnection.java \
+RowSetEvent.java \
+RowSetInternal.java \
+RowSet.java \
+RowSetListener.java \
+RowSetMetaData.java \
+RowSetReader.java \
+RowSetWriter.java \
+XAConnection.java \
+XADataSource.java \
+package.html
diff --git a/javax/sql/PooledConnection.java b/javax/sql/PooledConnection.java
new file mode 100644
index 000000000..f76ab8c90
--- /dev/null
+++ b/javax/sql/PooledConnection.java
@@ -0,0 +1,68 @@
+/* PooledConnection.java
+ Copyright (C) 2002 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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.sql;
+
+import java.sql.Connection;
+import java.sql.SQLException;
+
+/**
+ * @since 1.4
+ */
+public interface PooledConnection
+{
+ /**
+ * @since 1.4
+ */
+ public Connection getConnection() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void close() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void addConnectionEventListener(ConnectionEventListener listener);
+
+ /**
+ * @since 1.4
+ */
+ public void removeConnectionEventListener(ConnectionEventListener listener);
+}
diff --git a/javax/sql/RowSet.java b/javax/sql/RowSet.java
new file mode 100644
index 000000000..f5f7d9b25
--- /dev/null
+++ b/javax/sql/RowSet.java
@@ -0,0 +1,361 @@
+/* RowSet.java
+ Copyright (C) 2002 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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.sql;
+
+import java.io.InputStream;
+import java.io.Reader;
+import java.math.BigDecimal;
+import java.sql.Array;
+import java.sql.Blob;
+import java.sql.Clob;
+import java.sql.Date;
+import java.sql.Ref;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+import java.sql.Time;
+import java.sql.Timestamp;
+import java.util.Calendar;
+import java.util.Map;
+
+/**
+ * @since 1.4
+ */
+public interface RowSet extends ResultSet
+{
+ /**
+ * @since 1.4
+ */
+ public String getUrl() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setUrl(String url) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public String getDataSourceName();
+
+ /**
+ * @since 1.4
+ */
+ public void setDataSourceName(String name) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public String getUsername();
+
+ /**
+ * @since 1.4
+ */
+ public void setUsername(String name) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public String getPassword();
+
+ /**
+ * @since 1.4
+ */
+ public void setPassword(String password) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public int getTransactionIsolation();
+
+ /**
+ * @since 1.4
+ */
+ public void setTransactionIsolation(int level) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public Map getTypeMap() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setTypeMap(Map map) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public String getCommand();
+
+ /**
+ * @since 1.4
+ */
+ public void setCommand(String cmd) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public boolean isReadOnly();
+
+ /**
+ * @since 1.4
+ */
+ public void setReadOnly(boolean value) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public int getMaxFieldSize() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setMaxFieldSize(int max) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public int getMaxRows() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setMaxRows(int max) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public boolean getEscapeProcessing() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setEscapeProcessing(boolean enable) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public int getQueryTimeout() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setQueryTimeout(int seconds) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setType(int type) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setConcurrency(int concurrency) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setNull(int parameterIndex, int sqlType) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setNull(int paramIndex, int sqlType, String typeName) throws
+ SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setBoolean(int parameterIndex, boolean x) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setByte(int parameterIndex, byte x) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setShort(int parameterIndex, short x) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setInt(int parameterIndex, int x) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setLong(int parameterIndex, long x) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setFloat(int parameterIndex, float x) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setDouble(int parameterIndex, double x) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setBigDecimal(int parameterIndex, BigDecimal x) throws
+ SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setString(int parameterIndex, String x) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setBytes(int parameterIndex, byte[] x) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setDate(int parameterIndex, Date x) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setTime(int parameterIndex, Time x) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setTimestamp(int parameterIndex, Timestamp x) throws
+ SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setAsciiStream(int parameterIndex, InputStream x, int length)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setBinaryStream(int parameterIndex, InputStream x, int length)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setCharacterStream(int parameterIndex, Reader reader, int
+ length) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setObject(int parameterIndex, Object x, int targetSqlType, int
+ scale) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setObject(int parameterIndex, Object x, int targetSqlType)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setObject(int parameterIndex, Object x) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setRef(int i, Ref x) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setBlob(int i, Blob x) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setClob(int i, Clob x) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setArray(int i, Array x) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setDate(int parameterIndex, Date x, Calendar cal) throws
+ SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setTime(int parameterIndex, Time x, Calendar cal) throws
+ SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void clearParameters() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void execute() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void addRowSetListener(RowSetListener listener);
+
+ /**
+ * @since 1.4
+ */
+ public void removeRowSetListener(RowSetListener listener);
+}
diff --git a/javax/sql/RowSetEvent.java b/javax/sql/RowSetEvent.java
new file mode 100644
index 000000000..357e999ac
--- /dev/null
+++ b/javax/sql/RowSetEvent.java
@@ -0,0 +1,52 @@
+/* RowSetEvent.java
+ Copyright (C) 2002 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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.sql;
+
+import java.util.EventObject;
+
+/**
+ * @since 1.4
+ */
+public class RowSetEvent extends EventObject
+{
+ public RowSetEvent(RowSet source)
+ {
+ super(source);
+ }
+}
diff --git a/javax/sql/RowSetInternal.java b/javax/sql/RowSetInternal.java
new file mode 100644
index 000000000..1fd900bda
--- /dev/null
+++ b/javax/sql/RowSetInternal.java
@@ -0,0 +1,74 @@
+/* RowSetInternal.java
+ Copyright (C) 2002 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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.sql;
+
+import java.sql.Connection;
+import java.sql.ResultSet;
+import java.sql.SQLException;
+
+/**
+ * @since 1.4
+ */
+public interface RowSetInternal
+{
+ /**
+ * @since 1.4
+ */
+ public Object[] getParams() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public Connection getConnection() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setMetaData(RowSetMetaData md) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public ResultSet getOriginal() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public ResultSet getOriginalRow() throws SQLException;
+}
diff --git a/javax/sql/RowSetListener.java b/javax/sql/RowSetListener.java
new file mode 100644
index 000000000..a29623714
--- /dev/null
+++ b/javax/sql/RowSetListener.java
@@ -0,0 +1,62 @@
+/* RowSetListener.java
+ Copyright (C) 2002 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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.sql;
+
+import java.util.EventListener;
+
+/**
+ * @since 1.4
+ */
+public interface RowSetListener extends EventListener
+{
+ /**
+ * @since 1.4
+ */
+ public void rowSetChanged(RowSetEvent event);
+
+ /**
+ * @since 1.4
+ */
+ public void rowChanged(RowSetEvent event);
+
+ /**
+ * @since 1.4
+ */
+ public void cursorMoved(RowSetEvent event);
+}
diff --git a/javax/sql/RowSetMetaData.java b/javax/sql/RowSetMetaData.java
new file mode 100644
index 000000000..9e667f6b9
--- /dev/null
+++ b/javax/sql/RowSetMetaData.java
@@ -0,0 +1,147 @@
+/* RowSetMetaData.java
+ Copyright (C) 2002 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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.sql;
+
+import java.sql.ResultSetMetaData;
+import java.sql.SQLException;
+
+/**
+ * @since 1.4
+ */
+public interface RowSetMetaData extends ResultSetMetaData
+{
+
+ /**
+ * @since 1.4
+ */
+ public void setColumnCount(int columnCount) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setAutoIncrement(int columnIndex, boolean property)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setCaseSensitive(int columnIndex, boolean property)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setSearchable(int columnIndex, boolean property)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setCurrency(int columnIndex, boolean property)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setNullable(int columnIndex, int property) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setSigned(int columnIndex, boolean property)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setColumnDisplaySize(int columnIndex, int size)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setColumnLabel(int columnIndex, String label)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setColumnName(int columnIndex, String columnName)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setSchemaName(int columnIndex, String schemaName)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setPrecision(int columnIndex, int precision)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setScale(int columnIndex, int scale) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setTableName(int columnIndex, String tableName)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setCatalogName(int columnIndex, String catalogName)
+ throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setColumnType(int columnIndex, int SQLType) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setColumnTypeName(int columnIndex, String typeName)
+ throws SQLException;
+}
diff --git a/javax/sql/RowSetReader.java b/javax/sql/RowSetReader.java
new file mode 100644
index 000000000..d3000c01c
--- /dev/null
+++ b/javax/sql/RowSetReader.java
@@ -0,0 +1,52 @@
+/* RowSetReader.java
+ Copyright (C) 2002 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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.sql;
+
+import java.sql.SQLException;
+
+/**
+ * @since 1.4
+ */
+public interface RowSetReader
+{
+ /**
+ * @since 1.4
+ */
+ public void readData(RowSetInternal caller) throws SQLException;
+}
diff --git a/javax/sql/RowSetWriter.java b/javax/sql/RowSetWriter.java
new file mode 100644
index 000000000..4f5c0c2a7
--- /dev/null
+++ b/javax/sql/RowSetWriter.java
@@ -0,0 +1,52 @@
+/* RowSetWriter.java
+ Copyright (C) 2002 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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.sql;
+
+import java.sql.SQLException;
+
+/**
+ * @since 1.4
+ */
+public interface RowSetWriter
+{
+ /**
+ * @since 1.4
+ */
+ public boolean writeData(RowSetInternal caller) throws SQLException;
+}
diff --git a/javax/sql/XAConnection.java b/javax/sql/XAConnection.java
new file mode 100644
index 000000000..3c28c1740
--- /dev/null
+++ b/javax/sql/XAConnection.java
@@ -0,0 +1,53 @@
+/* XAConnection.java
+ Copyright (C) 2002 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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.sql;
+
+import java.sql.SQLException;
+import javax.transaction.xa.XAResource;
+
+/**
+ * @since 1.4
+ */
+public interface XAConnection extends PooledConnection
+{
+ /**
+ * @since 1.4
+ */
+ public XAResource getXAResource() throws SQLException;
+}
diff --git a/javax/sql/XADataSource.java b/javax/sql/XADataSource.java
new file mode 100644
index 000000000..1d552ddda
--- /dev/null
+++ b/javax/sql/XADataSource.java
@@ -0,0 +1,79 @@
+/* XADataSource.java
+ Copyright (C) 2002 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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. */
+
+
+package javax.sql;
+
+import java.io.PrintWriter;
+import java.sql.SQLException;
+
+/**
+ * @since 1.4
+ */
+public interface XADataSource
+{
+ /**
+ * @since 1.4
+ */
+ public XAConnection getXAConnection() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public XAConnection getXAConnection(String user, String password) throws
+ SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public PrintWriter getLogWriter() throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setLogWriter(PrintWriter out) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public void setLoginTimeout(int seconds) throws SQLException;
+
+ /**
+ * @since 1.4
+ */
+ public int getLoginTimeout() throws SQLException;
+}
diff --git a/javax/sql/package.html b/javax/sql/package.html
new file mode 100644
index 000000000..4015f5848
--- /dev/null
+++ b/javax/sql/package.html
@@ -0,0 +1,46 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
+<!-- package.html - describes classes in javax.sql package.
+ Copyright (C) 2002 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.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library. Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module. An independent module is a module which is not derived from
+or based on this library. If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so. If you do not wish to do so, delete this
+exception statement from your version. -->
+
+<html>
+<head><title>GNU Classpath - javax.sql</title></head>
+
+<body>
+<p></p>
+
+</body>
+</html>