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}