summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/sdbc/XResultSet.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/sdbc/XResultSet.idl')
-rw-r--r--offapi/com/sun/star/sdbc/XResultSet.idl310
1 files changed, 310 insertions, 0 deletions
diff --git a/offapi/com/sun/star/sdbc/XResultSet.idl b/offapi/com/sun/star/sdbc/XResultSet.idl
new file mode 100644
index 000000000..d49e33757
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XResultSet.idl
@@ -0,0 +1,310 @@
+/* -*- 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 .
+ */
+#ifndef __com_sun_star_sdbc_XResultSet_idl__
+#define __com_sun_star_sdbc_XResultSet_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ module com { module sun { module star { module sdbc {
+
+ published interface XStatement;
+
+
+/** provides the navigation on a table of data. A
+ com::sun::star::sdbc::ResultSet
+ object is usually generated by executing a
+ com::sun::star::sdbc::Statement.
+
+
+ <p>
+ A ResultSet maintains a cursor pointing to its current row of
+ data. Initially the cursor is positioned before the first row.
+ The "next" method moves the cursor to the next row.
+ </p>
+ */
+published interface XResultSet: com::sun::star::uno::XInterface
+{
+
+ /** moves the cursor down one row from its current position.
+
+
+ <p>
+ A ResultSet cursor is initially positioned before the first row; the
+ first call to next makes the first row the current row; the
+ second call makes the second row the current row, and so on.
+ </p>
+ <p>If an input stream is open for the current row, a call
+ to the method
+ <code>next</code>
+ will implicitly close it.
+ The ResultSet's warning chain is cleared when a new row is read.
+ </p>
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean next() raises (SQLException);
+
+ /** indicates whether the cursor is before the first row in the result
+ set.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isBeforeFirst() raises (SQLException);
+
+ /** indicates whether the cursor is after the last row in the result
+ set.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isAfterLast() raises (SQLException);
+
+ /** indicates whether the cursor is on the first row of the result set.
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isFirst() raises (SQLException);
+
+ /** indicates whether the cursor is on the last row of the result set.
+
+
+ <p>
+ <B>
+ Note:
+ </B>
+ Calling the method
+ <code>isAtLast</code>
+ may be expensive because the SDBC driver might need to fetch ahead one row in order
+ to determine whether the current row is the last row in the result set.
+ </p>
+ @returns
+ `TRUE` if so
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean isLast() raises (SQLException);
+
+ /** moves the cursor to the front of the result set, just before the
+ first row. Has no effect if the result set contains no rows.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void beforeFirst() raises (SQLException);
+
+ /** moves the cursor to the end of the result set, just after the last
+ row. Has no effect if the result set contains no rows.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void afterLast() raises (SQLException);
+
+ /** moves the cursor to the first row in the result set.
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean first() raises (SQLException);
+
+ /** moves the cursor to the last row in the result set.
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean last() raises (SQLException);
+
+ /** retrieves the current row number. The first row is number 1, the
+ second number 2, and so on.
+ @returns
+ the current position
+ @throws SQLException
+ if a database access error occurs.
+ */
+ long getRow() raises (SQLException);
+
+ /** moves the cursor to the given row number in the result set.
+
+
+ <p>
+ If the row number is positive, the cursor moves to
+ the given row number with respect to the
+ beginning of the result set. The first row is row 1, the second
+ is row 2, and so on.
+ </p>
+ <p>
+ If the given row number is negative, the cursor moves to
+ an absolute row position with respect to
+ the end of the result set. For example, calling
+ <code>absolute(-1)</code>
+ positions the
+ cursor on the last row,
+ <code>absolute(-2)</code>
+ indicates the next-to-last row, and so on.
+ </p>
+ <p>
+ An attempt to position the cursor beyond the first/last row in
+ the result set leaves the cursor before/after the first/last
+ row, respectively.
+ </p>
+ <p>
+ Note: Calling
+ <code>absolute(1)</code>
+ is the same as calling com::sun::star::sdbc::XResultSet::first().
+ Calling <code>moveToPosition(-1)</code> is the same as calling
+ <code>moveToLast()</code>.
+ </p>
+ */
+ boolean absolute([in] long row ) raises (SQLException);
+
+ /** moves the cursor a relative number of rows, either positive or negative.
+
+
+ <p>
+ Attempting to move beyond the first/last row in the result set
+ positions the cursor before/after
+ the first/last row. Calling
+ <code>relative(0)</code>
+ is valid, but does not change the cursor position.
+ </p>
+ <p>
+ Note: Calling
+ <code>relative(1)</code>
+ is different from calling
+ com::sun::star::sdbc::XResultSet::next()
+ because is makes sense to call
+ <code>next()</code>
+ when there is no current row, for example, when the cursor is positioned before
+ the first row or after the last row of the result set.
+ </p>
+ @param rows
+ how many rows should be moved relative to the current row
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean relative([in]long rows) raises (SQLException);
+
+ /** moves the cursor to the previous row in the result set.
+
+
+ <p>
+ Note:
+ <code>previous()</code>
+ is not the same as
+ <code>relative(-1)</code>
+ because it makes sense to call
+ <code>previous()</code>
+ when there is no current row.
+ </p>
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean previous() raises (SQLException);
+
+ /** refreshes the current row with its most recent value in
+ the database. Cannot be called when on the insert row.
+ The
+ <code>refreshRow</code>
+ method provides a way for an application to
+ explicitly tell the SDBC driver to refetch a row(s) from the
+ database. An application may want to call
+ <code>refreshRow</code>
+ when caching or prefetching is being done by the SDBC driver to
+ fetch the latest value of a row from the database. The SDBC driver
+ may actually refresh multiple rows at once if the fetch size is
+ greater than one.
+ All values are refetched subject to the transaction isolation
+ level and cursor sensitivity. If
+ <code>refreshRow</code>
+ is called after calling
+ <code>updateXXX</code>
+ , but before calling
+ com::sun::star::sdbc::XResultSet::updateRow()
+ , then the updates made to the row are lost.
+ Calling the method
+ <code>refreshRow</code>
+ frequently will likely slow performance.
+ @throws SQLException
+ if a database access error occurs.
+ */
+ void refreshRow() raises (SQLException);
+
+ /** indicates whether the current row has been updated. The value returned
+ depends on whether or not the result set can detect updates.
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean rowUpdated() raises (SQLException);
+
+ /** indicates whether the current row has had an insertion. The value returned
+ depends on whether or not the result set can detect visible inserts.
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean rowInserted() raises (SQLException);
+
+ /** indicates whether a row has been deleted. A deleted row may leave
+ a visible "hole" in a result set. This method can be used to
+ detect holes in a result set. The value returned depends on whether
+ or not the result set can detect deletions.
+ @returns
+ `TRUE` if successful
+ @throws SQLException
+ if a database access error occurs.
+ */
+ boolean rowDeleted() raises (SQLException);
+
+ /** returns the Statement that produced this
+ com::sun::star::sdbc::ResultSet
+ object. If the result set was generated some other way, such as by an
+ com::sun::star::sdbc::XDatabaseMetaData
+ method, this method returns `NULL`.
+ @returns
+ the statement object
+ @throws SQLException
+ if a database access error occurs.
+ */
+ com::sun::star::uno::XInterface getStatement() raises (SQLException);
+};
+
+
+}; }; }; };
+
+/*===========================================================================
+===========================================================================*/
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */