Erro no OAI OJS3 Postgres

Caros, estou com um erro relacionado ao banco de dados quando utilizo o protocolo OAI e vou listar os records ( https://revistasnj.mdh.gov.br/index.php/snj/oai?verb=ListRecords&metadataPrefix=oai_dc ) me aparece o seguinte erro:

DB Error: ERRO: operador não existe: text = integer LINHA 15: …nal_id AND jsoai.setting_name= $1 AND jsoai.setting_value=1) ^ DICA: Nenhum operador corresponde com o nome e o(s) tipo(s) de argumento(s) informados. Você precisa adicionar conversões de tipo explícitas.

Acredito que seja alguma coisa relacionada a este arquivo aqui: https://github.com/pkp/ojs/blob/master/classes/oai/ojs/OAIDAO.inc.php#L240. mas não sei o que fazer.

Obrigado a todos.

Prezados @lucasrc,

O problema ocorre na consulta SQL na linha 241

, exatamente no campo

jsoai.setting_value=1
pois na verdade, o campo jsoai.setting_value é do tipo texto e não inteiro, portanto você deverá alterar o código colocando aspas simples, conforme abaixo.

jsoai.setting_value=\'1\'

Este bug foi resolvido recentemente pelos desenvolvedores do PKP e na proxima versão do OJS o problema estará corrigido.

abraços,
Diego

1 curtida