As Robert mentioned, we do "SET SQL_MODE='POSTGRESQL'" when using MySQL. This is equivalent to the "PIPES_AS_CONCAT" directive Ghada mentioned, as well as several other options:
Equivalent to PIPES_AS_CONCAT, ANSI_QUOTES, IGNORE_SPACE, NO_KEY_OPTIONS, NO_TABLE_OPTIONS, NO_FIELD_OPTIONS. http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_postgresql ** Changed in: mahara Status: Confirmed => Invalid ** Changed in: mahara Milestone: 16.10.0 => None ** Changed in: mahara Status: Invalid => Won't Fix -- You received this bug notification because you are a member of Mahara Contributors, which is subscribed to Mahara. Matching subscriptions: Subscription for all Mahara Contributors -- please ask on #mahara-dev or mahara.org forum before editing or unsubscribing it! https://bugs.launchpad.net/bugs/1529775 Title: MySql concat string needs to be used instead of || Status in Mahara: Won't Fix Bug description: Mahara 15.10 OS: Ubuntu 14.04 DB: Mysql 5.5 Browser: any I've noticed that in htdocs/search/internal/lib.php, the SQL used to concatenate strings is '||'. For example, line 275: $sql = $alias . '.' . $field . ' ' . db_ilike() . " '%' || ? || '%'"; Unfortunately, this doesn't always work with Mysql. In order for this to work we would need to set PIPES_AS_CONCAT Please refer to the documentation: http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_pipes_as_concat Otherwise, strings need to be concatenated using: 'CONCAT'. This function is also available in Postgres. So, perhaps we should be using CONCAT instead of '||'. So, the above line 275 would be: $sql = $alias . '.' . $field . ' ' . db_ilike() . " concat('%', ? , '%')"; To manage notifications about this bug go to: https://bugs.launchpad.net/mahara/+bug/1529775/+subscriptions _______________________________________________ Mailing list: https://launchpad.net/~mahara-contributors Post to : mahara-contributors@lists.launchpad.net Unsubscribe : https://launchpad.net/~mahara-contributors More help : https://help.launchpad.net/ListHelp