bump product version to 7.2.5.1
[LibreOffice.git] / connectivity / source / drivers / firebird / Table.hxx
blobb641981769af4fdf55cb71a1e95250506a59bf53
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
2 /*
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/.
8 */
10 #pragma once
12 #include <sal/config.h>
14 #include <string_view>
16 #include "Tables.hxx"
18 #include <connectivity/TTableHelper.hxx>
20 namespace connectivity::firebird
23 /**
24 * Implements sdbcx.Table. We don't support table renaming (XRename)
25 * hence the appropriate methods are overridden.
27 class Table: public OTableHelper
29 private:
30 ::osl::Mutex& m_rMutex;
31 sal_Int32 m_nPrivileges;
33 /**
34 * Get the ALTER TABLE [TABLE] ALTER [COLUMN] String.
35 * Includes a trailing space.
37 OUString getAlterTableColumn(std::u16string_view rColumn);
39 protected:
40 void construct() override;
42 public:
43 Table(Tables* pTables,
44 ::osl::Mutex& rMutex,
45 const css::uno::Reference< css::sdbc::XConnection >& _xConnection);
46 Table(Tables* pTables,
47 ::osl::Mutex& rMutex,
48 const css::uno::Reference< css::sdbc::XConnection >& _xConnection,
49 const OUString& rName,
50 const OUString& rType,
51 const OUString& rDescription);
53 // OTableHelper
54 virtual ::connectivity::sdbcx::OCollection* createColumns(
55 const ::std::vector< OUString>& rNames) override;
56 virtual ::connectivity::sdbcx::OCollection* createKeys(
57 const ::std::vector< OUString>& rNames) override;
58 virtual ::connectivity::sdbcx::OCollection* createIndexes(
59 const ::std::vector< OUString>& rNames) override;
61 // XAlterTable
62 /**
63 * See css::sdbcx::ColumnDescriptor for details of
64 * rDescriptor.
66 virtual void SAL_CALL alterColumnByName(
67 const OUString& rColName,
68 const css::uno::Reference< css::beans::XPropertySet >& rDescriptor) override;
70 // XRename -- UNSUPPORTED
71 virtual void SAL_CALL rename(const OUString& sName) override;
73 //XInterface
74 virtual css::uno::Any
75 SAL_CALL queryInterface(const css::uno::Type & rType) override;
77 //XTypeProvider
78 virtual css::uno::Sequence< css::uno::Type >
79 SAL_CALL getTypes() override;
83 } // namespace connectivity::firebird
85 /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */