- 
                            
    Keynote - Vision & Strategy
    Fabien PinckaersHecho
- 
                            
    Opening Keynote - Unveiling Odoo 17
    Fabien PinckaersHecho
- 
                            
    OdooGPT: LLMs based on ChatGPT Trained specifically for Odoo Customers, Consultants, Developers and Partners
    Sohel MerchantHecho
- 
                            
    How-to: From Netsuite to Odoo
    Marek ZádaHecho
- 
                            
    Transforming Real Estate Management: The Palm City Residences Odoo Success Story
    Ghaith Sadok ammarHecho
- 
                            
    Implementing headless eCommerce with Odoo / Nuxt.js and Redis cache
    Diogo DuarteHecho
- 
                            
    Revolutionising Real Estate Management with Odoo
    Van Baelen GeertHecho
- 
                            
    Data Migrator Tool
    Tony MasciHecho
- 
                            
    Automatic classification of  helpdesk tickets on the Odoo platform through Natural Language Processing techniques
    Serena PalazzoHecho
- 
                            
    Bay Alarm Rings the Sound of Success with a 36% Increase in ROI through Odoo
    Chintan ShahHecho
Alexandre has been working with Odoo at Camptocamp since 2012 and OpenERP 6.1. He is a long time Odoo community contributor, and he is passionate about sharing knowledge.
Odoo is using the Repeatable Read isolation level of PostgreSQL, and this has some implications on how the server behaves and how you should write the code of your custom addons to avoid costly retries or completely blocking interactive usage of the Odoo instance because a of a long running scheduled action.
This talk targets experienced Odoo developers. We will start by explaining the differences between the PostgreSQL transaction isolation level used by Odoo (Repeatable Read) and the default isolation level used by PostgreSQL (Read Committed). We will then see how concurrent access errors are reported and dealt with by Odoo server. Finally we will dig into the topic of correctly locking in custom modules, using both implicit locks and explicit locking, and how to properly wait for a lock to be released or check for the existence of a lock on some rows. We will also see some SQL tricks enabling to skip locked rows in a transaction.
