New Ticket     Wiki     Browse Source     Timeline     Roadmap     Ticket Reports     Search

Ticket #21549: mysql-connector-java-JDK-1.6.diff

File mysql-connector-java-JDK-1.6.diff, 99.6 KB (added by nox@…, 2 years ago)

A patch to make it work on Snow Leopard

  • files/patch-JDK-1.6.diff

     
     1--- src/com/mysql/jdbc/CallableStatement.java.orig      2009-11-28 20:29:56.000000000 +0100 
     2+++ src/com/mysql/jdbc/CallableStatement.java   2009-11-28 23:57:51.000000000 +0100 
     3@@ -32,10 +32,13 @@ 
     4 import java.sql.Blob; 
     5 import java.sql.Clob; 
     6 import java.sql.Date; 
     7+import java.sql.NClob; 
     8 import java.sql.ParameterMetaData; 
     9 import java.sql.Ref; 
     10 import java.sql.ResultSet; 
     11+import java.sql.RowId; 
     12 import java.sql.SQLException; 
     13+import java.sql.SQLXML; 
     14 import java.sql.Statement; 
     15 import java.sql.Time; 
     16 import java.sql.Timestamp; 
     17@@ -2441,5 +2444,86 @@ 
     18                return (super.checkReadOnlySafeStatement() || this.checkReadOnlyProcedure()); 
     19        } 
     20  
     21+       public void setNClob(String parameterName, Reader reader) 
     22+                       throws SQLException { 
     23+               throw SQLError.notImplemented(); 
     24+       } 
     25+ 
     26+       public Reader getCharacterStream(String parameterName) throws SQLException { 
     27+               throw SQLError.notImplemented(); 
     28+       } 
     29+ 
     30+       public Reader getCharacterStream(int parameterIndex) throws SQLException { 
     31+               throw SQLError.notImplemented(); 
     32+       } 
     33+ 
     34+       public String getNString(String parameterName) throws SQLException { 
     35+               throw SQLError.notImplemented(); 
     36+       } 
     37+ 
     38+       public String getNString(int parameterIndex) throws SQLException { 
     39+               throw SQLError.notImplemented(); 
     40+       } 
     41+ 
     42+       public Reader getNCharacterStream(String parameterName) 
     43+                       throws SQLException { 
     44+               throw SQLError.notImplemented(); 
     45+       } 
     46+ 
     47+       public Reader getNCharacterStream(int parameterIndex) throws SQLException { 
     48+               throw SQLError.notImplemented(); 
     49+       } 
     50+ 
     51+       public SQLXML getSQLXML(String parameterName) throws SQLException { 
     52+               throw SQLError.notImplemented(); 
     53+       } 
     54+ 
     55+       public SQLXML getSQLXML(int parameterIndex) throws SQLException { 
     56+               throw SQLError.notImplemented(); 
     57+       } 
     58+ 
     59+       public void setSQLXML(String parameterName, SQLXML xmlObject) 
     60+                       throws SQLException { 
     61+               throw SQLError.notImplemented(); 
     62+       } 
     63+ 
     64+       public NClob getNClob(String parameterName) throws SQLException { 
     65+               throw SQLError.notImplemented(); 
     66+       } 
     67+ 
     68+       public NClob getNClob(int parameterIndex) throws SQLException { 
     69+               throw SQLError.notImplemented(); 
     70+       } 
     71+ 
     72+       public void setNClob(String parameterName, Reader reader, long length) 
     73+                       throws SQLException { 
     74+               throw SQLError.notImplemented(); 
     75+       } 
     76+ 
     77+       public void setNClob(String parameterName, NClob value) 
     78+                       throws SQLException { 
     79+               throw SQLError.notImplemented(); 
     80+       } 
     81+ 
     82+       public void setNString(String parameterName, String value) 
     83+                       throws SQLException { 
     84+               throw SQLError.notImplemented(); 
     85+       } 
     86+ 
     87+       public void setRowId(String parameterName, RowId x) 
     88+                       throws SQLException { 
     89+               throw SQLError.notImplemented(); 
     90+       } 
     91+ 
     92+       public RowId getRowId(String parameterName) 
     93+                       throws SQLException { 
     94+               throw SQLError.notImplemented(); 
     95+       } 
     96+ 
     97+       public RowId getRowId(int parameterIndex) 
     98+                       throws SQLException { 
     99+               throw SQLError.notImplemented(); 
     100+       } 
     101+ 
     102  
     103 } 
     104--- src/com/mysql/jdbc/ConnectionImpl.java.orig 2009-11-28 18:58:49.000000000 +0100 
     105+++ src/com/mysql/jdbc/ConnectionImpl.java      2009-11-29 00:56:52.000000000 +0100 
     106@@ -34,11 +34,16 @@ 
     107 import java.nio.charset.Charset; 
     108 import java.nio.charset.CharsetEncoder; 
     109 import java.sql.Blob; 
     110+import java.sql.Clob; 
     111 import java.sql.DatabaseMetaData; 
     112+import java.sql.NClob; 
     113 import java.sql.ResultSet; 
     114+import java.sql.SQLClientInfoException; 
     115 import java.sql.SQLException; 
     116 import java.sql.SQLWarning; 
     117+import java.sql.SQLXML; 
     118 import java.sql.Savepoint; 
     119+import java.sql.Struct; 
     120 import java.util.ArrayList; 
     121 import java.util.Calendar; 
     122 import java.util.GregorianCalendar; 
     123@@ -5699,4 +5704,60 @@ 
     124        public boolean getRequiresEscapingEncoder() { 
     125                return requiresEscapingEncoder; 
     126        } 
     127+ 
     128+       public Struct createStruct(String typeName, Object[] attributes) 
     129+                       throws SQLException { 
     130+               throw SQLError.notImplemented(); 
     131+       } 
     132+ 
     133+       public java.sql.Array createArrayOf(String typeName, Object[] elements) 
     134+                       throws SQLException { 
     135+               throw SQLError.notImplemented(); 
     136+       } 
     137+ 
     138+       public Properties getClientInfo() throws SQLException { 
     139+               throw SQLError.notImplemented(); 
     140+       } 
     141+ 
     142+       public String getClientInfo(String name) throws SQLException { 
     143+               throw SQLError.notImplemented(); 
     144+       } 
     145+ 
     146+       public void setClientInfo(Properties properties) 
     147+                       throws SQLClientInfoException { 
     148+               throw new SQLClientInfoException(); 
     149+       } 
     150+ 
     151+       public void setClientInfo(String name, String value) 
     152+                       throws SQLClientInfoException { 
     153+               throw new SQLClientInfoException(); 
     154+       } 
     155+ 
     156+       public boolean isValid(int timeout) throws SQLException { 
     157+               throw SQLError.notImplemented(); 
     158+       } 
     159+ 
     160+       public SQLXML createSQLXML() throws SQLException { 
     161+               throw SQLError.notImplemented(); 
     162+       } 
     163+ 
     164+       public NClob createNClob() throws SQLException { 
     165+               throw SQLError.notImplemented(); 
     166+       } 
     167+ 
     168+       public Blob createBlob() throws SQLException { 
     169+               throw SQLError.notImplemented(); 
     170+       } 
     171+ 
     172+       public Clob createClob() throws SQLException { 
     173+               throw SQLError.notImplemented(); 
     174+       } 
     175+ 
     176+       public boolean isWrapperFor(Class<?> iface) throws SQLException { 
     177+               throw SQLError.notImplemented(); 
     178+       } 
     179+ 
     180+       public <T> T unwrap(Class<T> iface) throws SQLException { 
     181+               throw SQLError.notImplemented(); 
     182+       } 
     183 } 
     184--- src/com/mysql/jdbc/DatabaseMetaData.java.orig       2009-11-28 18:58:49.000000000 +0100 
     185+++ src/com/mysql/jdbc/DatabaseMetaData.java    2009-11-28 23:31:07.000000000 +0100 
     186@@ -27,6 +27,7 @@ 
     187 import java.io.UnsupportedEncodingException; 
     188 import java.lang.reflect.Constructor; 
     189 import java.sql.ResultSet; 
     190+import java.sql.RowIdLifetime; 
     191 import java.sql.SQLException; 
     192 import java.sql.Statement; 
     193 import java.sql.Types; 
     194@@ -8158,4 +8159,29 @@ 
     195  
     196                return pStmt; 
     197        } 
     198+ 
     199+       public ResultSet getFunctions(String catalog, String schemaPattern, 
     200+                       String functionNamePattern) throws SQLException { 
     201+               throw SQLError.notImplemented(); 
     202+       } 
     203+ 
     204+       public ResultSet getClientInfoProperties() throws SQLException { 
     205+               throw SQLError.notImplemented(); 
     206+       } 
     207+ 
     208+       public boolean autoCommitFailureClosesAllResultSets() throws SQLException { 
     209+               throw SQLError.notImplemented(); 
     210+       } 
     211+ 
     212+       public RowIdLifetime getRowIdLifetime() throws SQLException { 
     213+               throw SQLError.notImplemented(); 
     214+       } 
     215+ 
     216+       public boolean isWrapperFor(Class<?> iface) throws SQLException { 
     217+               throw SQLError.notImplemented(); 
     218+       } 
     219+ 
     220+       public <T> T unwrap(Class<T> iface) throws SQLException { 
     221+               throw SQLError.notImplemented(); 
     222+       } 
     223 } 
     224--- src/com/mysql/jdbc/jdbc2/optional/CallableStatementWrapper.java.orig        2009-11-28 22:41:30.000000000 +0100 
     225+++ src/com/mysql/jdbc/jdbc2/optional/CallableStatementWrapper.java     2009-11-29 01:26:01.000000000 +0100 
     226@@ -34,8 +34,11 @@ 
     227 import java.sql.CallableStatement; 
     228 import java.sql.Clob; 
     229 import java.sql.Date; 
     230+import java.sql.NClob; 
     231 import java.sql.Ref; 
     232+import java.sql.RowId; 
     233 import java.sql.SQLException; 
     234+import java.sql.SQLXML; 
     235 import java.sql.Time; 
     236 import java.sql.Timestamp; 
     237 import java.util.Calendar; 
     238@@ -1800,817 +1803,817 @@ 
     239  
     240                return null; 
     241        } 
     242-// 
     243-//     public Reader getCharacterStream(int parameterIndex) throws SQLException { 
     244-//             try { 
     245-//                     if (this.wrappedStmt != null) { 
     246-//                             return ((CallableStatement) this.wrappedStmt) 
     247-//                                             .getCharacterStream(parameterIndex); 
     248-//                     } else { 
     249-//                             throw SQLError.createSQLException( 
     250-//                                             "No operations allowed after statement closed", 
     251-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     252-//                     } 
     253-//             } catch (SQLException sqlEx) { 
     254-//                     checkAndFireConnectionError(sqlEx); 
     255-//             } 
     256-//              
     257-//             return null; 
     258-//     } 
     259-// 
     260-//     public Reader getCharacterStream(String parameterName) throws SQLException { 
     261-//             try { 
     262-//                     if (this.wrappedStmt != null) { 
     263-//                             return ((CallableStatement) this.wrappedStmt) 
     264-//                                             .getCharacterStream(parameterName); 
     265-//                     } else { 
     266-//                             throw SQLError.createSQLException( 
     267-//                                             "No operations allowed after statement closed", 
     268-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     269-//                     } 
     270-//             } catch (SQLException sqlEx) { 
     271-//                     checkAndFireConnectionError(sqlEx); 
     272-//             } 
     273-//              
     274-//             return null; 
     275-//     } 
     276-// 
     277-//     public Reader getNCharacterStream(int parameterIndex) throws SQLException { 
     278-//             try { 
     279-//                     if (this.wrappedStmt != null) { 
     280-//                             return ((CallableStatement) this.wrappedStmt) 
     281-//                                             .getCharacterStream(parameterIndex); 
     282-//                     } else { 
     283-//                             throw SQLError.createSQLException( 
     284-//                                             "No operations allowed after statement closed", 
     285-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     286-//                     } 
     287-//             } catch (SQLException sqlEx) { 
     288-//                     checkAndFireConnectionError(sqlEx); 
     289-//             } 
     290-//              
     291-//             return null; 
     292-//     } 
     293-// 
     294-//     public Reader getNCharacterStream(String parameterName) throws SQLException { 
     295-//             try { 
     296-//                     if (this.wrappedStmt != null) { 
     297-//                             return ((CallableStatement) this.wrappedStmt) 
     298-//                                             .getNCharacterStream(parameterName); 
     299-//                     } else { 
     300-//                             throw SQLError.createSQLException( 
     301-//                                             "No operations allowed after statement closed", 
     302-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     303-//                     } 
     304-//             } catch (SQLException sqlEx) { 
     305-//                     checkAndFireConnectionError(sqlEx); 
     306-//             } 
     307-//              
     308-//             return null; 
     309-//     } 
     310-// 
     311-//     public NClob getNClob(int parameterIndex) throws SQLException { 
     312-//             try { 
     313-//                     if (this.wrappedStmt != null) { 
     314-//                             return ((CallableStatement) this.wrappedStmt) 
     315-//                                             .getNClob(parameterIndex); 
     316-//                     } else { 
     317-//                             throw SQLError.createSQLException( 
     318-//                                             "No operations allowed after statement closed", 
     319-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     320-//                     } 
     321-//             } catch (SQLException sqlEx) { 
     322-//                     checkAndFireConnectionError(sqlEx); 
     323-//             } 
     324-//              
     325-//             return null; 
     326-//     } 
     327-// 
     328-//     public NClob getNClob(String parameterName) throws SQLException { 
     329-//             try { 
     330-//                     if (this.wrappedStmt != null) { 
     331-//                             return ((CallableStatement) this.wrappedStmt) 
     332-//                                             .getNClob(parameterName); 
     333-//                     } else { 
     334-//                             throw SQLError.createSQLException( 
     335-//                                             "No operations allowed after statement closed", 
     336-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     337-//                     } 
     338-//             } catch (SQLException sqlEx) { 
     339-//                     checkAndFireConnectionError(sqlEx); 
     340-//             } 
     341-//              
     342-//             return null; 
     343-//     } 
     344-// 
     345-//     public String getNString(int parameterIndex) throws SQLException { 
     346-//             try { 
     347-//                     if (this.wrappedStmt != null) { 
     348-//                             return ((CallableStatement) this.wrappedStmt) 
     349-//                                             .getNString(parameterIndex); 
     350-//                     } else { 
     351-//                             throw SQLError.createSQLException( 
     352-//                                             "No operations allowed after statement closed", 
     353-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     354-//                     } 
     355-//             } catch (SQLException sqlEx) { 
     356-//                     checkAndFireConnectionError(sqlEx); 
     357-//             } 
     358-//              
     359-//             return null; 
     360-//     } 
     361-// 
     362-//     public String getNString(String parameterName) throws SQLException { 
     363-//             try { 
     364-//                     if (this.wrappedStmt != null) { 
     365-//                             return ((CallableStatement) this.wrappedStmt) 
     366-//                                             .getNString(parameterName); 
     367-//                     } else { 
     368-//                             throw SQLError.createSQLException( 
     369-//                                             "No operations allowed after statement closed", 
     370-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     371-//                     } 
     372-//             } catch (SQLException sqlEx) { 
     373-//                     checkAndFireConnectionError(sqlEx); 
     374-//             } 
     375-//              
     376-//             return null; 
     377-//     } 
     378-// 
     379-//     public RowId getRowId(int parameterIndex) throws SQLException { 
     380-//             try { 
     381-//                     if (this.wrappedStmt != null) { 
     382-//                             return ((CallableStatement) this.wrappedStmt) 
     383-//                                             .getRowId(parameterIndex); 
     384-//                     } else { 
     385-//                             throw SQLError.createSQLException( 
     386-//                                             "No operations allowed after statement closed", 
     387-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     388-//                     } 
     389-//             } catch (SQLException sqlEx) { 
     390-//                     checkAndFireConnectionError(sqlEx); 
     391-//             } 
     392-//              
     393-//             return null; 
     394-//     } 
     395-// 
     396-//     public RowId getRowId(String parameterName) throws SQLException { 
     397-//             try { 
     398-//                     if (this.wrappedStmt != null) { 
     399-//                             return ((CallableStatement) this.wrappedStmt) 
     400-//                                             .getRowId(parameterName); 
     401-//                     } else { 
     402-//                             throw SQLError.createSQLException( 
     403-//                                             "No operations allowed after statement closed", 
     404-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     405-//                     } 
     406-//             } catch (SQLException sqlEx) { 
     407-//                     checkAndFireConnectionError(sqlEx); 
     408-//             } 
     409-//              
     410-//             return null; 
     411-//     } 
     412-// 
     413-//     public SQLXML getSQLXML(int parameterIndex) throws SQLException { 
     414-//             try { 
     415-//                     if (this.wrappedStmt != null) { 
     416-//                             return ((CallableStatement) this.wrappedStmt) 
     417-//                                             .getSQLXML(parameterIndex); 
     418-//                     } else { 
     419-//                             throw SQLError.createSQLException( 
     420-//                                             "No operations allowed after statement closed", 
     421-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     422-//                     } 
     423-//             } catch (SQLException sqlEx) { 
     424-//                     checkAndFireConnectionError(sqlEx); 
     425-//             } 
     426-//              
     427-//             return null; 
     428-//     } 
     429-// 
     430-//     public SQLXML getSQLXML(String parameterName) throws SQLException { 
     431-//             try { 
     432-//                     if (this.wrappedStmt != null) { 
     433-//                             return ((CallableStatement) this.wrappedStmt) 
     434-//                                             .getSQLXML(parameterName); 
     435-//                     } else { 
     436-//                             throw SQLError.createSQLException( 
     437-//                                             "No operations allowed after statement closed", 
     438-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     439-//                     } 
     440-//             } catch (SQLException sqlEx) { 
     441-//                     checkAndFireConnectionError(sqlEx); 
     442-//             } 
     443-//              
     444-//             return null; 
     445-//     } 
     446-// 
     447-//     public void setAsciiStream(String parameterName, InputStream x) throws SQLException { 
     448-//             try { 
     449-//                     if (this.wrappedStmt != null) { 
     450-//                             ((CallableStatement) this.wrappedStmt) 
     451-//                                             .setAsciiStream(parameterName, x) ; 
     452-//                     } else { 
     453-//                             throw SQLError.createSQLException( 
     454-//                                             "No operations allowed after statement closed", 
     455-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     456-//                     } 
     457-//             } catch (SQLException sqlEx) { 
     458-//                     checkAndFireConnectionError(sqlEx); 
     459-//             } 
     460-//     } 
     461-// 
     462-//     public void setAsciiStream(String parameterName, InputStream x, long length) throws SQLException { 
     463-//             try { 
     464-//                     if (this.wrappedStmt != null) { 
     465-//                             ((CallableStatement) this.wrappedStmt) 
     466-//                                             .setAsciiStream(parameterName, x, length); 
     467-//                     } else { 
     468-//                             throw SQLError.createSQLException( 
     469-//                                             "No operations allowed after statement closed", 
     470-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     471-//                     } 
     472-//             } catch (SQLException sqlEx) { 
     473-//                     checkAndFireConnectionError(sqlEx); 
     474-//             } 
     475-//     } 
     476-// 
     477-//     public void setBinaryStream(String parameterName, InputStream x) throws SQLException { 
     478-//             try { 
     479-//                     if (this.wrappedStmt != null) { 
     480-//                             ((CallableStatement) this.wrappedStmt) 
     481-//                                             .setBinaryStream(parameterName, x); 
     482-//                     } else { 
     483-//                             throw SQLError.createSQLException( 
     484-//                                             "No operations allowed after statement closed", 
     485-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     486-//                     } 
     487-//             } catch (SQLException sqlEx) { 
     488-//                     checkAndFireConnectionError(sqlEx); 
     489-//             } 
     490-//     } 
     491-// 
     492-//     public void setBinaryStream(String parameterName, InputStream x, long length) throws SQLException { 
     493-//             try { 
     494-//                     if (this.wrappedStmt != null) { 
     495-//                             ((CallableStatement) this.wrappedStmt) 
     496-//                                             .setBinaryStream(parameterName, x, length); 
     497-//                     } else { 
     498-//                             throw SQLError.createSQLException( 
     499-//                                             "No operations allowed after statement closed", 
     500-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     501-//                     } 
     502-//             } catch (SQLException sqlEx) { 
     503-//                     checkAndFireConnectionError(sqlEx); 
     504-//             } 
     505-//     } 
     506-// 
     507-//     public void setBlob(String parameterName, Blob x) throws SQLException { 
     508-//             try { 
     509-//                     if (this.wrappedStmt != null) { 
     510-//                             ((CallableStatement) this.wrappedStmt) 
     511-//                                             .setBlob(parameterName, x); 
     512-//                     } else { 
     513-//                             throw SQLError.createSQLException( 
     514-//                                             "No operations allowed after statement closed", 
     515-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     516-//                     } 
     517-//             } catch (SQLException sqlEx) { 
     518-//                     checkAndFireConnectionError(sqlEx); 
     519-//             } 
     520-//     } 
     521-// 
     522-//     public void setBlob(String parameterName, InputStream inputStream) throws SQLException { 
     523-//             try { 
     524-//                     if (this.wrappedStmt != null) { 
     525-//                             ((CallableStatement) this.wrappedStmt) 
     526-//                                             .setBlob(parameterName, inputStream); 
     527-//                     } else { 
     528-//                             throw SQLError.createSQLException( 
     529-//                                             "No operations allowed after statement closed", 
     530-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     531-//                     } 
     532-//             } catch (SQLException sqlEx) { 
     533-//                     checkAndFireConnectionError(sqlEx); 
     534-//             } 
     535-//     } 
     536-// 
     537-//     public void setBlob(String parameterName, InputStream inputStream, long length) throws SQLException { 
     538-//             try { 
     539-//                     if (this.wrappedStmt != null) { 
     540-//                             ((CallableStatement) this.wrappedStmt) 
     541-//                                             .setBlob(parameterName, inputStream, length); 
     542-//                     } else { 
     543-//                             throw SQLError.createSQLException( 
     544-//                                             "No operations allowed after statement closed", 
     545-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     546-//                     } 
     547-//             } catch (SQLException sqlEx) { 
     548-//                     checkAndFireConnectionError(sqlEx); 
     549-//             } 
     550-//     } 
     551-// 
     552-//     public void setCharacterStream(String parameterName, Reader reader) throws SQLException { 
     553-//             try { 
     554-//                     if (this.wrappedStmt != null) { 
     555-//                             ((CallableStatement) this.wrappedStmt) 
     556-//                                             .setCharacterStream(parameterName, reader); 
     557-//                     } else { 
     558-//                             throw SQLError.createSQLException( 
     559-//                                             "No operations allowed after statement closed", 
     560-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     561-//                     } 
     562-//             } catch (SQLException sqlEx) { 
     563-//                     checkAndFireConnectionError(sqlEx); 
     564-//             } 
     565-//     } 
     566-// 
     567-//     public void setCharacterStream(String parameterName, Reader reader, long length) throws SQLException { 
     568-//             try { 
     569-//                     if (this.wrappedStmt != null) { 
     570-//                             ((CallableStatement) this.wrappedStmt) 
     571-//                                             .setCharacterStream(parameterName, reader, length); 
     572-//                     } else { 
     573-//                             throw SQLError.createSQLException( 
     574-//                                             "No operations allowed after statement closed", 
     575-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     576-//                     } 
     577-//             } catch (SQLException sqlEx) { 
     578-//                     checkAndFireConnectionError(sqlEx); 
     579-//             } 
     580-//     } 
     581-// 
     582-//     public void setClob(String parameterName, Clob x) throws SQLException { 
     583-//             try { 
     584-//                     if (this.wrappedStmt != null) { 
     585-//                             ((CallableStatement) this.wrappedStmt) 
     586-//                                             .setClob(parameterName, x); 
     587-//                     } else { 
     588-//                             throw SQLError.createSQLException( 
     589-//                                             "No operations allowed after statement closed", 
     590-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     591-//                     } 
     592-//             } catch (SQLException sqlEx) { 
     593-//                     checkAndFireConnectionError(sqlEx); 
     594-//             } 
     595-//     } 
     596-// 
     597-//     public void setClob(String parameterName, Reader reader) throws SQLException { 
     598-//             try { 
     599-//                     if (this.wrappedStmt != null) { 
     600-//                             ((CallableStatement) this.wrappedStmt) 
     601-//                                             .setClob(parameterName, reader); 
     602-//                     } else { 
     603-//                             throw SQLError.createSQLException( 
     604-//                                             "No operations allowed after statement closed", 
     605-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     606-//                     } 
     607-//             } catch (SQLException sqlEx) { 
     608-//                     checkAndFireConnectionError(sqlEx); 
     609-//             } 
     610-//     } 
     611-// 
     612-//     public void setClob(String parameterName, Reader reader, long length) throws SQLException { 
     613-//             try { 
     614-//                     if (this.wrappedStmt != null) { 
     615-//                             ((CallableStatement) this.wrappedStmt) 
     616-//                                             .setClob(parameterName, reader, length); 
     617-//                     } else { 
     618-//                             throw SQLError.createSQLException( 
     619-//                                             "No operations allowed after statement closed", 
     620-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     621-//                     } 
     622-//             } catch (SQLException sqlEx) { 
     623-//                     checkAndFireConnectionError(sqlEx); 
     624-//             } 
     625-//     } 
     626-// 
     627-//     public void setNCharacterStream(String parameterName, Reader value) throws SQLException { 
     628-//             try { 
     629-//                     if (this.wrappedStmt != null) { 
     630-//                             ((CallableStatement) this.wrappedStmt) 
     631-//                                             .setNCharacterStream(parameterName, value); 
     632-//                     } else { 
     633-//                             throw SQLError.createSQLException( 
     634-//                                             "No operations allowed after statement closed", 
     635-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     636-//                     } 
     637-//             } catch (SQLException sqlEx) { 
     638-//                     checkAndFireConnectionError(sqlEx); 
     639-//             } 
     640-//     } 
     641-// 
     642-//     public void setNCharacterStream(String parameterName, Reader value, long length) throws SQLException { 
     643-//             try { 
     644-//                     if (this.wrappedStmt != null) { 
     645-//                             ((CallableStatement) this.wrappedStmt) 
     646-//                                             .setNCharacterStream(parameterName, value, length); 
     647-//                     } else { 
     648-//                             throw SQLError.createSQLException( 
     649-//                                             "No operations allowed after statement closed", 
     650-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     651-//                     } 
     652-//             } catch (SQLException sqlEx) { 
     653-//                     checkAndFireConnectionError(sqlEx); 
     654-//             } 
     655-//     } 
     656-// 
     657-//     public void setNClob(String parameterName, NClob value) throws SQLException { 
     658-//             try { 
     659-//                     if (this.wrappedStmt != null) { 
     660-//                             ((CallableStatement) this.wrappedStmt) 
     661-//                                             .setNClob(parameterName, value); 
     662-//                     } else { 
     663-//                             throw SQLError.createSQLException( 
     664-//                                             "No operations allowed after statement closed", 
     665-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     666-//                     } 
     667-//             } catch (SQLException sqlEx) { 
     668-//                     checkAndFireConnectionError(sqlEx); 
     669-//             } 
     670-//     } 
     671-// 
     672-//     public void setNClob(String parameterName, Reader reader) throws SQLException { 
     673-//             try { 
     674-//                     if (this.wrappedStmt != null) { 
     675-//                             ((CallableStatement) this.wrappedStmt) 
     676-//                                             .setNClob(parameterName, reader); 
     677-//                     } else { 
     678-//                             throw SQLError.createSQLException( 
     679-//                                             "No operations allowed after statement closed", 
     680-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     681-//                     } 
     682-//             } catch (SQLException sqlEx) { 
     683-//                     checkAndFireConnectionError(sqlEx); 
     684-//             } 
     685-//     } 
     686-// 
     687-//     public void setNClob(String parameterName, Reader reader, long length) throws SQLException { 
     688-//             try { 
     689-//                     if (this.wrappedStmt != null) { 
     690-//                             ((CallableStatement) this.wrappedStmt) 
     691-//                                             .setNClob(parameterName, reader, length); 
     692-//                     } else { 
     693-//                             throw SQLError.createSQLException( 
     694-//                                             "No operations allowed after statement closed", 
     695-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     696-//                     } 
     697-//             } catch (SQLException sqlEx) { 
     698-//                     checkAndFireConnectionError(sqlEx); 
     699-//             } 
     700-//     } 
     701-// 
     702-//     public void setNString(String parameterName, String value) throws SQLException { 
     703-//             try { 
     704-//                     if (this.wrappedStmt != null) { 
     705-//                             ((CallableStatement) this.wrappedStmt) 
     706-//                                             .setNString(parameterName, value); 
     707-//                     } else { 
     708-//                             throw SQLError.createSQLException( 
     709-//                                             "No operations allowed after statement closed", 
     710-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     711-//                     } 
     712-//             } catch (SQLException sqlEx) { 
     713-//                     checkAndFireConnectionError(sqlEx); 
     714-//             } 
     715-//     } 
     716-// 
     717-//     public void setRowId(String parameterName, RowId x) throws SQLException { 
     718-//             try { 
     719-//                     if (this.wrappedStmt != null) { 
     720-//                             ((CallableStatement) this.wrappedStmt) 
     721-//                                             .setRowId(parameterName, x); 
     722-//                     } else { 
     723-//                             throw SQLError.createSQLException( 
     724-//                                             "No operations allowed after statement closed", 
     725-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     726-//                     } 
     727-//             } catch (SQLException sqlEx) { 
     728-//                     checkAndFireConnectionError(sqlEx); 
     729-//             } 
     730-//     } 
     731-// 
     732-//     public void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException { 
     733-//             try { 
     734-//                     if (this.wrappedStmt != null) { 
     735-//                             ((CallableStatement) this.wrappedStmt) 
     736-//                                             .setSQLXML(parameterName, xmlObject); 
     737-//                     } else { 
     738-//                             throw SQLError.createSQLException( 
     739-//                                             "No operations allowed after statement closed", 
     740-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     741-//                     } 
     742-//             } catch (SQLException sqlEx) { 
     743-//                     checkAndFireConnectionError(sqlEx); 
     744-//             } 
     745-//     } 
     746-// 
     747-//     public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException { 
     748-//             try { 
     749-//                     if (this.wrappedStmt != null) { 
     750-//                             ((CallableStatement) this.wrappedStmt) 
     751-//                                             .setAsciiStream(parameterIndex, x); 
     752-//                     } else { 
     753-//                             throw SQLError.createSQLException( 
     754-//                                             "No operations allowed after statement closed", 
     755-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     756-//                     } 
     757-//             } catch (SQLException sqlEx) { 
     758-//                     checkAndFireConnectionError(sqlEx); 
     759-//             } 
     760-//     } 
     761-// 
     762-//     public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException { 
     763-//             try { 
     764-//                     if (this.wrappedStmt != null) { 
     765-//                             ((CallableStatement) this.wrappedStmt) 
     766-//                                             .setAsciiStream(parameterIndex, x, length); 
     767-//                     } else { 
     768-//                             throw SQLError.createSQLException( 
     769-//                                             "No operations allowed after statement closed", 
     770-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     771-//                     } 
     772-//             } catch (SQLException sqlEx) { 
     773-//                     checkAndFireConnectionError(sqlEx); 
     774-//             } 
     775-//     } 
     776-// 
     777-//     public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException { 
     778-//             try { 
     779-//                     if (this.wrappedStmt != null) { 
     780-//                             ((CallableStatement) this.wrappedStmt) 
     781-//                                             .setBinaryStream(parameterIndex, x) ; 
     782-//                     } else { 
     783-//                             throw SQLError.createSQLException( 
     784-//                                             "No operations allowed after statement closed", 
     785-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     786-//                     } 
     787-//             } catch (SQLException sqlEx) { 
     788-//                     checkAndFireConnectionError(sqlEx); 
     789-//             } 
     790-//     } 
     791-// 
     792-//     public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException { 
     793-//             try { 
     794-//                     if (this.wrappedStmt != null) { 
     795-//                             ((CallableStatement) this.wrappedStmt) 
     796-//                                             .setBinaryStream(parameterIndex, x, length); 
     797-//                     } else { 
     798-//                             throw SQLError.createSQLException( 
     799-//                                             "No operations allowed after statement closed", 
     800-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     801-//                     } 
     802-//             } catch (SQLException sqlEx) { 
     803-//                     checkAndFireConnectionError(sqlEx); 
     804-//             } 
     805-//     } 
     806-// 
     807-//     public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException { 
     808-//             try { 
     809-//                     if (this.wrappedStmt != null) { 
     810-//                             ((CallableStatement) this.wrappedStmt) 
     811-//                                             .setBlob(parameterIndex, inputStream); 
     812-//                     } else { 
     813-//                             throw SQLError.createSQLException( 
     814-//                                             "No operations allowed after statement closed", 
     815-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     816-//                     } 
     817-//             } catch (SQLException sqlEx) { 
     818-//                     checkAndFireConnectionError(sqlEx); 
     819-//             } 
     820-//     } 
     821-// 
     822-//     public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException { 
     823-//             try { 
     824-//                     if (this.wrappedStmt != null) { 
     825-//                             ((CallableStatement) this.wrappedStmt) 
     826-//                                             .setBlob(parameterIndex, inputStream, length); 
     827-//                     } else { 
     828-//                             throw SQLError.createSQLException( 
     829-//                                             "No operations allowed after statement closed", 
     830-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     831-//                     } 
     832-//             } catch (SQLException sqlEx) { 
     833-//                     checkAndFireConnectionError(sqlEx); 
     834-//             } 
     835-//     } 
     836-// 
     837-//     public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException { 
     838-//             try { 
     839-//                     if (this.wrappedStmt != null) { 
     840-//                             ((CallableStatement) this.wrappedStmt) 
     841-//                                             .setCharacterStream(parameterIndex, reader); 
     842-//                     } else { 
     843-//                             throw SQLError.createSQLException( 
     844-//                                             "No operations allowed after statement closed", 
     845-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     846-//                     } 
     847-//             } catch (SQLException sqlEx) { 
     848-//                     checkAndFireConnectionError(sqlEx); 
     849-//             } 
     850-//     } 
     851-// 
     852-//     public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException { 
     853-//             try { 
     854-//                     if (this.wrappedStmt != null) { 
     855-//                             ((CallableStatement) this.wrappedStmt) 
     856-//                                             .getCharacterStream(parameterIndex); 
     857-//                     } else { 
     858-//                             throw SQLError.createSQLException( 
     859-//                                             "No operations allowed after statement closed", 
     860-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     861-//                     } 
     862-//             } catch (SQLException sqlEx) { 
     863-//                     checkAndFireConnectionError(sqlEx); 
     864-//             } 
     865-//     } 
     866-// 
     867-//     public void setClob(int parameterIndex, Reader reader) throws SQLException { 
     868-//             try { 
     869-//                     if (this.wrappedStmt != null) { 
     870-//                             ((CallableStatement) this.wrappedStmt) 
     871-//                                             .setClob(parameterIndex, reader); 
     872-//                     } else { 
     873-//                             throw SQLError.createSQLException( 
     874-//                                             "No operations allowed after statement closed", 
     875-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     876-//                     } 
     877-//             } catch (SQLException sqlEx) { 
     878-//                     checkAndFireConnectionError(sqlEx); 
     879-//             } 
     880-//     } 
     881-// 
     882-//     public void setClob(int parameterIndex, Reader reader, long length) throws SQLException { 
     883-//             try { 
     884-//                     if (this.wrappedStmt != null) { 
     885-//                             ((CallableStatement) this.wrappedStmt) 
     886-//                                             .setClob(parameterIndex, reader, length); 
     887-//                     } else { 
     888-//                             throw SQLError.createSQLException( 
     889-//                                             "No operations allowed after statement closed", 
     890-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     891-//                     } 
     892-//             } catch (SQLException sqlEx) { 
     893-//                     checkAndFireConnectionError(sqlEx); 
     894-//             } 
     895-//     } 
     896-// 
     897-//     public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException { 
     898-//             try { 
     899-//                     if (this.wrappedStmt != null) { 
     900-//                             ((CallableStatement) this.wrappedStmt) 
     901-//                                             .setNCharacterStream(parameterIndex, value); 
     902-//                     } else { 
     903-//                             throw SQLError.createSQLException( 
     904-//                                             "No operations allowed after statement closed", 
     905-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     906-//                     } 
     907-//             } catch (SQLException sqlEx) { 
     908-//                     checkAndFireConnectionError(sqlEx); 
     909-//             } 
     910-//      
     911-//     } 
     912-// 
     913-//     public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException { 
     914-//             try { 
     915-//                     if (this.wrappedStmt != null) { 
     916-//                             ((CallableStatement) this.wrappedStmt) 
     917-//                                             .setNCharacterStream(parameterIndex, value, length); 
     918-//                     } else { 
     919-//                             throw SQLError.createSQLException( 
     920-//                                             "No operations allowed after statement closed", 
     921-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     922-//                     } 
     923-//             } catch (SQLException sqlEx) { 
     924-//                     checkAndFireConnectionError(sqlEx); 
     925-//             } 
     926-//     } 
     927-// 
     928-//     public void setNClob(int parameterIndex, NClob value) throws SQLException { 
     929-//             try { 
     930-//                     if (this.wrappedStmt != null) { 
     931-//                             ((CallableStatement) this.wrappedStmt) 
     932-//                                             .setNClob(parameterIndex, value); 
     933-//                     } else { 
     934-//                             throw SQLError.createSQLException( 
     935-//                                             "No operations allowed after statement closed", 
     936-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     937-//                     } 
     938-//             } catch (SQLException sqlEx) { 
     939-//                     checkAndFireConnectionError(sqlEx); 
     940-//             } 
     941-//     } 
     942-// 
     943-//     public void setNClob(int parameterIndex, Reader reader) throws SQLException { 
     944-//             try { 
     945-//                     if (this.wrappedStmt != null) { 
     946-//                             ((CallableStatement) this.wrappedStmt) 
     947-//                                             .setNClob(parameterIndex, reader); 
     948-//                     } else { 
     949-//                             throw SQLError.createSQLException( 
     950-//                                             "No operations allowed after statement closed", 
     951-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     952-//                     } 
     953-//             } catch (SQLException sqlEx) { 
     954-//                     checkAndFireConnectionError(sqlEx); 
     955-//             } 
     956-//     } 
     957-// 
     958-//     public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException { 
     959-//             try { 
     960-//                     if (this.wrappedStmt != null) { 
     961-//                             ((CallableStatement) this.wrappedStmt) 
     962-//                                             .setNClob(parameterIndex, reader, length); 
     963-//                     } else { 
     964-//                             throw SQLError.createSQLException( 
     965-//                                             "No operations allowed after statement closed", 
     966-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     967-//                     } 
     968-//             } catch (SQLException sqlEx) { 
     969-//                     checkAndFireConnectionError(sqlEx); 
     970-//             } 
     971-//     } 
     972-// 
     973-//     public void setNString(int parameterIndex, String value) throws SQLException { 
     974-//             try { 
     975-//                     if (this.wrappedStmt != null) { 
     976-//                             ((CallableStatement) this.wrappedStmt) 
     977-//                                             .setNString(parameterIndex, value); 
     978-//                     } else { 
     979-//                             throw SQLError.createSQLException( 
     980-//                                             "No operations allowed after statement closed", 
     981-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     982-//                     } 
     983-//             } catch (SQLException sqlEx) { 
     984-//                     checkAndFireConnectionError(sqlEx); 
     985-//             } 
     986-//     } 
     987-// 
     988-//     public void setRowId(int parameterIndex, RowId x) throws SQLException { 
     989-//             try { 
     990-//                     if (this.wrappedStmt != null) { 
     991-//                             ((CallableStatement) this.wrappedStmt) 
     992-//                                             .setRowId(parameterIndex, x); 
     993-//                     } else { 
     994-//                             throw SQLError.createSQLException( 
     995-//                                             "No operations allowed after statement closed", 
     996-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     997-//                     } 
     998-//             } catch (SQLException sqlEx) { 
     999-//                     checkAndFireConnectionError(sqlEx); 
     1000-//             } 
     1001-//     } 
     1002-// 
     1003-//     public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException { 
     1004-//             try { 
     1005-//                     if (this.wrappedStmt != null) { 
     1006-//                             ((CallableStatement) this.wrappedStmt) 
     1007-//                                             .setSQLXML(parameterIndex, xmlObject); 
     1008-//                     } else { 
     1009-//                             throw SQLError.createSQLException( 
     1010-//                                             "No operations allowed after statement closed", 
     1011-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1012-//                     } 
     1013-//             } catch (SQLException sqlEx) { 
     1014-//                     checkAndFireConnectionError(sqlEx); 
     1015-//             } 
     1016-//              
     1017-//     } 
     1018-// 
     1019-//     public boolean isClosed() throws SQLException { 
     1020-//             try { 
     1021-//                     if (this.wrappedStmt != null) { 
     1022-//                             return ((CallableStatement) this.wrappedStmt) 
     1023-//                                             .isClosed(); 
     1024-//                     } else { 
     1025-//                             throw SQLError.createSQLException( 
     1026-//                                             "No operations allowed after statement closed", 
     1027-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1028-//                     } 
     1029-//             } catch (SQLException sqlEx) { 
     1030-//                     checkAndFireConnectionError(sqlEx); 
     1031-//             } 
     1032-//              
     1033-//             return true; 
     1034-//     } 
     1035-// 
     1036-//     public boolean isPoolable() throws SQLException { 
     1037-//             try { 
     1038-//                     if (this.wrappedStmt != null) { 
     1039-//                             return ((CallableStatement) this.wrappedStmt) 
     1040-//                                             . isPoolable(); 
     1041-//                     } else { 
     1042-//                             throw SQLError.createSQLException( 
     1043-//                                             "No operations allowed after statement closed", 
     1044-//                                             SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1045-//                     } 
     1046-//             } catch (SQLException sqlEx) { 
     1047-//                     checkAndFireConnectionError(sqlEx); 
     1048-//             } 
     1049-//              
     1050-//             return false; 
     1051-//     } 
     1052-// 
     1053+ 
     1054+       public Reader getCharacterStream(int parameterIndex) throws SQLException { 
     1055+               try { 
     1056+                       if (this.wrappedStmt != null) { 
     1057+                               return ((CallableStatement) this.wrappedStmt) 
     1058+                                               .getCharacterStream(parameterIndex); 
     1059+                       } else { 
     1060+                               throw SQLError.createSQLException( 
     1061+                                               "No operations allowed after statement closed", 
     1062+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1063+                       } 
     1064+               } catch (SQLException sqlEx) { 
     1065+                       checkAndFireConnectionError(sqlEx); 
     1066+               } 
     1067+                
     1068+               return null; 
     1069+       } 
     1070+ 
     1071+       public Reader getCharacterStream(String parameterName) throws SQLException { 
     1072+               try { 
     1073+                       if (this.wrappedStmt != null) { 
     1074+                               return ((CallableStatement) this.wrappedStmt) 
     1075+                                               .getCharacterStream(parameterName); 
     1076+                       } else { 
     1077+                               throw SQLError.createSQLException( 
     1078+                                               "No operations allowed after statement closed", 
     1079+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1080+                       } 
     1081+               } catch (SQLException sqlEx) { 
     1082+                       checkAndFireConnectionError(sqlEx); 
     1083+               } 
     1084+                
     1085+               return null; 
     1086+       } 
     1087+ 
     1088+       public Reader getNCharacterStream(int parameterIndex) throws SQLException { 
     1089+               try { 
     1090+                       if (this.wrappedStmt != null) { 
     1091+                               return ((CallableStatement) this.wrappedStmt) 
     1092+                                               .getCharacterStream(parameterIndex); 
     1093+                       } else { 
     1094+                               throw SQLError.createSQLException( 
     1095+                                               "No operations allowed after statement closed", 
     1096+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1097+                       } 
     1098+               } catch (SQLException sqlEx) { 
     1099+                       checkAndFireConnectionError(sqlEx); 
     1100+               } 
     1101+                
     1102+               return null; 
     1103+       } 
     1104+ 
     1105+       public Reader getNCharacterStream(String parameterName) throws SQLException { 
     1106+               try { 
     1107+                       if (this.wrappedStmt != null) { 
     1108+                               return ((CallableStatement) this.wrappedStmt) 
     1109+                                               .getNCharacterStream(parameterName); 
     1110+                       } else { 
     1111+                               throw SQLError.createSQLException( 
     1112+                                               "No operations allowed after statement closed", 
     1113+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1114+                       } 
     1115+               } catch (SQLException sqlEx) { 
     1116+                       checkAndFireConnectionError(sqlEx); 
     1117+               } 
     1118+                
     1119+               return null; 
     1120+       } 
     1121+ 
     1122+       public NClob getNClob(int parameterIndex) throws SQLException { 
     1123+               try { 
     1124+                       if (this.wrappedStmt != null) { 
     1125+                               return ((CallableStatement) this.wrappedStmt) 
     1126+                                               .getNClob(parameterIndex); 
     1127+                       } else { 
     1128+                               throw SQLError.createSQLException( 
     1129+                                               "No operations allowed after statement closed", 
     1130+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1131+                       } 
     1132+               } catch (SQLException sqlEx) { 
     1133+                       checkAndFireConnectionError(sqlEx); 
     1134+               } 
     1135+                
     1136+               return null; 
     1137+       } 
     1138+ 
     1139+       public NClob getNClob(String parameterName) throws SQLException { 
     1140+               try { 
     1141+                       if (this.wrappedStmt != null) { 
     1142+                               return ((CallableStatement) this.wrappedStmt) 
     1143+                                               .getNClob(parameterName); 
     1144+                       } else { 
     1145+                               throw SQLError.createSQLException( 
     1146+                                               "No operations allowed after statement closed", 
     1147+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1148+                       } 
     1149+               } catch (SQLException sqlEx) { 
     1150+                       checkAndFireConnectionError(sqlEx); 
     1151+               } 
     1152+                
     1153+               return null; 
     1154+       } 
     1155+ 
     1156+       public String getNString(int parameterIndex) throws SQLException { 
     1157+               try { 
     1158+                       if (this.wrappedStmt != null) { 
     1159+                               return ((CallableStatement) this.wrappedStmt) 
     1160+                                               .getNString(parameterIndex); 
     1161+                       } else { 
     1162+                               throw SQLError.createSQLException( 
     1163+                                               "No operations allowed after statement closed", 
     1164+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1165+                       } 
     1166+               } catch (SQLException sqlEx) { 
     1167+                       checkAndFireConnectionError(sqlEx); 
     1168+               } 
     1169+                
     1170+               return null; 
     1171+       } 
     1172+ 
     1173+       public String getNString(String parameterName) throws SQLException { 
     1174+               try { 
     1175+                       if (this.wrappedStmt != null) { 
     1176+                               return ((CallableStatement) this.wrappedStmt) 
     1177+                                               .getNString(parameterName); 
     1178+                       } else { 
     1179+                               throw SQLError.createSQLException( 
     1180+                                               "No operations allowed after statement closed", 
     1181+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1182+                       } 
     1183+               } catch (SQLException sqlEx) { 
     1184+                       checkAndFireConnectionError(sqlEx); 
     1185+               } 
     1186+                
     1187+               return null; 
     1188+       } 
     1189+ 
     1190+       public RowId getRowId(int parameterIndex) throws SQLException { 
     1191+               try { 
     1192+                       if (this.wrappedStmt != null) { 
     1193+                               return ((CallableStatement) this.wrappedStmt) 
     1194+                                               .getRowId(parameterIndex); 
     1195+                       } else { 
     1196+                               throw SQLError.createSQLException( 
     1197+                                               "No operations allowed after statement closed", 
     1198+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1199+                       } 
     1200+               } catch (SQLException sqlEx) { 
     1201+                       checkAndFireConnectionError(sqlEx); 
     1202+               } 
     1203+                
     1204+               return null; 
     1205+       } 
     1206+ 
     1207+       public RowId getRowId(String parameterName) throws SQLException { 
     1208+               try { 
     1209+                       if (this.wrappedStmt != null) { 
     1210+                               return ((CallableStatement) this.wrappedStmt) 
     1211+                                               .getRowId(parameterName); 
     1212+                       } else { 
     1213+                               throw SQLError.createSQLException( 
     1214+                                               "No operations allowed after statement closed", 
     1215+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1216+                       } 
     1217+               } catch (SQLException sqlEx) { 
     1218+                       checkAndFireConnectionError(sqlEx); 
     1219+               } 
     1220+                
     1221+               return null; 
     1222+       } 
     1223+ 
     1224+       public SQLXML getSQLXML(int parameterIndex) throws SQLException { 
     1225+               try { 
     1226+                       if (this.wrappedStmt != null) { 
     1227+                               return ((CallableStatement) this.wrappedStmt) 
     1228+                                               .getSQLXML(parameterIndex); 
     1229+                       } else { 
     1230+                               throw SQLError.createSQLException( 
     1231+                                               "No operations allowed after statement closed", 
     1232+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1233+                       } 
     1234+               } catch (SQLException sqlEx) { 
     1235+                       checkAndFireConnectionError(sqlEx); 
     1236+               } 
     1237+                
     1238+               return null; 
     1239+       } 
     1240+ 
     1241+       public SQLXML getSQLXML(String parameterName) throws SQLException { 
     1242+               try { 
     1243+                       if (this.wrappedStmt != null) { 
     1244+                               return ((CallableStatement) this.wrappedStmt) 
     1245+                                               .getSQLXML(parameterName); 
     1246+                       } else { 
     1247+                               throw SQLError.createSQLException( 
     1248+                                               "No operations allowed after statement closed", 
     1249+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1250+                       } 
     1251+               } catch (SQLException sqlEx) { 
     1252+                       checkAndFireConnectionError(sqlEx); 
     1253+               } 
     1254+                
     1255+               return null; 
     1256+       } 
     1257+ 
     1258+       public void setAsciiStream(String parameterName, InputStream x) throws SQLException { 
     1259+               try { 
     1260+                       if (this.wrappedStmt != null) { 
     1261+                               ((CallableStatement) this.wrappedStmt) 
     1262+                                               .setAsciiStream(parameterName, x) ; 
     1263+                       } else { 
     1264+                               throw SQLError.createSQLException( 
     1265+                                               "No operations allowed after statement closed", 
     1266+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1267+                       } 
     1268+               } catch (SQLException sqlEx) { 
     1269+                       checkAndFireConnectionError(sqlEx); 
     1270+               } 
     1271+       } 
     1272+ 
     1273+       public void setAsciiStream(String parameterName, InputStream x, long length) throws SQLException { 
     1274+               try { 
     1275+                       if (this.wrappedStmt != null) { 
     1276+                               ((CallableStatement) this.wrappedStmt) 
     1277+                                               .setAsciiStream(parameterName, x, length); 
     1278+                       } else { 
     1279+                               throw SQLError.createSQLException( 
     1280+                                               "No operations allowed after statement closed", 
     1281+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1282+                       } 
     1283+               } catch (SQLException sqlEx) { 
     1284+                       checkAndFireConnectionError(sqlEx); 
     1285+               } 
     1286+       } 
     1287+ 
     1288+       public void setBinaryStream(String parameterName, InputStream x) throws SQLException { 
     1289+               try { 
     1290+                       if (this.wrappedStmt != null) { 
     1291+                               ((CallableStatement) this.wrappedStmt) 
     1292+                                               .setBinaryStream(parameterName, x); 
     1293+                       } else { 
     1294+                               throw SQLError.createSQLException( 
     1295+                                               "No operations allowed after statement closed", 
     1296+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1297+                       } 
     1298+               } catch (SQLException sqlEx) { 
     1299+                       checkAndFireConnectionError(sqlEx); 
     1300+               } 
     1301+       } 
     1302+ 
     1303+       public void setBinaryStream(String parameterName, InputStream x, long length) throws SQLException { 
     1304+               try { 
     1305+                       if (this.wrappedStmt != null) { 
     1306+                               ((CallableStatement) this.wrappedStmt) 
     1307+                                               .setBinaryStream(parameterName, x, length); 
     1308+                       } else { 
     1309+                               throw SQLError.createSQLException( 
     1310+                                               "No operations allowed after statement closed", 
     1311+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1312+                       } 
     1313+               } catch (SQLException sqlEx) { 
     1314+                       checkAndFireConnectionError(sqlEx); 
     1315+               } 
     1316+       } 
     1317+ 
     1318+       public void setBlob(String parameterName, Blob x) throws SQLException { 
     1319+               try { 
     1320+                       if (this.wrappedStmt != null) { 
     1321+                               ((CallableStatement) this.wrappedStmt) 
     1322+                                               .setBlob(parameterName, x); 
     1323+                       } else { 
     1324+                               throw SQLError.createSQLException( 
     1325+                                               "No operations allowed after statement closed", 
     1326+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1327+                       } 
     1328+               } catch (SQLException sqlEx) { 
     1329+                       checkAndFireConnectionError(sqlEx); 
     1330+               } 
     1331+       } 
     1332+ 
     1333+       public void setBlob(String parameterName, InputStream inputStream) throws SQLException { 
     1334+               try { 
     1335+                       if (this.wrappedStmt != null) { 
     1336+                               ((CallableStatement) this.wrappedStmt) 
     1337+                                               .setBlob(parameterName, inputStream); 
     1338+                       } else { 
     1339+                               throw SQLError.createSQLException( 
     1340+                                               "No operations allowed after statement closed", 
     1341+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1342+                       } 
     1343+               } catch (SQLException sqlEx) { 
     1344+                       checkAndFireConnectionError(sqlEx); 
     1345+               } 
     1346+       } 
     1347+ 
     1348+       public void setBlob(String parameterName, InputStream inputStream, long length) throws SQLException { 
     1349+               try { 
     1350+                       if (this.wrappedStmt != null) { 
     1351+                               ((CallableStatement) this.wrappedStmt) 
     1352+                                               .setBlob(parameterName, inputStream, length); 
     1353+                       } else { 
     1354+                               throw SQLError.createSQLException( 
     1355+                                               "No operations allowed after statement closed", 
     1356+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1357+                       } 
     1358+               } catch (SQLException sqlEx) { 
     1359+                       checkAndFireConnectionError(sqlEx); 
     1360+               } 
     1361+       } 
     1362+ 
     1363+       public void setCharacterStream(String parameterName, Reader reader) throws SQLException { 
     1364+               try { 
     1365+                       if (this.wrappedStmt != null) { 
     1366+                               ((CallableStatement) this.wrappedStmt) 
     1367+                                               .setCharacterStream(parameterName, reader); 
     1368+                       } else { 
     1369+                               throw SQLError.createSQLException( 
     1370+                                               "No operations allowed after statement closed", 
     1371+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1372+                       } 
     1373+               } catch (SQLException sqlEx) { 
     1374+                       checkAndFireConnectionError(sqlEx); 
     1375+               } 
     1376+       } 
     1377+ 
     1378+       public void setCharacterStream(String parameterName, Reader reader, long length) throws SQLException { 
     1379+               try { 
     1380+                       if (this.wrappedStmt != null) { 
     1381+                               ((CallableStatement) this.wrappedStmt) 
     1382+                                               .setCharacterStream(parameterName, reader, length); 
     1383+                       } else { 
     1384+                               throw SQLError.createSQLException( 
     1385+                                               "No operations allowed after statement closed", 
     1386+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1387+                       } 
     1388+               } catch (SQLException sqlEx) { 
     1389+                       checkAndFireConnectionError(sqlEx); 
     1390+               } 
     1391+       } 
     1392+ 
     1393+       public void setClob(String parameterName, Clob x) throws SQLException { 
     1394+               try { 
     1395+                       if (this.wrappedStmt != null) { 
     1396+                               ((CallableStatement) this.wrappedStmt) 
     1397+                                               .setClob(parameterName, x); 
     1398+                       } else { 
     1399+                               throw SQLError.createSQLException( 
     1400+                                               "No operations allowed after statement closed", 
     1401+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1402+                       } 
     1403+               } catch (SQLException sqlEx) { 
     1404+                       checkAndFireConnectionError(sqlEx); 
     1405+               } 
     1406+       } 
     1407+ 
     1408+       public void setClob(String parameterName, Reader reader) throws SQLException { 
     1409+               try { 
     1410+                       if (this.wrappedStmt != null) { 
     1411+                               ((CallableStatement) this.wrappedStmt) 
     1412+                                               .setClob(parameterName, reader); 
     1413+                       } else { 
     1414+                               throw SQLError.createSQLException( 
     1415+                                               "No operations allowed after statement closed", 
     1416+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1417+                       } 
     1418+               } catch (SQLException sqlEx) { 
     1419+                       checkAndFireConnectionError(sqlEx); 
     1420+               } 
     1421+       } 
     1422+ 
     1423+       public void setClob(String parameterName, Reader reader, long length) throws SQLException { 
     1424+               try { 
     1425+                       if (this.wrappedStmt != null) { 
     1426+                               ((CallableStatement) this.wrappedStmt) 
     1427+                                               .setClob(parameterName, reader, length); 
     1428+                       } else { 
     1429+                               throw SQLError.createSQLException( 
     1430+                                               "No operations allowed after statement closed", 
     1431+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1432+                       } 
     1433+               } catch (SQLException sqlEx) { 
     1434+                       checkAndFireConnectionError(sqlEx); 
     1435+               } 
     1436+       } 
     1437+ 
     1438+       public void setNCharacterStream(String parameterName, Reader value) throws SQLException { 
     1439+               try { 
     1440+                       if (this.wrappedStmt != null) { 
     1441+                               ((CallableStatement) this.wrappedStmt) 
     1442+                                               .setNCharacterStream(parameterName, value); 
     1443+                       } else { 
     1444+                               throw SQLError.createSQLException( 
     1445+                                               "No operations allowed after statement closed", 
     1446+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1447+                       } 
     1448+               } catch (SQLException sqlEx) { 
     1449+                       checkAndFireConnectionError(sqlEx); 
     1450+               } 
     1451+       } 
     1452+ 
     1453+       public void setNCharacterStream(String parameterName, Reader value, long length) throws SQLException { 
     1454+               try { 
     1455+                       if (this.wrappedStmt != null) { 
     1456+                               ((CallableStatement) this.wrappedStmt) 
     1457+                                               .setNCharacterStream(parameterName, value, length); 
     1458+                       } else { 
     1459+                               throw SQLError.createSQLException( 
     1460+                                               "No operations allowed after statement closed", 
     1461+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1462+                       } 
     1463+               } catch (SQLException sqlEx) { 
     1464+                       checkAndFireConnectionError(sqlEx); 
     1465+               } 
     1466+       } 
     1467+ 
     1468+       public void setNClob(String parameterName, NClob value) throws SQLException { 
     1469+               try { 
     1470+                       if (this.wrappedStmt != null) { 
     1471+                               ((CallableStatement) this.wrappedStmt) 
     1472+                                               .setNClob(parameterName, value); 
     1473+                       } else { 
     1474+                               throw SQLError.createSQLException( 
     1475+                                               "No operations allowed after statement closed", 
     1476+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1477+                       } 
     1478+               } catch (SQLException sqlEx) { 
     1479+                       checkAndFireConnectionError(sqlEx); 
     1480+               } 
     1481+       } 
     1482+ 
     1483+       public void setNClob(String parameterName, Reader reader) throws SQLException { 
     1484+               try { 
     1485+                       if (this.wrappedStmt != null) { 
     1486+                               ((CallableStatement) this.wrappedStmt) 
     1487+                                               .setNClob(parameterName, reader); 
     1488+                       } else { 
     1489+                               throw SQLError.createSQLException( 
     1490+                                               "No operations allowed after statement closed", 
     1491+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1492+                       } 
     1493+               } catch (SQLException sqlEx) { 
     1494+                       checkAndFireConnectionError(sqlEx); 
     1495+               } 
     1496+       } 
     1497+ 
     1498+       public void setNClob(String parameterName, Reader reader, long length) throws SQLException { 
     1499+               try { 
     1500+                       if (this.wrappedStmt != null) { 
     1501+                               ((CallableStatement) this.wrappedStmt) 
     1502+                                               .setNClob(parameterName, reader, length); 
     1503+                       } else { 
     1504+                               throw SQLError.createSQLException( 
     1505+                                               "No operations allowed after statement closed", 
     1506+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1507+                       } 
     1508+               } catch (SQLException sqlEx) { 
     1509+                       checkAndFireConnectionError(sqlEx); 
     1510+               } 
     1511+       } 
     1512+ 
     1513+       public void setNString(String parameterName, String value) throws SQLException { 
     1514+               try { 
     1515+                       if (this.wrappedStmt != null) { 
     1516+                               ((CallableStatement) this.wrappedStmt) 
     1517+                                               .setNString(parameterName, value); 
     1518+                       } else { 
     1519+                               throw SQLError.createSQLException( 
     1520+                                               "No operations allowed after statement closed", 
     1521+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1522+                       } 
     1523+               } catch (SQLException sqlEx) { 
     1524+                       checkAndFireConnectionError(sqlEx); 
     1525+               } 
     1526+       } 
     1527+ 
     1528+       public void setRowId(String parameterName, RowId x) throws SQLException { 
     1529+               try { 
     1530+                       if (this.wrappedStmt != null) { 
     1531+                               ((CallableStatement) this.wrappedStmt) 
     1532+                                               .setRowId(parameterName, x); 
     1533+                       } else { 
     1534+                               throw SQLError.createSQLException( 
     1535+                                               "No operations allowed after statement closed", 
     1536+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1537+                       } 
     1538+               } catch (SQLException sqlEx) { 
     1539+                       checkAndFireConnectionError(sqlEx); 
     1540+               } 
     1541+       } 
     1542+ 
     1543+       public void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException { 
     1544+               try { 
     1545+                       if (this.wrappedStmt != null) { 
     1546+                               ((CallableStatement) this.wrappedStmt) 
     1547+                                               .setSQLXML(parameterName, xmlObject); 
     1548+                       } else { 
     1549+                               throw SQLError.createSQLException( 
     1550+                                               "No operations allowed after statement closed", 
     1551+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1552+                       } 
     1553+               } catch (SQLException sqlEx) { 
     1554+                       checkAndFireConnectionError(sqlEx); 
     1555+               } 
     1556+       } 
     1557+ 
     1558+       public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException { 
     1559+               try { 
     1560+                       if (this.wrappedStmt != null) { 
     1561+                               ((CallableStatement) this.wrappedStmt) 
     1562+                                               .setAsciiStream(parameterIndex, x); 
     1563+                       } else { 
     1564+                               throw SQLError.createSQLException( 
     1565+                                               "No operations allowed after statement closed", 
     1566+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1567+                       } 
     1568+               } catch (SQLException sqlEx) { 
     1569+                       checkAndFireConnectionError(sqlEx); 
     1570+               } 
     1571+       } 
     1572+ 
     1573+       public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException { 
     1574+               try { 
     1575+                       if (this.wrappedStmt != null) { 
     1576+                               ((CallableStatement) this.wrappedStmt) 
     1577+                                               .setAsciiStream(parameterIndex, x, length); 
     1578+                       } else { 
     1579+                               throw SQLError.createSQLException( 
     1580+                                               "No operations allowed after statement closed", 
     1581+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1582+                       } 
     1583+               } catch (SQLException sqlEx) { 
     1584+                       checkAndFireConnectionError(sqlEx); 
     1585+               } 
     1586+       } 
     1587+ 
     1588+       public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException { 
     1589+               try { 
     1590+                       if (this.wrappedStmt != null) { 
     1591+                               ((CallableStatement) this.wrappedStmt) 
     1592+                                               .setBinaryStream(parameterIndex, x) ; 
     1593+                       } else { 
     1594+                               throw SQLError.createSQLException( 
     1595+                                               "No operations allowed after statement closed", 
     1596+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1597+                       } 
     1598+               } catch (SQLException sqlEx) { 
     1599+                       checkAndFireConnectionError(sqlEx); 
     1600+               } 
     1601+       } 
     1602+ 
     1603+       public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException { 
     1604+               try { 
     1605+                       if (this.wrappedStmt != null) { 
     1606+                               ((CallableStatement) this.wrappedStmt) 
     1607+                                               .setBinaryStream(parameterIndex, x, length); 
     1608+                       } else { 
     1609+                               throw SQLError.createSQLException( 
     1610+                                               "No operations allowed after statement closed", 
     1611+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1612+                       } 
     1613+               } catch (SQLException sqlEx) { 
     1614+                       checkAndFireConnectionError(sqlEx); 
     1615+               } 
     1616+       } 
     1617+ 
     1618+       public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException { 
     1619+               try { 
     1620+                       if (this.wrappedStmt != null) { 
     1621+                               ((CallableStatement) this.wrappedStmt) 
     1622+                                               .setBlob(parameterIndex, inputStream); 
     1623+                       } else { 
     1624+                               throw SQLError.createSQLException( 
     1625+                                               "No operations allowed after statement closed", 
     1626+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1627+                       } 
     1628+               } catch (SQLException sqlEx) { 
     1629+                       checkAndFireConnectionError(sqlEx); 
     1630+               } 
     1631+       } 
     1632+ 
     1633+       public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException { 
     1634+               try { 
     1635+                       if (this.wrappedStmt != null) { 
     1636+                               ((CallableStatement) this.wrappedStmt) 
     1637+                                               .setBlob(parameterIndex, inputStream, length); 
     1638+                       } else { 
     1639+                               throw SQLError.createSQLException( 
     1640+                                               "No operations allowed after statement closed", 
     1641+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1642+                       } 
     1643+               } catch (SQLException sqlEx) { 
     1644+                       checkAndFireConnectionError(sqlEx); 
     1645+               } 
     1646+       } 
     1647+ 
     1648+       public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException { 
     1649+               try { 
     1650+                       if (this.wrappedStmt != null) { 
     1651+                               ((CallableStatement) this.wrappedStmt) 
     1652+                                               .setCharacterStream(parameterIndex, reader); 
     1653+                       } else { 
     1654+                               throw SQLError.createSQLException( 
     1655+                                               "No operations allowed after statement closed", 
     1656+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1657+                       } 
     1658+               } catch (SQLException sqlEx) { 
     1659+                       checkAndFireConnectionError(sqlEx); 
     1660+               } 
     1661+       } 
     1662+ 
     1663+       public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException { 
     1664+               try { 
     1665+                       if (this.wrappedStmt != null) { 
     1666+                               ((CallableStatement) this.wrappedStmt) 
     1667+                                               .getCharacterStream(parameterIndex); 
     1668+                       } else { 
     1669+                               throw SQLError.createSQLException( 
     1670+                                               "No operations allowed after statement closed", 
     1671+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1672+                       } 
     1673+               } catch (SQLException sqlEx) { 
     1674+                       checkAndFireConnectionError(sqlEx); 
     1675+               } 
     1676+       } 
     1677+ 
     1678+       public void setClob(int parameterIndex, Reader reader) throws SQLException { 
     1679+               try { 
     1680+                       if (this.wrappedStmt != null) { 
     1681+                               ((CallableStatement) this.wrappedStmt) 
     1682+                                               .setClob(parameterIndex, reader); 
     1683+                       } else { 
     1684+                               throw SQLError.createSQLException( 
     1685+                                               "No operations allowed after statement closed", 
     1686+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1687+                       } 
     1688+               } catch (SQLException sqlEx) { 
     1689+                       checkAndFireConnectionError(sqlEx); 
     1690+               } 
     1691+       } 
     1692+ 
     1693+       public void setClob(int parameterIndex, Reader reader, long length) throws SQLException { 
     1694+               try { 
     1695+                       if (this.wrappedStmt != null) { 
     1696+                               ((CallableStatement) this.wrappedStmt) 
     1697+                                               .setClob(parameterIndex, reader, length); 
     1698+                       } else { 
     1699+                               throw SQLError.createSQLException( 
     1700+                                               "No operations allowed after statement closed", 
     1701+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1702+                       } 
     1703+               } catch (SQLException sqlEx) { 
     1704+                       checkAndFireConnectionError(sqlEx); 
     1705+               } 
     1706+       } 
     1707+ 
     1708+       public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException { 
     1709+               try { 
     1710+                       if (this.wrappedStmt != null) { 
     1711+                               ((CallableStatement) this.wrappedStmt) 
     1712+                                               .setNCharacterStream(parameterIndex, value); 
     1713+                       } else { 
     1714+                               throw SQLError.createSQLException( 
     1715+                                               "No operations allowed after statement closed", 
     1716+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1717+                       } 
     1718+               } catch (SQLException sqlEx) { 
     1719+                       checkAndFireConnectionError(sqlEx); 
     1720+               } 
     1721+        
     1722+       } 
     1723+ 
     1724+       public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException { 
     1725+               try { 
     1726+                       if (this.wrappedStmt != null) { 
     1727+                               ((CallableStatement) this.wrappedStmt) 
     1728+                                               .setNCharacterStream(parameterIndex, value, length); 
     1729+                       } else { 
     1730+                               throw SQLError.createSQLException( 
     1731+                                               "No operations allowed after statement closed", 
     1732+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1733+                       } 
     1734+               } catch (SQLException sqlEx) { 
     1735+                       checkAndFireConnectionError(sqlEx); 
     1736+               } 
     1737+       } 
     1738+ 
     1739+       public void setNClob(int parameterIndex, NClob value) throws SQLException { 
     1740+               try { 
     1741+                       if (this.wrappedStmt != null) { 
     1742+                               ((CallableStatement) this.wrappedStmt) 
     1743+                                               .setNClob(parameterIndex, value); 
     1744+                       } else { 
     1745+                               throw SQLError.createSQLException( 
     1746+                                               "No operations allowed after statement closed", 
     1747+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1748+                       } 
     1749+               } catch (SQLException sqlEx) { 
     1750+                       checkAndFireConnectionError(sqlEx); 
     1751+               } 
     1752+       } 
     1753+ 
     1754+       public void setNClob(int parameterIndex, Reader reader) throws SQLException { 
     1755+               try { 
     1756+                       if (this.wrappedStmt != null) { 
     1757+                               ((CallableStatement) this.wrappedStmt) 
     1758+                                               .setNClob(parameterIndex, reader); 
     1759+                       } else { 
     1760+                               throw SQLError.createSQLException( 
     1761+                                               "No operations allowed after statement closed", 
     1762+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1763+                       } 
     1764+               } catch (SQLException sqlEx) { 
     1765+                       checkAndFireConnectionError(sqlEx); 
     1766+               } 
     1767+       } 
     1768+ 
     1769+       public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException { 
     1770+               try { 
     1771+                       if (this.wrappedStmt != null) { 
     1772+                               ((CallableStatement) this.wrappedStmt) 
     1773+                                               .setNClob(parameterIndex, reader, length); 
     1774+                       } else { 
     1775+                               throw SQLError.createSQLException( 
     1776+                                               "No operations allowed after statement closed", 
     1777+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1778+                       } 
     1779+               } catch (SQLException sqlEx) { 
     1780+                       checkAndFireConnectionError(sqlEx); 
     1781+               } 
     1782+       } 
     1783+ 
     1784+       public void setNString(int parameterIndex, String value) throws SQLException { 
     1785+               try { 
     1786+                       if (this.wrappedStmt != null) { 
     1787+                               ((CallableStatement) this.wrappedStmt) 
     1788+                                               .setNString(parameterIndex, value); 
     1789+                       } else { 
     1790+                               throw SQLError.createSQLException( 
     1791+                                               "No operations allowed after statement closed", 
     1792+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1793+                       } 
     1794+               } catch (SQLException sqlEx) { 
     1795+                       checkAndFireConnectionError(sqlEx); 
     1796+               } 
     1797+       } 
     1798+ 
     1799+       public void setRowId(int parameterIndex, RowId x) throws SQLException { 
     1800+               try { 
     1801+                       if (this.wrappedStmt != null) { 
     1802+                               ((CallableStatement) this.wrappedStmt) 
     1803+                                               .setRowId(parameterIndex, x); 
     1804+                       } else { 
     1805+                               throw SQLError.createSQLException( 
     1806+                                               "No operations allowed after statement closed", 
     1807+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1808+                       } 
     1809+               } catch (SQLException sqlEx) { 
     1810+                       checkAndFireConnectionError(sqlEx); 
     1811+               } 
     1812+       } 
     1813+ 
     1814+       public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException { 
     1815+               try { 
     1816+                       if (this.wrappedStmt != null) { 
     1817+                               ((CallableStatement) this.wrappedStmt) 
     1818+                                               .setSQLXML(parameterIndex, xmlObject); 
     1819+                       } else { 
     1820+                               throw SQLError.createSQLException( 
     1821+                                               "No operations allowed after statement closed", 
     1822+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1823+                       } 
     1824+               } catch (SQLException sqlEx) { 
     1825+                       checkAndFireConnectionError(sqlEx); 
     1826+               } 
     1827+                
     1828+       } 
     1829+ 
     1830+       public boolean isClosed() throws SQLException { 
     1831+               try { 
     1832+                       if (this.wrappedStmt != null) { 
     1833+                               return ((CallableStatement) this.wrappedStmt) 
     1834+                                               .isClosed(); 
     1835+                       } else { 
     1836+                               throw SQLError.createSQLException( 
     1837+                                               "No operations allowed after statement closed", 
     1838+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1839+                       } 
     1840+               } catch (SQLException sqlEx) { 
     1841+                       checkAndFireConnectionError(sqlEx); 
     1842+               } 
     1843+                
     1844+               return true; 
     1845+       } 
     1846+ 
     1847+       public boolean isPoolable() throws SQLException { 
     1848+               try { 
     1849+                       if (this.wrappedStmt != null) { 
     1850+                               return ((CallableStatement) this.wrappedStmt) 
     1851+                                               . isPoolable(); 
     1852+                       } else { 
     1853+                               throw SQLError.createSQLException( 
     1854+                                               "No operations allowed after statement closed", 
     1855+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     1856+                       } 
     1857+               } catch (SQLException sqlEx) { 
     1858+                       checkAndFireConnectionError(sqlEx); 
     1859+               } 
     1860+                
     1861+               return false; 
     1862+       } 
     1863+ 
     1864 //     public void setPoolable(boolean poolable) throws SQLException { 
     1865 //             try { 
     1866 //                     if (this.wrappedStmt != null) { 
     1867--- src/com/mysql/jdbc/jdbc2/optional/ConnectionWrapper.java.orig       2009-11-28 18:58:49.000000000 +0100 
     1868+++ src/com/mysql/jdbc/jdbc2/optional/ConnectionWrapper.java    2009-11-29 01:26:55.000000000 +0100 
     1869@@ -25,10 +25,18 @@ 
     1870 package com.mysql.jdbc.jdbc2.optional; 
     1871  
     1872 import java.lang.reflect.Constructor; 
     1873+import java.sql.Array; 
     1874+import java.sql.Blob; 
     1875+import java.sql.Clob; 
     1876+import java.sql.NClob; 
     1877+import java.sql.SQLClientInfoException; 
     1878 import java.sql.SQLException; 
     1879+import java.sql.SQLXML; 
     1880 import java.sql.Savepoint; 
     1881 import java.sql.Statement; 
     1882+import java.sql.Struct; 
     1883 import java.util.Map; 
     1884+import java.util.Properties; 
     1885 import java.util.TimeZone; 
     1886  
     1887 import com.mysql.jdbc.Connection; 
     1888@@ -2619,4 +2627,58 @@ 
     1889                        boolean queryTimeoutKillsConnection) { 
     1890                this.mc.setQueryTimeoutKillsConnection(queryTimeoutKillsConnection); 
     1891        } 
     1892+ 
     1893+       public boolean isValid(int timeout) throws SQLException { 
     1894+               return this.isValid(timeout); 
     1895+       } 
     1896+ 
     1897+       public Array createArrayOf(String typeName, Object[] elements) throws SQLException { 
     1898+               return this.mc.createArrayOf(typeName, elements); 
     1899+       } 
     1900+ 
     1901+       public Blob createBlob() throws SQLException { 
     1902+               return this.mc.createBlob(); 
     1903+       } 
     1904+ 
     1905+       public Clob createClob() throws SQLException { 
     1906+               return this.mc.createClob(); 
     1907+       } 
     1908+ 
     1909+       public NClob createNClob() throws SQLException { 
     1910+               return this.mc.createNClob(); 
     1911+       } 
     1912+ 
     1913+       public SQLXML createSQLXML() throws SQLException { 
     1914+               return this.mc.createSQLXML(); 
     1915+       } 
     1916+ 
     1917+       public Struct createStruct(String typeName, Object[] attributes) throws SQLException { 
     1918+               return this.mc.createStruct(typeName, attributes); 
     1919+       } 
     1920+ 
     1921+       public Properties getClientInfo() throws SQLException { 
     1922+               return this.mc.getClientInfo(); 
     1923+       } 
     1924+ 
     1925+       public String getClientInfo(String name) throws SQLException { 
     1926+               return this.mc.getClientInfo(name); 
     1927+       } 
     1928+ 
     1929+       public void setClientInfo(Properties properties) 
     1930+                       throws SQLClientInfoException { 
     1931+               this.mc.setClientInfo(properties); 
     1932+       } 
     1933+ 
     1934+       public void setClientInfo(String name, String value) 
     1935+                       throws SQLClientInfoException { 
     1936+               this.mc.setClientInfo(name, value); 
     1937+       } 
     1938+ 
     1939+       public boolean isWrapperFor(Class<?> iface) throws SQLException { 
     1940+               throw SQLError.notImplemented(); 
     1941+       } 
     1942+ 
     1943+       public <T> T unwrap(Class<T> iface) throws SQLException { 
     1944+               throw SQLError.notImplemented(); 
     1945+       } 
     1946 } 
     1947--- src/com/mysql/jdbc/jdbc2/optional/MysqlDataSource.java.orig 2009-11-28 18:58:49.000000000 +0100 
     1948+++ src/com/mysql/jdbc/jdbc2/optional/MysqlDataSource.java      2009-11-29 01:15:15.000000000 +0100 
     1949@@ -38,6 +38,7 @@ 
     1950  
     1951 import com.mysql.jdbc.ConnectionPropertiesImpl; 
     1952 import com.mysql.jdbc.NonRegisteringDriver; 
     1953+import com.mysql.jdbc.SQLError; 
     1954  
     1955 /** 
     1956  * A JNDI DataSource for a Mysql JDBC connection 
     1957@@ -438,12 +439,12 @@ 
     1958                 
     1959                return mysqlDriver.connect(jdbcUrlToUse, props); 
     1960        } 
     1961-// 
     1962-//     public boolean isWrapperFor(Class<?> iface) throws SQLException { 
     1963-//             throw SQLError.notImplemented(); 
     1964-//     } 
     1965-// 
     1966-//     public <T> T unwrap(Class<T> iface) throws SQLException { 
     1967-//             throw SQLError.notImplemented(); 
     1968-//     } 
     1969+ 
     1970+       public boolean isWrapperFor(Class<?> iface) throws SQLException { 
     1971+               throw SQLError.notImplemented(); 
     1972+       } 
     1973+ 
     1974+       public <T> T unwrap(Class<T> iface) throws SQLException { 
     1975+               throw SQLError.notImplemented(); 
     1976+       } 
     1977 } 
     1978--- src/com/mysql/jdbc/jdbc2/optional/MysqlPooledConnection.java.orig   2009-11-28 18:58:49.000000000 +0100 
     1979+++ src/com/mysql/jdbc/jdbc2/optional/MysqlPooledConnection.java        2009-11-29 01:20:09.000000000 +0100 
     1980@@ -33,6 +33,7 @@ 
     1981 import javax.sql.ConnectionEvent; 
     1982 import javax.sql.ConnectionEventListener; 
     1983 import javax.sql.PooledConnection; 
     1984+import javax.sql.StatementEventListener; 
     1985  
     1986 import com.mysql.jdbc.ConnectionImpl; 
     1987 import com.mysql.jdbc.ExceptionInterceptor; 
     1988@@ -255,4 +256,10 @@ 
     1989        protected ExceptionInterceptor getExceptionInterceptor() { 
     1990                return this.exceptionInterceptor; 
     1991        } 
     1992+ 
     1993+       public void addStatementEventListener(StatementEventListener listener) { 
     1994+       } 
     1995+ 
     1996+       public void removeStatementEventListener(StatementEventListener listener) { 
     1997+       } 
     1998 } 
     1999\ No newline at end of file 
     2000--- src/com/mysql/jdbc/jdbc2/optional/PreparedStatementWrapper.java.orig        2009-11-28 21:35:25.000000000 +0100 
     2001+++ src/com/mysql/jdbc/jdbc2/optional/PreparedStatementWrapper.java     2009-11-29 01:24:42.000000000 +0100 
     2002@@ -33,12 +33,15 @@ 
     2003 import java.sql.Blob; 
     2004 import java.sql.Clob; 
     2005 import java.sql.Date; 
     2006+import java.sql.NClob; 
     2007 import java.sql.ParameterMetaData; 
     2008 import java.sql.PreparedStatement; 
     2009 import java.sql.Ref; 
     2010 import java.sql.ResultSet; 
     2011 import java.sql.ResultSetMetaData; 
     2012+import java.sql.RowId; 
     2013 import java.sql.SQLException; 
     2014+import java.sql.SQLXML; 
     2015 import java.sql.Time; 
     2016 import java.sql.Timestamp; 
     2017 import java.util.Calendar; 
     2018@@ -885,323 +888,323 @@ 
     2019  
     2020                // that out 
     2021        } 
     2022-// 
     2023-//     public void setAsciiStream(int parameterIndex, InputStream x) 
     2024-//                     throws SQLException { 
     2025-//             try { 
     2026-//                     if (this.wrappedStmt != null) { 
     2027-//                             ((PreparedStatement) this.wrappedStmt).setAsciiStream( 
     2028-//                                             parameterIndex, x); 
     2029-//                     } else { 
     2030-//                             throw SQLError.createSQLException( 
     2031-//                                             "No operations allowed after statement closed", 
     2032-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2033-//                     } 
     2034-//             } catch (SQLException sqlEx) { 
     2035-//                     checkAndFireConnectionError(sqlEx); 
     2036-//             } 
     2037-//     } 
     2038-// 
     2039-//     public void setAsciiStream(int parameterIndex, InputStream x, long length) 
     2040-//                     throws SQLException { 
     2041-//             try { 
     2042-//                     if (this.wrappedStmt != null) { 
     2043-//                             ((PreparedStatement) this.wrappedStmt).setAsciiStream( 
     2044-//                                             parameterIndex, x, length); 
     2045-//                     } else { 
     2046-//                             throw SQLError.createSQLException( 
     2047-//                                             "No operations allowed after statement closed", 
     2048-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2049-//                     } 
     2050-//             } catch (SQLException sqlEx) { 
     2051-//                     checkAndFireConnectionError(sqlEx); 
     2052-//             } 
     2053-//     } 
     2054-// 
     2055-//     public void setBinaryStream(int parameterIndex, InputStream x) 
     2056-//                     throws SQLException { 
     2057-//             try { 
     2058-//                     if (this.wrappedStmt != null) { 
     2059-//                             ((PreparedStatement) this.wrappedStmt).setBinaryStream( 
     2060-//                                             parameterIndex, x); 
     2061-//                     } else { 
     2062-//                             throw SQLError.createSQLException( 
     2063-//                                             "No operations allowed after statement closed", 
     2064-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2065-//                     } 
     2066-//             } catch (SQLException sqlEx) { 
     2067-//                     checkAndFireConnectionError(sqlEx); 
     2068-//             } 
     2069-//     } 
     2070-// 
     2071-//     public void setBinaryStream(int parameterIndex, InputStream x, long length) 
     2072-//                     throws SQLException { 
     2073-//             try { 
     2074-//                     if (this.wrappedStmt != null) { 
     2075-//                             ((PreparedStatement) this.wrappedStmt).setBinaryStream( 
     2076-//                                             parameterIndex, x, length); 
     2077-//                     } else { 
     2078-//                             throw SQLError.createSQLException( 
     2079-//                                             "No operations allowed after statement closed", 
     2080-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2081-//                     } 
     2082-//             } catch (SQLException sqlEx) { 
     2083-//                     checkAndFireConnectionError(sqlEx); 
     2084-//             } 
     2085-//     } 
     2086-// 
     2087-//     public void setBlob(int parameterIndex, InputStream inputStream) 
     2088-//                     throws SQLException { 
     2089-//             try { 
     2090-//                     if (this.wrappedStmt != null) { 
     2091-//                             ((PreparedStatement) this.wrappedStmt).setBlob(parameterIndex, 
     2092-//                                             inputStream); 
     2093-//                     } else { 
     2094-//                             throw SQLError.createSQLException( 
     2095-//                                             "No operations allowed after statement closed", 
     2096-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2097-//                     } 
     2098-//             } catch (SQLException sqlEx) { 
     2099-//                     checkAndFireConnectionError(sqlEx); 
     2100-//             } 
     2101-//     } 
     2102-// 
     2103-//     public void setBlob(int parameterIndex, InputStream inputStream, long length) 
     2104-//                     throws SQLException { 
     2105-//             try { 
     2106-//                     if (this.wrappedStmt != null) { 
     2107-//                             ((PreparedStatement) this.wrappedStmt).setBlob(parameterIndex, 
     2108-//                                             inputStream, length); 
     2109-//                     } else { 
     2110-//                             throw SQLError.createSQLException( 
     2111-//                                             "No operations allowed after statement closed", 
     2112-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2113-//                     } 
     2114-//             } catch (SQLException sqlEx) { 
     2115-//                     checkAndFireConnectionError(sqlEx); 
     2116-//             } 
     2117-//     } 
     2118-// 
     2119-//     public void setCharacterStream(int parameterIndex, Reader reader) 
     2120-//                     throws SQLException { 
     2121-//             try { 
     2122-//                     if (this.wrappedStmt != null) { 
     2123-//                             ((PreparedStatement) this.wrappedStmt).setCharacterStream( 
     2124-//                                             parameterIndex, reader); 
     2125-//                     } else { 
     2126-//                             throw SQLError.createSQLException( 
     2127-//                                             "No operations allowed after statement closed", 
     2128-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2129-//                     } 
     2130-//             } catch (SQLException sqlEx) { 
     2131-//                     checkAndFireConnectionError(sqlEx); 
     2132-//             } 
     2133-//     } 
     2134-// 
     2135-//     public void setCharacterStream(int parameterIndex, Reader reader, 
     2136-//                     long length) throws SQLException { 
     2137-//             try { 
     2138-//                     if (this.wrappedStmt != null) { 
     2139-//                             ((PreparedStatement) this.wrappedStmt).setCharacterStream( 
     2140-//                                             parameterIndex, reader, length); 
     2141-//                     } else { 
     2142-//                             throw SQLError.createSQLException( 
     2143-//                                             "No operations allowed after statement closed", 
     2144-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2145-//                     } 
     2146-//             } catch (SQLException sqlEx) { 
     2147-//                     checkAndFireConnectionError(sqlEx); 
     2148-//             } 
     2149-//     } 
     2150-// 
     2151-//     public void setClob(int parameterIndex, Reader reader) throws SQLException { 
     2152-//             try { 
     2153-//                     if (this.wrappedStmt != null) { 
     2154-//                             ((PreparedStatement) this.wrappedStmt).setClob(parameterIndex, 
     2155-//                                             reader); 
     2156-//                     } else { 
     2157-//                             throw SQLError.createSQLException( 
     2158-//                                             "No operations allowed after statement closed", 
     2159-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2160-//                     } 
     2161-//             } catch (SQLException sqlEx) { 
     2162-//                     checkAndFireConnectionError(sqlEx); 
     2163-//             } 
     2164-//     } 
     2165-// 
     2166-//     public void setClob(int parameterIndex, Reader reader, long length) 
     2167-//                     throws SQLException { 
     2168-//             try { 
     2169-//                     if (this.wrappedStmt != null) { 
     2170-//                             ((PreparedStatement) this.wrappedStmt).setClob(parameterIndex, 
     2171-//                                             reader, length); 
     2172-//                     } else { 
     2173-//                             throw SQLError.createSQLException( 
     2174-//                                             "No operations allowed after statement closed", 
     2175-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2176-//                     } 
     2177-//             } catch (SQLException sqlEx) { 
     2178-//                     checkAndFireConnectionError(sqlEx); 
     2179-//             } 
     2180-//     } 
     2181-// 
     2182-//     public void setNCharacterStream(int parameterIndex, Reader value) 
     2183-//                     throws SQLException { 
     2184-//             try { 
     2185-//                     if (this.wrappedStmt != null) { 
     2186-//                             ((PreparedStatement) this.wrappedStmt).setNCharacterStream( 
     2187-//                                             parameterIndex, value); 
     2188-//                     } else { 
     2189-//                             throw SQLError.createSQLException( 
     2190-//                                             "No operations allowed after statement closed", 
     2191-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2192-//                     } 
     2193-//             } catch (SQLException sqlEx) { 
     2194-//                     checkAndFireConnectionError(sqlEx); 
     2195-//             } 
     2196-//     } 
     2197-// 
     2198-//     public void setNCharacterStream(int parameterIndex, Reader value, 
     2199-//                     long length) throws SQLException { 
     2200-//             try { 
     2201-//                     if (this.wrappedStmt != null) { 
     2202-//                             ((PreparedStatement) this.wrappedStmt).setNCharacterStream( 
     2203-//                                             parameterIndex, value, length); 
     2204-//                     } else { 
     2205-//                             throw SQLError.createSQLException( 
     2206-//                                             "No operations allowed after statement closed", 
     2207-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2208-//                     } 
     2209-//             } catch (SQLException sqlEx) { 
     2210-//                     checkAndFireConnectionError(sqlEx); 
     2211-//             } 
     2212-//     } 
     2213-// 
     2214-//     public void setNClob(int parameterIndex, NClob value) throws SQLException { 
     2215-//             try { 
     2216-//                     if (this.wrappedStmt != null) { 
     2217-//                             ((PreparedStatement) this.wrappedStmt).setNClob(parameterIndex, 
     2218-//                                             value); 
     2219-//                     } else { 
     2220-//                             throw SQLError.createSQLException( 
     2221-//                                             "No operations allowed after statement closed", 
     2222-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2223-//                     } 
     2224-//             } catch (SQLException sqlEx) { 
     2225-//                     checkAndFireConnectionError(sqlEx); 
     2226-//             } 
     2227-//     } 
     2228-// 
     2229-//     public void setNClob(int parameterIndex, Reader reader) throws SQLException { 
     2230-//             try { 
     2231-//                     if (this.wrappedStmt != null) { 
     2232-//                             ((PreparedStatement) this.wrappedStmt).setNClob(parameterIndex, 
     2233-//                                             reader); 
     2234-//                     } else { 
     2235-//                             throw SQLError.createSQLException( 
     2236-//                                             "No operations allowed after statement closed", 
     2237-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2238-//                     } 
     2239-//             } catch (SQLException sqlEx) { 
     2240-//                     checkAndFireConnectionError(sqlEx); 
     2241-//             } 
     2242-//     } 
     2243-// 
     2244-//     public void setNClob(int parameterIndex, Reader reader, long length) 
     2245-//                     throws SQLException { 
     2246-//             try { 
     2247-//                     if (this.wrappedStmt != null) { 
     2248-//                             ((PreparedStatement) this.wrappedStmt).setNClob(parameterIndex, 
     2249-//                                             reader, length); 
     2250-//                     } else { 
     2251-//                             throw SQLError.createSQLException( 
     2252-//                                             "No operations allowed after statement closed", 
     2253-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2254-//                     } 
     2255-//             } catch (SQLException sqlEx) { 
     2256-//                     checkAndFireConnectionError(sqlEx); 
     2257-//             } 
     2258-//     } 
     2259-// 
     2260-//     public void setNString(int parameterIndex, String value) 
     2261-//                     throws SQLException { 
     2262-//             try { 
     2263-//                     if (this.wrappedStmt != null) { 
     2264-//                             ((PreparedStatement) this.wrappedStmt).setNString( 
     2265-//                                             parameterIndex, value); 
     2266-//                     } else { 
     2267-//                             throw SQLError.createSQLException( 
     2268-//                                             "No operations allowed after statement closed", 
     2269-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2270-//                     } 
     2271-//             } catch (SQLException sqlEx) { 
     2272-//                     checkAndFireConnectionError(sqlEx); 
     2273-//             } 
     2274-//     } 
     2275-// 
     2276-//     public void setRowId(int parameterIndex, RowId x) throws SQLException { 
     2277-//             try { 
     2278-//                     if (this.wrappedStmt != null) { 
     2279-//                             ((PreparedStatement) this.wrappedStmt).setRowId(parameterIndex, 
     2280-//                                             x); 
     2281-//                     } else { 
     2282-//                             throw SQLError.createSQLException( 
     2283-//                                             "No operations allowed after statement closed", 
     2284-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2285-//                     } 
     2286-//             } catch (SQLException sqlEx) { 
     2287-//                     checkAndFireConnectionError(sqlEx); 
     2288-//             } 
     2289-//     } 
     2290-// 
     2291-//     public void setSQLXML(int parameterIndex, SQLXML xmlObject) 
     2292-//                     throws SQLException { 
     2293-//             try { 
     2294-//                     if (this.wrappedStmt != null) { 
     2295-//                             ((PreparedStatement) this.wrappedStmt).setSQLXML( 
     2296-//                                             parameterIndex, xmlObject); 
     2297-//                     } else { 
     2298-//                             throw SQLError.createSQLException( 
     2299-//                                             "No operations allowed after statement closed", 
     2300-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2301-//                     } 
     2302-//             } catch (SQLException sqlEx) { 
     2303-//                     checkAndFireConnectionError(sqlEx); 
     2304-//             } 
     2305-//     } 
     2306-// 
     2307-//     public boolean isClosed() throws SQLException { 
     2308-//             try { 
     2309-//                     if (this.wrappedStmt != null) { 
     2310-//                             return ((PreparedStatement) this.wrappedStmt).isClosed(); 
     2311-//                     } else { 
     2312-//                             throw SQLError.createSQLException( 
     2313-//                                             "No operations allowed after statement closed", 
     2314-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2315-//                     } 
     2316-//             } catch (SQLException sqlEx) { 
     2317-//                     checkAndFireConnectionError(sqlEx); 
     2318-//             } 
     2319-// 
     2320-//             return true; 
     2321-//     } 
     2322-// 
     2323-//     public boolean isPoolable() throws SQLException { 
     2324-//             try { 
     2325-//                     if (this.wrappedStmt != null) { 
     2326-//                             return ((PreparedStatement) this.wrappedStmt).isPoolable(); 
     2327-//                     } else { 
     2328-//                             throw SQLError.createSQLException( 
     2329-//                                             "No operations allowed after statement closed", 
     2330-//                                             SQLError.SQL_STATE_GENERAL_ERROR); 
     2331-//                     } 
     2332-//             } catch (SQLException sqlEx) { 
     2333-//                     checkAndFireConnectionError(sqlEx); 
     2334-//             } 
     2335-// 
     2336-//             return false; 
     2337-//     } 
     2338-// 
     2339+ 
     2340+       public void setAsciiStream(int parameterIndex, InputStream x) 
     2341+                       throws SQLException { 
     2342+               try { 
     2343+                       if (this.wrappedStmt != null) { 
     2344+                               ((PreparedStatement) this.wrappedStmt).setAsciiStream( 
     2345+                                               parameterIndex, x); 
     2346+                       } else { 
     2347+                               throw SQLError.createSQLException( 
     2348+                                               "No operations allowed after statement closed", 
     2349+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2350+                       } 
     2351+               } catch (SQLException sqlEx) { 
     2352+                       checkAndFireConnectionError(sqlEx); 
     2353+               } 
     2354+       } 
     2355+ 
     2356+       public void setAsciiStream(int parameterIndex, InputStream x, long length) 
     2357+                       throws SQLException { 
     2358+               try { 
     2359+                       if (this.wrappedStmt != null) { 
     2360+                               ((PreparedStatement) this.wrappedStmt).setAsciiStream( 
     2361+                                               parameterIndex, x, length); 
     2362+                       } else { 
     2363+                               throw SQLError.createSQLException( 
     2364+                                               "No operations allowed after statement closed", 
     2365+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2366+                       } 
     2367+               } catch (SQLException sqlEx) { 
     2368+                       checkAndFireConnectionError(sqlEx); 
     2369+               } 
     2370+       } 
     2371+ 
     2372+       public void setBinaryStream(int parameterIndex, InputStream x) 
     2373+                       throws SQLException { 
     2374+               try { 
     2375+                       if (this.wrappedStmt != null) { 
     2376+                               ((PreparedStatement) this.wrappedStmt).setBinaryStream( 
     2377+                                               parameterIndex, x); 
     2378+                       } else { 
     2379+                               throw SQLError.createSQLException( 
     2380+                                               "No operations allowed after statement closed", 
     2381+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2382+                       } 
     2383+               } catch (SQLException sqlEx) { 
     2384+                       checkAndFireConnectionError(sqlEx); 
     2385+               } 
     2386+       } 
     2387+ 
     2388+       public void setBinaryStream(int parameterIndex, InputStream x, long length) 
     2389+                       throws SQLException { 
     2390+               try { 
     2391+                       if (this.wrappedStmt != null) { 
     2392+                               ((PreparedStatement) this.wrappedStmt).setBinaryStream( 
     2393+                                               parameterIndex, x, length); 
     2394+                       } else { 
     2395+                               throw SQLError.createSQLException( 
     2396+                                               "No operations allowed after statement closed", 
     2397+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2398+                       } 
     2399+               } catch (SQLException sqlEx) { 
     2400+                       checkAndFireConnectionError(sqlEx); 
     2401+               } 
     2402+       } 
     2403+ 
     2404+       public void setBlob(int parameterIndex, InputStream inputStream) 
     2405+                       throws SQLException { 
     2406+               try { 
     2407+                       if (this.wrappedStmt != null) { 
     2408+                               ((PreparedStatement) this.wrappedStmt).setBlob(parameterIndex, 
     2409+                                               inputStream); 
     2410+                       } else { 
     2411+                               throw SQLError.createSQLException( 
     2412+                                               "No operations allowed after statement closed", 
     2413+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2414+                       } 
     2415+               } catch (SQLException sqlEx) { 
     2416+                       checkAndFireConnectionError(sqlEx); 
     2417+               } 
     2418+       } 
     2419+ 
     2420+       public void setBlob(int parameterIndex, InputStream inputStream, long length) 
     2421+                       throws SQLException { 
     2422+               try { 
     2423+                       if (this.wrappedStmt != null) { 
     2424+                               ((PreparedStatement) this.wrappedStmt).setBlob(parameterIndex, 
     2425+                                               inputStream, length); 
     2426+                       } else { 
     2427+                               throw SQLError.createSQLException( 
     2428+                                               "No operations allowed after statement closed", 
     2429+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2430+                       } 
     2431+               } catch (SQLException sqlEx) { 
     2432+                       checkAndFireConnectionError(sqlEx); 
     2433+               } 
     2434+       } 
     2435+ 
     2436+       public void setCharacterStream(int parameterIndex, Reader reader) 
     2437+                       throws SQLException { 
     2438+               try { 
     2439+                       if (this.wrappedStmt != null) { 
     2440+                               ((PreparedStatement) this.wrappedStmt).setCharacterStream( 
     2441+                                               parameterIndex, reader); 
     2442+                       } else { 
     2443+                               throw SQLError.createSQLException( 
     2444+                                               "No operations allowed after statement closed", 
     2445+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2446+                       } 
     2447+               } catch (SQLException sqlEx) { 
     2448+                       checkAndFireConnectionError(sqlEx); 
     2449+               } 
     2450+       } 
     2451+ 
     2452+       public void setCharacterStream(int parameterIndex, Reader reader, 
     2453+                       long length) throws SQLException { 
     2454+               try { 
     2455+                       if (this.wrappedStmt != null) { 
     2456+                               ((PreparedStatement) this.wrappedStmt).setCharacterStream( 
     2457+                                               parameterIndex, reader, length); 
     2458+                       } else { 
     2459+                               throw SQLError.createSQLException( 
     2460+                                               "No operations allowed after statement closed", 
     2461+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2462+                       } 
     2463+               } catch (SQLException sqlEx) { 
     2464+                       checkAndFireConnectionError(sqlEx); 
     2465+               } 
     2466+       } 
     2467+ 
     2468+       public void setClob(int parameterIndex, Reader reader) throws SQLException { 
     2469+               try { 
     2470+                       if (this.wrappedStmt != null) { 
     2471+                               ((PreparedStatement) this.wrappedStmt).setClob(parameterIndex, 
     2472+                                               reader); 
     2473+                       } else { 
     2474+                               throw SQLError.createSQLException( 
     2475+                                               "No operations allowed after statement closed", 
     2476+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2477+                       } 
     2478+               } catch (SQLException sqlEx) { 
     2479+                       checkAndFireConnectionError(sqlEx); 
     2480+               } 
     2481+       } 
     2482+ 
     2483+       public void setClob(int parameterIndex, Reader reader, long length) 
     2484+                       throws SQLException { 
     2485+               try { 
     2486+                       if (this.wrappedStmt != null) { 
     2487+                               ((PreparedStatement) this.wrappedStmt).setClob(parameterIndex, 
     2488+                                               reader, length); 
     2489+                       } else { 
     2490+                               throw SQLError.createSQLException( 
     2491+                                               "No operations allowed after statement closed", 
     2492+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2493+                       } 
     2494+               } catch (SQLException sqlEx) { 
     2495+                       checkAndFireConnectionError(sqlEx); 
     2496+               } 
     2497+       } 
     2498+ 
     2499+       public void setNCharacterStream(int parameterIndex, Reader value) 
     2500+                       throws SQLException { 
     2501+               try { 
     2502+                       if (this.wrappedStmt != null) { 
     2503+                               ((PreparedStatement) this.wrappedStmt).setNCharacterStream( 
     2504+                                               parameterIndex, value); 
     2505+                       } else { 
     2506+                               throw SQLError.createSQLException( 
     2507+                                               "No operations allowed after statement closed", 
     2508+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2509+                       } 
     2510+               } catch (SQLException sqlEx) { 
     2511+                       checkAndFireConnectionError(sqlEx); 
     2512+               } 
     2513+       } 
     2514+ 
     2515+       public void setNCharacterStream(int parameterIndex, Reader value, 
     2516+                       long length) throws SQLException { 
     2517+               try { 
     2518+                       if (this.wrappedStmt != null) { 
     2519+                               ((PreparedStatement) this.wrappedStmt).setNCharacterStream( 
     2520+                                               parameterIndex, value, length); 
     2521+                       } else { 
     2522+                               throw SQLError.createSQLException( 
     2523+                                               "No operations allowed after statement closed", 
     2524+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2525+                       } 
     2526+               } catch (SQLException sqlEx) { 
     2527+                       checkAndFireConnectionError(sqlEx); 
     2528+               } 
     2529+       } 
     2530+ 
     2531+       public void setNClob(int parameterIndex, NClob value) throws SQLException { 
     2532+               try { 
     2533+                       if (this.wrappedStmt != null) { 
     2534+                               ((PreparedStatement) this.wrappedStmt).setNClob(parameterIndex, 
     2535+                                               value); 
     2536+                       } else { 
     2537+                               throw SQLError.createSQLException( 
     2538+                                               "No operations allowed after statement closed", 
     2539+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2540+                       } 
     2541+               } catch (SQLException sqlEx) { 
     2542+                       checkAndFireConnectionError(sqlEx); 
     2543+               } 
     2544+       } 
     2545+ 
     2546+    public void setNClob(int parameterIndex, Reader reader) throws SQLException { 
     2547+        try { 
     2548+            if (this.wrappedStmt != null) { 
     2549+                ((PreparedStatement) this.wrappedStmt).setNClob(parameterIndex, 
     2550+                        reader); 
     2551+            } else { 
     2552+                throw SQLError.createSQLException( 
     2553+                        "No operations allowed after statement closed", 
     2554+                        SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2555+            } 
     2556+        } catch (SQLException sqlEx) { 
     2557+            checkAndFireConnectionError(sqlEx); 
     2558+        } 
     2559+    } 
     2560+ 
     2561+       public void setNClob(int parameterIndex, Reader reader, long length) 
     2562+                       throws SQLException { 
     2563+               try { 
     2564+                       if (this.wrappedStmt != null) { 
     2565+                               ((PreparedStatement) this.wrappedStmt).setNClob(parameterIndex, 
     2566+                                               reader, length); 
     2567+                       } else { 
     2568+                               throw SQLError.createSQLException( 
     2569+                                               "No operations allowed after statement closed", 
     2570+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2571+                       } 
     2572+               } catch (SQLException sqlEx) { 
     2573+                       checkAndFireConnectionError(sqlEx); 
     2574+               } 
     2575+       } 
     2576+ 
     2577+       public void setNString(int parameterIndex, String value) 
     2578+                       throws SQLException { 
     2579+               try { 
     2580+                       if (this.wrappedStmt != null) { 
     2581+                               ((PreparedStatement) this.wrappedStmt).setNString( 
     2582+                                               parameterIndex, value); 
     2583+                       } else { 
     2584+                               throw SQLError.createSQLException( 
     2585+                                               "No operations allowed after statement closed", 
     2586+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2587+                       } 
     2588+               } catch (SQLException sqlEx) { 
     2589+                       checkAndFireConnectionError(sqlEx); 
     2590+               } 
     2591+       } 
     2592+ 
     2593+       public void setRowId(int parameterIndex, RowId x) throws SQLException { 
     2594+               try { 
     2595+                       if (this.wrappedStmt != null) { 
     2596+                               ((PreparedStatement) this.wrappedStmt).setRowId(parameterIndex, 
     2597+                                               x); 
     2598+                       } else { 
     2599+                               throw SQLError.createSQLException( 
     2600+                                               "No operations allowed after statement closed", 
     2601+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2602+                       } 
     2603+               } catch (SQLException sqlEx) { 
     2604+                       checkAndFireConnectionError(sqlEx); 
     2605+               } 
     2606+       } 
     2607+ 
     2608+       public void setSQLXML(int parameterIndex, SQLXML xmlObject) 
     2609+                       throws SQLException { 
     2610+               try { 
     2611+                       if (this.wrappedStmt != null) { 
     2612+                               ((PreparedStatement) this.wrappedStmt).setSQLXML( 
     2613+                                               parameterIndex, xmlObject); 
     2614+                       } else { 
     2615+                               throw SQLError.createSQLException( 
     2616+                                               "No operations allowed after statement closed", 
     2617+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2618+                       } 
     2619+               } catch (SQLException sqlEx) { 
     2620+                       checkAndFireConnectionError(sqlEx); 
     2621+               } 
     2622+       } 
     2623+ 
     2624+       public boolean isClosed() throws SQLException { 
     2625+               try { 
     2626+                       if (this.wrappedStmt != null) { 
     2627+                               return ((PreparedStatement) this.wrappedStmt).isClosed(); 
     2628+                       } else { 
     2629+                               throw SQLError.createSQLException( 
     2630+                                               "No operations allowed after statement closed", 
     2631+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2632+                       } 
     2633+               } catch (SQLException sqlEx) { 
     2634+                       checkAndFireConnectionError(sqlEx); 
     2635+               } 
     2636+ 
     2637+               return true; 
     2638+       } 
     2639+ 
     2640+       public boolean isPoolable() throws SQLException { 
     2641+               try { 
     2642+                       if (this.wrappedStmt != null) { 
     2643+                               return ((PreparedStatement) this.wrappedStmt).isPoolable(); 
     2644+                       } else { 
     2645+                               throw SQLError.createSQLException( 
     2646+                                               "No operations allowed after statement closed", 
     2647+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2648+                       } 
     2649+               } catch (SQLException sqlEx) { 
     2650+                       checkAndFireConnectionError(sqlEx); 
     2651+               } 
     2652+ 
     2653+               return false; 
     2654+       } 
     2655+ 
     2656 //     public void setPoolable(boolean poolable) throws SQLException { 
     2657 //             try { 
     2658 //                     if (this.wrappedStmt != null) { 
     2659--- src/com/mysql/jdbc/jdbc2/optional/StatementWrapper.java.orig        2009-11-28 18:58:49.000000000 +0100 
     2660+++ src/com/mysql/jdbc/jdbc2/optional/StatementWrapper.java     2009-11-29 01:26:15.000000000 +0100 
     2661@@ -864,4 +864,58 @@ 
     2662                        checkAndFireConnectionError(sqlEx); 
     2663                } 
     2664        } 
     2665+ 
     2666+       public boolean isPoolable() throws SQLException { 
     2667+               try { 
     2668+                       if (this.wrappedStmt != null) { 
     2669+                               return this.wrappedStmt.isPoolable(); 
     2670+                       } else { 
     2671+                               throw SQLError.createSQLException( 
     2672+                                               "No operations allowed after statement closed", 
     2673+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2674+                       } 
     2675+               } catch (SQLException sqlEx) { 
     2676+                       checkAndFireConnectionError(sqlEx); 
     2677+               } 
     2678+ 
     2679+               return false; 
     2680+       } 
     2681+ 
     2682+       public void setPoolable(boolean poolable) throws SQLException { 
     2683+               try { 
     2684+                       if (this.wrappedStmt != null) { 
     2685+                               this.wrappedStmt.setPoolable(poolable); 
     2686+                       } else { 
     2687+                               throw SQLError.createSQLException( 
     2688+                                               "No operations allowed after statement closed", 
     2689+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2690+                       } 
     2691+               } catch (SQLException sqlEx) { 
     2692+                       checkAndFireConnectionError(sqlEx); 
     2693+               } 
     2694+       } 
     2695+ 
     2696+       public boolean isClosed() throws SQLException { 
     2697+               try { 
     2698+                       if (this.wrappedStmt != null) { 
     2699+                               return this.wrappedStmt.isClosed(); 
     2700+                       } else { 
     2701+                               throw SQLError.createSQLException( 
     2702+                                               "No operations allowed after statement closed", 
     2703+                                               SQLError.SQL_STATE_GENERAL_ERROR, this.exceptionInterceptor); 
     2704+                       } 
     2705+               } catch (SQLException sqlEx) { 
     2706+                       checkAndFireConnectionError(sqlEx); 
     2707+               } 
     2708+ 
     2709+               return true; 
     2710+       } 
     2711+ 
     2712+       public boolean isWrapperFor(Class<?> iface) throws SQLException { 
     2713+               throw SQLError.notImplemented(); 
     2714+       } 
     2715+ 
     2716+       public <T> T unwrap(Class<T> iface) throws SQLException { 
     2717+               throw SQLError.notImplemented(); 
     2718+       } 
     2719 } 
     2720--- src/com/mysql/jdbc/PreparedStatement.java.orig      2009-11-28 21:58:03.000000000 +0100 
     2721+++ src/com/mysql/jdbc/PreparedStatement.java   2009-11-28 23:30:09.000000000 +0100 
     2722@@ -44,10 +44,13 @@ 
     2723 import java.sql.Clob; 
     2724 import java.sql.DatabaseMetaData; 
     2725 import java.sql.Date; 
     2726+import java.sql.NClob; 
     2727 import java.sql.ParameterMetaData; 
     2728 import java.sql.Ref; 
     2729 import java.sql.ResultSet; 
     2730+import java.sql.RowId; 
     2731 import java.sql.SQLException; 
     2732+import java.sql.SQLXML; 
     2733 import java.sql.Time; 
     2734 import java.sql.Timestamp; 
     2735 import java.sql.Types; 
     2736@@ -5595,4 +5598,19 @@ 
     2737                                                statementStartPos, sql, "SELECT", "\"'`", 
     2738                                                "\"'`", false) == -1 && rewritableOdku; 
     2739        } 
     2740+ 
     2741+       public void setSQLXML(int parameterIndex, SQLXML xmlObject) 
     2742+                       throws SQLException { 
     2743+               throw SQLError.notImplemented(); 
     2744+       } 
     2745+ 
     2746+       public void setNClob(int parameterIndex, NClob value) 
     2747+                       throws SQLException { 
     2748+               throw SQLError.notImplemented(); 
     2749+       } 
     2750+ 
     2751+       public void setRowId(int parameterIndex, RowId x) 
     2752+                       throws SQLException { 
     2753+               throw SQLError.notImplemented(); 
     2754+       } 
     2755 } 
     2756--- src/com/mysql/jdbc/ReplicationConnection.java.orig  2009-11-28 18:58:49.000000000 +0100 
     2757+++ src/com/mysql/jdbc/ReplicationConnection.java       2009-11-29 00:59:02.000000000 +0100 
     2758@@ -21,13 +21,20 @@ 
     2759  */ 
     2760 package com.mysql.jdbc; 
     2761  
     2762+import java.sql.Array; 
     2763+import java.sql.Blob; 
     2764 import java.sql.CallableStatement; 
     2765+import java.sql.Clob; 
     2766 import java.sql.DatabaseMetaData; 
     2767+import java.sql.NClob; 
     2768 import java.sql.PreparedStatement; 
     2769+import java.sql.SQLClientInfoException; 
     2770 import java.sql.SQLException; 
     2771 import java.sql.SQLWarning; 
     2772+import java.sql.SQLXML; 
     2773 import java.sql.Savepoint; 
     2774 import java.sql.Statement; 
     2775+import java.sql.Struct; 
     2776 import java.util.Map; 
     2777 import java.util.Properties; 
     2778 import java.util.TimeZone; 
     2779@@ -2412,4 +2419,60 @@ 
     2780                        boolean queryTimeoutKillsConnection) { 
     2781                this.currentConnection.setQueryTimeoutKillsConnection(queryTimeoutKillsConnection); 
     2782        } 
     2783+ 
     2784+       public boolean isValid(int timeout) throws SQLException { 
     2785+               return this.currentConnection.isValid(timeout); 
     2786+       } 
     2787+ 
     2788+       public Properties getClientInfo() throws SQLException { 
     2789+               return this.currentConnection.getClientInfo(); 
     2790+       } 
     2791+ 
     2792+       public String getClientInfo(String name) throws SQLException { 
     2793+               return this.currentConnection.getClientInfo(name); 
     2794+       } 
     2795+ 
     2796+       public void setClientInfo(Properties properties) 
     2797+                       throws SQLClientInfoException { 
     2798+               this.currentConnection.setClientInfo(properties); 
     2799+       } 
     2800+ 
     2801+       public void setClientInfo(String name, String value) 
     2802+                       throws SQLClientInfoException { 
     2803+               this.currentConnection.setClientInfo(name, value); 
     2804+       } 
     2805+ 
     2806+       public Array createArrayOf(String typeName, Object[] elements) 
     2807+                       throws SQLException { 
     2808+               return this.currentConnection.createArrayOf(typeName, elements); 
     2809+       } 
     2810+ 
     2811+       public Blob createBlob() throws SQLException { 
     2812+               return this.currentConnection.createBlob(); 
     2813+       } 
     2814+ 
     2815+       public Clob createClob() throws SQLException { 
     2816+               return this.currentConnection.createClob(); 
     2817+       } 
     2818+ 
     2819+       public NClob createNClob() throws SQLException { 
     2820+               return this.currentConnection.createNClob(); 
     2821+       } 
     2822+ 
     2823+       public SQLXML createSQLXML() throws SQLException { 
     2824+               return this.currentConnection.createSQLXML(); 
     2825+       } 
     2826+ 
     2827+       public Struct createStruct(String typeName, Object[] attributes) 
     2828+                       throws SQLException { 
     2829+               return this.currentConnection.createStruct(typeName, attributes); 
     2830+       } 
     2831+ 
     2832+       public boolean isWrapperFor(Class<?> iface) throws SQLException { 
     2833+               return this.currentConnection.isWrapperFor(iface); 
     2834+       } 
     2835+ 
     2836+       public <T> T unwrap(Class<T> iface) throws SQLException { 
     2837+               return this.currentConnection.unwrap(iface); 
     2838+       } 
     2839 } 
     2840--- src/com/mysql/jdbc/ResultSetImpl.java.orig  2009-11-28 18:58:49.000000000 +0100 
     2841+++ src/com/mysql/jdbc/ResultSetImpl.java       2009-11-29 01:21:22.000000000 +0100 
     2842@@ -25,6 +25,7 @@ 
     2843 package com.mysql.jdbc; 
     2844  
     2845 import java.io.ByteArrayInputStream; 
     2846+import java.io.Reader; 
     2847 import java.io.IOException; 
     2848 import java.io.InputStream; 
     2849 import java.io.ObjectInputStream; 
     2850@@ -36,10 +37,14 @@ 
     2851 import java.net.MalformedURLException; 
     2852 import java.net.URL; 
     2853 import java.sql.Array; 
     2854+import java.sql.Clob; 
     2855 import java.sql.Date; 
     2856+import java.sql.NClob; 
     2857 import java.sql.Ref; 
     2858+import java.sql.RowId; 
     2859 import java.sql.SQLException; 
     2860 import java.sql.SQLWarning; 
     2861+import java.sql.SQLXML; 
     2862 import java.sql.Time; 
     2863 import java.sql.Timestamp; 
     2864 import java.sql.Types; 
     2865@@ -8779,4 +8784,244 @@ 
     2866        protected ExceptionInterceptor getExceptionInterceptor() { 
     2867                return this.exceptionInterceptor; 
     2868        } 
     2869+ 
     2870+       public boolean isClosed() throws SQLException { 
     2871+               return this.isClosed; 
     2872+       } 
     2873+ 
     2874+       public int getHoldability() throws SQLException { 
     2875+               throw SQLError.notImplemented(); 
     2876+       } 
     2877+ 
     2878+       public void updateAsciiStream(int columnIndex, InputStream inputStream) 
     2879+                       throws SQLException { 
     2880+               throw new NotUpdatable(); 
     2881+       } 
     2882+ 
     2883+       public void updateAsciiStream(String columnLabel, InputStream inputStream) 
     2884+                       throws SQLException { 
     2885+               updateAsciiStream(findColumn(columnLabel), inputStream); 
     2886+       } 
     2887+ 
     2888+       public void updateAsciiStream(int columnIndex, InputStream inputStream, 
     2889+                       long length) throws SQLException { 
     2890+               throw new NotUpdatable(); 
     2891+       } 
     2892+ 
     2893+       public void updateAsciiStream(String columnLabel, InputStream inputStream, 
     2894+                       long length) throws SQLException { 
     2895+               updateAsciiStream(findColumn(columnLabel), inputStream, length); 
     2896+       } 
     2897+ 
     2898+       public void updateBinaryStream(int columnIndex, InputStream inputStream) 
     2899+                       throws SQLException { 
     2900+               throw new NotUpdatable(); 
     2901+       } 
     2902+ 
     2903+       public void updateBinaryStream(String columnLabel, 
     2904+                       InputStream inputStream) throws SQLException { 
     2905+               updateBinaryStream(findColumn(columnLabel), inputStream); 
     2906+       } 
     2907+ 
     2908+       public void updateBinaryStream(int columnIndex, InputStream inputStream, 
     2909+                       long length) throws SQLException { 
     2910+               throw new NotUpdatable(); 
     2911+       } 
     2912+ 
     2913+       public void updateBinaryStream(String columnLabel, InputStream inputStream, 
     2914+                       long length) throws SQLException { 
     2915+               updateBinaryStream(findColumn(columnLabel), inputStream, length); 
     2916+       } 
     2917+ 
     2918+       public void updateBlob(int columnIndex, InputStream inputStream) 
     2919+                       throws SQLException { 
     2920+               throw new NotUpdatable(); 
     2921+       } 
     2922+ 
     2923+       public void updateBlob(String columnLabel, InputStream inputStream) 
     2924+                       throws SQLException { 
     2925+               updateBlob(findColumn(columnLabel), inputStream); 
     2926+       } 
     2927+ 
     2928+       public void updateBlob(int columnIndex, InputStream inputStream, 
     2929+                       long length) throws SQLException { 
     2930+               throw new NotUpdatable(); 
     2931+       } 
     2932+ 
     2933+       public void updateBlob(String columnLabel, InputStream inputStream, 
     2934+                       long length) throws SQLException { 
     2935+               updateBlob(findColumn(columnLabel), inputStream, length); 
     2936+       } 
     2937+ 
     2938+       public void updateCharacterStream(int columnIndex, Reader reader) 
     2939+                       throws SQLException { 
     2940+               throw new NotUpdatable(); 
     2941+       } 
     2942+ 
     2943+       public void updateCharacterStream(String columnLabel, Reader reader) 
     2944+                       throws SQLException { 
     2945+               updateCharacterStream(findColumn(columnLabel), reader); 
     2946+       } 
     2947+ 
     2948+       public void updateCharacterStream(int columnIndex, Reader reader, 
     2949+                       long length) throws SQLException { 
     2950+               throw new NotUpdatable(); 
     2951+       } 
     2952+ 
     2953+       public void updateCharacterStream(String columnLabel, Reader reader, 
     2954+                       long length) throws SQLException { 
     2955+               updateCharacterStream(findColumn(columnLabel), reader, length); 
     2956+       } 
     2957+ 
     2958+       public void updateClob(int columnIndex, Reader reader) 
     2959+                       throws SQLException { 
     2960+               throw new NotUpdatable(); 
     2961+       } 
     2962+ 
     2963+       public void updateClob(String columnLabel, Reader reader) 
     2964+                       throws SQLException { 
     2965+               updateClob(findColumn(columnLabel), reader); 
     2966+       } 
     2967+ 
     2968+       public void updateClob(int columnIndex, Reader reader, long length) 
     2969+                       throws SQLException { 
     2970+               throw new NotUpdatable(); 
     2971+       } 
     2972+ 
     2973+       public void updateClob(String columnLabel, Reader reader, long length) 
     2974+                       throws SQLException { 
     2975+               updateClob(findColumn(columnLabel), reader, length); 
     2976+       } 
     2977+ 
     2978+       public Reader getNCharacterStream(int columnIndex) 
     2979+                       throws SQLException { 
     2980+               throw SQLError.notImplemented(); 
     2981+       } 
     2982+ 
     2983+       public Reader getNCharacterStream(String columnLabel) 
     2984+                       throws SQLException { 
     2985+               return getNCharacterStream(findColumn(columnLabel)); 
     2986+       } 
     2987+ 
     2988+       public void updateNCharacterStream(int columnIndex, Reader reader) 
     2989+                       throws SQLException { 
     2990+               throw new NotUpdatable(); 
     2991+       } 
     2992+ 
     2993+       public void updateNCharacterStream(String columnLabel, Reader reader) 
     2994+                       throws SQLException { 
     2995+               updateNCharacterStream(findColumn(columnLabel), reader); 
     2996+       } 
     2997+ 
     2998+       public void updateNCharacterStream(int columnIndex, Reader reader, 
     2999+                       long length) throws SQLException { 
     3000+               throw new NotUpdatable(); 
     3001+       } 
     3002+ 
     3003+       public void updateNCharacterStream(String columnLabel, Reader reader, 
     3004+                       long length) throws SQLException { 
     3005+               updateNCharacterStream(findColumn(columnLabel), reader, length); 
     3006+       } 
     3007+ 
     3008+       public NClob getNClob(int columnIndex) 
     3009+                       throws SQLException { 
     3010+               throw SQLError.notImplemented(); 
     3011+       } 
     3012+ 
     3013+       public NClob getNClob(String columnLabel) 
     3014+                       throws SQLException { 
     3015+               return getNClob(findColumn(columnLabel)); 
     3016+       } 
     3017+ 
     3018+       public void updateNClob(int columnIndex, NClob value) 
     3019+                       throws SQLException { 
     3020+               throw new NotUpdatable(); 
     3021+       } 
     3022+ 
     3023+       public void updateNClob(String columnLabel, NClob value) 
     3024+                       throws SQLException { 
     3025+               updateNClob(findColumn(columnLabel), value); 
     3026+       } 
     3027+ 
     3028+       public void updateNClob(int columnIndex, Reader reader) 
     3029+                       throws SQLException { 
     3030+               throw new NotUpdatable(); 
     3031+       } 
     3032+ 
     3033+       public void updateNClob(String columnLabel, Reader reader) 
     3034+                       throws SQLException { 
     3035+               updateNClob(findColumn(columnLabel), reader); 
     3036+       } 
     3037+ 
     3038+       public void updateNClob(int columnIndex, Reader reader, long length) 
     3039+                       throws SQLException { 
     3040+               throw new NotUpdatable(); 
     3041+       } 
     3042+ 
     3043+       public void updateNClob(String columnLabel, Reader reader, long length) 
     3044+                       throws SQLException { 
     3045+               updateNClob(findColumn(columnLabel), reader, length); 
     3046+       } 
     3047+ 
     3048+       public String getNString(int columnIndex) throws SQLException { 
     3049+               throw SQLError.notImplemented(); 
     3050+       } 
     3051+ 
     3052+       public String getNString(String columnLabel) throws SQLException { 
     3053+               return getNString(findColumn(columnLabel)); 
     3054+       } 
     3055+ 
     3056+       public void updateNString(int columnIndex, String value) 
     3057+                       throws SQLException { 
     3058+               throw new NotUpdatable(); 
     3059+       } 
     3060+ 
     3061+       public void updateNString(String columnLabel, String value) 
     3062+                       throws SQLException { 
     3063+               updateNString(findColumn(columnLabel), value); 
     3064+       } 
     3065+ 
     3066+       public SQLXML getSQLXML(int columnIndex) throws SQLException { 
     3067+               throw SQLError.notImplemented(); 
     3068+       } 
     3069+ 
     3070+       public SQLXML getSQLXML(String columnLabel) throws SQLException { 
     3071+               return getSQLXML(findColumn(columnLabel)); 
     3072+       } 
     3073+ 
     3074+       public void updateSQLXML(int columnIndex, SQLXML xmlObject) 
     3075+                       throws SQLException { 
     3076+               throw new NotUpdatable(); 
     3077+       } 
     3078+ 
     3079+       public void updateSQLXML(String columnLabel, SQLXML xmlObject) 
     3080+                       throws SQLException { 
     3081+               updateSQLXML(findColumn(columnLabel), xmlObject); 
     3082+       } 
     3083+ 
     3084+       public RowId getRowId(int columnIndex) throws SQLException { 
     3085+               throw SQLError.notImplemented(); 
     3086+       } 
     3087+ 
     3088+       public RowId getRowId(String columnLabel) throws SQLException { 
     3089+               return getRowId(findColumn(columnLabel)); 
     3090+       } 
     3091+ 
     3092+       public void updateRowId(int columnIndex, RowId x) 
     3093+                       throws SQLException { 
     3094+               throw new NotUpdatable(); 
     3095+       } 
     3096+ 
     3097+       public void updateRowId(String columnLabel, RowId x) 
     3098+                       throws SQLException { 
     3099+               updateRowId(findColumn(columnLabel), x); 
     3100+       } 
     3101+ 
     3102+       public boolean isWrapperFor(Class<?> iface) throws SQLException { 
     3103+               throw SQLError.notImplemented(); 
     3104+       } 
     3105+ 
     3106+       public <T> T unwrap(Class<T> iface) throws SQLException { 
     3107+               throw SQLError.notImplemented(); 
     3108+       } 
     3109 } 
  • Portfile

     
    33PortSystem 1.0 
    44 
    55name                            mysql-connector-java 
    6 version                         5.0.7 
     6version                         5.1.10 
    77 
    88categories                      java 
    99maintainers                     jberry openmaintainer 
     
    2121homepage                        http://dev.mysql.com/doc/refman/5.0/en/connector-j.html 
    2222 
    2323master_sites            http://ftp.plusline.de/mysql/Downloads/Connector-J/ 
    24 checksums                       md5 d177ce7397b119f013458cec0418ad2d \ 
    25                                 sha1 df3b78d1108f89485fb8c9711ee39c376d0391eb \ 
    26                                 rmd160 eae7454d156c7726ab2e96017e8b6f4fe0c61ab9 
     24checksums           md5     f9da616de868ddd1acf1428334f3313d \ 
     25                    sha1    32938f3004c70a657a7481496bc3813b85df20de \ 
     26                    rmd160  ef5b6cf4cceaac0c6d32858920c362bab6004bc1 
    2727 
    2828patchfiles                      patch-build.xml 
    2929 
     
    5050        file copy ${worksrcpath}/docs ${destroot}${prefix}/share/doc/${name} 
    5151} 
    5252 
     53platform darwin 10 { 
     54        post-patch { 
     55                reinplace -E {/name="compile"/s/compile-testsuite, //} \ 
     56                        ${worksrcpath}/build.xml 
     57        } 
     58 
     59        patchfiles-append patch-JDK-1.6.diff 
     60} 
     61 
    5362livecheck.check regex 
    5463livecheck.url   http://dev.mysql.com/downloads/connector/j/5.0.html 
    5564livecheck.regex "${name}-(\\d+\\.\\d+(\\.\\d+)?).tar.gz"