aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/install/install_convert.php
diff options
context:
space:
mode:
authorDavid M <davidmj@users.sourceforge.net>2007-06-19 15:24:40 +0000
committerDavid M <davidmj@users.sourceforge.net>2007-06-19 15:24:40 +0000
commit65442c6bdddb2f8e5329bc9c340a070f197cfc0b (patch)
treee614b6232b4011af9bcf6615660ceb85116ba74c /phpBB/install/install_convert.php
parent22b970ef1e5675b7e74e6a2505c9fede44ed453c (diff)
downloadforums-65442c6bdddb2f8e5329bc9c340a070f197cfc0b.tar
forums-65442c6bdddb2f8e5329bc9c340a070f197cfc0b.tar.gz
forums-65442c6bdddb2f8e5329bc9c340a070f197cfc0b.tar.bz2
forums-65442c6bdddb2f8e5329bc9c340a070f197cfc0b.tar.xz
forums-65442c6bdddb2f8e5329bc9c340a070f197cfc0b.zip
#12555
git-svn-id: file:///svn/phpbb/trunk@7783 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/install/install_convert.php')
-rw-r--r--phpBB/install/install_convert.php28
1 files changed, 28 insertions, 0 deletions
diff --git a/phpBB/install/install_convert.php b/phpBB/install/install_convert.php
index 455f8841ad..4d7055d763 100644
--- a/phpBB/install/install_convert.php
+++ b/phpBB/install/install_convert.php
@@ -1112,6 +1112,20 @@ class install_convert extends module
case 'postgres':
$db->sql_query("SELECT SETVAL('" . $schema['target'] . "_seq',(select case when max(" . $schema['autoincrement'] . ")>0 then max(" . $schema['autoincrement'] . ")+1 else 1 end from " . $schema['target'] . '));');
break;
+
+ case 'oracle':
+ $result = $db->sql_query('SELECT MAX(' . $schema['autoincrement'] . ') as max_id FROM ' . $schema['target']);
+ $row = $db->sql_fetchrow($result);
+ $db->sql_freeresult($result);
+
+ $largest_id = (int) $row['max_id'];
+
+ if ($largest_id)
+ {
+ $db->sql_query('DROP SEQUENCE ' . $schema['target'] . '_seq');
+ $db->sql_query('CREATE SEQUENCE ' . $schema['target'] . '_seq START WITH ' . ($largest_id + 1));
+ }
+ break;
}
}
}
@@ -1367,6 +1381,20 @@ class install_convert extends module
case 'postgres':
$db->sql_query("SELECT SETVAL('" . $schema['target'] . "_seq',(select case when max(" . $schema['autoincrement'] . ")>0 then max(" . $schema['autoincrement'] . ")+1 else 1 end from " . $schema['target'] . '));');
break;
+
+ case 'oracle':
+ $result = $db->sql_query('SELECT MAX(' . $schema['autoincrement'] . ') as max_id FROM ' . $schema['target']);
+ $row = $db->sql_fetchrow($result);
+ $db->sql_freeresult($result);
+
+ $largest_id = (int) $row['max_id'];
+
+ if ($largest_id)
+ {
+ $db->sql_query('DROP SEQUENCE ' . $schema['target'] . '_seq');
+ $db->sql_query('CREATE SEQUENCE ' . $schema['target'] . '_seq START WITH ' . ($largest_id + 1));
+ }
+ break;
}
}
}