Página 1 de 1

[Resolvido] Problema com querys após atualizar mysql para 5.7 (era 5.6) - ONLY_FULL_GROUP_BY

Enviado: 17 Ago 2018, 21:14
por smfsoft
Boa noite, tenho algumas lojas na versão oc2.3.0.2, que até então estavam rodando normalmente no VPS com o mysql 5.6. Porém fiz a atualização recomendada para a versão 5.7. E boom! Alguns modulos que permitem criar regras utilizando como filtro formas de pagamento, pararam de exibir as formas de pagamento ativas nestes módulos.
Por exemplo, tenho um modulo que me permite criar regras para descontos por meio de pagamentos. Só que agora não aparece na caixa onde seleciono, as formas de pagamento.
Ativando a exibição de erros, e acessando um dos modulos que fazem consulta as formas de pgto disponiveis, temos:

<b>Fatal error</b>: Uncaught Exception: Error: Expression #1 of ORDER BY contains aggregate function and applies to the result of a non-aggregated query&lt;br /&gt;Error No: 3029&lt;br /&gt;SELECT product_id, quantity FROM oc_product WHERE status = '1' AND quantity &gt; minimum ORDER BY MAX(price) LIMIT 1 in /home/contacpanel/public_html/system/library/db/mysqli.php:40

lendo sobre isto na rede encontrei que existe uma maneira de resovler que seria desativar no sql_mode, a opção: ONLY_FULL_GROUP_BY, mas mesmo assim não resolveu.
Alguém ai já se parou com este problema?
Será que irá resolver isto atualizar o mysql 5.7 para o Mariadb10.1? Algúem já fez isto?

Re: Problema com querys após atualizar mysql para 5.7 (era 5.6) - ONLY_FULL_GROUP_BY

Enviado: 20 Ago 2018, 12:51
por Manoel Vidal
Olá @smfsoft.

O problema está na consulta SQL feita por este módulo, pois a mensagem de erro traduzida diz:
"Erro: a Expressão # 1 de ORDER BY contém uma função agregada e se aplica ao resultado de uma consulta não agregada"

Ou seja, possivelmente essa consulta SQL mesmo mal feita, funcionava na versão 5.6 do MySQL, mas não funciona na versão 5.7 que deve ter corrigido a falha que permitia essa consulta SQL funcionar.

Acredito que mudar para MariaDB 10 não ajudaria, o ideal seria entrar em contato com o suporte da extensão, informar o erro e solicitar a correção, ou caso você entenda de SQL, você mesmo ajustar a consulta SQL.

Espero ter ajudado. :)

Re: Problema com querys após atualizar mysql para 5.7 (era 5.6) - ONLY_FULL_GROUP_BY

Enviado: 31 Ago 2018, 17:37
por smfsoft
era mesmo isto. eu removi o modulo de parcelamento e desconto boleto do joseanmatias. e comprei um com o nome de "Super Discounts", dá pra criar varios tipos de regras e funcionou perfeito. Obrigado pela resposta.

Re: [Resolvido] Problema com querys após atualizar mysql para 5.7 (era 5.6) - ONLY_FULL_GROUP_BY

Enviado: 01 Set 2018, 00:21
por Manoel Vidal
Que bom que resolveu, e valeu por informar a solução, assim outros usuários que tiverem o mesmo problema poderão ser ajudado. :)