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 * Provides information about the columns returned in a {@code ResultSet}. 22adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 2336b3cdfbcd219d0308753d919638262c16fd34daJeremy Sharpepublic interface ResultSetMetaData extends Wrapper { 24adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 25adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 26adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Indicates that a column cannot contain {@code NULL} values. 27adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 28adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final int columnNoNulls = 0; 29adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 30adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 31adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Indicates that a column can contain {@code NULL} values. 32adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 33adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final int columnNullable = 1; 34adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 35adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 36adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Indicates that it is unknown whether a column can contain {@code NULL}s or not. 37adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 38adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public static final int columnNullableUnknown = 2; 39adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 40adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 41adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns the title of an indexed column's catalog. 42f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 43adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 44adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 45adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the catalog title. 46adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 47adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 48adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 49adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public String getCatalogName(int column) throws SQLException; 50adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 51adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 52adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns the fully-qualified type of the class that is produced when 53adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * invoking {@code ResultSet.getObject} to recover this column's value. 54f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 55adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 56adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 57adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the fully-qualified class name. 58adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 59adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 60adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @see ResultSet#getObject 61adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 62adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public String getColumnClassName(int column) throws SQLException; 63adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 64adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 65adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns number of columns contained in the associated result set. 66f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 67adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the column count. 68adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 69adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 70adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 71adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int getColumnCount() throws SQLException; 72adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 73adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 74adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns the indexed column's standard maximum width, expressed in number 75adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * of characters. 76f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 77adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 78adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 79adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the column's max width. 80adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 81adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 82adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 83adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int getColumnDisplaySize(int column) throws SQLException; 84adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 85adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 86adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns a recommended title for the indexed column, to be used when the 87adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * title needs to be displayed. 88f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 89adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 90adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 91adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the column's title. 92adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 93adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 94adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 95adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public String getColumnLabel(int column) throws SQLException; 96adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 97adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 98adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns the title of the indexed column. 99f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 100adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 101adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 102adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the column title. 103adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 104adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 105adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 106adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public String getColumnName(int column) throws SQLException; 107adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 108adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 109adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns the type of the indexed column as SQL type code. 110f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 111adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 112adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 113adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the column type code. 114adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 115adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 116adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @see Types 117adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 118adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int getColumnType(int column) throws SQLException; 119adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 120adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 121adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns the type name of the indexed column. 122f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 123adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 124adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 125adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the type name. 126adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 127adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 128adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 129adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public String getColumnTypeName(int column) throws SQLException; 130adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 131adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 132adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns the decimal precision of the indexed column. 133f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 134adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 135adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 136adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the precision. 137adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 138adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 139adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 140adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int getPrecision(int column) throws SQLException; 141adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 142adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 143adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns the number of digits to the right of the decimal point of the 144adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * indexed column. 145f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 146adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 147adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 148adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return number of decimal places. 149adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 150adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 151adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 152adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int getScale(int column) throws SQLException; 153adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 154adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 155adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns the name of the indexed columns schema. 156f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 157adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 158adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 159adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the name of the columns schema. 160adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 161adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 162adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 163adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public String getSchemaName(int column) throws SQLException; 164adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 165adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 166adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns the title of the indexed columns table. 167f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 168adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 169adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 170adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return the table title. 171adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 172adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 173adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 174adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public String getTableName(int column) throws SQLException; 175adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 176adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 177adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns an indication of whether the indexed column is automatically 178adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * incremented and is therefore read-only. 179f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 180adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 181adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 182adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code true} if it is automatically numbered, {@code false} 183adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * otherwise. 184adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 185adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 186adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 187adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean isAutoIncrement(int column) throws SQLException; 188adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 189adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 190adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns an indication of whether the case of the indexed column is 191adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * important. 192f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 193adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 194adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 195adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code true} if case matters, {@code false} otherwise. 196adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 197adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 198adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 199adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean isCaseSensitive(int column) throws SQLException; 200adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 201adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 202adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns whether the indexed column contains a monetary amount. 203f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 204adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 205adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 206adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code true} if it is a monetary value, {@code false} otherwise. 207adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 208adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 209adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 210adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean isCurrency(int column) throws SQLException; 211adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 212adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 213adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns an indication of whether writing to the indexed column is 214adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * guaranteed to be successful. 215f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 216adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 217adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 218adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code true} if the write is guaranteed, {@code false} otherwise. 219adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 220adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 221adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 222adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean isDefinitelyWritable(int column) throws SQLException; 223adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 224adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 225adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns whether the indexed column is nullable. 226f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 227adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 228adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 229adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code true} if it is nullable, {@code false} otherwise. 230adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 231adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 232adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 233adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public int isNullable(int column) throws SQLException; 234adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 235adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 236adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns an indication of whether writing to the indexed column is 237adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * guaranteed to be unsuccessful. 238f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 239adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 240adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 241adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code true} if the column is read-only, {@code false} otherwise. 242adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 243adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 244adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 245adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean isReadOnly(int column) throws SQLException; 246adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 247adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 248adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns an indication of whether the indexed column is searchable. 249f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 250adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 251adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 252adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code true} if the indexed column is searchable, {@code false} 253adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * otherwise. 254adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 255adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 256adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 257adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean isSearchable(int column) throws SQLException; 258adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 259adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 260adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns an indication of whether the values contained in the indexed 261adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * column are signed. 262f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 263adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 264adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 265adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code true} if they are signed, {@code false} otherwise. 266adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 267adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 268adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 269adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean isSigned(int column) throws SQLException; 270adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project 271adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project /** 272adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * Returns an indication of whether writing to the indexed column is 273adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * possible. 274f33eae7e84eb6d3b0f4e86b59605bb3de73009f3Elliott Hughes * 275adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @param column 276adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * the column index, starting at 1. 277adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @return {@code true} if it is possible to write, {@code false} otherwise. 278adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * @throws SQLException 279adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project * if there is a database error. 280adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project */ 281adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project public boolean isWritable(int column) throws SQLException; 282adc854b798c1cfe3bfd4c27d68d5cee38ca617daThe Android Open Source Project} 283