0787f150b18633cd9387fb80d2515ab9e53fcf9a
There are two issues with the index naming convention used by the ORM: Problem 1: it is possible to have naming conflict for indexes. For instance, the name 'slide_channel_tag_group_sequence_index' is used for both fields slide.channel.tag.group.sequence and slide.channel.tag.group_sequence. Only the first index will be created. Solution 1: we separate the model and field names with a double underscore instead of a single one, which is the same strategy as with LEFT JOIN aliases. This is correct because model names don't contain such double underscores or underscores as prefix or suffix (it is not forbiden but model name should follow the 'dot notation'.) Problem 2: index names can be longer than 63 chars, but PostgreSQL silently truncates it. This doesn't actually break anything (PostgreSQL also truncates values when we check the existence of indexes) but it can lead to using the same name twice. There is hopefully not any example in our code. Solution 2: if the name is too large, we truncate it and pad it with a hash of the complete name to match 63 characters, which is also the strategy used for LEFT JOIN aliases. task-2984730 closes odoo/odoo#100736 Related: odoo/upgrade#3957 Signed-off-by: Raphael Collet <rco@odoo.com>
…
…
Odoo
Odoo is a suite of web based open source business apps.
The main Odoo Apps include an Open Source CRM, Website Builder, eCommerce, Warehouse Management, Project Management, Billing & Accounting, Point of Sale, Human Resources, Marketing, Manufacturing, ...
Odoo Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
Getting started with Odoo
For a standard installation please follow the Setup instructions from the documentation.
To learn the software, we recommend the Odoo eLearning, or Scale-up, the business game. Developers can start with the developer tutorials
Languages
Python
49.6%
JavaScript
47.8%
SCSS
2%
CSS
0.3%
HTML
0.2%