77 *
88 *
99 * IDENTIFICATION
10- * $Header: /cvsroot/pgsql/src/backend/catalog/pg_operator.c,v 1.47 2000/01/10 17:14:31 momjian Exp $
10+ * $Header: /cvsroot/pgsql/src/backend/catalog/pg_operator.c,v 1.48 2000/01/17 23:57:43 tgl Exp $
1111 *
1212 * NOTES
1313 * these routines moved here from commands/define.c and somewhat cleaned up.
@@ -775,6 +775,9 @@ OperatorDef(char *operatorName,
775775opKey [1 ].sk_argument = ObjectIdGetDatum (leftTypeId );
776776opKey [2 ].sk_argument = ObjectIdGetDatum (rightTypeId );
777777
778+ /* Make sure we can see the shell even if it is new in current cmd */
779+ CommandCounterIncrement ();
780+
778781pg_operator_scan = heap_beginscan (pg_operator_desc ,
7797820 ,
780783SnapshotSelf ,/* no cache? */
@@ -790,9 +793,7 @@ OperatorDef(char *operatorName,
790793nulls ,
791794replaces );
792795
793- setheapoverride (true);
794796heap_update (pg_operator_desc ,& tup -> t_self ,tup ,NULL );
795- setheapoverride (false);
796797}
797798else
798799elog (ERROR ,"OperatorDef: no operator %u" ,operatorObjectId );
@@ -875,7 +876,13 @@ OperatorUpd(Oid baseId, Oid commId, Oid negId)
875876
876877pg_operator_desc = heap_openr (OperatorRelationName ,RowExclusiveLock );
877878
878- /* check and update the commutator, if necessary */
879+ /*
880+ * check and update the commutator & negator, if necessary
881+ *
882+ * First make sure we can see them...
883+ */
884+ CommandCounterIncrement ();
885+
879886opKey [0 ].sk_argument = ObjectIdGetDatum (commId );
880887
881888pg_operator_scan = heap_beginscan (pg_operator_desc ,
@@ -920,9 +927,7 @@ OperatorUpd(Oid baseId, Oid commId, Oid negId)
920927nulls ,
921928replaces );
922929
923- setheapoverride (true);
924930heap_update (pg_operator_desc ,& tup -> t_self ,tup ,NULL );
925- setheapoverride (false);
926931
927932if (RelationGetForm (pg_operator_desc )-> relhasindex )
928933{
@@ -954,9 +959,7 @@ OperatorUpd(Oid baseId, Oid commId, Oid negId)
954959nulls ,
955960replaces );
956961
957- setheapoverride (true);
958962heap_update (pg_operator_desc ,& tup -> t_self ,tup ,NULL );
959- setheapoverride (false);
960963
961964if (RelationGetForm (pg_operator_desc )-> relhasindex )
962965{
@@ -994,9 +997,7 @@ OperatorUpd(Oid baseId, Oid commId, Oid negId)
994997nulls ,
995998replaces );
996999
997- setheapoverride (true);
9981000heap_update (pg_operator_desc ,& tup -> t_self ,tup ,NULL );
999- setheapoverride (false);
10001001
10011002if (RelationGetForm (pg_operator_desc )-> relhasindex )
10021003{