1*cdf0e10cSrcweir/************************************************************************* 2*cdf0e10cSrcweir * 3*cdf0e10cSrcweir * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4*cdf0e10cSrcweir * 5*cdf0e10cSrcweir * Copyright 2000, 2010 Oracle and/or its affiliates. 6*cdf0e10cSrcweir * 7*cdf0e10cSrcweir * OpenOffice.org - a multi-platform office productivity suite 8*cdf0e10cSrcweir * 9*cdf0e10cSrcweir * This file is part of OpenOffice.org. 10*cdf0e10cSrcweir * 11*cdf0e10cSrcweir * OpenOffice.org is free software: you can redistribute it and/or modify 12*cdf0e10cSrcweir * it under the terms of the GNU Lesser General Public License version 3 13*cdf0e10cSrcweir * only, as published by the Free Software Foundation. 14*cdf0e10cSrcweir * 15*cdf0e10cSrcweir * OpenOffice.org is distributed in the hope that it will be useful, 16*cdf0e10cSrcweir * but WITHOUT ANY WARRANTY; without even the implied warranty of 17*cdf0e10cSrcweir * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18*cdf0e10cSrcweir * GNU Lesser General Public License version 3 for more details 19*cdf0e10cSrcweir * (a copy is included in the LICENSE file that accompanied this code). 20*cdf0e10cSrcweir * 21*cdf0e10cSrcweir * You should have received a copy of the GNU Lesser General Public License 22*cdf0e10cSrcweir * version 3 along with OpenOffice.org. If not, see 23*cdf0e10cSrcweir * <http://www.openoffice.org/license.html> 24*cdf0e10cSrcweir * for a copy of the LGPLv3 License. 25*cdf0e10cSrcweir * 26*cdf0e10cSrcweir ************************************************************************/ 27*cdf0e10cSrcweir#ifndef __com_sun_star_sdbc_XResultSetMetaData_idl__ 28*cdf0e10cSrcweir#define __com_sun_star_sdbc_XResultSetMetaData_idl__ 29*cdf0e10cSrcweir 30*cdf0e10cSrcweir#ifndef __com_sun_star_uno_XInterface_idl__ 31*cdf0e10cSrcweir#include <com/sun/star/uno/XInterface.idl> 32*cdf0e10cSrcweir#endif 33*cdf0e10cSrcweir 34*cdf0e10cSrcweir#ifndef __com_sun_star_sdbc_SQLException_idl__ 35*cdf0e10cSrcweir#include <com/sun/star/sdbc/SQLException.idl> 36*cdf0e10cSrcweir#endif 37*cdf0e10cSrcweir 38*cdf0e10cSrcweir module com { module sun { module star { module sdbc { 39*cdf0e10cSrcweir 40*cdf0e10cSrcweir 41*cdf0e10cSrcweir/** can be used to find out about the types and properties 42*cdf0e10cSrcweir of the columns in a ResultSet. 43*cdf0e10cSrcweir */ 44*cdf0e10cSrcweirpublished interface XResultSetMetaData: com::sun::star::uno::XInterface 45*cdf0e10cSrcweir{ 46*cdf0e10cSrcweir 47*cdf0e10cSrcweir /** returns the number of columns in this ResultSet. 48*cdf0e10cSrcweir @returns 49*cdf0e10cSrcweir the column count 50*cdf0e10cSrcweir @throws SQLException 51*cdf0e10cSrcweir if a database access error occurs. 52*cdf0e10cSrcweir */ 53*cdf0e10cSrcweir long getColumnCount() raises (SQLException); 54*cdf0e10cSrcweir //------------------------------------------------------------------------- 55*cdf0e10cSrcweir 56*cdf0e10cSrcweir /** indicates whether the column is automatically numbered, thus read-only. 57*cdf0e10cSrcweir @param column 58*cdf0e10cSrcweir the first column is 1, the second is 2, 59*cdf0e10cSrcweir @returns 60*cdf0e10cSrcweir <TRUE/> if so 61*cdf0e10cSrcweir @throws SQLException 62*cdf0e10cSrcweir if a database access error occurs. 63*cdf0e10cSrcweir */ 64*cdf0e10cSrcweir boolean isAutoIncrement([in]long column) raises (SQLException); 65*cdf0e10cSrcweir //------------------------------------------------------------------------- 66*cdf0e10cSrcweir 67*cdf0e10cSrcweir /** indicates whether a column's case matters. 68*cdf0e10cSrcweir @param column 69*cdf0e10cSrcweir the first column is 1, the second is 2, 70*cdf0e10cSrcweir @returns 71*cdf0e10cSrcweir <TRUE/> if so 72*cdf0e10cSrcweir @throws SQLException 73*cdf0e10cSrcweir if a database access error occurs. 74*cdf0e10cSrcweir */ 75*cdf0e10cSrcweir boolean isCaseSensitive([in]long column) raises (SQLException); 76*cdf0e10cSrcweir //------------------------------------------------------------------------- 77*cdf0e10cSrcweir 78*cdf0e10cSrcweir /** indicates whether the column can be used in a where clause. 79*cdf0e10cSrcweir @param column 80*cdf0e10cSrcweir the first column is 1, the second is 2, 81*cdf0e10cSrcweir @returns 82*cdf0e10cSrcweir <TRUE/> if so 83*cdf0e10cSrcweir @throws SQLException 84*cdf0e10cSrcweir if a database access error occurs. 85*cdf0e10cSrcweir */ 86*cdf0e10cSrcweir boolean isSearchable([in]long column) raises (SQLException); 87*cdf0e10cSrcweir //------------------------------------------------------------------------- 88*cdf0e10cSrcweir 89*cdf0e10cSrcweir /** indicates whether the column is a cash value. 90*cdf0e10cSrcweir @param column 91*cdf0e10cSrcweir the first column is 1, the second is 2, 92*cdf0e10cSrcweir @returns 93*cdf0e10cSrcweir <TRUE/> if so 94*cdf0e10cSrcweir @throws SQLException 95*cdf0e10cSrcweir if a database access error occurs. 96*cdf0e10cSrcweir */ 97*cdf0e10cSrcweir boolean isCurrency([in]long column) raises (SQLException); 98*cdf0e10cSrcweir //------------------------------------------------------------------------- 99*cdf0e10cSrcweir 100*cdf0e10cSrcweir /** indicates the nullability of values in the designated column.@see com::sun::star::sdbc::ColumnValue 101*cdf0e10cSrcweir @param column 102*cdf0e10cSrcweir the first column is 1, the second is 2, 103*cdf0e10cSrcweir @returns 104*cdf0e10cSrcweir <TRUE/> if so 105*cdf0e10cSrcweir @throws SQLException 106*cdf0e10cSrcweir if a database access error occurs. 107*cdf0e10cSrcweir */ 108*cdf0e10cSrcweir long isNullable([in]long column) raises (SQLException); 109*cdf0e10cSrcweir //------------------------------------------------------------------------- 110*cdf0e10cSrcweir 111*cdf0e10cSrcweir /** indicates whether values in the column are signed numbers. 112*cdf0e10cSrcweir @param column 113*cdf0e10cSrcweir the first column is 1, the second is 2, 114*cdf0e10cSrcweir @returns 115*cdf0e10cSrcweir <TRUE/> if so 116*cdf0e10cSrcweir @throws SQLException 117*cdf0e10cSrcweir if a database access error occurs. 118*cdf0e10cSrcweir */ 119*cdf0e10cSrcweir boolean isSigned([in]long column) raises (SQLException); 120*cdf0e10cSrcweir //------------------------------------------------------------------------- 121*cdf0e10cSrcweir 122*cdf0e10cSrcweir /** indicates the column's normal max width in chars. 123*cdf0e10cSrcweir @param column 124*cdf0e10cSrcweir the first column is 1, the second is 2, 125*cdf0e10cSrcweir @returns 126*cdf0e10cSrcweir the normal maximum number of characters allowed as the width of the designated column 127*cdf0e10cSrcweir @throws SQLException 128*cdf0e10cSrcweir if a database access error occurs. 129*cdf0e10cSrcweir */ 130*cdf0e10cSrcweir long getColumnDisplaySize([in]long column) raises (SQLException); 131*cdf0e10cSrcweir //------------------------------------------------------------------------- 132*cdf0e10cSrcweir 133*cdf0e10cSrcweir /** gets the suggested column title for use in printouts and 134*cdf0e10cSrcweir displays. 135*cdf0e10cSrcweir @param column 136*cdf0e10cSrcweir the first column is 1, the second is 2, 137*cdf0e10cSrcweir @returns 138*cdf0e10cSrcweir the suggested column title 139*cdf0e10cSrcweir @throws SQLException 140*cdf0e10cSrcweir if a database access error occurs. 141*cdf0e10cSrcweir */ 142*cdf0e10cSrcweir string getColumnLabel([in]long column) raises (SQLException); 143*cdf0e10cSrcweir //------------------------------------------------------------------------- 144*cdf0e10cSrcweir 145*cdf0e10cSrcweir /** gets a column's name. 146*cdf0e10cSrcweir @param column 147*cdf0e10cSrcweir the first column is 1, the second is 2, 148*cdf0e10cSrcweir @returns 149*cdf0e10cSrcweir the column name 150*cdf0e10cSrcweir @throws SQLException 151*cdf0e10cSrcweir if a database access error occurs. 152*cdf0e10cSrcweir */ 153*cdf0e10cSrcweir string getColumnName([in]long column) raises (SQLException); 154*cdf0e10cSrcweir //------------------------------------------------------------------------- 155*cdf0e10cSrcweir 156*cdf0e10cSrcweir /** gets a column's table's schema. 157*cdf0e10cSrcweir @param column 158*cdf0e10cSrcweir the first column is 1, the second is 2, 159*cdf0e10cSrcweir @returns 160*cdf0e10cSrcweir the schema name 161*cdf0e10cSrcweir @throws SQLException 162*cdf0e10cSrcweir if a database access error occurs. 163*cdf0e10cSrcweir */ 164*cdf0e10cSrcweir string getSchemaName([in]long column) raises (SQLException); 165*cdf0e10cSrcweir //------------------------------------------------------------------------- 166*cdf0e10cSrcweir 167*cdf0e10cSrcweir /** gets a column's number of decimal digits. 168*cdf0e10cSrcweir @param column 169*cdf0e10cSrcweir the first column is 1, the second is 2, 170*cdf0e10cSrcweir @returns 171*cdf0e10cSrcweir precision 172*cdf0e10cSrcweir @throws SQLException 173*cdf0e10cSrcweir if a database access error occurs. 174*cdf0e10cSrcweir */ 175*cdf0e10cSrcweir long getPrecision([in]long column) raises (SQLException); 176*cdf0e10cSrcweir //------------------------------------------------------------------------- 177*cdf0e10cSrcweir 178*cdf0e10cSrcweir /** gets a column's number of digits to right of the decimal point. 179*cdf0e10cSrcweir @param column 180*cdf0e10cSrcweir the first column is 1, the second is 2, 181*cdf0e10cSrcweir @returns 182*cdf0e10cSrcweir scale 183*cdf0e10cSrcweir @throws SQLException 184*cdf0e10cSrcweir if a database access error occurs. 185*cdf0e10cSrcweir */ 186*cdf0e10cSrcweir long getScale([in]long column) raises (SQLException); 187*cdf0e10cSrcweir //------------------------------------------------------------------------- 188*cdf0e10cSrcweir 189*cdf0e10cSrcweir /** gets a column's table name. 190*cdf0e10cSrcweir @param column 191*cdf0e10cSrcweir the first column is 1, the second is 2, 192*cdf0e10cSrcweir @returns 193*cdf0e10cSrcweir the table name 194*cdf0e10cSrcweir @throws SQLException 195*cdf0e10cSrcweir if a database access error occurs. 196*cdf0e10cSrcweir */ 197*cdf0e10cSrcweir string getTableName([in]long column) raises (SQLException); 198*cdf0e10cSrcweir //------------------------------------------------------------------------- 199*cdf0e10cSrcweir 200*cdf0e10cSrcweir /** gets a column's table's catalog name. 201*cdf0e10cSrcweir @param column 202*cdf0e10cSrcweir the first column is 1, the second is 2, 203*cdf0e10cSrcweir @returns 204*cdf0e10cSrcweir the catalog name 205*cdf0e10cSrcweir @throws SQLException 206*cdf0e10cSrcweir if a database access error occurs. 207*cdf0e10cSrcweir */ 208*cdf0e10cSrcweir string getCatalogName([in]long column) raises (SQLException); 209*cdf0e10cSrcweir //------------------------------------------------------------------------- 210*cdf0e10cSrcweir 211*cdf0e10cSrcweir /** retrieves a column's SQL type. 212*cdf0e10cSrcweir @param column 213*cdf0e10cSrcweir the first column is 1, the second is 2, 214*cdf0e10cSrcweir @returns 215*cdf0e10cSrcweir the column type 216*cdf0e10cSrcweir @throws SQLException 217*cdf0e10cSrcweir if a database access error occurs. 218*cdf0e10cSrcweir */ 219*cdf0e10cSrcweir long getColumnType([in]long column) raises (SQLException); 220*cdf0e10cSrcweir //------------------------------------------------------------------------- 221*cdf0e10cSrcweir 222*cdf0e10cSrcweir /** retrieves a column's database-specific type name. 223*cdf0e10cSrcweir @param column 224*cdf0e10cSrcweir the first column is 1, the second is 2, 225*cdf0e10cSrcweir @returns 226*cdf0e10cSrcweir the type name 227*cdf0e10cSrcweir @throws SQLException 228*cdf0e10cSrcweir if a database access error occurs. 229*cdf0e10cSrcweir */ 230*cdf0e10cSrcweir string getColumnTypeName([in]long column) raises (SQLException); 231*cdf0e10cSrcweir //------------------------------------------------------------------------- 232*cdf0e10cSrcweir 233*cdf0e10cSrcweir /** indicates whether a column is definitely not writable. 234*cdf0e10cSrcweir @param column 235*cdf0e10cSrcweir the first column is 1, the second is 2, 236*cdf0e10cSrcweir @returns 237*cdf0e10cSrcweir <TRUE/> if so 238*cdf0e10cSrcweir @throws SQLException 239*cdf0e10cSrcweir if a database access error occurs. 240*cdf0e10cSrcweir */ 241*cdf0e10cSrcweir boolean isReadOnly([in]long column) raises (SQLException); 242*cdf0e10cSrcweir //------------------------------------------------------------------------- 243*cdf0e10cSrcweir 244*cdf0e10cSrcweir /** indicates whether it is possible for a write on the column to succeed. 245*cdf0e10cSrcweir @param column 246*cdf0e10cSrcweir the first column is 1, the second is 2, 247*cdf0e10cSrcweir @returns 248*cdf0e10cSrcweir <TRUE/> if so 249*cdf0e10cSrcweir @throws SQLException 250*cdf0e10cSrcweir if a database access error occurs. 251*cdf0e10cSrcweir */ 252*cdf0e10cSrcweir boolean isWritable([in]long column) raises (SQLException); 253*cdf0e10cSrcweir //------------------------------------------------------------------------- 254*cdf0e10cSrcweir 255*cdf0e10cSrcweir /** indicates whether a write on the column will definitely succeed. 256*cdf0e10cSrcweir @param column 257*cdf0e10cSrcweir the first column is 1, the second is 2, 258*cdf0e10cSrcweir @returns 259*cdf0e10cSrcweir <TRUE/> if so 260*cdf0e10cSrcweir @throws SQLException 261*cdf0e10cSrcweir if a database access error occurs. 262*cdf0e10cSrcweir */ 263*cdf0e10cSrcweir boolean isDefinitelyWritable([in]long column) raises (SQLException); 264*cdf0e10cSrcweir //------------------------------------------------------------------------- 265*cdf0e10cSrcweir 266*cdf0e10cSrcweir /** returns the fully-qualified name of the service whose instances 267*cdf0e10cSrcweir are manufactured if the method 268*cdf0e10cSrcweir <member scope="com::sun::star::sdbc">XResultSet::.getObject()</member> 269*cdf0e10cSrcweir is called to retrieve a value from the column. 270*cdf0e10cSrcweir @param column 271*cdf0e10cSrcweir the first column is 1, the second is 2, 272*cdf0e10cSrcweir @returns 273*cdf0e10cSrcweir the service name 274*cdf0e10cSrcweir @throws SQLException 275*cdf0e10cSrcweir if a database access error occurs. 276*cdf0e10cSrcweir */ 277*cdf0e10cSrcweir string getColumnServiceName([in]long column) raises (SQLException); 278*cdf0e10cSrcweir}; 279*cdf0e10cSrcweir 280*cdf0e10cSrcweir//============================================================================= 281*cdf0e10cSrcweir 282*cdf0e10cSrcweir}; }; }; }; 283*cdf0e10cSrcweir 284*cdf0e10cSrcweir/*=========================================================================== 285*cdf0e10cSrcweir===========================================================================*/ 286*cdf0e10cSrcweir#endif 287