diff options
author | Angie Byron <webchick@24967.no-reply.drupal.org> | 2008-11-30 01:26:45 +0000 |
---|---|---|
committer | Angie Byron <webchick@24967.no-reply.drupal.org> | 2008-11-30 01:26:45 +0000 |
commit | aa4b94fcc9970731ae07c6f9a2a16b53918ed9b5 (patch) | |
tree | 87e31992e4652eb9954ae3224811cc9548e53fc0 /includes/database/sqlite/database.inc | |
parent | d6514fe3aa6aeed7493824395a8d50632785865f (diff) | |
download | drupal-aa4b94fcc9970731ae07c6f9a2a16b53918ed9b5.tar.gz drupal-aa4b94fcc9970731ae07c6f9a2a16b53918ed9b5.zip |
#340568 by Damien Tournoud: in some versions of SQLite, SELECT DISINCT(field) will return '(field)' as the field name.
Diffstat (limited to 'includes/database/sqlite/database.inc')
-rw-r--r-- | includes/database/sqlite/database.inc | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/includes/database/sqlite/database.inc b/includes/database/sqlite/database.inc index 2a69e131faa0..02e73321e35e 100644 --- a/includes/database/sqlite/database.inc +++ b/includes/database/sqlite/database.inc @@ -238,6 +238,15 @@ class DatabaseStatement_sqlite extends DatabaseStatementPrefetch implements Iter // using the same convention as MySQL and PostgreSQL. $rename_columns = array(); foreach ($this->columnNames as $k => $column) { + // In some SQLite versions, SELECT DISTINCT(field) will return "(field)" + // instead of "field". + if (preg_match("/^\((.*)\)$/", $column, $matches)) { + $rename_columns[$column] = $matches[1]; + $this->columnNames[$k] = $matches[1]; + $column = $matches[1]; + } + + // Remove "table." prefixes. if (preg_match("/^.*\.(.*)$/", $column, $matches)) { $rename_columns[$column] = $matches[1]; $this->columnNames[$k] = $matches[1]; |