aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/tutorial/Makefile22
-rw-r--r--src/tutorial/README8
-rw-r--r--src/tutorial/complex.c2
-rw-r--r--src/tutorial/complex.source54
4 files changed, 55 insertions, 31 deletions
diff --git a/src/tutorial/Makefile b/src/tutorial/Makefile
index 5302c9cc39d..acd63117270 100644
--- a/src/tutorial/Makefile
+++ b/src/tutorial/Makefile
@@ -4,7 +4,7 @@
# Makefile for tutorial
#
# IDENTIFICATION
-# $Header: /cvsroot/pgsql/src/tutorial/Makefile,v 1.7 1998/02/28 23:37:07 scrappy Exp $
+# $Header: /cvsroot/pgsql/src/tutorial/Makefile,v 1.8 1998/03/01 04:52:55 scrappy Exp $
#
#-------------------------------------------------------------------------
@@ -29,16 +29,7 @@ DLOBJS= complex$(DLSUFFIX) funcs$(DLSUFFIX)
QUERIES= advanced.sql basics.sql complex.sql funcs.sql syscat.sql
-INFILES= $(DLOBJS)
-
-#
-# plus exports files
-#
-ifdef EXPSUFF
-INFILES+= $(DLOBJS:.o=$(EXPSUFF))
-endif
-
-all: $(QUERIES)
+all: $(DLOBJS) $(QUERIES)
%.sql: %.source
if [ -z "$$USER" ]; then USER=$$LOGNAME; fi; \
@@ -51,12 +42,7 @@ all: $(QUERIES)
-e "s:_DLSUFFIX_:$(DLSUFFIX):g" \
-e "s/_USER_/$$USER/g" < $< > $@
-funcs.sql: $(INFILES)
-
-$(INFILES):
- $(MAKE) -C C-code $@
- cp C-code/$@ .
+funcs.sql: $(DLOBJS)
clean:
- $(MAKE) -C C-code clean
- rm -f $(QUERIES) $(INFILES)
+ rm -f $(DLOBJS) $(QUERIES)
diff --git a/src/tutorial/README b/src/tutorial/README
index b35f7b2b076..9115c3d9db5 100644
--- a/src/tutorial/README
+++ b/src/tutorial/README
@@ -4,13 +4,11 @@ to compile all the scripts and C files for the user-defined functions
and types. (make needs to be GNU make and may be named something
different on your system)
-Then, change to the object directory
- % cd obj
-
-and run psql with the -s flag:
+Then, run psql with the -s flag:
% psql -s
-Welcome to the POSTGRES95 interactive sql monitor:
+Welcome to the POSTGRESQL interactive sql monitor:
+ Please read the file COPYRIGHT for copyright terms of POSTGRESQL
type \? for help on slash commands
type \q to quit
diff --git a/src/tutorial/complex.c b/src/tutorial/complex.c
index e5bea2d1134..bf8b09eb17c 100644
--- a/src/tutorial/complex.c
+++ b/src/tutorial/complex.c
@@ -8,8 +8,6 @@
/* do not include libpq-fe.h for backend-loaded functions*/
/* #include "libpq-fe.h" */
#include "postgres.h"
-#include "utils/elog.h"
-#include "utils/palloc.h"
#include "utils/mcxt.h"
typedef struct Complex
diff --git a/src/tutorial/complex.source b/src/tutorial/complex.source
index 05ca6728ae5..bae3192198b 100644
--- a/src/tutorial/complex.source
+++ b/src/tutorial/complex.source
@@ -7,7 +7,7 @@
--
-- Copyright (c) 1994, Regents of the University of California
--
--- $Id: complex.source,v 1.3 1998/02/28 23:37:09 scrappy Exp $
+-- $Id: complex.source,v 1.4 1998/03/01 04:52:59 scrappy Exp $
--
---------------------------------------------------------------------------
@@ -19,7 +19,7 @@
-----------------------------
-- Assume the user defined functions are in _OBJWD_/complex.so
--- Look at $PWD/C-code/complex.c for the source.
+-- Look at $PWD/complex.c for the source.
-- the input function 'complex_in' takes a null-terminated string (the
-- textual representation of the type) and turns it into the internal
@@ -77,7 +77,7 @@ SELECT * FROM test_complex;
-- arguments.)
-----------------------------
--- first, define a function complex_add (also in C-code/complex.c)
+-- first, define a function complex_add (also in complex.c)
CREATE FUNCTION complex_add(complex, complex)
RETURNS complex
AS '_OBJWD_/complex.so'
@@ -224,8 +224,6 @@ INSERT INTO pg_amop (amopid, amopclaid, amopopr, amopstrategy,
WHERE amname = 'btree' and opcname = 'complex_abs_ops'
and c.oprname = '>';
-DROP table complex_ops_tmp;
-
--
CREATE FUNCTION complex_abs_cmp(complex, complex) RETURNS int4
AS '_OBJWD_/complex.so' LANGUAGE 'c';
@@ -251,6 +249,50 @@ SELECT * from test_complex where a = '(56.0,-22.5)';
SELECT * from test_complex where a < '(56.0,-22.5)';
SELECT * from test_complex where a > '(56.0,-22.5)';
+DELETE FROM pg_amop where (amopid, amopclaid, amopopr, amopstrategy)
+ = (
+ SELECT am.oid, opcl.oid, c.opoid, 1
+ FROM pg_am am, pg_opclass opcl, complex_ops_tmp c
+ WHERE amname = 'btree' and opcname = 'complex_abs_ops'
+ and c.oprname = '<');
+
+DELETE FROM pg_amop where (amopid, amopclaid, amopopr, amopstrategy)
+ = (
+ SELECT am.oid, opcl.oid, c.opoid, 2
+ FROM pg_am am, pg_opclass opcl, complex_ops_tmp c
+ WHERE amname = 'btree' and opcname = 'complex_abs_ops'
+ and c.oprname = '<=');
+
+DELETE FROM pg_amop where (amopid, amopclaid, amopopr, amopstrategy)
+ = (
+ SELECT am.oid, opcl.oid, c.opoid, 3
+ FROM pg_am am, pg_opclass opcl, complex_ops_tmp c
+ WHERE amname = 'btree' and opcname = 'complex_abs_ops'
+ and c.oprname = '=');
+
+DELETE FROM pg_amop where (amopid, amopclaid, amopopr, amopstrategy)
+ = (
+ SELECT am.oid, opcl.oid, c.opoid, 4
+ FROM pg_am am, pg_opclass opcl, complex_ops_tmp c
+ WHERE amname = 'btree' and opcname = 'complex_abs_ops'
+ and c.oprname = '>=');
+
+DELETE FROM pg_amop where (amopid, amopclaid, amopopr, amopstrategy)
+ = (
+ SELECT am.oid, opcl.oid, c.opoid, 5
+ FROM pg_am am, pg_opclass opcl, complex_ops_tmp c
+ WHERE amname = 'btree' and opcname = 'complex_abs_ops'
+ and c.oprname = '>');
+
+DELETE FROM pg_amproc where (amid, amopclaid, amproc, amprocnum)
+ = (
+ SELECT am.oid, opcl.oid, pro.oid, 1
+ FROM pg_am am, pg_opclass opcl, pg_proc pro
+ WHERE amname = 'btree' and opcname = 'complex_abs_ops'
+ and proname = 'complex_abs_cmp');
+
+DELETE FROM pg_opclass WHERE opcname = 'complex_abs_ops';
+
DROP FUNCTION complex_in(opaque);
DROP FUNCTION complex_out(opaque);
DROP FUNCTION complex_add(complex, complex);
@@ -268,4 +310,4 @@ DROP OPERATOR >= (complex, complex);
DROP OPERATOR > (complex, complex);
DROP AGGREGATE complex_sum complex;
DROP TYPE complex;
-DROP TABLE test_complex;
+DROP TABLE test_complex, complex_ops_tmp;