TODO list for PostgreSQL
========================
-Last updated: Wed Jun 11 17:38:50 EDT 2003
+Last updated: Wed Jun 11 18:09:42 EDT 2003
Current maintainer: Bruce Momjian (pgman@candle.pha.pa.us)
<!--
-$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.183 2003/06/11 18:01:13 momjian Exp $
+$Header: /cvsroot/pgsql/doc/src/sgml/runtime.sgml,v 1.184 2003/06/11 22:13:21 momjian Exp $
-->
<Chapter Id="runtime">
<variablelist>
<varlistentry>
+ <term><varname>ADD_MISSING_FROM</varname> (<type>boolean</type>)</term>
+ <listitem>
+ <para>
+ This parameter controls whether a relation referenced in a query but
+ missing from the FROM clause should be automatically added to
+ the FROM clause. If enabled (the default), the notice
+ <literal>Adding missing FROM-clause entry for table "tablename"</literal>
+ is generated if a relation is automatically added. If not enabled,
+ an error is raised when an additional extra relation is required.
+ For SQL standards compliance, this value should be set to
+ <literal>false</>.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
<term><varname>AUSTRALIAN_TIMEZONES</varname> (<type>boolean</type>)</term>
<indexterm><primary>Australian time zones</></>
<listitem>
*
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/parser/parse_relation.c,v 1.81 2003/04/29 22:13:10 tgl Exp $
+ * $Header: /cvsroot/pgsql/src/backend/parser/parse_relation.c,v 1.82 2003/06/11 22:13:22 momjian Exp $
*
*-------------------------------------------------------------------------
*/
#include "utils/lsyscache.h"
#include "utils/syscache.h"
+/* GUC parameter */
+bool add_missing_from;
static Node *scanNameSpaceForRefname(ParseState *pstate, Node *nsnode,
const char *refname);
}
}
if (foundInFromCl)
- elog(NOTICE, "Adding missing FROM-clause entry%s for table \"%s\"",
- pstate->parentParseState != NULL ? " in subquery" : "",
- relation->relname);
+ {
+ if (add_missing_from)
+ elog(NOTICE, "Adding missing FROM-clause entry%s for table \"%s\"",
+ pstate->parentParseState != NULL ? " in subquery" : "",
+ relation->relname);
+ else
+ elog(ERROR, "Missing FROM-clause entry%s for table \"%s\"",
+ pstate->parentParseState != NULL ? " in subquery" : "",
+ relation->relname);
+ }
}
* Written by Peter Eisentraut <peter_e@gmx.net>.
*
* IDENTIFICATION
- * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.130 2003/06/11 18:49:00 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v 1.131 2003/06/11 22:13:22 momjian Exp $
*
*--------------------------------------------------------------------
*/
#include "optimizer/paths.h"
#include "optimizer/prep.h"
#include "parser/parse_expr.h"
+#include "parser/parse_relation.h"
#include "storage/fd.h"
#include "storage/freespace.h"
#include "storage/lock.h"
{"transaction_read_only", PGC_USERSET, GUC_NO_RESET_ALL}, &XactReadOnly,
false, NULL, NULL
},
+ {
+ {"add_missing_from", PGC_USERSET}, &add_missing_from,
+ true, NULL, NULL
+ },
+ /* End-of-list marker */
{
{NULL, 0}, NULL, false, NULL, NULL
- }
+ },
};
0, 0, INT_MAX / 1000, NULL, NULL
},
+ /* End-of-list marker */
{
{NULL, 0}, NULL, 0, 0, 0, NULL, NULL
}
0.5, 0.0, 1.0, assign_random_seed, show_random_seed
},
+ /* End-of-list marker */
{
{NULL, 0}, NULL, 0.0, 0.0, 0.0, NULL, NULL
}
XLOG_sync_method_default, assign_xlog_sync_method, NULL
},
+ /* End-of-list marker */
{
{NULL, 0}, NULL, NULL, NULL, NULL
}
#statement_timeout = 0 # 0 is disabled, in milliseconds
#db_user_namespace = false
#preload_libraries = ''
+#add_missing_from = true
*
* Copyright 2000-2002 by PostgreSQL Global Development Group
*
- * $Header: /cvsroot/pgsql/src/bin/psql/tab-complete.c,v 1.78 2003/06/11 18:01:14 momjian Exp $
+ * $Header: /cvsroot/pgsql/src/bin/psql/tab-complete.c,v 1.79 2003/06/11 22:13:22 momjian Exp $
*/
/*----------------------------------------------------------------------
* the rest should match USERSET and possibly SUSET entries in
* backend/utils/misc/guc.c.
*/
+ "add_missing_from",
"australian_timezones",
"client_encoding",
"client_min_messages",
* Portions Copyright (c) 1996-2002, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
- * $Id: parse_relation.h,v 1.39 2002/09/04 20:31:45 momjian Exp $
+ * $Id: parse_relation.h,v 1.40 2003/06/11 22:13:22 momjian Exp $
*
*-------------------------------------------------------------------------
*/
#include "parser/parse_node.h"
+extern bool add_missing_from;
+
extern RangeTblEntry *refnameRangeTblEntry(ParseState *pstate,
const char *schemaname,
const char *refname,