[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] CVS: phpgwapi/inc class.schema_proc_pgsql.inc.php,1.
From: |
Ralf Becker <address@hidden> |
Subject: |
[Phpgroupware-cvs] CVS: phpgwapi/inc class.schema_proc_pgsql.inc.php,1.3,1.4 |
Date: |
Mon, 17 Mar 2003 19:05:09 -0500 |
Update of /cvsroot/phpgroupware/phpgwapi/inc
In directory subversions:/tmp/cvs-serv20334
Modified Files:
class.schema_proc_pgsql.inc.php
Log Message:
fix for postgreSql's AddColumn, to allow to set a default and a not null
contraint, they are not allowed in add column in pgSQL
Index: class.schema_proc_pgsql.inc.php
===================================================================
RCS file: /cvsroot/phpgroupware/phpgwapi/inc/class.schema_proc_pgsql.inc.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -r1.3 -r1.4
*** class.schema_proc_pgsql.inc.php 11 Apr 2002 14:12:34 -0000 1.3
--- class.schema_proc_pgsql.inc.php 18 Mar 2003 00:05:04 -0000 1.4
***************
*** 582,589 ****
function AddColumn($oProc, &$aTables, $sTableName,
$sColumnName, &$aColumnDef)
{
$oProc->_GetFieldSQL($aColumnDef, $sFieldSQL);
$query = "ALTER TABLE $sTableName ADD COLUMN
$sColumnName $sFieldSQL";
! return !!($oProc->m_odb->query($query));
}
--- 582,616 ----
function AddColumn($oProc, &$aTables, $sTableName,
$sColumnName, &$aColumnDef)
{
+ if (isset($aColumnDef['default'])) // pgsql cant
add a colum with a default
+ {
+ $default = $aColumnDef['default'];
+ unset($aColumnDef['default']);
+ }
+ if (isset($aColumnDef['nullable']) &&
!$aColumnDef['nullable']) // pgsql cant add a column not nullable
+ {
+ $notnull = !$aColumnDef['nullable'];
+ unset($aColumnDef['nullable']);
+ }
$oProc->_GetFieldSQL($aColumnDef, $sFieldSQL);
$query = "ALTER TABLE $sTableName ADD COLUMN
$sColumnName $sFieldSQL";
! if (($Ok = !!($oProc->m_odb->query($query))) &&
isset($default))
! {
! $query = "ALTER TABLE $sTableName ALTER COLUMN
$sColumnName SET DEFAULT '$default';\n";
!
! $query .= "UPDATE $sTableName SET
$sColumnName='$default';\n";
!
! $Ok = !!($oProc->m_odb->query($query));
!
! if ($OK && $notnull)
! {
! // unfortunally this is pgSQL >= 7.3
! //$query .= "ALTER TABLE $sTableName
ALTER COLUMN $sColumnName SET NOT NULL;\n";
! //$Ok =
!!($oProc->m_odb->query($query));
! // so we do it the slow way
! AlterColumn($oProc, $aTables,
$sTableName, $sColumnName, $aColumnDef);
! }
! }
! return $Ok;
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] CVS: phpgwapi/inc class.schema_proc_pgsql.inc.php,1.3,1.4,
Ralf Becker <address@hidden> <=