aboutsummaryrefslogtreecommitdiff
path: root/src/backend
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>1997-11-13 03:23:18 +0000
committerBruce Momjian <bruce@momjian.us>1997-11-13 03:23:18 +0000
commit5071ae2972457eba64d02515b1a7161311cb6659 (patch)
tree28e0546e7512a5cd24d1072e4e2dcd2c7aef02b9 /src/backend
parent7e48d427c831287e7a9d1fac7309f1d7b1ed8381 (diff)
downloadpostgresql-5071ae2972457eba64d02515b1a7161311cb6659.tar.gz
postgresql-5071ae2972457eba64d02515b1a7161311cb6659.zip
Add pg_description table for info on tables, columns, operators, types, and aggregates. Modify psql with new \dd operator to access description
Diffstat (limited to 'src/backend')
-rw-r--r--src/backend/Makefile19
-rw-r--r--src/backend/catalog/Makefile15
-rw-r--r--src/backend/catalog/genbki.sh30
3 files changed, 51 insertions, 13 deletions
diff --git a/src/backend/Makefile b/src/backend/Makefile
index c671fbabadf..0fa6123b538 100644
--- a/src/backend/Makefile
+++ b/src/backend/Makefile
@@ -34,7 +34,7 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.26 1997/09/20 16:08:24 thomas Exp $
+# $Header: /cvsroot/pgsql/src/backend/Makefile,v 1.27 1997/11/13 03:22:10 momjian Exp $
#
#-------------------------------------------------------------------------
@@ -51,7 +51,8 @@ endif
OBJS = $(DIRS:%=%/SUBSYS.o)
-all: postgres $(POSTGRES_IMP) global1.bki.source local1_template1.bki.source
+all: postgres $(POSTGRES_IMP) global1.bki.source local1_template1.bki.source \
+ global1.description local1_template1.description
postgres: $(OBJS) ../utils/version.o
$(CC) -o postgres $(OBJS) ../utils/version.o $(LDFLAGS)
@@ -64,10 +65,12 @@ $(DIRS:%=%.dir):
../utils/version.o:
$(MAKE) -C ../utils version.o
-global1.bki.source local1_template1.bki.source: catalog/$@
+global1.bki.source local1_template1.bki.source \
+global1.description local1_template1.description: catalog/$@
cp catalog/$@ .
-catalog/global1.bki.source catalog/local1_template1.bki.source:
+catalog/global1.bki.source catalog/local1_template1.bki.source \
+catalog/global1.description catalog/local1_template1.description:
$(MAKE) -C catalog $@
# The postgres.o target is needed by the rule in Makefile.global that
@@ -91,7 +94,8 @@ fmgr.h:
#############################################################################
clean:
rm -f postgres $(POSTGRES_IMP) fmgr.h parse.h \
- global1.bki.source local1_template1.bki.source
+ global1.bki.source local1_template1.bki.source \
+ global1.description local1_template1.description
for i in $(DIRS); do $(MAKE) -C $$i clean PORTNAME=$(PORTNAME); done
.DEFAULT:
@@ -115,6 +119,7 @@ clean:
install: $(LIBDIR) $(BINDIR) $(HEADERDIR) postgres $(POSTGRES_IMP) fmgr.h\
global1.bki.source local1_template1.bki.source \
+ global1.description local1_template1.description \
libpq/pg_hba.conf.sample optimizer/geqo/pg_geqo.sample
$(INSTALL) $(INSTL_EXE_OPTS) postgres $(BINDIR)/postgres
@@ -126,8 +131,12 @@ endif
$(INSTALL) $(INSTLOPTS) fmgr.h $(HEADERDIR)/fmgr.h
$(INSTALL) $(INSTLOPTS) global1.bki.source \
$(LIBDIR)/global1.bki.source
+ $(INSTALL) $(INSTLOPTS) global1.description \
+ $(LIBDIR)/global1.description
$(INSTALL) $(INSTLOPTS) local1_template1.bki.source \
$(LIBDIR)/local1_template1.bki.source
+ $(INSTALL) $(INSTLOPTS) local1_template1.description \
+ $(LIBDIR)/local1_template1.description
$(INSTALL) $(INSTLOPTS) libpq/pg_hba.conf.sample \
$(LIBDIR)/pg_hba.conf.sample
$(INSTALL) $(INSTLOPTS) optimizer/geqo/pg_geqo.sample \
diff --git a/src/backend/catalog/Makefile b/src/backend/catalog/Makefile
index c2d72907538..085e473a3c5 100644
--- a/src/backend/catalog/Makefile
+++ b/src/backend/catalog/Makefile
@@ -4,7 +4,7 @@
# Makefile for catalog
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/backend/catalog/Makefile,v 1.3 1997/11/02 15:24:52 vadim Exp $
+# $Header: /cvsroot/pgsql/src/backend/catalog/Makefile,v 1.4 1997/11/13 03:22:18 momjian Exp $
#
#-------------------------------------------------------------------------
@@ -20,7 +20,8 @@ CFLAGS+=$(INCLUDE_OPT)
OBJS = catalog.o heap.o index.o indexing.o \
pg_aggregate.o pg_operator.o pg_proc.o pg_type.o
-all: SUBSYS.o global1.bki.source local1_template1.bki.source
+all: SUBSYS.o global1.bki.source local1_template1.bki.source \
+ global1.description local1_template1.description
SUBSYS.o: $(OBJS)
$(LD) -r -o SUBSYS.o $(OBJS)
@@ -39,21 +40,21 @@ LOCALBKI_SRCS= $(addprefix ../../include/catalog/, \
pg_operator.h pg_opclass.h pg_am.h pg_amop.h pg_amproc.h \
pg_language.h pg_parg.h \
pg_aggregate.h pg_ipl.h pg_inheritproc.h \
- pg_rewrite.h pg_listener.h indexing.h \
+ pg_rewrite.h pg_listener.h pg_description.h indexing.h \
)
global1.bki.source: $(GENBKI) $(GLOBALBKI_SRCS)
- sh $(SHOPTS) $(GENBKI) $(BKIOPTS) $(GLOBALBKI_SRCS) > $@
+ sh $(SHOPTS) $(GENBKI) $(BKIOPTS) $(GLOBALBKI_SRCS) > $@ 2>global1.description
local1_template1.bki.source: $(GENBKI) $(LOCALBKI_SRCS)
- sh $(SHOPTS) $(GENBKI) $(BKIOPTS) $(LOCALBKI_SRCS) > $@
+ sh $(SHOPTS) $(GENBKI) $(BKIOPTS) $(LOCALBKI_SRCS) > $@ 2>local1_template1.description
depend dep:
$(CC) -MM $(INCLUDE_OPT) *.c >depend
clean:
- rm -f SUBSYS.o $(OBJS) global1.bki.source local1_template1.bki.source
-
+ rm -f SUBSYS.o $(OBJS) global1.bki.source local1_template1.bki.source \
+ global1.description local1_template1.description
ifeq (depend,$(wildcard depend))
include depend
diff --git a/src/backend/catalog/genbki.sh b/src/backend/catalog/genbki.sh
index 32496694543..ef43d5d242b 100644
--- a/src/backend/catalog/genbki.sh
+++ b/src/backend/catalog/genbki.sh
@@ -10,7 +10,7 @@
#
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/backend/catalog/Attic/genbki.sh,v 1.8 1997/09/06 18:27:11 momjian Exp $
+# $Header: /cvsroot/pgsql/src/backend/catalog/Attic/genbki.sh,v 1.9 1997/11/13 03:22:20 momjian Exp $
#
# NOTES
# non-essential whitespace is removed from the generated file.
@@ -18,6 +18,10 @@
# end can be changed into another awk script or something smarter..
#
#-------------------------------------------------------------------------
+trap "rm -f /tmp/genbki.tmp" 0 1 2 3 15
+
+# make sure it is empty
+>/tmp/genbki.tmp
PATH=$PATH:/lib:/usr/ccs/lib # to find cpp
BKIOPTS=''
@@ -118,6 +122,27 @@ raw == 1 { print; next; }
/^DATA\(/ {
data = substr($0, 6, length($0) - 6);
print data;
+ nf = 1;
+ oid = 0;
+ while (nf <= NF-3)
+ {
+ if ($nf == "OID" && $(nf+1) == "=")
+ {
+ oid = $(nf+2);
+ break;
+ }
+ nf++;
+ }
+ next;
+}
+
+/^DESCR\(/ {
+ if (oid != 0)
+ {
+ data = substr($0, 8, length($0) - 9);
+ if (data != "")
+ printf "%d %s\n", oid, data >> "/tmp/genbki.tmp";
+ }
next;
}
@@ -235,6 +260,9 @@ cpp $BKIOPTS | \
sed -e '/^[ ]*$/d' \
-e 's/[ ][ ]*/ /g'
+# send pg_description file contents to standard error
+cat /tmp/genbki.tmp 1>&2
+
# ----------------
# all done
# ----------------