summaryrefslogtreecommitdiff
path: root/includes/database.inc
diff options
context:
space:
mode:
authorNeil Drumm <drumm@3064.no-reply.drupal.org>2006-10-23 18:38:45 +0000
committerNeil Drumm <drumm@3064.no-reply.drupal.org>2006-10-23 18:38:45 +0000
commit1a7bac90e75ad36ea5d9c3e97baeddd87435ed52 (patch)
tree377235031ff6f5e04ac850a54c3c0303b3648c3b /includes/database.inc
parenteae420960fc0b35120d15fdcfd6376391b4a5de3 (diff)
downloadbrdo-1a7bac90e75ad36ea5d9c3e97baeddd87435ed52.tar.gz
brdo-1a7bac90e75ad36ea5d9c3e97baeddd87435ed52.tar.bz2
#76819 by smsimms and sammys. Move part of the sql rewriting down into the database abstraction layer and add extra rewriting needed only for Postgres.
Diffstat (limited to 'includes/database.inc')
-rw-r--r--includes/database.inc4
1 files changed, 1 insertions, 3 deletions
diff --git a/includes/database.inc b/includes/database.inc
index 3cb55d06b..26e59619d 100644
--- a/includes/database.inc
+++ b/includes/database.inc
@@ -261,9 +261,7 @@ function db_rewrite_sql($query, $primary_table = 'n', $primary_field = 'nid', $
list($join, $where, $distinct) = _db_rewrite_sql($query, $primary_table, $primary_field, $args);
if ($distinct) {
- $field_to_select = 'DISTINCT('. $primary_table .'.'. $primary_field .')';
- // (?<!text) is a negative look-behind (no need to rewrite queries that already use DISTINCT).
- $query = preg_replace('/(SELECT.*)('. $primary_table .'\.)?(?<!DISTINCT\()(?<!DISTINCT\('. $primary_table .'\.)'. $primary_field .'(.*FROM )/AUsi', '\1'. $field_to_select .'\3', $query);
+ $query = db_distinct_field($primary_table, $primary_field, $query);
}
if (!empty($where) || !empty($join)) {