summaryrefslogtreecommitdiff
path: root/contrib/likeplanning/README
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/likeplanning/README')
-rw-r--r--contrib/likeplanning/README44
1 files changed, 0 insertions, 44 deletions
diff --git a/contrib/likeplanning/README b/contrib/likeplanning/README
deleted file mode 100644
index 0896966376..0000000000
--- a/contrib/likeplanning/README
+++ /dev/null
@@ -1,44 +0,0 @@
-This directory contains two SQL scripts that control use of some new
-code for planning/optimizing queries containing LIKE and
-regular-expression operators. This code was added to Postgres 7.0 late in
-beta test, and it hasn't gotten enough testing to warrant turning it on by
-default in release 7.0 (although it probably will become default in 7.1).
-So, here are some scripts to enable and disable it. You may want to run
-these scripts if you have problems with the planner choosing bad plans for
-queries involving LIKE or regexps in WHERE clauses.
-
-
-HOW TO USE THE SCRIPTS
-----------------------
-
-Both scripts must be run as the Postgres superuser. The easiest
-way to run an SQL script is
- psql -f scriptfile databasename
-or you can start psql interactively and enter
- \i scriptfile
-
-enablelike.sql enables use of the new planning code in the database in
-which it is run. If you run it in template1, all subsequently-created
-databases will use the new code by default.
-
-disablelike.sql reverts to the old planning code for LIKE, in the database
-in which it is run. If you run it in template1, all subsequently-created
-databases will use the old code by default.
-
-
-WHAT IT DOES
-------------
-
-These scripts install (or disable) new code for "selectivity estimation"
-of LIKE and regexp operators. Selectivity estimation determines the
-estimated number of rows produced by a query or subquery, and that in turn
-determines the kind of plan the planner will use. The old selectivity
-estimator ignored the pattern being searched for and just produced the
-same estimate as for an "=" operator, which of course was usually too low
-for a wildcard match. The new code has some knowledge of pattern matching
-rules and generates an estimate based on the number of fixed characters and
-wildcards present in the pattern. Also, if the pattern has a fixed prefix
-that must be matched (such as LIKE 'foo%' or ~ '^foo'), an appropriate
-range-query selectivity estimate is produced and factored into the result.
-
-If you want to look at the code itself, see src/backend/utils/adt/selfuncs.c.