Permalink
Browse files

Remove duplicate functional for alter table

  • Loading branch information...
1 parent 7cbf125 commit 6dca6f876d72556c49bc013246f0b7779bbc649e @c0rrupt c0rrupt committed Jan 26, 2013
Showing with 0 additions and 130 deletions.
  1. +0 −130 Schema/DblibSchemaManager.php
@@ -70,136 +70,6 @@ public function createDatabase($name)
}
/**
- * alter an existing table
- *
- * @param string $name name of the table that is intended to be changed.
- * @param array $changes associative array that contains the details of each type
- * of change that is intended to be performed. The types of
- * changes that are currently supported are defined as follows:
- *
- * name
- *
- * New name for the table.
- *
- * add
- *
- * Associative array with the names of fields to be added as
- * indexes of the array. The value of each entry of the array
- * should be set to another associative array with the properties
- * of the fields to be added. The properties of the fields should
- * be the same as defined by the Metabase parser.
- *
- *
- * remove
- *
- * Associative array with the names of fields to be removed as indexes
- * of the array. Currently the values assigned to each entry are ignored.
- * An empty array should be used for future compatibility.
- *
- * rename
- *
- * Associative array with the names of fields to be renamed as indexes
- * of the array. The value of each entry of the array should be set to
- * another associative array with the entry named name with the new
- * field name and the entry named Declaration that is expected to contain
- * the portion of the field declaration already in DBMS specific SQL code
- * as it is used in the CREATE TABLE statement.
- *
- * change
- *
- * Associative array with the names of the fields to be changed as indexes
- * of the array. Keep in mind that if it is intended to change either the
- * name of a field and any other properties, the change array entries
- * should have the new names of the fields as array indexes.
- *
- * The value of each entry of the array should be set to another associative
- * array with the properties of the fields to that are meant to be changed as
- * array entries. These entries should be assigned to the new values of the
- * respective properties. The properties of the fields should be the same
- * as defined by the Metabase parser.
- *
- * Example
- * array(
- * 'name' => 'userlist',
- * 'add' => array(
- * 'quota' => array(
- * 'type' => 'integer',
- * 'unsigned' => 1
- * )
- * ),
- * 'remove' => array(
- * 'file_limit' => array(),
- * 'time_limit' => array()
- * ),
- * 'change' => array(
- * 'name' => array(
- * 'length' => '20',
- * 'definition' => array(
- * 'type' => 'text',
- * 'length' => 20,
- * ),
- * )
- * ),
- * 'rename' => array(
- * 'sex' => array(
- * 'name' => 'gender',
- * 'definition' => array(
- * 'type' => 'text',
- * 'length' => 1,
- * 'default' => 'M',
- * ),
- * )
- * )
- * )
- *
- * @param boolean $check indicates whether the function should just check if the DBMS driver
- * can perform the requested table alterations if the value is true or
- * actually perform them otherwise.
- * @return void
- */
- public function alterTable($name, array $changes, $check = false)
- {
- foreach ($changes as $changeName => $change) {
- switch ($changeName) {
- case 'add':
- break;
- case 'remove':
- break;
- case 'name':
- case 'rename':
- case 'change':
- default:
- throw SchemaException::alterTableChangeNotSupported($changeName);
- }
- }
-
- $query = '';
- if ( ! empty($changes['add']) && is_array($changes['add'])) {
- foreach ($changes['add'] as $fieldName => $field) {
- if ($query) {
- $query .= ', ';
- }
- $query .= 'ADD ' . $this->getDeclaration($fieldName, $field);
- }
- }
-
- if ( ! empty($changes['remove']) && is_array($changes['remove'])) {
- foreach ($changes['remove'] as $fieldName => $field) {
- if ($query) {
- $query .= ', ';
- }
- $query .= 'DROP COLUMN ' . $fieldName;
- }
- }
-
- if ( ! $query) {
- return false;
- }
-
- return $this->_conn->exec('ALTER TABLE ' . $name . ' ' . $query);
- }
-
- /**
* {@inheritdoc}
*/
public function createSequence($seqName, $start = 1, $allocationSize = 1)

0 comments on commit 6dca6f8

Please sign in to comment.