diff options
author | Bruce Momjian <bruce@momjian.us> | 1997-11-13 03:23:18 +0000 |
---|---|---|
committer | Bruce Momjian <bruce@momjian.us> | 1997-11-13 03:23:18 +0000 |
commit | 5071ae2972457eba64d02515b1a7161311cb6659 (patch) | |
tree | 28e0546e7512a5cd24d1072e4e2dcd2c7aef02b9 /src/backend | |
parent | 7e48d427c831287e7a9d1fac7309f1d7b1ed8381 (diff) | |
download | postgresql-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/Makefile | 19 | ||||
-rw-r--r-- | src/backend/catalog/Makefile | 15 | ||||
-rw-r--r-- | src/backend/catalog/genbki.sh | 30 |
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 # ---------------- |