#340568 by Damien Tournoud: in some versions of SQLite, SELECT DISINCT(field) will return "(field)" as the field name. From: Damien Tournoud --- includes/database/sqlite/database.inc | 9 +++++++++ 1 files changed, 9 insertions(+), 0 deletions(-) diff --git includes/database/sqlite/database.inc includes/database/sqlite/database.inc index 864b4f7..9a890b4 100644 --- includes/database/sqlite/database.inc +++ includes/database/sqlite/database.inc @@ -228,6 +228,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];