From 65442c6bdddb2f8e5329bc9c340a070f197cfc0b Mon Sep 17 00:00:00 2001 From: David M Date: Tue, 19 Jun 2007 15:24:40 +0000 Subject: #12555 git-svn-id: file:///svn/phpbb/trunk@7783 89ea8834-ac86-4346-8a33-228a782c2dd0 --- phpBB/install/install_convert.php | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'phpBB/install/install_convert.php') 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; } } } -- cgit v1.2.1