Fix modify_column() issues (#2020)
diff --git a/system/database/drivers/ibase/ibase_forge.php b/system/database/drivers/ibase/ibase_forge.php
index a0c4e65..39c7828 100644
--- a/system/database/drivers/ibase/ibase_forge.php
+++ b/system/database/drivers/ibase/ibase_forge.php
@@ -137,7 +137,7 @@
$sql = 'ALTER TABLE '.$this->db->escape_identifiers($table);
$sqls = array();
- for ($i = 0, $c = count($field), $sql .= $alter_type.' '; $i < $c; $i++)
+ for ($i = 0, $c = count($field); $i < $c; $i++)
{
if ($field[$i]['_literal'] !== FALSE)
{
@@ -146,13 +146,14 @@
if (isset($field[$i]['type']))
{
- $sqls[] = $sql.' TYPE '.$field[$i]['type'].$field[$i]['length'];
+ $sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identififers($field[$i]['name'])
+ .' TYPE '.$field[$i]['type'].$field[$i]['length'];
}
if ( ! empty($field[$i]['default']))
{
- $sqls[] = $sql.' ALTER '.$this->db->escape_identifiers($field[$i]['name'])
- .' SET '.$field[$i]['default'];
+ $sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
+ .' SET DEFAULT '.$field[$i]['default'];
}
if (isset($field[$i]['null']))
@@ -165,7 +166,7 @@
if ( ! empty($field[$i]['new_name']))
{
- $sqls[] = $sql.' ALTER '.$this->db->escape_identifiers($field[$i]['name'])
+ $sqls[] = $sql.' ALTER COLUMN '.$this->db->escape_identifiers($field[$i]['name'])
.' TO '.$this->db->escape_identifiers($field[$i]['new_name']);
}
}