001/** 002 * 003 * Copyright (c) 2014, the Railo Company Ltd. All rights reserved. 004 * 005 * This library is free software; you can redistribute it and/or 006 * modify it under the terms of the GNU Lesser General Public 007 * License as published by the Free Software Foundation; either 008 * version 2.1 of the License, or (at your option) any later version. 009 * 010 * This library is distributed in the hope that it will be useful, 011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 013 * Lesser General Public License for more details. 014 * 015 * You should have received a copy of the GNU Lesser General Public 016 * License along with this library. If not, see <http://www.gnu.org/licenses/>. 017 * 018 **/ 019package lucee.runtime.db.driver; 020 021import java.io.InputStream; 022import java.io.Reader; 023import java.math.BigDecimal; 024import java.net.URL; 025import java.sql.Array; 026import java.sql.Blob; 027import java.sql.Clob; 028import java.sql.Date; 029import java.sql.NClob; 030import java.sql.ParameterMetaData; 031import java.sql.PreparedStatement; 032import java.sql.Ref; 033import java.sql.ResultSet; 034import java.sql.ResultSetMetaData; 035import java.sql.RowId; 036import java.sql.SQLException; 037import java.sql.SQLXML; 038import java.sql.Time; 039import java.sql.Timestamp; 040import java.util.Calendar; 041 042import lucee.runtime.PageContext; 043 044public class PreparedStatementProxy extends StatementProxy implements PreparedStatementPro { 045 046 protected PreparedStatement stat; 047 protected String sql; 048 049 public PreparedStatementProxy(ConnectionProxy conn, PreparedStatement stat, String sql) { 050 super(conn, stat); 051 this.stat=stat; 052 this.sql=sql; 053 } 054 055 public String getSQL() { 056 return sql; 057 } 058 059 @Override 060 public boolean execute() throws SQLException { 061 return stat.execute(); 062 } 063 064 @Override 065 public ResultSet executeQuery() throws SQLException { 066 return stat.executeQuery(); 067 } 068 069 @Override 070 public int executeUpdate() throws SQLException { 071 return stat.executeUpdate(); 072 } 073 074 @Override 075 public boolean execute(PageContext pc) throws SQLException{ 076 return stat.execute(); 077 } 078 079 @Override 080 public ResultSet executeQuery(PageContext pc) throws SQLException{ 081 return stat.executeQuery(); 082 } 083 084 @Override 085 public int executeUpdate(PageContext pc) throws SQLException{ 086 return stat.executeUpdate(); 087 } 088 089 @Override 090 public void addBatch() throws SQLException { 091 stat.addBatch(); 092 } 093 094 @Override 095 public void clearParameters() throws SQLException { 096 stat.clearParameters(); 097 } 098 099 @Override 100 public ResultSetMetaData getMetaData() throws SQLException { 101 return stat.getMetaData(); 102 } 103 104 @Override 105 public ParameterMetaData getParameterMetaData() throws SQLException { 106 return stat.getParameterMetaData(); 107 } 108 109 @Override 110 public void setArray(int parameterIndex, Array x) throws SQLException { 111 stat.setArray(parameterIndex, x); 112 } 113 114 @Override 115 public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException { 116 stat.setAsciiStream(parameterIndex, x); 117 } 118 119 @Override 120 public void setAsciiStream(int parameterIndex, InputStream x, int length) throws SQLException { 121 stat.setAsciiStream(parameterIndex, x,length); 122 } 123 124 @Override 125 public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException { 126 stat.setAsciiStream(parameterIndex, x, length); 127 } 128 129 @Override 130 public void setBigDecimal(int parameterIndex, BigDecimal x) throws SQLException { 131 stat.setBigDecimal(parameterIndex, x); 132 } 133 134 @Override 135 public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException { 136 stat.setBinaryStream(parameterIndex, x); 137 } 138 139 @Override 140 public void setBinaryStream(int parameterIndex, InputStream x, int length) throws SQLException { 141 stat.setBinaryStream(parameterIndex, x, length); 142 } 143 144 @Override 145 public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException { 146 stat.setBinaryStream(parameterIndex, x, length); 147 } 148 149 @Override 150 public void setBlob(int parameterIndex, Blob x) throws SQLException { 151 stat.setBlob(parameterIndex, x); 152 } 153 154 @Override 155 public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException { 156 stat.setBlob(parameterIndex, inputStream); 157 } 158 159 @Override 160 public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException { 161 stat.setBlob(parameterIndex, inputStream, length); 162 } 163 164 @Override 165 public void setBoolean(int parameterIndex, boolean x) throws SQLException { 166 stat.setBoolean(parameterIndex, x); 167 } 168 169 @Override 170 public void setByte(int parameterIndex, byte x) throws SQLException { 171 stat.setByte(parameterIndex, x); 172 } 173 174 @Override 175 public void setBytes(int parameterIndex, byte[] x) throws SQLException { 176 stat.setBytes(parameterIndex, x); 177 } 178 179 @Override 180 public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException { 181 stat.setCharacterStream(parameterIndex, reader); 182 } 183 184 @Override 185 public void setCharacterStream(int parameterIndex, Reader reader, int length) throws SQLException { 186 stat.setCharacterStream(parameterIndex, reader, length); 187 } 188 189 @Override 190 public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException { 191 stat.setCharacterStream(parameterIndex, reader, length); 192 } 193 194 @Override 195 public void setClob(int parameterIndex, Clob x) throws SQLException { 196 stat.setClob(parameterIndex, x); 197 } 198 199 @Override 200 public void setClob(int parameterIndex, Reader reader) throws SQLException { 201 stat.setClob(parameterIndex, reader); 202 } 203 204 @Override 205 public void setClob(int parameterIndex, Reader reader, long length) throws SQLException { 206 stat.setClob(parameterIndex, reader, length); 207 } 208 209 @Override 210 public void setDate(int parameterIndex, Date x) throws SQLException { 211 stat.setDate(parameterIndex, x); 212 } 213 214 @Override 215 public void setDate(int parameterIndex, Date x, Calendar cal) throws SQLException { 216 stat.setDate(parameterIndex, x, cal); 217 } 218 219 @Override 220 public void setDouble(int parameterIndex, double x) throws SQLException { 221 stat.setDouble(parameterIndex, x); 222 } 223 224 @Override 225 public void setFloat(int parameterIndex, float x) throws SQLException { 226 stat.setFloat(parameterIndex, x); 227 } 228 229 @Override 230 public void setInt(int parameterIndex, int x) throws SQLException { 231 stat.setInt(parameterIndex, x); 232 } 233 234 @Override 235 public void setLong(int parameterIndex, long x) throws SQLException { 236 stat.setLong(parameterIndex, x); 237 } 238 239 @Override 240 public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException { 241 stat.setNCharacterStream(parameterIndex, value); 242 } 243 244 @Override 245 public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException { 246 stat.setNCharacterStream(parameterIndex, value, length); 247 } 248 249 @Override 250 public void setNClob(int parameterIndex, NClob value) throws SQLException { 251 stat.setNClob(parameterIndex, value); 252 } 253 254 @Override 255 public void setNClob(int parameterIndex, Reader reader) throws SQLException { 256 stat.setNClob(parameterIndex, reader); 257 } 258 259 @Override 260 public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException { 261 stat.setNClob(parameterIndex, reader, length); 262 } 263 264 @Override 265 public void setNString(int parameterIndex, String value) throws SQLException { 266 stat.setNString(parameterIndex, value); 267 } 268 269 @Override 270 public void setNull(int parameterIndex, int sqlType) throws SQLException { 271 stat.setNull(parameterIndex, sqlType); 272 } 273 274 @Override 275 public void setNull(int parameterIndex, int sqlType, String typeName) throws SQLException { 276 stat.setNull(parameterIndex, sqlType, typeName); 277 } 278 279 @Override 280 public void setObject(int parameterIndex, Object x) throws SQLException { 281 stat.setObject(parameterIndex, x); 282 } 283 284 @Override 285 public void setObject(int parameterIndex, Object x, int targetSqlType) throws SQLException { 286 stat.setObject(parameterIndex, x, targetSqlType); 287 } 288 289 @Override 290 public void setObject(int parameterIndex, Object x, int targetSqlType, int scaleOrLength) throws SQLException { 291 stat.setObject(parameterIndex, x, targetSqlType, scaleOrLength); 292 } 293 294 @Override 295 public void setRef(int parameterIndex, Ref x) throws SQLException { 296 stat.setRef(parameterIndex, x); 297 } 298 299 @Override 300 public void setRowId(int parameterIndex, RowId x) throws SQLException { 301 stat.setRowId(parameterIndex, x); 302 } 303 304 @Override 305 public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException { 306 stat.setSQLXML(parameterIndex, xmlObject); 307 } 308 309 @Override 310 public void setShort(int parameterIndex, short x) throws SQLException { 311 stat.setShort(parameterIndex, x); 312 } 313 314 @Override 315 public void setString(int parameterIndex, String x) throws SQLException { 316 stat.setString(parameterIndex, x); 317 } 318 319 @Override 320 public void setTime(int parameterIndex, Time x) throws SQLException { 321 stat.setTime(parameterIndex, x); 322 } 323 324 @Override 325 public void setTime(int parameterIndex, Time x, Calendar cal) throws SQLException { 326 stat.setTime(parameterIndex, x, cal); 327 } 328 329 @Override 330 public void setTimestamp(int parameterIndex, Timestamp x) throws SQLException { 331 stat.setTimestamp(parameterIndex, x); 332 } 333 334 @Override 335 public void setTimestamp(int parameterIndex, Timestamp x, Calendar cal) throws SQLException { 336 stat.setTimestamp(parameterIndex, x, cal); 337 } 338 339 @Override 340 public void setURL(int parameterIndex, URL x) throws SQLException { 341 stat.setURL(parameterIndex, x); 342 } 343 344 @Override 345 public void setUnicodeStream(int parameterIndex, InputStream x, int length) throws SQLException { 346 stat.setUnicodeStream(parameterIndex, x, length); 347 } 348}