--- browscap.module__ORIG 2008-08-12 20:49:43.000000000 -0600 +++ browscap.module 2008-10-21 00:31:04.000000000 -0600 @@ -332,7 +332,19 @@ } $useragent = strtr($key, '*?', '%_'); $e = array_change_key_case($e); - db_query("REPLACE INTO {browscap} (useragent, data) VALUES('%s','%s')", $useragent, serialize($e)); + switch ($GLOBALS['db_type']) { + case 'mysql': + case 'mysqli': + db_query("REPLACE INTO {browscap} (useragent, data) VALUES('%s','%s')", $useragent, serialize($e)); + case 'pgsql': + $ret = db_result(db_query("SELECT useragent FROM {browscap} WHERE useragent= '%s'", $useragent)); + if ($ret==FALSE) { + db_query("INSERT INTO {browscap} (useragent, data) VALUES('%s','%s')", $useragent, serialize($e)); + } + else { + db_query("UPDATE {browscap} SET (useragent, data) VALUES('%s','%s') WHERE useragent=%s'", $useragent, serialize($e), $useragent); + } + } } cache_clear_all('*', 'cache_browscap', TRUE);