Vanaf BETA-release 22.1.274 zal een workaround voor de Odoo 16-bug opgenomen zijn. Deze release zal na verwachting voor 29 augustus in productie genomen zijn op Invantive Cloud.
Helaas komen bugs en fouten in het Odoo-repository vaak naar buiten bij raadpleging via de API’s. Een grove consistentiecontrole kan uitgevoerd worden met bijvoorbeeld:
begin
for r in
( select schema , name
from systemtables@datadictionary
where provider_name='Odoo'
order
by schema , name
)
loop
dbms_output.put_line(r.schema || '.' || r.name);
begin
execute immediate 'select 1 c from [' || r.schema || '].[' || r.name || '] limit 100';
exception
when others
then
dbms_output.put_line(sqlerrm);
end;
end loop;
end;
Indien bijvoorbeeld een fout zit in bank.rec_widget, dan wordt een fout afgedrukt zoals:
itgenodo100
syntax error at or near “0”
LINE 1: SELECT “bank_rec_widget”.id FROM (0) AS “bank_rec_widget”
Aan de schrijfwijze is te zien dat dit een foutmelding is uit de PostgreSQL-database die Odoo gebruikt.
Een ander voorbeeld is digest.digest:
itgenodo099
cannot cast type boolean to date
LINE 6: … WHERE line.company_id = 1 AND line.date > false::DATE AND
Of het vervallen van een view door een upgradefout zoals bij project_task_burndown_chart_report:
itgenodo107
relation “project_task_burndown_chart_report” does not exist
LINE 1: …LECT “project_task_burndown_chart_report”.id FROM "project_t
Een Odoo-consultant of Odoo Support kan ondersteunen bij het corrigeren van het repository.
Naar verwachting is deze bug opgelost door Odoo als onderdeel van deze commit op 7 augustus:
In een toekomstige versie van Odoo zal de fix verwerkt zijn. De workaround wordt in stand gehouden tot tenminste 3 jaar na de commit aangezien Odoo voor zover bekend geen backports verscheept. Op deze wijze kunnen ook hedendaagse Odoo-versies nog tenminste 3 jaar gebruikt worden in combinatie met Invantive’s UniversalSQL.
Deze vraag is automatisch gesloten na 2 weken inactiviteit. Het laatste gegeven antwoord is gemarkeerd als oplossing.
Gelieve een nieuwe vraag te stellen via een apart topic als het probleem opnieuw optreedt. Gelieve in de nieuwe vraag een link naar dit topic op te nemen door de URL er van in de tekst te plakken.