diff --git a/src/backend/commands/purge.c b/src/backend/commands/purge.c deleted file mode 100644 index b0f6736626..0000000000 --- a/src/backend/commands/purge.c +++ /dev/null @@ -1,176 +0,0 @@ -/*------------------------------------------------------------------------- - * - * purge.c-- - * the POSTGRES purge command. - * - * Copyright (c) 1994, Regents of the University of California - * - * - * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/commands/Attic/purge.c,v 1.9 1997/11/20 23:21:08 momjian Exp $ - * - * Note: - * XXX There are many instances of int32 instead of ...Time. These - * should be changed once it is decided the signed'ness will be. - * - *------------------------------------------------------------------------- - */ -#include - -#include - -#include -#include -#include /* for NowTimeQual */ -#include -#include -#include -#include -#include /* for isreltime() */ - -static char cmdname[] = "RelationPurge"; - -#define RELATIVE 01 -#define ABSOLUTE 02 - -int32 -RelationPurge(char *relationName, - char *absoluteTimeString, - char *relativeTimeString) -{ - register i; - AbsoluteTime absoluteTime = INVALID_ABSTIME; - RelativeTime relativeTime = INVALID_RELTIME; - bits8 dateTag; - Relation relation; - HeapScanDesc scan; - static ScanKeyData key[1] = { - {0, Anum_pg_class_relname, F_NAMEEQ} - }; - Buffer buffer; - HeapTuple newTuple, - oldTuple; - AbsoluteTime currentTime; - char *values[Natts_pg_class]; - char nulls[Natts_pg_class]; - char replace[Natts_pg_class]; - Relation idescs[Num_pg_class_indices]; - - /* - * XXX for some reason getmyrelids (in inval.c) barfs when you - * heap_replace tuples from these classes. i thought setheapoverride - * would fix it but it didn't. for now, just disallow purge on these - * classes. - */ - if (strcmp(RelationRelationName, relationName) == 0 || - strcmp(AttributeRelationName, relationName) == 0 || - strcmp(AccessMethodRelationName, relationName) == 0 || - strcmp(AccessMethodOperatorRelationName, relationName) == 0) - { - elog(WARN, "%s: cannot purge catalog \"%s\"", - cmdname, relationName); - } - - if (PointerIsValid(absoluteTimeString)) - { - absoluteTime = (int32) nabstimein(absoluteTimeString); - absoluteTimeString[0] = '\0'; - if (absoluteTime == INVALID_ABSTIME) - { - elog(NOTICE, "%s: bad absolute time string \"%s\"", - cmdname, absoluteTimeString); - elog(WARN, "purge not executed"); - } - } - -#ifdef PURGEDEBUG - elog(DEBUG, "%s: absolute time `%s' is %d.", - cmdname, absoluteTimeString, absoluteTime); -#endif /* defined(PURGEDEBUG) */ - - if (PointerIsValid(relativeTimeString)) - { - if (isreltime(relativeTimeString) != 1) - { - elog(WARN, "%s: bad relative time string \"%s\"", - cmdname, relativeTimeString); - } - relativeTime = reltimein(relativeTimeString); - -#ifdef PURGEDEBUG - elog(DEBUG, "%s: relative time `%s' is %d.", - cmdname, relativeTimeString, relativeTime); -#endif /* defined(PURGEDEBUG) */ - } - - /* - * Find the RELATION relation tuple for the given relation. - */ - relation = heap_openr(RelationRelationName); - key[0].sk_argument = PointerGetDatum(relationName); - fmgr_info(key[0].sk_procedure, &key[0].sk_func, &key[0].sk_nargs); - - scan = heap_beginscan(relation, 0, false, 1, key); - oldTuple = heap_getnext(scan, 0, &buffer); - if (!HeapTupleIsValid(oldTuple)) - { - heap_endscan(scan); - heap_close(relation); - elog(WARN, "%s: no such relation: %s", cmdname, relationName); - return (0); - } - - /* - * Dig around in the tuple. - */ - currentTime = GetCurrentTransactionStartTime(); - if (!RelativeTimeIsValid(relativeTime)) - { - dateTag = ABSOLUTE; - if (!AbsoluteTimeIsValid(absoluteTime)) - absoluteTime = currentTime; - } - else if (!AbsoluteTimeIsValid(absoluteTime)) - dateTag = RELATIVE; - else - dateTag = ABSOLUTE | RELATIVE; - - for (i = 0; i < Natts_pg_class; ++i) - { - nulls[i] = heap_attisnull(oldTuple, i + 1) ? 'n' : ' '; - values[i] = NULL; - replace[i] = ' '; - } - if (dateTag & ABSOLUTE) - { - values[Anum_pg_class_relexpires - 1] = - (char *) UInt32GetDatum(absoluteTime); - replace[Anum_pg_class_relexpires - 1] = 'r'; - } - if (dateTag & RELATIVE) - { - values[Anum_pg_class_relpreserved - 1] = - (char *) UInt32GetDatum(relativeTime); - replace[Anum_pg_class_relpreserved - 1] = 'r'; - } - - /* - * Change the RELATION relation tuple for the given relation. - */ - newTuple = heap_modifytuple(oldTuple, buffer, relation, (Datum *) values, - nulls, replace); - - /* XXX How do you detect an insertion error?? */ - heap_replace(relation, &newTuple->t_ctid, newTuple); - - /* keep the system catalog indices current */ - CatalogOpenIndices(Num_pg_class_indices, Name_pg_class_indices, idescs); - CatalogIndexInsert(idescs, Num_pg_class_indices, relation, newTuple); - CatalogCloseIndices(Num_pg_class_indices, idescs); - - pfree(newTuple); - - heap_endscan(scan); - heap_close(relation); - return (1); -} diff --git a/src/backend/executor/execAmi.c b/src/backend/executor/execAmi.c index bffb0f26eb..6da5fe1ef5 100644 --- a/src/backend/executor/execAmi.c +++ b/src/backend/executor/execAmi.c @@ -7,7 +7,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/executor/execAmi.c,v 1.9 1997/11/20 23:21:22 momjian Exp $ + * $Header: /cvsroot/pgsql/src/backend/executor/execAmi.c,v 1.10 1997/11/21 18:21:17 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -446,10 +446,8 @@ ExecCreatR(TupleDesc tupType, * heap_creatr creates a name if the argument to heap_creatr is * '\0 ' */ - relDesc = heap_creatr("", - DEFAULT_SMGR, - tupType); - } + relDesc = heap_creatr("", tupType); + } else { /* ---------------- diff --git a/src/include/commands/purge.h b/src/include/commands/purge.h deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/include/parser/sysfunc.h b/src/include/parser/sysfunc.h deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/man/purge.l b/src/man/purge.l deleted file mode 100644 index e69de29bb2..0000000000