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