diff options
author | David M <davidmj@users.sourceforge.net> | 2007-07-30 21:13:37 +0000 |
---|---|---|
committer | David M <davidmj@users.sourceforge.net> | 2007-07-30 21:13:37 +0000 |
commit | 6aaf8d1ad7871d5f1dcb621d7df832d36c5e638b (patch) | |
tree | ce12bb1c8a63244767ee36347ea9f1a4e12068f5 /phpBB/install | |
parent | b1d0fa5d3592871587f6d408b2782df09e8b5d51 (diff) | |
download | forums-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.php | 27 |
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; } |