aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/install
diff options
context:
space:
mode:
authorDavid M <davidmj@users.sourceforge.net>2007-07-30 21:13:37 +0000
committerDavid M <davidmj@users.sourceforge.net>2007-07-30 21:13:37 +0000
commit6aaf8d1ad7871d5f1dcb621d7df832d36c5e638b (patch)
treece12bb1c8a63244767ee36347ea9f1a4e12068f5 /phpBB/install
parentb1d0fa5d3592871587f6d408b2782df09e8b5d51 (diff)
downloadforums-6aaf8d1ad7871d5f1dcb621d7df832d36c5e638b.tar
forums-6aaf8d1ad7871d5f1dcb621d7df832d36c5e638b.tar.gz
forums-6aaf8d1ad7871d5f1dcb621d7df832d36c5e638b.tar.bz2
forums-6aaf8d1ad7871d5f1dcb621d7df832d36c5e638b.tar.xz
forums-6aaf8d1ad7871d5f1dcb621d7df832d36c5e638b.zip
add PostgreSQL support
git-svn-id: file:///svn/phpbb/trunk@7984 89ea8834-ac86-4346-8a33-228a782c2dd0
Diffstat (limited to 'phpBB/install')
-rw-r--r--phpBB/install/database_update.php27
1 files changed, 21 insertions, 6 deletions
diff --git a/phpBB/install/database_update.php b/phpBB/install/database_update.php
index d7713bebd1..9d56717ee5 100644
--- a/phpBB/install/database_update.php
+++ b/phpBB/install/database_update.php
@@ -1419,6 +1419,14 @@ if (version_compare($current_version, '3.0.RC4', '<='))
$no_updates = false;
}
+ else if ($map_dbms == 'postgres')
+ {
+ foreach ($update_auto_increment as $auto_table_name => $auto_column_name)
+ {
+ $sql = "SELECT SETVAL('" . $auto_table_name . "_seq',(select case when max({$auto_column_name})>0 then max({$auto_column_name})+1 else 1 end from " . $auto_table_name . '));';
+ _sql($sql, $errored, $error_ary);
+ }
+ }
}
_write_result($no_updates, $errored, $error_ary);
@@ -1539,12 +1547,19 @@ function _sql($sql, &$errored, &$error_ary, $echo_dot = true)
$db->sql_return_on_error(true);
- $result = $db->sql_query($sql);
- if ($db->sql_error_triggered)
+ if (preg_match('/^\\s*SELECT/', $sql))
{
- $errored = true;
- $error_ary['sql'][] = $db->sql_error_sql;
- $error_ary['error_code'][] = $db->_sql_error();
+ $result = $db->sql_query($sql);
+ if ($db->sql_error_triggered)
+ {
+ $errored = true;
+ $error_ary['sql'][] = $db->sql_error_sql;
+ $error_ary['error_code'][] = $db->_sql_error();
+ }
+ }
+ else
+ {
+ var_dump($sql);
}
$db->sql_return_on_error(false);
@@ -1554,7 +1569,7 @@ function _sql($sql, &$errored, &$error_ary, $echo_dot = true)
echo ". \n";
flush();
}
-
+if (preg_match('/^\\s*SELECT/', $sql))
return $result;
}