Stefan Kaltenbrunner escribió:

> yeah - the test install is available on http://reviewdemo.postgresql.org  
> if people want to test judge for themself - contact magnus or me if you  
> need permissions to do/test stuff there.

Thanks.  I tried submitting a review request against anoncvs but it
failed with
     No valid separator after the filename was found in the diff header

"patch" can apply the patch correctly -- I'm not sure what does this
patch have that RB does not like.

The patch is attached in case you want to play with it.

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.
Index: src/backend/commands/analyze.c
===================================================================
RCS file: /home/alvherre/Code/cvs/pgsql/src/backend/commands/analyze.c,v
retrieving revision 1.114
diff -c -p -r1.114 analyze.c
*** src/backend/commands/analyze.c	3 Jan 2008 21:23:15 -0000	1.114
--- src/backend/commands/analyze.c	15 Jan 2008 22:50:24 -0000
***************
*** 22,27 ****
--- 22,28 ----
  #include "catalog/index.h"
  #include "catalog/indexing.h"
  #include "catalog/namespace.h"
+ #include "catalog/pg_namespace.h"
  #include "commands/dbcommands.h"
  #include "commands/vacuum.h"
  #include "executor/executor.h"
*************** analyze_rel(Oid relid, VacuumStmt *vacst
*** 161,169 ****
  	{
  		/* No need for a WARNING if we already complained during VACUUM */
  		if (!vacstmt->vacuum)
! 			ereport(WARNING,
! 					(errmsg("skipping \"%s\" --- only table or database owner can analyze it",
! 							RelationGetRelationName(onerel))));
  		relation_close(onerel, ShareUpdateExclusiveLock);
  		return;
  	}
--- 162,181 ----
  	{
  		/* No need for a WARNING if we already complained during VACUUM */
  		if (!vacstmt->vacuum)
! 		{
! 			if (onerel->rd_rel->relisshared)
! 				ereport(WARNING,
! 						(errmsg("skipping \"%s\" --- only superuser can analyze it",
! 								RelationGetRelationName(onerel))));
! 			else if (onerel->rd_rel->relnamespace == PG_CATALOG_NAMESPACE)
! 				ereport(WARNING,
! 						(errmsg("skipping \"%s\" --- only superuser or database owner can analyze it",
! 								RelationGetRelationName(onerel))));
! 			else
! 				ereport(WARNING,
! 						(errmsg("skipping \"%s\" --- only table or database owner can analyze it",
! 								RelationGetRelationName(onerel))));
! 		}
  		relation_close(onerel, ShareUpdateExclusiveLock);
  		return;
  	}
Index: src/backend/commands/vacuum.c
===================================================================
RCS file: /home/alvherre/Code/cvs/pgsql/src/backend/commands/vacuum.c,v
retrieving revision 1.363
diff -c -p -r1.363 vacuum.c
*** src/backend/commands/vacuum.c	3 Jan 2008 21:23:15 -0000	1.363
--- src/backend/commands/vacuum.c	15 Jan 2008 22:50:01 -0000
***************
*** 30,35 ****
--- 30,36 ----
  #include "access/xlog.h"
  #include "catalog/namespace.h"
  #include "catalog/pg_database.h"
+ #include "catalog/pg_namespace.h"
  #include "commands/dbcommands.h"
  #include "commands/vacuum.h"
  #include "executor/executor.h"
*************** vacuum_rel(Oid relid, VacuumStmt *vacstm
*** 1048,1056 ****
  	if (!(pg_class_ownercheck(RelationGetRelid(onerel), GetUserId()) ||
  		  (pg_database_ownercheck(MyDatabaseId, GetUserId()) && !onerel->rd_rel->relisshared)))
  	{
! 		ereport(WARNING,
! 				(errmsg("skipping \"%s\" --- only table or database owner can vacuum it",
! 						RelationGetRelationName(onerel))));
  		relation_close(onerel, lmode);
  		CommitTransactionCommand();
  		return;
--- 1049,1066 ----
  	if (!(pg_class_ownercheck(RelationGetRelid(onerel), GetUserId()) ||
  		  (pg_database_ownercheck(MyDatabaseId, GetUserId()) && !onerel->rd_rel->relisshared)))
  	{
! 		if (onerel->rd_rel->relisshared)
! 			ereport(WARNING,
! 					(errmsg("skipping \"%s\" --- only superuser can vacuum it",
! 							RelationGetRelationName(onerel))));
! 		else if (onerel->rd_rel->relnamespace == PG_CATALOG_NAMESPACE)
! 			ereport(WARNING,
! 					(errmsg("skipping \"%s\" --- only superuser or database owner can vacuum it",
! 							RelationGetRelationName(onerel))));
! 		else
! 			ereport(WARNING,
! 					(errmsg("skipping \"%s\" --- only table or database owner can vacuum it",
! 							RelationGetRelationName(onerel))));
  		relation_close(onerel, lmode);
  		CommitTransactionCommand();
  		return;
---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to