nextcloud/lib/public/DB/ISchemaWrapper.php
Robin Appelman 695326534c
disable path prefix index on postgresql for now
having the index work properly for the queries we need it for requires some additional options which dbal does not support at the momement.
to prevent making it harder to add the correct index later on we don't create the index for now on postgresql

Signed-off-by: Robin Appelman <robin@icewind.nl>
2021-10-08 18:39:22 +02:00

105 lines
2.4 KiB
PHP

<?php
/**
* @copyright Copyright (c) 2018 Joas Schilling <coding@schilljs.com>
*
* @author Joas Schilling <coding@schilljs.com>
*
* @license GNU AGPL version 3 or any later version
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
namespace OCP\DB;
use Doctrine\DBAL\Exception;
use Doctrine\DBAL\Platforms\AbstractPlatform;
/**
* Interface ISchemaWrapper
*
* @since 13.0.0
*/
interface ISchemaWrapper {
/**
* @param string $tableName
*
* @return \Doctrine\DBAL\Schema\Table
* @throws \Doctrine\DBAL\Schema\SchemaException
* @since 13.0.0
*/
public function getTable($tableName);
/**
* Does this schema have a table with the given name?
*
* @param string $tableName Prefix is automatically prepended
*
* @return boolean
* @since 13.0.0
*/
public function hasTable($tableName);
/**
* Creates a new table.
*
* @param string $tableName Prefix is automatically prepended
* @return \Doctrine\DBAL\Schema\Table
* @since 13.0.0
*/
public function createTable($tableName);
/**
* Drops a table from the schema.
*
* @param string $tableName Prefix is automatically prepended
* @return \Doctrine\DBAL\Schema\Schema
* @since 13.0.0
*/
public function dropTable($tableName);
/**
* Gets all tables of this schema.
*
* @return \Doctrine\DBAL\Schema\Table[]
* @since 13.0.0
*/
public function getTables();
/**
* Gets all table names, prefixed with table prefix
*
* @return array
* @since 13.0.0
*/
public function getTableNames();
/**
* Gets all table names
*
* @return array
* @since 13.0.0
*/
public function getTableNamesWithoutPrefix();
/**
* Gets the DatabasePlatform for the database.
*
* @return AbstractPlatform
*
* @throws Exception
* @since 23.0.0
*/
public function getDatabasePlatform();
}