Performance improvements in cnfify(): get rid of exponential

Tom Lane <tgl@sss.pgh.pa.us>

Commit: 8759f175db03a523bf43754206f10690ec92bf14
Author: Tom Lane <tgl@sss.pgh.pa.us>
Date: 1999-09-07T03:47:06Z
Releases: 7.1.1
Performance improvements in cnfify(): get rid of exponential
space consumption in pull_args, and avoid doing the full CNF transform on
operands of operator clauses, where it's really not particularly helpful.
This answers the TODO item about large numbers of OR clauses, at least
partially.  I was able to do a ten-thousand-OR-clause query with about
20Mb memory consumption ... it took an obscenely long time, but it worked...

Files

PathChange+/−
src/backend/optimizer/prep/prepqual.c modified +236 −249