summaryrefslogtreecommitdiffstats
path: root/offapi/com/sun/star/sdbc/XClob.idl
diff options
context:
space:
mode:
Diffstat (limited to 'offapi/com/sun/star/sdbc/XClob.idl')
-rw-r--r--offapi/com/sun/star/sdbc/XClob.idl189
1 files changed, 189 insertions, 0 deletions
diff --git a/offapi/com/sun/star/sdbc/XClob.idl b/offapi/com/sun/star/sdbc/XClob.idl
new file mode 100644
index 000000000..045dfc981
--- /dev/null
+++ b/offapi/com/sun/star/sdbc/XClob.idl
@@ -0,0 +1,189 @@
+/* -*- 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_XClob_idl__
+#define __com_sun_star_sdbc_XClob_idl__
+
+#include <com/sun/star/uno/XInterface.idl>
+
+ module com { module sun { module star { module io {
+ published interface XInputStream;
+};};};};
+
+#include <com/sun/star/sdbc/SQLException.idl>
+
+ 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
+ com::sun::star::sdbc::XResultSet
+ ,
+ and
+ com::sun::star::sdbc::XPreparedStatement
+ , 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, 1-based
+ @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
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */