[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] phpgwapi/inc class.schema_proc_pgsql.inc.php
From: |
Sigurd Nes |
Subject: |
[Phpgroupware-cvs] phpgwapi/inc class.schema_proc_pgsql.inc.php |
Date: |
Wed, 19 Apr 2006 19:11:21 +0000 |
CVSROOT: /sources/phpgwapi
Module name: phpgwapi
Branch:
Changes by: Sigurd Nes <address@hidden> 06/04/19 19:11:21
Modified files:
inc : class.schema_proc_pgsql.inc.php
Log message:
fix for renaming Sequence when renaming table - and hold the correct
value
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/phpgwapi/phpgwapi/inc/class.schema_proc_pgsql.inc.php.diff?tr1=1.14&tr2=1.15&r1=text&r2=text
Patches:
Index: phpgwapi/inc/class.schema_proc_pgsql.inc.php
diff -u phpgwapi/inc/class.schema_proc_pgsql.inc.php:1.14
phpgwapi/inc/class.schema_proc_pgsql.inc.php:1.15
--- phpgwapi/inc/class.schema_proc_pgsql.inc.php:1.14 Tue Apr 18 09:52:44 2006
+++ phpgwapi/inc/class.schema_proc_pgsql.inc.php Wed Apr 19 19:11:21 2006
@@ -12,7 +12,7 @@
* @license http://www.fsf.org/licenses/gpl.html GNU General Public
License
* @package phpgwapi
* @subpackage database
- * @version $Id: class.schema_proc_pgsql.inc.php,v 1.14 2006/04/18
09:52:44 sigurdne Exp $
+ * @version $Id: class.schema_proc_pgsql.inc.php,v 1.15 2006/04/19
19:11:21 sigurdne Exp $
* @link http://www.greatbridge.org/project/phppgadmin
* @internal SQL for table properties taken from phpPgAdmin Version 2.2.1
*/
@@ -430,8 +430,7 @@
{
global $DEBUG;
if ($DEBUG) { echo '<br>RenameTable():' .
$sOldTableName . 'to: '. $sNewTableName; }
-
- /* if ($DEBUG) { echo '<br>RenameTable(): Fetching old
sequence for: ' . $sOldTableName; }
+ if ($DEBUG) { echo '<br>RenameTable(): Fetching old
sequence for: ' . $sOldTableName; }
$this->GetSequenceForTable($oProc,$sOldTableName,$sSequenceName);
if ($DEBUG) { echo ' - ' . $sSequenceName; }
if ($DEBUG) { echo '<br>RenameTable(): Fetching
sequence field for: ' . $sOldTableName; }
@@ -444,9 +443,6 @@
$oProc->m_odb->next_record();
$lastval = $oProc->m_odb->f(0);
- if ($DEBUG) { echo '<br>RenameTable(): dropping
old sequence: ' . $sSequenceName . ' used on field: ' . $sField; }
-
$this->DropSequenceForTable($oProc,$sOldTableName);
-
if ($lastval)
{
$lastval = ' start ' . $lastval;
@@ -455,9 +451,19 @@
if ($DEBUG) { echo '<br>RenameTable(): Making
new sequence using: ' . $sSequenceSQL . $lastval; }
$oProc->m_odb->query($sSequenceSQL .
$lastval,__LINE__,__FILE__);
if ($DEBUG) { echo '<br>RenameTable(): Altering
column default for: ' . $sField; }
- $oProc->m_odb->query("ALTER TABLE
$sOldTableName ALTER $sField SET DEFAULT nextval('seq_" . $sNewTableName .
"')",__LINE__,__FILE__);
}
+
+ $oProc->m_odb->query("ALTER TABLE $sOldTableName RENAME
TO $sNewTableName");
+ if ($sSequenceName)
+ {
+ $oProc->m_odb->query("ALTER TABLE
$sNewTableName ALTER $sField SET DEFAULT nextval('seq_" . $sNewTableName .
"')",__LINE__,__FILE__);
+
$this->DropSequenceForTable($oProc,$sOldTableName);
+ }
+
+ return true;
+
+ /* todo - fix index-renaming.
$indexnames = $oProc->m_odb->index_names();
while(list($key,$val) = @each($indexnames))
{
@@ -471,9 +477,10 @@
{
$oProc->m_odb->query('ALTER TABLE
'.$sOldTableName.'_pkey RENAME TO '.$sNewTableName.'_pkey');
}
- */
+
return !!($oProc->m_odb->query("ALTER TABLE
$sOldTableName RENAME TO $sNewTableName"));
+ */
}
function RenameColumn($oProc, &$aTables, $sTableName,
$sOldColumnName, $sNewColumnName, $bCopyData = true)