Skip to content

Commit db75a2c

Browse files
committed
[IMP] util.explode_query{,_range}
Warn when the `OR` keyword is found in query without `{parallel_filter}` set. See odoo/upgrade#6621 closes #152 Signed-off-by: Christophe Simonis (chs) <[email protected]>
1 parent 8d74483 commit db75a2c

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

src/util/pg.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,10 @@ def explode_query(cr, query, alias=None, num_buckets=8, prefix=None):
223223
prefix = ""
224224

225225
if "{parallel_filter}" not in query:
226+
if re.search(r"\bOR\b", query, re.I):
227+
_logger.getChild("explode_query").warning(
228+
"`OR` found in the query. Please explicitly include the `{parallel_filter}` placeholder in the query."
229+
)
226230
sep_kw = " AND " if re.search(r"\sWHERE\s", query, re.M | re.I) else " WHERE "
227231
query += sep_kw + "{parallel_filter}"
228232

@@ -253,6 +257,10 @@ def explode_query_range(cr, query, table, alias=None, bucket_size=10000, prefix=
253257
alias = alias or table
254258

255259
if "{parallel_filter}" not in query:
260+
if re.search(r"\bOR\b", query, re.I):
261+
_logger.getChild("explode_query_range").warning(
262+
"`OR` found in the query. Please explicitly include the `{parallel_filter}` placeholder in the query."
263+
)
256264
sep_kw = " AND " if re.search(r"\sWHERE\s", query, re.M | re.I) else " WHERE "
257265
query += sep_kw + "{parallel_filter}"
258266

0 commit comments

Comments
 (0)