251 lines
8.7 KiB
Text
251 lines
8.7 KiB
Text
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
|
/*
|
|
* This file is part of the LibreOffice project.
|
|
*
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
*
|
|
* This file incorporates work covered by the following license notice:
|
|
*
|
|
* 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 .
|
|
*/
|
|
|
|
module com { module sun { module star { module io {
|
|
published interface XInputStream;
|
|
};};};};
|
|
|
|
module com { module sun { module star { module sdbc {
|
|
|
|
published interface XRef;
|
|
published interface XArray;
|
|
published interface XBlob;
|
|
published interface XClob;
|
|
|
|
|
|
/** represents an input stream that contains a stream of values representing an
|
|
instance of a SQL structured or distinct type.
|
|
|
|
|
|
<p>
|
|
This interface, used only for custom mapping, is used by the driver
|
|
behind the scenes, and a programmer never directly invokes
|
|
<code>SQLInput</code>
|
|
methods.
|
|
</p>
|
|
<p>
|
|
When the method
|
|
<code>getObject</code>
|
|
is called with an object of a service implementing the interface
|
|
<code>SQLData</code>
|
|
, the SDBC driver calls the method
|
|
com::sun::star::sdbc::XSQLData::getSQLType()
|
|
to determine the SQL type of the user-defined type (UDT) being custom mapped.
|
|
The driver creates an instance of
|
|
com::sun::star::sdbc::XSQLInput
|
|
,
|
|
populating it with the attributes of the UDT. The driver then passes the input
|
|
stream to the method
|
|
com::sun::star::sdbc::XSQLData::readSQL()
|
|
, which in turn calls the
|
|
<code>XSQLInput.readXXX</code>
|
|
methods in its implementation for reading the attributes from the input stream.
|
|
</p>
|
|
*/
|
|
published interface XSQLInput: com::sun::star::uno::XInterface
|
|
{
|
|
|
|
/** reads the next attribute in the stream as string.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
string readString() raises (SQLException);
|
|
|
|
/** reads the next attribute in the stream as boolean.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
boolean readBoolean() raises (SQLException);
|
|
|
|
/** reads the next attribute in the stream as byte.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
byte readByte() raises (SQLException);
|
|
|
|
/** reads the next attribute in the stream as short.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
short readShort() raises (SQLException);
|
|
|
|
/** reads the next attribute in the stream as long.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
long readInt() raises (SQLException);
|
|
|
|
/** reads the next attribute in the stream as hyper.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
hyper readLong() raises (SQLException);
|
|
|
|
/** reads the next attribute in the stream as float.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
float readFloat() raises (SQLException);
|
|
|
|
/** reads the next attribute in the stream as double.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
double readDouble() raises (SQLException);
|
|
|
|
/** reads the next attribute in the stream as sequence of bytes.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
sequence<byte> readBytes() raises (SQLException);
|
|
|
|
/** reads the next attribute in the stream as date.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
com::sun::star::util::Date readDate() raises (SQLException);
|
|
|
|
/** reads the next attribute in the stream as time.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
com::sun::star::util::Time readTime() raises (SQLException);
|
|
|
|
/** reads the next attribute in the stream as datetime.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
com::sun::star::util::DateTime readTimestamp() raises (SQLException);
|
|
|
|
/** reads the next attribute in the stream as sequence of bytes.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
com::sun::star::io::XInputStream readBinaryStream() raises (SQLException);
|
|
|
|
/** reads the next attribute in the stream as a Unicode string.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
com::sun::star::io::XInputStream readCharacterStream() raises (SQLException);
|
|
|
|
/** returns the datum at the head of the stream as an any.
|
|
|
|
|
|
<p>
|
|
The actual type of the any returned is determined by the default
|
|
type mapping, and any customizations present in this stream's type map.
|
|
|
|
<br/>
|
|
A type map is registered with the stream by the SDBC driver before the
|
|
stream is passed to the application.
|
|
|
|
<br/>
|
|
When the datum at the head of the stream is a SQL NULL,
|
|
the method returns `VOID`. If the datum is a SQL structured or distinct
|
|
type, it determines the SQL type of the datum at the head of the stream,
|
|
constructs an object of the appropriate service, and calls the method
|
|
com::sun::star::sdbc::XSQLData::readSQL()
|
|
on that object, which reads additional data
|
|
from the stream using the protocol described for that method.
|
|
|
|
</p>
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
any readObject() raises (SQLException);
|
|
|
|
/** reads a REF(&lt;structured-type&gt;) from the stream.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
XRef readRef() raises (SQLException);
|
|
|
|
/** reads a BLOB from the stream.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
XBlob readBlob() raises (SQLException);
|
|
|
|
/** reads a CLOB from the stream.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
XClob readClob() raises (SQLException);
|
|
|
|
/** reads an array from the stream.
|
|
@returns
|
|
the attribute; if the value is SQL NULL, return null.
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
XArray readArray() raises (SQLException);
|
|
|
|
/** determines whether the last value read was null.
|
|
@returns
|
|
`TRUE` if the most recently gotten SQL value was null; otherwise, `FALSE`
|
|
@throws SQLException
|
|
if a database access error occurs.
|
|
*/
|
|
boolean wasNull() raises (SQLException);
|
|
};
|
|
|
|
|
|
}; }; }; };
|
|
|
|
/*===========================================================================
|
|
===========================================================================*/
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|