| /************************************************************** |
| * |
| * 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_XBlob_idl__ |
| #define __com_sun_star_sdbc_XBlob_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 representation (mapping) of an SQL |
| <i> |
| BLOB |
| </i> |
| . |
| |
| <p> |
| A SQL |
| <i> |
| BLOB |
| </i> |
| is a built-in type that stores a |
| Binary Large Object as a column value in a row of a database table. |
| The driver implements |
| <i> |
| BLOB |
| </i> |
| using a |
| SQL |
| <code>locator(BLOB)</code> |
| , which means that a |
| <code>Blob</code> |
| object contains a logical pointer to the SQL |
| <i> |
| BLOB |
| </i> |
| data rather than the data itself. |
| <br/> |
| A |
| <code>Blob</code> |
| object is valid for the duration of the transaction in which is was created. |
| |
| </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>getBlob</code> |
| and |
| <code>setBlob</code> |
| allow a programmer to access the SQL |
| <i> |
| BLOB |
| </i> |
| . |
| <br/> |
| The |
| <code>Blob</code> |
| interface provides methods for getting the length of a SQL |
| <i> |
| BLOB |
| </i> |
| (Binary Large Object) value, for materializing a |
| <i> |
| BLOB |
| </i> |
| value on the client and for determining the position of a pattern of bytes within a |
| <i> |
| BLOB |
| </i> |
| value. |
| </p> |
| */ |
| published interface XBlob: com::sun::star::uno::XInterface |
| { |
| //------------------------------------------------------------------------- |
| |
| /** returns the number of bytes in the |
| <i> |
| BLOB |
| </i> |
| value |
| designated by this |
| <code>Blob</code> |
| object. |
| @returns |
| the length |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| hyper length() raises (SQLException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** returns as an array of bytes part or all of the |
| <i> |
| BLOB |
| </i> |
| value that this |
| <code>Blob</code> |
| object designates. The byte |
| array contains up to |
| <code>length</code> |
| consecutive bytes |
| starting at position |
| <code>pos</code>. |
| @param pos |
| is the ordinal position of the first byte in the |
| <i> |
| BLOB |
| </i> |
| value to be extracted; the first byte is at |
| position 1. |
| @param length |
| is the number of consecutive bytes to be copied. |
| @returns |
| a byte array containing up to |
| <code>length</code> |
| consecutive bytes from the |
| <i> |
| BLOB |
| </i> |
| value designated |
| by this |
| <code>Blob</code> |
| object, starting with the byte at position |
| <code>pos</code> |
| . |
| @throws SQLException |
| if there is an error accessing the |
| <i> |
| BLOB |
| </i> |
| . |
| */ |
| sequence<byte> getBytes([in]hyper pos, [in]long length) |
| raises (SQLException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** retrieves the |
| <i> |
| BLOB |
| </i> |
| designated by this |
| <code>Blob</code> |
| instance as a stream. |
| @returns |
| the stream |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| com::sun::star::io::XInputStream getBinaryStream() |
| raises (SQLException); |
| //------------------------------------------------------------------------- |
| |
| /** determines the byte position at which the specified byte |
| <code>pattern</code> |
| begins within the |
| <i> |
| BLOB |
| </i> |
| value that this |
| <code>Blob</code> |
| object represents. The |
| search for |
| <code>pattern</code> |
| begins at position |
| <code>start</code> |
| . |
| @param pattern |
| the pattern to search |
| @returns |
| the position |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| hyper position([in]sequence<byte> pattern, [in]hyper start) |
| raises (SQLException); |
| |
| //------------------------------------------------------------------------- |
| |
| /** determines the byte position in the |
| <i> |
| BLOB |
| </i> |
| value |
| designated by this |
| <code>Blob</code> |
| object at which |
| <code>pattern</code> |
| begins. The search begins at position |
| <code>start</code> |
| . |
| @param pattern |
| the pattern to search |
| @param start |
| position to start |
| @returns |
| the position |
| @throws SQLException |
| if a database access error occurs. |
| */ |
| hyper positionOfBlob([in]XBlob pattern,[in] hyper start) |
| raises (SQLException); |
| }; |
| |
| //============================================================================= |
| |
| }; }; }; }; |
| |
| /*=========================================================================== |
| ===========================================================================*/ |
| #endif |