MyBB Community Forums
[F] [pgsql] Reporting posts in unmoderated forums [C-StefanT] - Printable Version

+- MyBB Community Forums (https://community.mybb.com)
+-- Forum: Community Archive (https://community.mybb.com/forum-106.html)
+--- Forum: Archived Forums (https://community.mybb.com/forum-143.html)
+---- Forum: Archived Development and Support (https://community.mybb.com/forum-155.html)
+----- Forum: Archived Bug Reports (https://community.mybb.com/forum-74.html)
+------ Forum: MyBB 1.4.6 (https://community.mybb.com/forum-116.html)
+------ Thread: [F] [pgsql] Reporting posts in unmoderated forums [C-StefanT] (/thread-49838.html)



[F] [pgsql] Reporting posts in unmoderated forums [C-StefanT] - Tomm M - 2009-05-14

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":



RE: [pgsql] Reporting posts in unmoderated forums - Ryan Gordon - 2009-05-14

Im pretty sure SQLite and PostgreSQL use the same thing.


RE: [pgsql] Reporting posts in unmoderated forums - Tomm M - 2009-05-14

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;



[F] [pgsql] Reporting posts in unmoderated forums - Tomm M - 2009-05-15

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