1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_sdbc_XBlob_idl__
20 #define __com_sun_star_sdbc_XBlob_idl__
22 #include
<com
/sun
/star
/uno
/XInterface.idl
>
24 module com
{ module sun
{ module star
{ module io
{
25 published
interface XInputStream
;
28 #include
<com
/sun
/star
/sdbc
/SQLException.idl
>
30 module com
{ module sun
{ module star
{ module sdbc
{
33 /** is the representation (mapping) of an SQL <i>BLOB</i>.
40 is a built-in type that stores a
41 Binary Large Object as a column value in a row of a database table.
48 <code>locator(BLOB)</code>
51 object contains a logical pointer to the SQL
55 data rather than the data itself.
59 object is valid for the duration of the transaction in which is was created.
63 Methods in the interfaces
64 com::sun::star::sdbc::XResultSet
67 com::sun::star::sdbc::XPreparedStatement
72 allow a programmer to access the SQL
77 interface provides methods for getting the length of a SQL
81 (Binary Large Object) value, for materializing a
85 value on the client and for determining the position of a pattern of bytes within a
92 published
interface XBlob
: com
::sun
::star
::uno
::XInterface
95 /** returns the number of bytes in the
106 if a database access error occurs.
108 hyper length
() raises
(SQLException
);
111 /** returns as an array of bytes part or all of the
117 object designates. The byte
124 is the ordinal position of the first byte in the
128 value to be extracted; the first byte is at
131 is the number of consecutive bytes to be copied.
133 a byte array containing up to
135 consecutive bytes from the
142 object, starting with the byte at position
145 if there is an error accessing the <i>BLOB</i>.
147 sequence
<byte> getBytes
([in]hyper pos
, [in]long length
)
148 raises
(SQLException
);
157 instance as a stream.
161 if a database access error occurs.
163 com
::sun
::star
::io
::XInputStream getBinaryStream
()
164 raises
(SQLException
);
166 /** determines the byte position at which the specified byte
174 object represents. The
177 begins at position <code>start</code>.
180 the pattern to search
182 the start position for the search
186 if a database access error occurs.
188 hyper position
([in]sequence
<byte> pattern
, [in]hyper start
)
189 raises
(SQLException
);
192 /** determines the byte position in the
201 begins. The search begins at position <code>start</code>.
203 the pattern to search
209 if a database access error occurs.
211 hyper positionOfBlob
([in]XBlob pattern
,[in] hyper start
)
212 raises
(SQLException
);
218 /*===========================================================================
219 ===========================================================================*/
222 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */