mirror of
https://github.com/postgres/postgres.git
synced 2025-04-27 22:56:53 +03:00
Ignore RECHECK in CREATE OPERATOR CLASS, just throwing a NOTICE, instead of
throwing an error as 8.4 had been doing. The error interfered with porting old database definitions (particularly for pg_migrator) without really buying any safety. Per bug #4817 and subsequent discussion.
This commit is contained in:
parent
9873db6646
commit
6ec0753146
@ -11,7 +11,7 @@
|
|||||||
*
|
*
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.663 2009/04/28 09:09:41 heikki Exp $
|
* $PostgreSQL: pgsql/src/backend/parser/gram.y,v 2.664 2009/05/27 20:42:29 tgl Exp $
|
||||||
*
|
*
|
||||||
* HISTORY
|
* HISTORY
|
||||||
* AUTHOR DATE MAJOR EVENT
|
* AUTHOR DATE MAJOR EVENT
|
||||||
@ -3639,9 +3639,14 @@ opt_opfamily: FAMILY any_name { $$ = $2; }
|
|||||||
|
|
||||||
opt_recheck: RECHECK
|
opt_recheck: RECHECK
|
||||||
{
|
{
|
||||||
ereport(ERROR,
|
/*
|
||||||
|
* RECHECK no longer does anything in opclass definitions,
|
||||||
|
* but we still accept it to ease porting of old database
|
||||||
|
* dumps.
|
||||||
|
*/
|
||||||
|
ereport(NOTICE,
|
||||||
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
(errcode(ERRCODE_FEATURE_NOT_SUPPORTED),
|
||||||
errmsg("RECHECK is no longer supported"),
|
errmsg("RECHECK is no longer required"),
|
||||||
errhint("Update your data type."),
|
errhint("Update your data type."),
|
||||||
scanner_errposition(@1)));
|
scanner_errposition(@1)));
|
||||||
$$ = TRUE;
|
$$ = TRUE;
|
||||||
|
@ -12,7 +12,7 @@
|
|||||||
* by PostgreSQL
|
* by PostgreSQL
|
||||||
*
|
*
|
||||||
* IDENTIFICATION
|
* IDENTIFICATION
|
||||||
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.537 2009/05/26 17:36:05 tgl Exp $
|
* $PostgreSQL: pgsql/src/bin/pg_dump/pg_dump.c,v 1.538 2009/05/27 20:42:29 tgl Exp $
|
||||||
*
|
*
|
||||||
*-------------------------------------------------------------------------
|
*-------------------------------------------------------------------------
|
||||||
*/
|
*/
|
||||||
@ -8159,8 +8159,10 @@ dumpOpclass(Archive *fout, OpclassInfo *opcinfo)
|
|||||||
* pg_depend entries.
|
* pg_depend entries.
|
||||||
*
|
*
|
||||||
* XXX RECHECK is gone as of 8.4, but we'll still print it if dumping
|
* XXX RECHECK is gone as of 8.4, but we'll still print it if dumping
|
||||||
* an older server's table in which it is used. Would it be better
|
* an older server's opclass in which it is used. This is to avoid
|
||||||
* to silently ignore it?
|
* hard-to-detect breakage if a newer pg_dump is used to dump from
|
||||||
|
* an older server and then reload into that old version. This can
|
||||||
|
* go away once 8.3 is so old as to not be of interest to anyone.
|
||||||
*/
|
*/
|
||||||
appendPQExpBuffer(query, "SELECT amopstrategy, false AS amopreqcheck, "
|
appendPQExpBuffer(query, "SELECT amopstrategy, false AS amopreqcheck, "
|
||||||
"amopopr::pg_catalog.regoperator "
|
"amopopr::pg_catalog.regoperator "
|
||||||
@ -8370,8 +8372,10 @@ dumpOpfamily(Archive *fout, OpfamilyInfo *opfinfo)
|
|||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* XXX RECHECK is gone as of 8.4, but we'll still print it if dumping
|
* XXX RECHECK is gone as of 8.4, but we'll still print it if dumping
|
||||||
* an older server's table in which it is used. Would it be better
|
* an older server's opclass in which it is used. This is to avoid
|
||||||
* to silently ignore it?
|
* hard-to-detect breakage if a newer pg_dump is used to dump from
|
||||||
|
* an older server and then reload into that old version. This can
|
||||||
|
* go away once 8.3 is so old as to not be of interest to anyone.
|
||||||
*/
|
*/
|
||||||
appendPQExpBuffer(query, "SELECT amopstrategy, false AS amopreqcheck, "
|
appendPQExpBuffer(query, "SELECT amopstrategy, false AS amopreqcheck, "
|
||||||
"amopopr::pg_catalog.regoperator "
|
"amopopr::pg_catalog.regoperator "
|
||||||
|
Loading…
x
Reference in New Issue
Block a user