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