aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/backend/executor/execMain.c12
-rw-r--r--src/backend/parser/gram.y10
-rw-r--r--src/backend/utils/misc/guc.c14
-rw-r--r--src/backend/utils/misc/postgresql.conf.sample3
-rw-r--r--src/bin/pg_dump/pg_dump.c5
-rw-r--r--src/bin/psql/tab-complete.c3
-rw-r--r--src/include/utils/guc.h4
-rw-r--r--src/test/regress/expected/without_oid.out2
-rw-r--r--src/test/regress/sql/without_oid.sql2
9 files changed, 38 insertions, 17 deletions
diff --git a/src/backend/executor/execMain.c b/src/backend/executor/execMain.c
index 2be2d2d6395..e53bb1f7040 100644
--- a/src/backend/executor/execMain.c
+++ b/src/backend/executor/execMain.c
@@ -26,7 +26,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/executor/execMain.c,v 1.222 2003/11/29 19:51:48 pgsql Exp $
+ * $PostgreSQL: pgsql/src/backend/executor/execMain.c,v 1.223 2003/12/01 22:07:58 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -43,6 +43,7 @@
#include "optimizer/var.h"
#include "parser/parsetree.h"
#include "utils/acl.h"
+#include "utils/guc.h"
#include "utils/lsyscache.h"
@@ -593,11 +594,12 @@ InitPlan(QueryDesc *queryDesc, bool explainOnly)
do_select_into = true;
/*
- * For now, always create OIDs in SELECT INTO; this is for
- * backwards compatibility with pre-7.3 behavior. Eventually we
- * might want to allow the user to choose.
+ * The presence of OIDs in the result set of SELECT INTO is
+ * controlled by the default_with_oids GUC parameter. The
+ * behavior in versions of PostgreSQL prior to 7.5 is to
+ * always include OIDs.
*/
- estate->es_force_oids = true;
+ estate->es_force_oids = default_with_oids;
}
/*
diff --git a/src/backend/parser/gram.y b/src/backend/parser/gram.y
index 9e584281c5e..8866200444f 100644
--- a/src/backend/parser/gram.y
+++ b/src/backend/parser/gram.y
@@ -11,7 +11,7 @@
*
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.440 2003/11/29 19:51:51 pgsql Exp $
+ * $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.441 2003/12/01 22:07:58 momjian Exp $
*
* HISTORY
* AUTHOR DATE MAJOR EVENT
@@ -63,6 +63,7 @@
#include "utils/numeric.h"
#include "utils/datetime.h"
#include "utils/date.h"
+#include "utils/guc.h"
extern List *parsetree; /* final parse result is delivered here */
@@ -1822,7 +1823,12 @@ OptInherit: INHERITS '(' qualified_name_list ')' { $$ = $3; }
OptWithOids:
WITH OIDS { $$ = TRUE; }
| WITHOUT OIDS { $$ = FALSE; }
- | /*EMPTY*/ { $$ = TRUE; }
+ /*
+ * If the user didn't explicitely specify WITH or WITHOUT
+ * OIDS, decide whether to include OIDs based on the
+ * "default_with_oids" GUC var
+ */
+ | /*EMPTY*/ { $$ = default_with_oids; }
;
OnCommitOption: ON COMMIT DROP { $$ = ONCOMMIT_DROP; }
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index 030dd9033c8..18cd7e147e7 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -10,7 +10,7 @@
* Written by Peter Eisentraut <peter_e@gmx.net>.
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.173 2003/12/01 03:55:21 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/misc/guc.c,v 1.174 2003/12/01 22:08:00 momjian Exp $
*
*--------------------------------------------------------------------
*/
@@ -126,6 +126,8 @@ bool Australian_timezones = false;
bool Password_encryption = true;
+bool default_with_oids = true;
+
int log_min_error_statement = PANIC;
int log_min_messages = NOTICE;
int client_min_messages = NOTICE;
@@ -263,7 +265,7 @@ const char *const config_group_names[] =
/* QUERY_TUNING */
gettext_noop("Query Tuning"),
/* QUERY_TUNING_METHOD */
- gettext_noop("Query Tuning / Planner Method Enabling"),
+ gettext_noop("Query Tuning / Planner Method Configuration"),
/* QUERY_TUNING_COST */
gettext_noop("Query Tuning / Planner Cost Constants"),
/* QUERY_TUNING_GEQO */
@@ -831,6 +833,14 @@ static struct config_bool ConfigureNamesBool[] =
&check_function_bodies,
true, NULL, NULL
},
+ {
+ {"default_with_oids", PGC_USERSET, COMPAT_OPTIONS_PREVIOUS,
+ gettext_noop("By default, newly-created tables should have OIDs"),
+ NULL
+ },
+ &default_with_oids,
+ true, NULL, NULL
+ },
/* End-of-list marker */
{
diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample
index e4305d98596..98d4d76d3ae 100644
--- a/src/backend/utils/misc/postgresql.conf.sample
+++ b/src/backend/utils/misc/postgresql.conf.sample
@@ -100,7 +100,7 @@
# QUERY TUNING
#---------------------------------------------------------------------------
-# - Planner Method Enabling -
+# - Planner Method Configuration -
#enable_hashagg = true
#enable_hashjoin = true
@@ -255,6 +255,7 @@
#add_missing_from = true
#regex_flavor = advanced # advanced, extended, or basic
#sql_inheritance = true
+#default_with_oids = true
# - Other Platforms & Clients -
diff --git a/src/bin/pg_dump/pg_dump.c b/src/bin/pg_dump/pg_dump.c
index 15b4ebd9705..029f30f6642 100644
--- a/src/bin/pg_dump/pg_dump.c
+++ b/src/bin/pg_dump/pg_dump.c
@@ -12,7 +12,7 @@
* by PostgreSQL
*
* IDENTIFICATION
- * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.358 2003/11/29 19:52:05 pgsql Exp $
+ * $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.359 2003/12/01 22:08:01 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -5627,8 +5627,7 @@ dumpOneTable(Archive *fout, TableInfo *tbinfo, TableInfo *g_tblinfo)
appendPQExpBuffer(q, ")");
}
- if (!tbinfo->hasoids)
- appendPQExpBuffer(q, " WITHOUT OIDS");
+ appendPQExpBuffer(q, tbinfo->hasoids ? " WITH OIDS" : " WITHOUT OIDS");
appendPQExpBuffer(q, ";\n");
diff --git a/src/bin/psql/tab-complete.c b/src/bin/psql/tab-complete.c
index f7e346478aa..c50ce514d1f 100644
--- a/src/bin/psql/tab-complete.c
+++ b/src/bin/psql/tab-complete.c
@@ -3,7 +3,7 @@
*
* Copyright (c) 2000-2003, PostgreSQL Global Development Group
*
- * $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.94 2003/11/29 19:52:07 pgsql Exp $
+ * $PostgreSQL: pgsql/src/bin/psql/tab-complete.c,v 1.95 2003/12/01 22:08:01 momjian Exp $
*/
/*----------------------------------------------------------------------
@@ -499,6 +499,7 @@ psql_completion(char *text, int start, int end)
"default_statistics_target",
"default_transaction_isolation",
"default_transaction_read_only",
+ "default_with_oids",
"dynamic_library_path",
"effective_cache_size",
"enable_hashagg",
diff --git a/src/include/utils/guc.h b/src/include/utils/guc.h
index b92cd68dc9d..29d731146d3 100644
--- a/src/include/utils/guc.h
+++ b/src/include/utils/guc.h
@@ -7,7 +7,7 @@
* Copyright (c) 2000-2003, PostgreSQL Global Development Group
* Written by Peter Eisentraut <peter_e@gmx.net>.
*
- * $PostgreSQL: pgsql/src/include/utils/guc.h,v 1.42 2003/11/29 22:41:15 pgsql Exp $
+ * $PostgreSQL: pgsql/src/include/utils/guc.h,v 1.43 2003/12/01 22:08:02 momjian Exp $
*--------------------------------------------------------------------
*/
#ifndef GUC_H
@@ -109,6 +109,8 @@ extern bool log_btree_build_stats;
extern bool SQL_inheritance;
extern bool Australian_timezones;
+extern bool default_with_oids;
+
extern int log_min_error_statement;
extern int log_min_messages;
extern int client_min_messages;
diff --git a/src/test/regress/expected/without_oid.out b/src/test/regress/expected/without_oid.out
index c25d4e3640b..23a89a06c52 100644
--- a/src/test/regress/expected/without_oid.out
+++ b/src/test/regress/expected/without_oid.out
@@ -1,7 +1,7 @@
--
-- WITHOUT OID
--
-CREATE TABLE wi (i INT);
+CREATE TABLE wi (i INT) WITH OIDS;
CREATE TABLE wo (i INT) WITHOUT OIDS;
INSERT INTO wi VALUES (1); -- 1
INSERT INTO wo SELECT i FROM wi; -- 1
diff --git a/src/test/regress/sql/without_oid.sql b/src/test/regress/sql/without_oid.sql
index dcef735e81e..727e743d02b 100644
--- a/src/test/regress/sql/without_oid.sql
+++ b/src/test/regress/sql/without_oid.sql
@@ -2,7 +2,7 @@
-- WITHOUT OID
--
-CREATE TABLE wi (i INT);
+CREATE TABLE wi (i INT) WITH OIDS;
CREATE TABLE wo (i INT) WITHOUT OIDS;
INSERT INTO wi VALUES (1); -- 1
INSERT INTO wo SELECT i FROM wi; -- 1