diff options
Diffstat (limited to 'lib/private/db/oracleconnection.php')
-rw-r--r-- | lib/private/db/oracleconnection.php | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/private/db/oracleconnection.php b/lib/private/db/oracleconnection.php index 4cec7bc4ae4..726ac1e4b6d 100644 --- a/lib/private/db/oracleconnection.php +++ b/lib/private/db/oracleconnection.php @@ -47,4 +47,31 @@ class OracleConnection extends Connection { $identifier = $this->quoteKeys($identifier); return parent::delete($tableName, $identifier); } + + /** + * Drop a table from the database if it exists + * + * @param string $table table name without the prefix + */ + public function dropTable($table) { + $table = $this->tablePrefix . trim($table); + $table = $this->quoteIdentifier($table); + $schema = $this->getSchemaManager(); + if($schema->tablesExist(array($table))) { + $schema->dropTable($table); + } + } + + /** + * Check if a table exists + * + * @param string $table table name without the prefix + * @return bool + */ + public function tableExists($table){ + $table = $this->tablePrefix . trim($table); + $table = $this->quoteIdentifier($table); + $schema = $this->getSchemaManager(); + return $schema->tablesExist(array($table)); + } } |