MyBB Community Forums

Full Version: [F] [pgsql] Reporting posts in unmoderated forums [C-StefanT]
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
If the reported posts setting is for PM or Email, and there is no set moderator for the forum, you receive this error:

SQL Error:
42883 - ERROR: function concat(text) does not exist LINE 4: LEFT JOIN mybb_usergroups g ON (((CONCAT(','|| u.addit... ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. 

Query is found in report.php:

					$query = $db->query("
						SELECT u.username, u.email, u.receivepms, u.uid
						FROM ".TABLE_PREFIX."users u
						LEFT JOIN ".TABLE_PREFIX."usergroups g ON (((CONCAT(','|| u.additionalgroups|| ',') LIKE CONCAT('%,'|| g.gid|| ',%')) OR u.usergroup = g.gid))
						WHERE (g.cancp=1 OR g.issupermod=1)
					");

As a fix, find (in report.php):

				case "pgsql":
				case "sqlite3":
				case "sqlite2":

And replace with:

				case "pgsql":
					$query = $db->query("
						SELECT u.username, u.email, u.receivepms, u.uid
						FROM ".TABLE_PREFIX."users u
						LEFT JOIN ".TABLE_PREFIX."usergroups g ON (((','|| u.additionalgroups|| ',' LIKE '%,'|| g.gid|| ',%') OR u.usergroup = g.gid))
						WHERE (g.cancp=1 OR g.issupermod=1)
					");
					break;
				case "sqlite3":
				case "sqlite2":
Im pretty sure SQLite and PostgreSQL use the same thing.
Thought SQLite had CONCAT... Confused

In which case, that query just needs to replace the existing one in the switch statement:

				case "pgsql":
				case "sqlite3":
				case "sqlite2":
					$query = $db->query("
						SELECT u.username, u.email, u.receivepms, u.uid
						FROM ".TABLE_PREFIX."users u
						LEFT JOIN ".TABLE_PREFIX."usergroups g ON (((','|| u.additionalgroups|| ',' LIKE '%,'|| g.gid|| ',%') OR u.usergroup = g.gid))
						WHERE (g.cancp=1 OR g.issupermod=1)
					");
					break;
Thank you for your bug report.

This bug has been fixed in our internal code repository. Please note that the problem will not be fixed here until these forums are updated.

With regards,
MyBB Group