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.state; 020 021import java.sql.CallableStatement; 022import java.sql.ResultSet; 023import java.sql.SQLException; 024import java.sql.Statement; 025 026import lucee.runtime.PageContext; 027import lucee.runtime.PageContextImpl; 028import lucee.runtime.db.driver.CallableStatementProxy; 029import lucee.runtime.db.driver.ConnectionProxy; 030import lucee.runtime.debug.ActiveQuery; 031import lucee.runtime.engine.ThreadLocalPageContext; 032 033public class StateCallableStatement extends CallableStatementProxy { 034 035 public StateCallableStatement(ConnectionProxy conn,CallableStatement prepareCall, String sql) { 036 super(conn, prepareCall,sql); 037 } 038 039 040 @Override 041 public boolean execute(String sql) throws SQLException { 042 return StateUtil.execute(ThreadLocalPageContext.get(),stat, sql); 043 } 044 045 @Override 046 public boolean execute(PageContext pc, String sql) throws SQLException { 047 return StateUtil.execute(pc,stat, sql); 048 } 049 050 @Override 051 public boolean execute(String sql, int autoGeneratedKeys) throws SQLException { 052 return StateUtil.execute(ThreadLocalPageContext.get(), stat, sql,autoGeneratedKeys); 053 } 054 055 @Override 056 public boolean execute(PageContext pc, String sql, int autoGeneratedKeys) throws SQLException { 057 return StateUtil.execute(pc, stat, sql,autoGeneratedKeys); 058 } 059 060 @Override 061 public boolean execute(String sql, int[] columnIndexes) throws SQLException { 062 return StateUtil.execute(ThreadLocalPageContext.get(), stat, sql,columnIndexes); 063 } 064 065 @Override 066 public boolean execute(PageContext pc, String sql, int[] columnIndexes) throws SQLException { 067 return StateUtil.execute(pc, stat, sql,columnIndexes); 068 } 069 070 @Override 071 public boolean execute(String sql, String[] columnNames) throws SQLException { 072 return StateUtil.execute(ThreadLocalPageContext.get(), stat, sql,columnNames); 073 } 074 075 @Override 076 public boolean execute(PageContext pc, String sql, String[] columnNames) throws SQLException { 077 return StateUtil.execute(pc, stat, sql,columnNames); 078 } 079 @Override 080 public ResultSet executeQuery(String sql) throws SQLException { 081 return StateUtil.executeQuery(ThreadLocalPageContext.get(), stat,sql); 082 } 083 @Override 084 public ResultSet executeQuery(PageContext pc, String sql) throws SQLException { 085 return StateUtil.executeQuery(pc, stat,sql); 086 } 087 088 @Override 089 public int executeUpdate(String sql) throws SQLException { 090 return StateUtil.executeUpdate(ThreadLocalPageContext.get(), stat, sql); 091 } 092 093 @Override 094 public int executeUpdate(PageContext pc, String sql) throws SQLException { 095 return StateUtil.executeUpdate(pc, stat, sql); 096 } 097 098 @Override 099 public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException { 100 return StateUtil.executeUpdate(ThreadLocalPageContext.get(), stat, sql,autoGeneratedKeys); 101 } 102 103 @Override 104 public int executeUpdate(PageContext pc, String sql, int autoGeneratedKeys) throws SQLException { 105 return StateUtil.executeUpdate(pc, stat, sql,autoGeneratedKeys); 106 } 107 108 @Override 109 public int executeUpdate(String sql, int[] columnIndexes) throws SQLException { 110 return StateUtil.executeUpdate(ThreadLocalPageContext.get(), stat, sql,columnIndexes); 111 } 112 113 @Override 114 public int executeUpdate(PageContext pc, String sql, int[] columnIndexes) throws SQLException { 115 return StateUtil.executeUpdate(pc, stat, sql,columnIndexes); 116 } 117 118 @Override 119 public int executeUpdate(String sql, String[] columnNames) throws SQLException { 120 return StateUtil.executeUpdate(ThreadLocalPageContext.get(), stat, sql,columnNames); 121 } 122 123 @Override 124 public int executeUpdate(PageContext pc, String sql, String[] columnNames) throws SQLException { 125 return StateUtil.executeUpdate(pc, stat, sql,columnNames); 126 } 127 128 @Override 129 public boolean execute() throws SQLException { 130 return StateUtil.execute(ThreadLocalPageContext.get(), stat, sql); 131 } 132 133 @Override 134 public boolean execute(PageContext pc) throws SQLException { 135 return StateUtil.execute(pc, stat, sql); 136 } 137 138 @Override 139 public ResultSet executeQuery() throws SQLException { 140 return StateUtil.executeQuery(ThreadLocalPageContext.get(), stat, sql); 141 } 142 143 @Override 144 public ResultSet executeQuery(PageContext pc) throws SQLException { 145 return StateUtil.executeQuery(pc, stat, sql); 146 } 147 148 @Override 149 public int executeUpdate() throws SQLException { 150 return StateUtil.executeUpdate(ThreadLocalPageContext.get(), stat, sql); 151 } 152 153 @Override 154 public int executeUpdate(PageContext pc) throws SQLException { 155 return StateUtil.executeUpdate(pc, stat, sql); 156 } 157 158 protected void setActiveStatement(PageContextImpl pc,Statement stat, String sql) { 159 pc.setActiveQuery(new ActiveQuery(sql,System.currentTimeMillis())); 160 } 161 162}