1f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes/* 2adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Licensed to the Apache Software Foundation (ASF) under one or more 3adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contributor license agreements. See the NOTICE file distributed with 4adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this work for additional information regarding copyright ownership. 5adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The ASF licenses this file to You under the Apache License, Version 2.0 6adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * (the "License"); you may not use this file except in compliance with 7adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the License. You may obtain a copy of the License at 8f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 9adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * http://www.apache.org/licenses/LICENSE-2.0 10f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 11adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Unless required by applicable law or agreed to in writing, software 12adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS, 13adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 14adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * See the License for the specific language governing permissions and 15adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limitations under the License. 16adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 17adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 18adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Projectpackage java.sql; 19adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 20adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project/** 21adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Interface used for executing static SQL statements to retrieve query results. 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The resulting table rows are returned as {@code ResultSet}s. For any given 23adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * {@code Statement} object, only one {@code ResultSet} can be opened at one 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * time. A call to any of the execution methods of {@code Statement} will cause 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * any previously created {@code ResultSet} object for that {@code Statement} to 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * be closed implicitly. 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p> 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * To have multiple {@code ResultSet} objects opened concurrently, multiple 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * {@code Statement} objects must be created and then executed. 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p> 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * To obtain such an executable statement one needs to invoke {@code 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Connection#createStatement}. 33142d526f8bf90fb9bb63c637beb5299f39791f55Jesse Wilson * 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @see ResultSet 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @see Connection#createStatement 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 37464e162688553b8b6c71499ba28a7967f81092adJesse Wilsonpublic interface Statement extends Wrapper, AutoCloseable { 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Passing this constant to {@link #getMoreResults} implies that all {@code 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * ResultSet} objects previously kept open should be closed. 42adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final int CLOSE_ALL_RESULTS = 3; 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Passing this constant to {@link #getMoreResults} implies that the current 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * {@code ResultSet} object should be closed. 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final int CLOSE_CURRENT_RESULT = 1; 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Indicates that an error was encountered during execution of a batch 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * statement. 54adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final int EXECUTE_FAILED = -3; 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Passing this constant to <i>getMoreResults</i> implies that the current 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * {@code ResultSet} object should not be closed. 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final int KEEP_CURRENT_RESULT = 2; 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Indicates that generated keys should not be accessible for retrieval. 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 66adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final int NO_GENERATED_KEYS = 2; 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Indicates that generated keys should be accessible for retrieval. 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final int RETURN_GENERATED_KEYS = 1; 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Indicates that a batch statement was executed with a successful result, 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * but a count of the number of rows it affected is unavailable. 76adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final int SUCCESS_NO_INFO = -2; 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Adds a specified SQL command to the list of commands for this {@code 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Statement}. 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p> 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The list of commands is executed by invoking the {@code executeBatch} 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * method. 85142d526f8bf90fb9bb63c637beb5299f39791f55Jesse Wilson * 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param sql 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the SQL command as a String. Typically an {@code INSERT} or 88adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * {@code UPDATE} statement. 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database or the database 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * does not support batch updates. 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void addBatch(String sql) throws SQLException; 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Cancels this statement's execution if both the database and the JDBC 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * driver support aborting an SQL statement in flight. This method can be 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * used by one thread to stop a statement that is executed on another 99adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * thread. 100f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void cancel() throws SQLException; 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Clears the current list of SQL commands for this statement. 108f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 110adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database or the database 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * does not support batch updates. 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void clearBatch() throws SQLException; 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Clears all {@code SQLWarnings} from this statement. 117f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void clearWarnings() throws SQLException; 122adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Releases this statement's database and JDBC driver resources. 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p> 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Using this method to release these resources as soon as possible is 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * strongly recommended. 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p> 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * One should not rely on the resources being automatically released when 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * finalized during garbage collection. Doing so can result in unpredictable 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * behavior for the application. 132142d526f8bf90fb9bb63c637beb5299f39791f55Jesse Wilson * 133adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void close() throws SQLException; 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Executes a supplied SQL statement. This may return multiple {@code 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * ResultSet}s. 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p> 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Use the {@code getResultSet} or {@code getUpdateCount} methods to get the 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * first result and {@code getMoreResults} to get any subsequent results. 144142d526f8bf90fb9bb63c637beb5299f39791f55Jesse Wilson * 145adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param sql 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the SQL statement to execute 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code true} if the first result is a {@code ResultSet}, {@code 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * false} if the first result is an update count or if there is no 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * result. 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean execute(String sql) throws SQLException; 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 156adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Executes a supplied SQL statement. This may return multiple {@code 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * ResultSet}s. This method allows control of whether auto-generated Keys 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * should be made available for retrieval, if the SQL statement is an 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * {@code INSERT} statement. 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p> 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Use the {@code getResultSet} or {@code getUpdateCount} methods to get the 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * first result and {@code getMoreResults} to get any subsequent results. 163142d526f8bf90fb9bb63c637beb5299f39791f55Jesse Wilson * 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param sql 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the SQL statement to execute. 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param autoGeneratedKeys 167adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * a flag indicating whether to make auto generated keys 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * available for retrieval. This parameter must be one of {@code 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Statement.NO_GENERATED_KEYS} or {@code 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Statement.RETURN_GENERATED_KEYS}. 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code true} if results exists and the first result is a {@code 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * ResultSet}, {@code false} if the first result is an update count 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * or if there is no result. 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean execute(String sql, int autoGeneratedKeys) 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throws SQLException; 179adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Executes the supplied SQL statement. This may return multiple {@code 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * ResultSet}s. This method allows retrieval of auto generated keys 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * specified by the supplied array of column indexes, if the SQL statement 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * is an {@code INSERT} statement. 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p> 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Use the {@code getResultSet} or {@code getUpdateCount} methods to get the 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * first result and {@code getMoreResults} to get any subsequent results. 188142d526f8bf90fb9bb63c637beb5299f39791f55Jesse Wilson * 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param sql 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the SQL statement to execute. 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param columnIndexes 192adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * an array of indexes of the columns in the inserted row which 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * should be made available for retrieval via the {@code 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * getGeneratedKeys} method. 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code true} if the first result is a {@code ResultSet}, {@code 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * false} if the first result is an update count or if there is no 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * result. 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean execute(String sql, int[] columnIndexes) throws SQLException; 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 203adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Executes the supplied SQL statement. This may return multiple {@code 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * ResultSet}s. This method allows retrieval of auto generated keys 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * specified by the supplied array of column indexes, if the SQL statement 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * is an {@code INSERT} statement. 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p> 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Use the {@code getResultSet} or {@code getUpdateCount} methods to get the 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * first result and {@code getMoreResults} to get any subsequent results. 211142d526f8bf90fb9bb63c637beb5299f39791f55Jesse Wilson * 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param sql 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the SQL statement to execute. 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param columnNames 215adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * an array of column names in the inserted row which should be 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * made available for retrieval via the {@code getGeneratedKeys} 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * method. 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code true} if the first result is a {@code ResultSet}, {@code 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * false} if the first result is an update count or if there is no 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * result 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean execute(String sql, String[] columnNames) 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throws SQLException; 226adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Submits a batch of SQL commands to the database. Returns an array of 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * update counts, if all the commands execute successfully. 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p> 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * If one of the commands in the batch fails, this method can throw a 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * {@link BatchUpdateException} and the JDBC driver may or may not process 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the remaining commands. The JDBC driver must behave consistently with the 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * underlying database, following the "all or nothing" principle. If the 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * driver continues processing, the array of results returned contains the 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * same number of elements as there are commands in the batch, with a 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * minimum of one of the elements having the {@code EXECUTE_FAILED} value. 238f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return an array of update counts, with one entry for each command in the 240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * batch. The elements are ordered according to the order in which 241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the commands were added to the batch. 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p> 243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <ol> 244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <li>If the value of an element is ≥ 0, the corresponding 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * command completed successfully and the value is the <i>update 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * count</i> (the number of rows in the database affected by the 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * command) for that command.</li> 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <li>If the value is {@code SUCCESS_NO_INFO}, the command 249adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * completed successfully but the number of rows affected is 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * unknown. 251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <li> 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <li>If the value is {@code EXECUTE_FAILED}, the command failed. 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * </ol> 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int[] executeBatch() throws SQLException; 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Executes a supplied SQL statement. Returns a single {@code ResultSet}. 261f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 262adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param sql 263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * an SQL statement to execute. Typically a {@code SELECT} 264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * statement 265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return a {@code ResultSet} containing the data produced by the SQL 266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * statement. Never null. 267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database or if the statement 269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * produces anything other than a single {@code ResultSet}. 270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public ResultSet executeQuery(String sql) throws SQLException; 272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 274adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Executes the supplied SQL statement. The statement may be an {@code 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * INSERT}, {@code UPDATE} or {@code DELETE} statement or a statement which 276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * returns nothing. 277f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param sql 279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * an SQL statement to execute - an SQL {@code INSERT}, {@code 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * UPDATE}, {@code DELETE} or a statement which returns nothing 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the count of updated rows, or 0 for a statement that returns 282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nothing. 283adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 284adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database or if the statement 285adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * produces a {@code ResultSet}. 286adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 287adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int executeUpdate(String sql) throws SQLException; 288adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 289adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 290adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Executes the supplied SQL statement. This method allows control of 291adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * whether auto-generated Keys should be made available for retrieval. 292f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 293adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param sql 294adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * an SQL statement to execute - an SQL {@code INSERT}, {@code 295adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * UPDATE}, {@code DELETE} or a statement which does not return 296adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * anything. 297adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param autoGeneratedKeys 298adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * a flag that indicates whether to allow retrieval of auto 299adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * generated keys. Parameter must be one of {@code 300adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Statement.RETURN_GENERATED_KEYS} or {@code 301adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Statement.NO_GENERATED_KEYS} 302adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the number of updated rows, or 0 if the statement returns 303adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nothing. 304adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 305adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database or if the statement 306adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * produces a {@code ResultSet}. 307adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 308adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int executeUpdate(String sql, int autoGeneratedKeys) 309adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throws SQLException; 310adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 311adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 312adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Executes the supplied SQL statement. This method allows retrieval of auto 313adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * generated keys specified by the supplied array of column indexes. 314f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 315adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param sql 316adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * an SQL statement to execute - an SQL {@code INSERT}, {@code 317adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * UPDATE}, {@code DELETE} or a statement which returns nothing 318adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param columnIndexes 319adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * an array of indexes of the columns in the inserted row which 320adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * should be made available for retrieval via the {@code 321adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * getGeneratedKeys} method. 322adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the count of updated rows, or 0 for a statement that returns 323adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nothing. 324adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 325adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database or if the statement 326adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * produces a {@code ResultSet}. 327adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 328adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int executeUpdate(String sql, int[] columnIndexes) 329adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throws SQLException; 330adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 331adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 332adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Executes the supplied SQL statement. This method allows retrieval of auto 333adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * generated keys specified by the supplied array of column names. 334f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 335adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param sql 336adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * an SQL statement to execute - an SQL {@code INSERT}, {@code 337adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * UPDATE}, {@code DELETE} or a statement which returns nothing 338adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param columnNames 339adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * an array of column names in the inserted row which should be 340adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * made available for retrieval via the {@code getGeneratedKeys} 341adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * method. 342adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the count of updated rows, or 0 for a statement that returns 343adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * nothing. 344adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 345adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database or if the statement 346adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * produces a {@code ResultSet}. 347adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 348adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int executeUpdate(String sql, String[] columnNames) 349adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project throws SQLException; 350adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 351adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 352adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets the {@code Connection} object which created this statement. 353f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 354adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the {@code Connection} through which this statement is 355adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * transmitted to the database. 356adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 357adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 358adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 359adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public Connection getConnection() throws SQLException; 360adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 361adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 362adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets the default direction for fetching rows for {@code ResultSet}s 363adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * generated from this statement. 364f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 365adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the default fetch direction, one of: 366adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <ul> 367adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <li>ResultSet.FETCH_FORWARD</li> <li>ResultSet.FETCH_REVERSE</li> 368adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <li>ResultSet.FETCH_UNKNOWN</li> 369adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * </ul> 370adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 371adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 372adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 373adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int getFetchDirection() throws SQLException; 374adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 375adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 376adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets the default number of rows for a fetch for the {@code ResultSet} 377adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * objects returned from this statement. 378f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 379adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the default fetch size for {@code ResultSet}s produced by this 380adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * statement. 381adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 382adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 383adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 384adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int getFetchSize() throws SQLException; 385adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 386adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 387adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns auto generated keys created by executing this statement. 388f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 389adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return a {@code ResultSet} containing the auto generated keys - empty if 390adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * no keys are generated by this statement. 391adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 392adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 393adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 394adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public ResultSet getGeneratedKeys() throws SQLException; 395adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 396adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 397adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets the maximum number of bytes which can be returned as values from 398adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * character and binary type columns in a {@code ResultSet} derived from this 399adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * statement. This limit applies to {@code BINARY}, {@code VARBINARY}, 400adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * {@code LONGVARBINARY}, {@code CHAR}, {@code VARCHAR}, and {@code 401adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * LONGVARCHAR} types. Any data exceeding the maximum size is abandoned 402adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * without announcement. 403f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 404adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the current size limit, where {@code 0} means that there is no 405adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limit. 406adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 407adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 408adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 409adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int getMaxFieldSize() throws SQLException; 410adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 411adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 412adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets the maximum number of rows that a {@code ResultSet} can contain when 413adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * produced from this statement. If the limit is exceeded, the excess rows 414adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * are discarded silently. 415f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 416adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the current row limit, where {@code 0} means that there is no 417adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * limit. 418adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 419adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 420adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 421adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int getMaxRows() throws SQLException; 422adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 423adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 424adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Moves to this statement's next result. Returns {@code true} if it is a 425adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * {@code ResultSet}. Any current {@code ResultSet} objects previously 426adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * obtained with {@code getResultSet()} are closed implicitly. 427f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 428adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code true} if the next result is a {@code ResultSet}, {@code 429adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * false} if the next result is not a {@code ResultSet} or if there 430adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * are no more results. Note that if there is no more data, this 431adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * method will return {@code false} and {@code getUpdateCount} will 432adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * return -1. 433adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 434adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 435adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 436adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean getMoreResults() throws SQLException; 437adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 438adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 439adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Moves to this statement's next result. Returns {@code true} if the next 440adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * result is a {@code ResultSet}. Any current {@code ResultSet} objects 441adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * previously obtained with {@code getResultSet()} are handled as indicated 442adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * by a supplied Flag parameter. 443f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 444adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param current 445adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * a flag indicating what to do with existing {@code ResultSet}s. 446adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * This parameter must be one of {@code 447adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Statement.CLOSE_ALL_RESULTS}, {@code 448adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Statement.CLOSE_CURRENT_RESULT} or {@code 449adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Statement.KEEP_CURRENT_RESULT}. 450adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code true} if the next result exists and is a {@code ResultSet} 451adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * , {@code false} if the next result is not a {@code ResultSet} or 452adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there are no more results. Note that if there is no more data, 453adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this method will return {@code false} and {@code getUpdateCount} 454adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * will return -1. 455adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 456adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 457adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 458adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean getMoreResults(int current) throws SQLException; 459adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 460adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 461adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets the timeout value for the statement's execution time. The JDBC 462adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * driver will wait up to this value for the execution to complete - after 463adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the limit is exceeded an SQL {@code Exception} is thrown. 464f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 465adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the current query timeout value, where {@code 0} indicates that 466adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * there is no current timeout. 467adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 468adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 469adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 470adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int getQueryTimeout() throws SQLException; 471adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 472adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 473adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets the current result. Should only be called once per result. 474f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 475adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the {@code ResultSet} for the current result. {@code null} if the 476adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * result is an update count or if there are no more results. 477adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 478adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 479adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 480adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public ResultSet getResultSet() throws SQLException; 481adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 482adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 483adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets the concurrency setting for {@code ResultSet} objects generated by 484adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this statement. 485f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 486adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code ResultSet.CONCUR_READ_ONLY} or {@code 487adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * ResultSet.CONCUR_UPDATABLE}. 488adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 489adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 490adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 491adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int getResultSetConcurrency() throws SQLException; 492adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 493adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 494adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets the cursor hold setting for {@code ResultSet} objects generated by 495adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this statement. 496f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 497adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code ResultSet.HOLD_CURSORS_OVER_COMMIT} or {@code 498adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * ResultSet.CLOSE_CURSORS_AT_COMMIT} 499adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 500adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is an error while accessing the database. 501adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 502adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int getResultSetHoldability() throws SQLException; 503adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 504adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 505adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets the {@code ResultSet} type setting for {@code ResultSet}s derived 506adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * from this statement. 507f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 508adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code ResultSet.TYPE_FORWARD_ONLY} for a {@code ResultSet} where 509adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the cursor can only move forwards, {@code 510adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * ResultSet.TYPE_SCROLL_INSENSITIVE} for a {@code ResultSet} which 511adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * is scrollable but is not sensitive to changes made by others, 512adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * {@code ResultSet.TYPE_SCROLL_SENSITIVE} for a {@code ResultSet} 513adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * which is scrollable but is sensitive to changes made by others. 514adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 515adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is an error accessing the database. 516adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 517adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int getResultSetType() throws SQLException; 518adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 519adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 520adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Gets an update count for the current result if it is not a {@code 521adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * ResultSet}. 522f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 523adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the current result as an update count. {@code -1} if the current 524adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * result is a {@code ResultSet} or if there are no more results. 525adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 526adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 527adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 528adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int getUpdateCount() throws SQLException; 529adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 530adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 531adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Retrieves the first {@code SQLWarning} reported by calls on this 532adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * statement. If there are multiple warnings, subsequent warnings are 533adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * chained to the first one. The chain of warnings is cleared each time the 534adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * statement is executed. 535adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p> 536adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Warnings associated with reads from the {@code ResultSet} returned from 537adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * executing the statement will be attached to the {@code ResultSet}, not the 538adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * statement object. 539142d526f8bf90fb9bb63c637beb5299f39791f55Jesse Wilson * 540adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return an SQLWarning, null if there are no warnings 541adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 542adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 543adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 544adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public SQLWarning getWarnings() throws SQLException; 545adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 546adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 547adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Sets the SQL cursor name. This name is used by subsequent statement 548adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * execute methods. 549adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p> 550adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Cursor names must be unique within one Connection. 551adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p> 552adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * With the cursor name set, it can then be used in SQL positioned 553adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * update or delete statements to determine the current row in a {@code 554adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * ResultSet} generated from this statement. The positioned update or delete 555adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * must be done with a different statement than this one. 556142d526f8bf90fb9bb63c637beb5299f39791f55Jesse Wilson * 557adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param name 558adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the Cursor name as a string, 559adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 560adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 561adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 562adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void setCursorName(String name) throws SQLException; 563adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 564adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 565adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Sets Escape Processing mode. 566adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <p> 567adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * If Escape Processing is on, the JDBC driver will do escape substitution 568adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * on an SQL statement before sending it for execution. This does not apply 569adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * to {@link PreparedStatement}s since they are processed when created, 570adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * before this method can be called. 571142d526f8bf90fb9bb63c637beb5299f39791f55Jesse Wilson * 572adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param enable 573adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * {@code true} to set escape processing mode <i>on</i>, {@code 574adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * false} to turn it <i>off</i>. 575adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 576adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database. 577adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 578adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void setEscapeProcessing(boolean enable) throws SQLException; 579adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 580adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 581adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Sets the fetch direction - a hint to the JDBC driver about the direction 582adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * of processing of rows in {@code ResultSet}s created by this statement. 583adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * The default fetch direction is {@code FETCH_FORWARD}. 584f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 585adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param direction 586adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * which fetch direction to use. This parameter should be one of 587adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <ul> 588adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <li>{@code ResultSet.FETCH_UNKNOWN}</li> 589adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <li>{@code ResultSet.FETCH_FORWARD}</li> 590adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * <li>{@code ResultSet.FETCH_REVERSE}</li> 591adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * </ul> 592adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 593adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is an error while accessing the database or if the 594adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * fetch direction is unrecognized. 595adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 596adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void setFetchDirection(int direction) throws SQLException; 597adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 598adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 599adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Sets the fetch size. This is a hint to the JDBC driver about how many 600adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * rows should be fetched from the database when more are required by 601adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * application processing. 602f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 603adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param rows 604adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the number of rows that should be fetched. {@code 0} tells the driver 605adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * to ignore the hint. Should be less than {@code getMaxRows} for 606adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * this statement. Should not be negative. 607adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 608adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database, or if the rows 609adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * parameter is out of range. 610adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 611adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void setFetchSize(int rows) throws SQLException; 612adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 613adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 614adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Sets the maximum number of bytes for {@code ResultSet} columns that 615adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * contain character or binary values. This applies to {@code BINARY}, 616adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * {@code VARBINARY}, {@code LONGVARBINARY}, {@code CHAR}, {@code VARCHAR}, 617adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * and {@code LONGVARCHAR} fields. Any data exceeding the maximum size is 618adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * abandoned without announcement. 619f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 620adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param max 621adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the maximum field size in bytes. {@code 0} means "no limit". 622adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 623adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database or the {@code max} 624adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * value is < {@code 0}. 625adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 626adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void setMaxFieldSize(int max) throws SQLException; 627adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 628adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 629adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Sets the maximum number of rows that any {@code ResultSet} can contain. 630adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * If the number of rows exceeds this value, the additional rows are 631adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * silently discarded. 632f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 633adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param max 634adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the maximum number of rows. {@code 0} means "no limit". 635adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 636adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database or if max < {@code 637adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * 0}. 638adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 639adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void setMaxRows(int max) throws SQLException; 640adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 641adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 642adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Sets the timeout, in seconds, for queries - how long the driver will 643adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * allow for completion of a statement execution. If the timeout is 644adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * exceeded, the query will throw an {@code SQLException}. 645f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 646adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param seconds 647adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * timeout in seconds. 0 means no timeout ("wait forever") 648adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 649adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if an error occurs accessing the database or if seconds < 650adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * {@code 0}. 651adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 652adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public void setQueryTimeout(int seconds) throws SQLException; 65336b3cdfbcd219d0308753d919638262c16fd34daJeremy Sharpe 65436b3cdfbcd219d0308753d919638262c16fd34daJeremy Sharpe /** 655f3cc41ede7af1dd683e1a55eabc8f36963aec8abElliott Hughes * Returns true if this statement has been closed, false otherwise. 65636b3cdfbcd219d0308753d919638262c16fd34daJeremy Sharpe */ 65736b3cdfbcd219d0308753d919638262c16fd34daJeremy Sharpe public boolean isClosed() throws SQLException; 65836b3cdfbcd219d0308753d919638262c16fd34daJeremy Sharpe 659f3cc41ede7af1dd683e1a55eabc8f36963aec8abElliott Hughes /** 660f3cc41ede7af1dd683e1a55eabc8f36963aec8abElliott Hughes * Hints whether this statement should be pooled. Defaults to false for {@code Statement}, 661f3cc41ede7af1dd683e1a55eabc8f36963aec8abElliott Hughes * but true for {@code CallableStatement} and {@code PreparedStatement}. Pool manager 662f3cc41ede7af1dd683e1a55eabc8f36963aec8abElliott Hughes * implementations may or may not honor this hint. 663f3cc41ede7af1dd683e1a55eabc8f36963aec8abElliott Hughes */ 66436b3cdfbcd219d0308753d919638262c16fd34daJeremy Sharpe public void setPoolable(boolean poolable) throws SQLException; 66536b3cdfbcd219d0308753d919638262c16fd34daJeremy Sharpe 666f3cc41ede7af1dd683e1a55eabc8f36963aec8abElliott Hughes /** 667f3cc41ede7af1dd683e1a55eabc8f36963aec8abElliott Hughes * Returns true if this statement is poolable, false otherwise. 668f3cc41ede7af1dd683e1a55eabc8f36963aec8abElliott Hughes */ 66936b3cdfbcd219d0308753d919638262c16fd34daJeremy Sharpe public boolean isPoolable() throws SQLException; 670adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 671