Vauxoo / maintainer-quality-tools

QA tools for Odoo maintainers
GNU Affero General Public License v3.0
3 stars 9 forks source link

Create UNLOGGED tables for faster creation #279

Closed moylop260 closed 6 years ago

moylop260 commented 6 years ago

Use SQL-CREATETABLE-UNLOGGED recommended for non-durability databases

Maybe patching odoo code

Or using ALTER TABLE "res_users" SET UNLOGGED; Note: The last command requires trace all parent tables in order to avoid a error similar to:

UPDATED: Running the following command

rgrep "CREATE TABLE" . --include=*.py --include=*.sql
./odoo/addons/base/base.sql:CREATE TABLE ir_actions (
./odoo/addons/base/base.sql:CREATE TABLE ir_act_window (primary key(id)) INHERITS (ir_actions);
./odoo/addons/base/base.sql:CREATE TABLE ir_act_report_xml (primary key(id)) INHERITS (ir_actions);
./odoo/addons/base/base.sql:CREATE TABLE ir_act_url (primary key(id)) INHERITS (ir_actions);
./odoo/addons/base/base.sql:CREATE TABLE ir_act_server (primary key(id)) INHERITS (ir_actions);
./odoo/addons/base/base.sql:CREATE TABLE ir_act_client (primary key(id)) INHERITS (ir_actions);
./odoo/addons/base/base.sql:CREATE TABLE res_users (
./odoo/addons/base/base.sql:CREATE TABLE res_groups (
./odoo/addons/base/base.sql:CREATE TABLE ir_module_category (
./odoo/addons/base/base.sql:CREATE TABLE ir_module_module (
./odoo/addons/base/base.sql:CREATE TABLE ir_module_module_dependency (
./odoo/addons/base/base.sql:CREATE TABLE ir_model_data (
./odoo/addons/base/base.sql:CREATE TABLE res_currency (
./odoo/addons/base/base.sql:CREATE TABLE res_company (
./odoo/addons/base/base.sql:CREATE TABLE res_partner (
./odoo/tools/sql.py:    cr.execute('CREATE TABLE "{}" (id SERIAL NOT NULL, PRIMARY KEY(id))'.format(tablename))
./odoo/fields.py:                CREATE TABLE "{rel}" ("{id1}" INTEGER NOT NULL,
./addons/base_import/static/csv/database_import_test.sql:CREATE TABLE companies (
./addons/base_import/static/csv/database_import_test.sql:CREATE TABLE persons (

There are 5 files where a database is created.

Apply a patch similar to:

Note: Use the real name of files because of there is 1 sql and 2 py