From faacacb45fbda8cb444365dff2137ae3f56ce247 Mon Sep 17 00:00:00 2001 From: Raphael Collet Date: Mon, 10 Jul 2017 12:35:02 +0200 Subject: [IMP] registry: check existence of tables with a single SQL query --- odoo/tools/sql.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'odoo/tools/sql.py') diff --git a/odoo/tools/sql.py b/odoo/tools/sql.py index 2772d99e3e7..6c783fe27e7 100644 --- a/odoo/tools/sql.py +++ b/odoo/tools/sql.py @@ -21,6 +21,13 @@ _CONFDELTYPES = { 'SET DEFAULT': 'd', } +def existing_tables(cr, tablenames): + """ Return the names of existing tables among ``tablenames``. """ + query = """ SELECT table_name FROM information_schema.tables + WHERE table_name IN %s AND table_schema != 'information_schema' """ + cr.execute(query, [tuple(tablenames)]) + return [row[0] for row in cr.fetchall()] + def table_exists(cr, tablename): """ Return whether the given table exists. """ query = "SELECT 1 FROM information_schema.tables WHERE table_name=%s AND table_schema != 'information_schema'" -- cgit v1.2.3