blob: 4534d1d1142ba03bab9d473d907a68d1b89c065e [file] [log] [blame]
/**************************************************************
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*
*************************************************************/
#ifndef __com_sun_star_sdbc_XClob_idl__
#define __com_sun_star_sdbc_XClob_idl__
#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
module com { module sun { module star { module io {
published interface XInputStream;
};};};};
#ifndef __com_sun_star_sdbc_SQLException_idl__
#include <com/sun/star/sdbc/SQLException.idl>
#endif
module com { module sun { module star { module sdbc {
/** is the mapping for the SQL
<code>CLOB</code>
type.
<p>
A SQL
<code>CLOB</code>
is a built-in type
that stores a Character Large Object as a column value in a row of
a database table.
The driver implements a
<code>Clob</code>
object using a SQL
<code>locator(CLOB)</code>
, which means that a
<code>Clob</code>
object
contains a logical pointer to the SQL
<code>CLOB</code>
data rather than
the data itself. A
<code>Clob</code>
object is valid for the duration
of the transaction in which it was created.
</p>
<p>
The
<code>Clob</code>
interface provides methods for getting the
length of a SQL
<code>CLOB</code>
(Character Large Object) value,
for materializing a
<code>CLOB</code>
value on the client, and for
searching for a substring or
<code>CLOB</code>
object within a
<code>CLOB</code>
value.
</p>
<p>
Methods in the interfaces
<type scope="com::sun::star::sdbc">XResultSet</type>
,
and
<type scope="com::sun::star::sdbc">XPreparedStatement</type>
, such as
<code>getClob</code>
and
<code>setClob</code>
allow a programmer to
access the SQL
<code>CLOB</code>
.
</p>
*/
published interface XClob: com::sun::star::uno::XInterface
{
//-------------------------------------------------------------------------
/** returns the number of characters in the
<code>CLOB</code>
value
designated by this
<code>Clob</code>
object.
@returns
the length of the CLOB object
@throws SQLException
if a database access error occurs.
*/
hyper length() raises (SQLException);
//-------------------------------------------------------------------------
/** returns a copy of the specified substring in the
<code>Clob</code>
value
designated by this
<code>Clob</code>
object.
<p>
The substring begins at position <code>pos</code> and has up
to
<code>length</code>
consecutive characters.
</p>
@param pos
the starting position
@param length
the length of the substring
@returns
the substring
@throws SQLException
if a database access error occurs.
*/
string getSubString([in]hyper pos, [in]long length) raises (SQLException);
//-------------------------------------------------------------------------
/** gets the
<code>Clob</code>
contents as a stream.
@returns
the stream
@throws SQLException
if a database access error occurs.
*/
com::sun::star::io::XInputStream getCharacterStream() raises (SQLException);
//-------------------------------------------------------------------------
/** determines the character position at which the specified substring
<code>searchstr</code>
appears in the
<code>Clob</code>
. The search begins at position
<code>start</code>
.
@param searchstr
the string to search
@param start
the starting position
@returns
the length of the CLOB object
@throws SQLException
if a database access error occurs.
*/
hyper position([in]string searchstr, [in]long start)
raises (SQLException);
//-------------------------------------------------------------------------
/** determines the position at which the specified
<code>Clob</code>
object
<code>pattern</code>
appears in this
<code>Clob</code>
object. The search begins at position
<code>start</code>
.
@param pattern
the CLOB to search
@param start
the starting position
@returns
the position of the CLOB inside
@throws SQLException
if a database access error occurs.
*/
hyper positionOfClob([in]XClob pattern, [in]hyper start)
raises (SQLException);
};
//=============================================================================
}; }; }; };
/*===========================================================================
===========================================================================*/
#endif