<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-2" http-equiv="Content-Type">
  <title></title>
</head>
<body bgcolor="#ffffff" text="#000000">
Thanks. I adopted your version check for pgsql.<br>
<br>
<blockquote>      $row = db_fetch_object(db_query('SELECT version() AS
version'));<br>
      $version = preg_replace('/^[^0-9]+([^ ]+).*/i', '\\1',
$row-&gt;version);<br>
  <br>
      if (version_compare($version, '8.0', '&lt;')) {<br>
        // PRIOR TO POSTGRESQL 8.0: making a BIT_OR aggregate function<br>
        );");<br>
      }<br>
</blockquote>
<br>
Daniel Convissor wrote:
<blockquote cite="mid20060306144457.GA564@panix.com" type="cite">
  <pre wrap="">On Mon, Mar 06, 2006 at 11:23:27AM +0100, Keve wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">Hi,

I am not very familiar with Postgresql.
I wrote taxonomy_access.install file, but for POSTGRESQL priot to 8.0, I 
need to make a BIT_OR aggregate function.
Do you think this will work OK for pg?

     if (version_compare(pg_version(), '8.0', '&lt;')) {
          // PRIOR TO POSTGRESQL 8.0: making a BIT_OR aggregate function
     }
    </pre>
  </blockquote>
  <pre wrap=""><!---->
That has problems.  Here's something that I've put together for the update 
process, though it has not been incorporated yet.  Then there's similar 
thinking for the install process.  Considering the need to know server 
version numbers in several places, I hope code along the following lines 
gets incorporated into database.inc:

function get_db_server_version() {
  static $version;

  if (isset($version)) {
    return $version;
  }

  switch ($GLOBALS['db_type']) {
    case 'mysql':
    case 'mysqli':
      if (function_exists('mysql_get_server_info')) {
        // Since:  MySQL library: 4.0.1-alpha,  PHP: 4.0.5.
        $version = mysql_get_server_info($GLOBALS['active_db']);
      }
      else {
        $row = db_fetch_object(db_query('SELECT version() AS version'));
        $version = $row-&gt;version;
      }
      $version = str_replace(array('-debug','-max','-nt','-opt'), '', $version);
      break;
    case 'pgsql':
      /*
       * Not using pg_version() because it is only available in PHP 5 and with
       * PostgreSQL library: 7.4.  More importantly, the 'server_version'
       * is missing, at least in PHP 5.1.2.
       */
      $row = db_fetch_object(db_query('SELECT version() AS version'));
      $version = preg_replace('/^[^0-9]+([^ ]+).*/i', '\\1', $row-&gt;version);
      break;
    default:
      $version = 0;
  }
  return $version;
}

--Dan

  </pre>
</blockquote>
<br>
</body>
</html>