Commit 562a4876 authored by Jonathan.Wage's avatar Jonathan.Wage

fixes #568

parent 7389d828
...@@ -175,12 +175,22 @@ class Doctrine_Import_Pgsql extends Doctrine_Import ...@@ -175,12 +175,22 @@ class Doctrine_Import_Pgsql extends Doctrine_Import
'length' => $decl['length'], 'length' => $decl['length'],
'fixed' => $decl['fixed'], 'fixed' => $decl['fixed'],
'unsigned' => $decl['unsigned'], 'unsigned' => $decl['unsigned'],
'notnull' => ($val['isnotnull'] == ''), 'notnull' => ($val['isnotnull'] == true),
'default' => $val['default'], 'default' => $val['default'],
'primary' => ($val['pri'] == 't'), 'primary' => ($val['pri'] == 't'),
); );
$matches = array();
if (preg_match("/^nextval\('(.*)'(::.*)?\)$/", $description['default'], $matches)) {
$description['sequence'] = $this->conn->formatter->fixSequenceName($matches[1]);
$description['default'] = null;
}
$columns[$val['field']] = $description; $columns[$val['field']] = $description;
} }
return $columns; return $columns;
} }
......
...@@ -332,6 +332,7 @@ class Doctrine_Import_Schema ...@@ -332,6 +332,7 @@ class Doctrine_Import_Schema
$colDesc['default'] = isset($field['default']) ? $field['default']:null; $colDesc['default'] = isset($field['default']) ? $field['default']:null;
$colDesc['autoincrement'] = isset($field['autoincrement']) ? (bool) (isset($field['autoincrement']) && $field['autoincrement']):null; $colDesc['autoincrement'] = isset($field['autoincrement']) ? (bool) (isset($field['autoincrement']) && $field['autoincrement']):null;
$colDesc['autoincrement'] = isset($field['autoinc']) ? (bool) (isset($field['autoinc']) && $field['autoinc']):$colDesc['autoincrement']; $colDesc['autoincrement'] = isset($field['autoinc']) ? (bool) (isset($field['autoinc']) && $field['autoinc']):$colDesc['autoincrement'];
$colDesc['sequence'] = isset($field['sequence']) ? (string) $field['sequence']:null;
$colDesc['values'] = isset($field['values']) ? (array) $field['values']:null; $colDesc['values'] = isset($field['values']) ? (array) $field['values']:null;
$validators = Doctrine::getValidators(); $validators = Doctrine::getValidators();
......
...@@ -1294,8 +1294,12 @@ abstract class Doctrine_Record extends Doctrine_Record_Abstract implements Count ...@@ -1294,8 +1294,12 @@ abstract class Doctrine_Record extends Doctrine_Record_Abstract implements Count
* *
* @return Doctrine_Record * @return Doctrine_Record
*/ */
public function copy() public function copy($deep = false)
{ {
if ($deep) {
return $this->copyDeep();
}
$data = $this->_data; $data = $this->_data;
if ($this->_table->getIdentifierType() === Doctrine::IDENTIFIER_AUTOINC) { if ($this->_table->getIdentifierType() === Doctrine::IDENTIFIER_AUTOINC) {
......
...@@ -293,7 +293,6 @@ abstract class Doctrine_Record_Abstract extends Doctrine_Access ...@@ -293,7 +293,6 @@ abstract class Doctrine_Record_Abstract extends Doctrine_Access
*/ */
public function actAs($tpl, array $options = array()) public function actAs($tpl, array $options = array())
{ {
if ( ! is_object($tpl)) { if ( ! is_object($tpl)) {
if (class_exists($tpl, true)) { if (class_exists($tpl, true)) {
$tpl = new $tpl($options); $tpl = new $tpl($options);
...@@ -312,8 +311,9 @@ abstract class Doctrine_Record_Abstract extends Doctrine_Access ...@@ -312,8 +311,9 @@ abstract class Doctrine_Record_Abstract extends Doctrine_Access
if ( ! ($tpl instanceof Doctrine_Template)) { if ( ! ($tpl instanceof Doctrine_Template)) {
throw new Doctrine_Record_Exception('Loaded plugin class is not an istance of Doctrine_Template.'); throw new Doctrine_Record_Exception('Loaded plugin class is not an istance of Doctrine_Template.');
} }
$className = get_class($tpl); $className = get_class($tpl);
$this->_table->addTemplate($className, $tpl); $this->_table->addTemplate($className, $tpl);
$tpl->setTable($this->_table); $tpl->setTable($this->_table);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment