Database error result for new Statistics::Articles view (/stats/publishSubmissions)

The new link in the admin dashboard for Statistics::Articles is resulting in a database error. This is on a test server upgrading a multisite instance from 3.1.1.4 to 3.1.2.0.

PHP 7.0.27
PostgreSQL 9.2.23

DB Error: ERROR: zero-length delimited identifier at or near “”"" LINE 3: …(ist.setting_value IS NULL OR ist.setting_value = “”) ORDER … ^

Stack Trace:

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/classes/issue/IssueDAO.inc.php line 136
Function: DAO->retrieve(“SELECT i.* FROM issues i LEFT JOIN issue_settings ist ON i.is…”, Array(1))

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/classes/issue/IssueDAO.inc.php line 103
Function: IssueDAO->getBySetting(“pub-id::publisher-id”, Null, Null)

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/classes/issue/IssueDAO.inc.php line 228
Function: IssueDAO->getByPubId(“publisher-id”, Null, Null, False)

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/classes/issue/IssueDAO.inc.php line 34
Function: IssueDAO->getByBestId(Null, Null, False)

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/lib/pkp/classes/cache/GenericCache.inc.php line 63
Function: IssueDAO->_cacheMiss(Object(GenericCache), Null)

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/classes/issue/IssueDAO.inc.php line 64
Function: GenericCache->get(Null)

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/classes/services/SubmissionService.inc.php line 70
Function: IssueDAO->getById(Null, “28”, True)

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/lib/pkp/classes/plugins/HookRegistry.inc.php line 107
Function: OJS\Services\SubmissionService->modifyIsPublic(“Submission::isPublic”, Array(2))

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/lib/pkp/classes/services/PKPSubmissionService.inc.php line 319
Function: HookRegistry::call(“Submission::isPublic”, Array(2))

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/lib/pkp/classes/services/PKPSubmissionService.inc.php line 337
Function: PKP\Services\PKPSubmissionService->isPublic(Object(PublishedArticle))

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/lib/pkp/classes/services/PKPSubmissionService.inc.php line 635
Function: PKP\Services\PKPSubmissionService->canUserViewAuthor(Object(User), Object(PublishedArticle))

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/lib/pkp/classes/services/PKPStatsService.inc.php line 135
Function: PKP\Services\PKPSubmissionService->getStatsObjectSummaryProperties(Object(PublishedArticle), Array(2))

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/lib/pkp/classes/services/PKPStatsService.inc.php line 160
Function: PKP\Services\PKPStatsService->getProperties(Object(PublishedArticle), Array(7), Array(2))

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/lib/pkp/pages/stats/PKPStatsHandler.inc.php line 98
Function: PKP\Services\PKPStatsService->getSummaryProperties(Object(PublishedArticle), Array(2))

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/lib/pkp/classes/core/PKPRouter.inc.php line 390
Function: PKPStatsHandler->publishedSubmissions(Array(0), Object(Request))

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/lib/pkp/classes/core/PKPPageRouter.inc.php line 231
Function: PKPRouter->_authorizeInitializeAndCallRequest(Array(2), Object(Request), Array(0), False)

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/lib/pkp/classes/core/Dispatcher.inc.php line 134
Function: PKPPageRouter->route(Object(Request))

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/lib/pkp/classes/core/PKPApplication.inc.php line 252
Function: Dispatcher->dispatch(Object(Request))

File: /srv/services/journals-devel-webapp-8121/htdocs/journals-playground/index.php line 68
Function: PKPApplication->execute()

Hi @rshiggin,

It looks like some PostgreSQL-incompatible SQL quoting crept into the code. I’ve filed the issue and posted a patch at Fix PostgreSQL-incompatible quoting · Issue #4691 · pkp/pkp-lib · GitHub.

Regards,
Alec Smecher
Public Knowledge Project Team

1 Like

We suspected this might be the problem. Thanks for the quick response.

Richard Higgins
Indiana University Libraries