xref: /aoo41x/main/offapi/com/sun/star/sdbc/RowSet.idl (revision cdf0e10c)
1/*************************************************************************
2 *
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
6 *
7 * OpenOffice.org - a multi-platform office productivity suite
8 *
9 * This file is part of OpenOffice.org.
10 *
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
14 *
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
20 *
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org.  If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
25 *
26 ************************************************************************/
27#ifndef __com_sun_star_sdbc_RowSet_idl__
28#define __com_sun_star_sdbc_RowSet_idl__
29
30#ifndef __com_sun_star_sdbc_ResultSet_idl__
31#include <com/sun/star/sdbc/ResultSet.idl>
32#endif
33#ifndef __com_sun_star_sdbc_XColumnLocate_idl__
34#include <com/sun/star/sdbc/XColumnLocate.idl>
35#endif
36
37 module com {  module sun {  module star {  module container {
38 published interface XNameAccess;
39};};};};
40
41 module com {  module sun {  module star {  module sdbc {
42
43 published interface XRowSet;
44 published interface XParameters;
45
46
47/** is a client side ResultSet, which combines the characteristics of a
48	<type scope="com::sun::star::sdbc">Statement</type>
49	and a
50	<type scope="com::sun::star::sdbc">ResultSet</type>.
51
52
53	<p>
54	It acts like a typical bean. Before you use the RowSet, you have to specify a
55	set of properties like a DataSource and a Command and other properties known of
56	Statement.
57	<br/>
58	Afterwards, you can populate the RowSet by its execute method to fill the set
59	with data.
60	</p>
61	<p>
62	On the one hand, a RowSet can be used as a short cut to retrieve the data of a DataSource.
63	You don't have to establish a connection, create a Statement, and then create
64	a ResultSet. On the other hand, a rowset can be used to implement capabilties for
65	a result set, which are not supported by a driver result set, like caching
66	strategies or update capabilities.
67	</p>
68 */
69published service RowSet
70{
71	service com::sun::star::sdbc::ResultSet;
72
73	/** used to execute and to add/remove listeners.
74
75        <p>To refresh the content of a <type>RowSet</type>, use this interface's <member>XRowSet::execute</member>
76        method.</p>
77    */
78	interface XRowSet;
79
80	// used to set parameters.
81	interface XParameters;
82
83	/** allows locating columns which's name is known only.
84	*/
85	interface XColumnLocate;
86
87	/** is the name of a named datasource to use.@see com::sun::star::sdbc:XDataSource
88	 */
89	[property] string DataSourceName;
90
91
92	/** is the connection URL. Could be used instead of the DataSourceName.
93	 */
94	[property] string URL;
95
96
97	/** is the command which should be executed.
98	 */
99	[property] string Command;
100
101
102	/** indicates the transaction isolation level, which should be used for the
103		connection.@see com::sun::star::sdbc::TransactionIsolation
104	 */
105	[property] long TransactionIsolation;
106
107
108	/** is the type map that will be used for the custom mapping of SQL structured types
109		and distinct types.
110	 */
111	[property] com::sun::star::container::XNameAccess TypeMap;
112
113
114	/** returns if escape processing is on or off.
115		If escape scanning is on (the default), the driver will do
116		escape substitution before sending the SQL to the database.
117		This is only evaluated, if the CommandType is COMMAND.
118	 */
119	[property] boolean EscapeProcessing;
120
121
122	/** retrieves the number of seconds the driver will wait for a Statement
123		to execute. If the limit is exceeded, a
124		<type scope="com::sun::star::sdbc">SQLException</type>
125		is thrown.
126		There is no limitation, if set to zero.
127	 */
128	[property] long QueryTimeOut;
129
130
131	/** returns the maximum number of bytes allowed for any column value.
132
133		<p>
134		This limit is the maximum number of bytes that can be returned
135		for any column value. The limit applies only to
136		<member scope= "com::sun::star::sdbc">DataType::BINARY</member>
137			  ,
138			  <member scope= "com::sun::star::sdbc">DataType::VARBINARY</member>
139			  ,
140			  <member scope= "com::sun::star::sdbc">DataType::LONGVARBINARY</member>
141			  ,
142			  <member scope= "com::sun::star::sdbc">DataType::CHAR</member>
143			  ,
144			  <member scope= "com::sun::star::sdbc">DataType::VARCHAR</member>
145			  ,
146			  and
147			  <member scope= "com::sun::star::sdbc">DataType::LONGVARCHAR</member>
148			  columns.
149		If the limit is exceeded, the excess data is silently discarded.
150		<br/>
151		There is no limitation, if set to zero.
152		</p>
153	 */
154	[property] long MaxFieldSize;
155
156
157	/** retrieves the maximum number of rows that a ResultSet can contain.
158		If the limit is exceeded, the excess rows are silently dropped.
159		<br/>
160		There is no limitation, if set to zero.
161	 */
162	[property] long MaxRows;
163
164
165	/** determines the user for whom to open the connection.
166	 */
167	[property] string User;
168
169
170	/** determines the user for whom to open the connection.
171	 */
172	[property] string Password;
173
174
175	/** determine the result set type.
176
177		@see com::sun::star::sdbc::ResultSetType
178	 */
179	[property] long ResultSetType;
180};
181
182//=============================================================================
183
184}; }; }; };
185
186/*===========================================================================
187===========================================================================*/
188#endif
189