From 0dbfea39f313fbd24a1754a701a85815229fe262 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Sun, 16 Jun 2002 00:09:12 +0000 Subject: [PATCH] Remove KSQO from GUC and move file to _deadcode. --- doc/src/sgml/runtime.sgml | 30 +------------------ src/backend/optimizer/plan/planner.c | 7 +---- src/backend/optimizer/prep/Makefile | 4 +-- .../prep/{ => _deadcode}/prepkeyset.c | 4 ++- src/backend/utils/misc/guc.c | 7 +---- src/backend/utils/misc/postgresql.conf.sample | 2 -- src/bin/psql/tab-complete.c | 5 ++-- src/include/optimizer/planmain.h | 9 +----- 8 files changed, 11 insertions(+), 57 deletions(-) rename src/backend/optimizer/prep/{ => _deadcode}/prepkeyset.c (98%) diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index 057a45b856..1a26e9d794 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1,5 +1,5 @@ @@ -759,34 +759,6 @@ env PGOPTIONS='-c geqo=off' psql - - KSQO (boolean) - - - The Key Set Query Optimizer - (KSQO) causes the query planner to convert - queries whose WHERE clause contains many OR'ed AND - clauses (such as WHERE (a=1 AND b=2) OR (a=2 AND b=3) - ...) into a union query. This method can be faster - than the default implementation, but it doesn't necessarily give - exactly the same results, since UNION implicitly - adds a SELECT DISTINCT clause to eliminate identical - output rows. KSQO is commonly used when - working with products like Microsoft - Access, which tend to generate queries of this - form. - - - - The KSQO algorithm used to be absolutely - essential for queries with many OR'ed AND clauses, but in - PostgreSQL 7.0 and later the standard - planner handles these queries fairly successfully; hence the - default is off. - - - - RANDOM_PAGE_COST (floating point) diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c index 7e1c7ffdc0..f166867036 100644 --- a/src/backend/optimizer/plan/planner.c +++ b/src/backend/optimizer/plan/planner.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.120 2002/06/13 15:10:25 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/optimizer/plan/planner.c,v 1.121 2002/06/16 00:09:11 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -145,11 +145,6 @@ subquery_planner(Query *parse, double tuple_fraction) PlannerQueryLevel++; PlannerInitPlan = NIL; -#ifdef ENABLE_KEY_SET_QUERY - /* this should go away sometime soon */ - transformKeySetQuery(parse); -#endif - /* * Check to see if any subqueries in the rangetable can be merged into * this query. diff --git a/src/backend/optimizer/prep/Makefile b/src/backend/optimizer/prep/Makefile index d78240666c..60925de441 100644 --- a/src/backend/optimizer/prep/Makefile +++ b/src/backend/optimizer/prep/Makefile @@ -4,7 +4,7 @@ # Makefile for optimizer/prep # # IDENTIFICATION -# $Header: /cvsroot/pgsql/src/backend/optimizer/prep/Makefile,v 1.12 2000/08/31 16:10:13 petere Exp $ +# $Header: /cvsroot/pgsql/src/backend/optimizer/prep/Makefile,v 1.13 2002/06/16 00:09:11 momjian Exp $ # #------------------------------------------------------------------------- @@ -12,7 +12,7 @@ subdir = src/backend/optimizer/prep top_builddir = ../../../.. include $(top_builddir)/src/Makefile.global -OBJS = prepqual.o preptlist.o prepunion.o prepkeyset.o +OBJS = prepqual.o preptlist.o prepunion.o all: SUBSYS.o diff --git a/src/backend/optimizer/prep/prepkeyset.c b/src/backend/optimizer/prep/_deadcode/prepkeyset.c similarity index 98% rename from src/backend/optimizer/prep/prepkeyset.c rename to src/backend/optimizer/prep/_deadcode/prepkeyset.c index 76921d8e9a..b7f7ca169e 100644 --- a/src/backend/optimizer/prep/prepkeyset.c +++ b/src/backend/optimizer/prep/_deadcode/prepkeyset.c @@ -8,7 +8,9 @@ * *------------------------------------------------------------------------- */ - + +/* THIS FILE WAS USED FOR KSQO, WHICH IS DISABLED NOW. bjm 2002-06-15 */ + #include "postgres.h" #include "optimizer/planmain.h" diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c index 15c8f6f480..53503f4b41 100644 --- a/src/backend/utils/misc/guc.c +++ b/src/backend/utils/misc/guc.c @@ -5,7 +5,7 @@ * command, configuration file, and command line options. * See src/backend/utils/misc/README for more information. * - * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.69 2002/05/17 20:32:29 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.70 2002/06/16 00:09:12 momjian Exp $ * * Copyright 2000 by PostgreSQL Global Development Group * Written by Peter Eisentraut . @@ -312,11 +312,6 @@ static struct config_bool { "enable_hashjoin", PGC_USERSET }, &enable_hashjoin, true, NULL, NULL }, - - { - { "ksqo", PGC_USERSET }, &_use_keyset_query_optimizer, - false, NULL, NULL - }, { { "geqo", PGC_USERSET }, &enable_geqo, true, NULL, NULL diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample index c2a3c1e707..00dced8d39 100644 --- a/src/backend/utils/misc/postgresql.conf.sample +++ b/src/backend/utils/misc/postgresql.conf.sample @@ -89,8 +89,6 @@ #enable_mergejoin = true #enable_hashjoin = true -#ksqo = false - #effective_cache_size = 1000 # default in 8k pages #random_page_cost = 4 #cpu_tuple_cost = 0.01 diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c index 0d0909faa4..521742ea1d 100644 --- a/src/bin/psql/tab-complete.c +++ b/src/bin/psql/tab-complete.c @@ -3,7 +3,7 @@ * * Copyright 2000 by PostgreSQL Global Development Group * - * $Header: /cvsroot/pgsql/src/bin/psql/tab-complete.c,v 1.49 2002/06/15 19:43:47 momjian Exp $ + * $Header: /cvsroot/pgsql/src/bin/psql/tab-complete.c,v 1.50 2002/06/16 00:09:12 momjian Exp $ */ /*---------------------------------------------------------------------- @@ -226,7 +226,6 @@ psql_completion(char *text, int start, int end) "enable_nestloop", "enable_mergejoin", "enable_hashjoin", - "ksqo", "geqo", "fsync", "server_min_messages", @@ -695,7 +694,7 @@ psql_completion(char *text, int start, int end) COMPLETE_WITH_LIST(my_list); } - else if (strcasecmp(prev2_wd, "GEQO") == 0 || strcasecmp(prev2_wd, "KSQO") == 0) + else if (strcasecmp(prev2_wd, "GEQO") == 0) { char *my_list[] = {"ON", "OFF", "DEFAULT", NULL}; diff --git a/src/include/optimizer/planmain.h b/src/include/optimizer/planmain.h index 29319a1485..4c6f9e3699 100644 --- a/src/include/optimizer/planmain.h +++ b/src/include/optimizer/planmain.h @@ -7,7 +7,7 @@ * Portions Copyright (c) 1996-2001, PostgreSQL Global Development Group * Portions Copyright (c) 1994, Regents of the University of California * - * $Id: planmain.h,v 1.57 2002/05/18 02:25:50 tgl Exp $ + * $Id: planmain.h,v 1.58 2002/06/16 00:09:12 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -62,11 +62,4 @@ extern List *join_references(List *clauses, List *rtable, Index acceptable_rel); extern void fix_opids(Node *node); -/* - * prep/prepkeyset.c - */ -extern bool _use_keyset_query_optimizer; - -extern void transformKeySetQuery(Query *origNode); - #endif /* PLANMAIN_H */