diff options
author | Bruce Momjian <bruce@momjian.us> | 2005-08-15 23:00:14 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 2005-08-15 23:00:14 +0000 |
commit | 070a3ad76b65c9eff572da5d358c563ccc7bb14f (patch) | |
tree | f0b35b4d14bb205483c453591ce60ba59e6800c9 /src/backend/utils/adt/genfile.c | |
parent | 24bd9447acb1f64fb357ed3cec5623da51d67cc2 (diff) | |
download | postgresql-070a3ad76b65c9eff572da5d358c563ccc7bb14f.tar.gz postgresql-070a3ad76b65c9eff572da5d358c563ccc7bb14f.zip |
Rename pg_stat_file columns to be more consistent. Split apart change
and creation columns to behave for Unix or Win32.
Diffstat (limited to 'src/backend/utils/adt/genfile.c')
-rw-r--r-- | src/backend/utils/adt/genfile.c | 31 |
1 files changed, 20 insertions, 11 deletions
diff --git a/src/backend/utils/adt/genfile.c b/src/backend/utils/adt/genfile.c index d67ed4c791f..43a05659a26 100644 --- a/src/backend/utils/adt/genfile.c +++ b/src/backend/utils/adt/genfile.c @@ -9,7 +9,7 @@ * Author: Andreas Pflug <pgadmin@pse-consulting.de> * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/adt/genfile.c,v 1.4 2005/08/13 19:02:34 tgl Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/genfile.c,v 1.5 2005/08/15 23:00:14 momjian Exp $ * *------------------------------------------------------------------------- */ @@ -154,8 +154,8 @@ pg_stat_file(PG_FUNCTION_ARGS) text *filename_t = PG_GETARG_TEXT_P(0); char *filename; struct stat fst; - Datum values[5]; - bool isnull[5]; + Datum values[6]; + bool isnull[6]; HeapTuple tuple; TupleDesc tupdesc; @@ -175,26 +175,35 @@ pg_stat_file(PG_FUNCTION_ARGS) * This record type had better match the output parameters declared * for me in pg_proc.h (actually, in system_views.sql at the moment). */ - tupdesc = CreateTemplateTupleDesc(5, false); + tupdesc = CreateTemplateTupleDesc(6, false); TupleDescInitEntry(tupdesc, (AttrNumber) 1, - "length", INT8OID, -1, 0); + "size", INT8OID, -1, 0); TupleDescInitEntry(tupdesc, (AttrNumber) 2, - "atime", TIMESTAMPTZOID, -1, 0); + "access", TIMESTAMPTZOID, -1, 0); TupleDescInitEntry(tupdesc, (AttrNumber) 3, - "mtime", TIMESTAMPTZOID, -1, 0); + "modification", TIMESTAMPTZOID, -1, 0); TupleDescInitEntry(tupdesc, (AttrNumber) 4, - "ctime", TIMESTAMPTZOID, -1, 0); + "change", TIMESTAMPTZOID, -1, 0); TupleDescInitEntry(tupdesc, (AttrNumber) 5, + "creation", TIMESTAMPTZOID, -1, 0); + TupleDescInitEntry(tupdesc, (AttrNumber) 6, "isdir", BOOLOID, -1, 0); BlessTupleDesc(tupdesc); + memset(isnull, false, sizeof(isnull)); + values[0] = Int64GetDatum((int64) fst.st_size); values[1] = TimestampTzGetDatum(time_t_to_timestamptz(fst.st_atime)); values[2] = TimestampTzGetDatum(time_t_to_timestamptz(fst.st_mtime)); + /* Unix has file status change time, while Win32 has creation time */ +#if !defined(WIN32) && !defined(__CYGWIN__) values[3] = TimestampTzGetDatum(time_t_to_timestamptz(fst.st_ctime)); - values[4] = BoolGetDatum(fst.st_mode & S_IFDIR); - - memset(isnull, false, sizeof(isnull)); + isnull[4] = true; +#else + isnull[3] = true; + values[4] = TimestampTzGetDatum(time_t_to_timestamptz(fst.st_ctime)); +#endif + values[5] = BoolGetDatum(fst.st_mode & S_IFDIR); tuple = heap_form_tuple(tupdesc, values, isnull); |