Simple Machines Community Forum

SMF Development => Bug Reports => Fixed or Bogus Bugs => Topic started by: k14 on November 26, 2009, 05:51:28 PM

Title: Installation of SMF 2.0 RC2 fails on PostgreSQL
Post by: k14 on November 26, 2009, 05:51:28 PM
SMF Version: 2.0 RC2
PostgreSQL Version: 8.1.18
No mods, no langs, no nothing.

Actually, there were 2 bugs.

First was wrong detection of psql server version.
File: install.php:64
Is: 'utf8_version_check' => '$request = pg_query(\'SELECT version()\'); list ($version) = pg_fetch_row($request); return $version;',
My fix: 'utf8_version_check' => '$request = pg_query(\'SELECT version()\'); list ($version) = pg_fetch_row($request); $version=explode(" ", $version); return $version[1];',

Why? SELECT version() gives 'PostgreSQL 8.1.18 on i486-pc-linux-gnu, compiled by GCC cc (GCC) 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)', witch was later truncated to 'PostgreSQL 8.1.18 on i486' and compared with '7.4.10'...

Second bug.
File: Sources/Subs-Db-postgresql.php, function smf_db_insert, block method == 'replace'
My fix (additional code on line 636): $entry = array_combine(array_keys($columns), $entry);

Why? $entry has keys (0, 1, 2...) witch don't meet variable names in $updateData nor $where, so smf_db_replacement__callback can't replace them with data.

Sorry, if those bugs have already been described. I haven't spent much time on searching the forum.
Title: Re: Installation of SMF 2.0 RC2 fails on PostgreSQL
Post by: Norv on November 27, 2009, 06:31:19 PM
Probably similar issue: http://www.simplemachines.org/community/index.php?topic=349375

I will try to check them out as soon as possible, too.
Title: Re: Installation of SMF 2.0 RC2 fails on PostgreSQL
Post by: k14 on December 02, 2009, 12:28:51 AM
Quote from: Norv on November 27, 2009, 06:31:19 PM
Probably similar issue: http://www.simplemachines.org/community/index.php?topic=349375

Yep, I had the same errors.
Title: Re: Installation of SMF 2.0 RC2 fails on PostgreSQL
Post by: H on December 02, 2009, 01:46:03 PM
Marked this as solved, as it is covered in the other topic that Norv has linked to :)