[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] CVS: etemplate/inc class.schema_proc_pgsql.inc.php,1
From: |
Ralf Becker <address@hidden> |
Subject: |
[Phpgroupware-cvs] CVS: etemplate/inc class.schema_proc_pgsql.inc.php,1.1,1.2 |
Date: |
Mon, 17 Mar 2003 19:07:19 -0500 |
Update of /cvsroot/phpgroupware/etemplate/inc
In directory subversions:/tmp/cvs-serv20597
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/etemplate/inc/class.schema_proc_pgsql.inc.php,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -r1.1 -r1.2
*** class.schema_proc_pgsql.inc.php 4 Oct 2002 23:53:00 -0000 1.1
--- class.schema_proc_pgsql.inc.php 18 Mar 2003 00:07:17 -0000 1.2
***************
*** 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: etemplate/inc class.schema_proc_pgsql.inc.php,1.1,1.2,
Ralf Becker <address@hidden> <=
- Prev by Date:
[Phpgroupware-cvs] CVS: phpgwapi/inc class.schema_proc_pgsql.inc.php,1.3,1.4
- Next by Date:
[Phpgroupware-cvs] CVS: etemplate/setup setup.inc.php,1.9,1.10 tables_current.inc.php,1.2,1.3 tables_update.inc.php,1.1,1.2
- Previous by thread:
[Phpgroupware-cvs] CVS: phpgwapi/inc class.schema_proc_pgsql.inc.php,1.3,1.4
- Next by thread:
[Phpgroupware-cvs] CVS: etemplate/setup setup.inc.php,1.9,1.10 tables_current.inc.php,1.2,1.3 tables_update.inc.php,1.1,1.2
- Index(es):