home *** CD-ROM | disk | FTP | other *** search
- From: zeppelin@login.dknet.dk (Thomas B. Pedersen)
- Newsgroups: comp.sources.misc
- Subject: v44i065: typhoon - Typhoon Relational Database Management System, Part09/09
- Date: 17 Sep 1994 21:46:04 -0500
- Organization: Sterling Software
- Sender: kent@sparky.sterling.com
- Approved: kent@sparky.sterling.com
- Message-ID: <35g9lc$ok9@sparky.sterling.com>
- X-Md4-Signature: ab98aeea2f517c487c102bea68b0dc9b
-
- Submitted-by: zeppelin@login.dknet.dk (Thomas B. Pedersen)
- Posting-number: Volume 44, Issue 65
- Archive-name: typhoon/part09
- Environment: SCO UNIX, Tandem NonStop UNIX, Sun Solaris, AIX, Linux, OS/2
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then feed it
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # Contents: typhoon/INSTALL typhoon/TODO typhoon/doc
- # typhoon/examples/makefile typhoon/man/d_close.1
- # typhoon/man/d_crget.1 typhoon/man/d_crset.1
- # typhoon/man/d_dbdpath.1 typhoon/man/d_dbfpath.1
- # typhoon/man/d_dbget.1 typhoon/man/d_dbset.1 typhoon/man/d_delete.1
- # typhoon/man/d_keyread.1 typhoon/man/d_reclast.1
- # typhoon/man/d_recprev.1 typhoon/man/d_recread.1
- # typhoon/man/d_setfiles.1 typhoon/src/ty_lock.c
- # typhoon/src/util/ddl_y.h typhoon/src/util/exp_y.h
- # typhoon/src/util/lex.h
- # Wrapped by kent@sparky on Sat Sep 17 21:38:19 1994
- PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
- echo If this archive is complete, you will see the following message:
- echo ' "shar: End of archive 9 (of 9)."'
- if test -f 'typhoon/INSTALL' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/INSTALL'\"
- else
- echo shar: Extracting \"'typhoon/INSTALL'\" \(760 characters\)
- sed "s/^X//" >'typhoon/INSTALL' <<'END_OF_FILE'
- XThe Typhoon RDBMS has been compiled and tested on the following platforms:
- X
- X IBM RS/6000 running AIX
- X 386/486 running Linux 0.99
- X 386/486 running OS/2 2.1
- X 386/486 running SCO UNIX SVR3.2 Version 4.2
- X Sun Solaris 2.3
- X Tandem S2 running NonStop Unix SVR4 B.22
- X
- X-------------------------------------------------------------------------------
- X
- XInstallation:
- X
- XThe system hasn't been tested on more than a handful of different platforms,
- Xso the makefile is really simple. You just run 'make' in the typhoon
- Xdirectory.
- X
- X
- XInclude directories:
- X
- XDue to development conventions at my company all library include files are
- Xplaced in /usr/h. This may not be suitable for you and you may put them
- Xelsewhere. Currently, only environ.h and typhoon.h are placed in /usr/h.
- X
- END_OF_FILE
- if test 760 -ne `wc -c <'typhoon/INSTALL'`; then
- echo shar: \"'typhoon/INSTALL'\" unpacked with wrong size!
- fi
- # end of 'typhoon/INSTALL'
- fi
- if test -f 'typhoon/TODO' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/TODO'\"
- else
- echo shar: Extracting \"'typhoon/TODO'\" \(174 characters\)
- sed "s/^X//" >'typhoon/TODO' <<'END_OF_FILE'
- XThis list contains a lot of things that needs to be done. The major goal of
- Xthe library has been functionality more than performance. I am working on the
- Xlast goal now.
- X
- X1.
- X
- END_OF_FILE
- if test 174 -ne `wc -c <'typhoon/TODO'`; then
- echo shar: \"'typhoon/TODO'\" unpacked with wrong size!
- fi
- # end of 'typhoon/TODO'
- fi
- if test -f 'typhoon/doc' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/doc'\"
- else
- echo shar: Extracting \"'typhoon/doc'\" \(663 characters\)
- sed "s/^X//" >'typhoon/doc' <<'END_OF_FILE'
- XThings to do before release
- X---------------------------
- X
- X
- X1) Remove macros that rename d_key to db_key, and rename btree functions
- X to btree_add, btree_open ...
- X
- X2) Remove macros that rename d_rec to db_rec, and rename btree functions
- X to rec_add, rec_open ...
- X
- X3) Replace file lock on /tmp/typhoon_sem with semaphore locking in
- X unix.c
- X
- X4) Remove superfluous source files
- X d_integ.c
- X alog.c
- X dumptree.c
- X tyalloc.c
- X
- X5) Add locking (lock manager)
- X
- X6) Remove superfluous updates of current record buffer in ty_auxfn.
- X
- X7) Surround everything that relates to replication with #ifdef USE_REPLSERV.
- X
- X8) Remove the global curr_ variables and use only db->curr_.....
- END_OF_FILE
- if test 663 -ne `wc -c <'typhoon/doc'`; then
- echo shar: \"'typhoon/doc'\" unpacked with wrong size!
- fi
- # end of 'typhoon/doc'
- fi
- if test -f 'typhoon/examples/makefile' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/examples/makefile'\"
- else
- echo shar: Extracting \"'typhoon/examples/makefile'\" \(193 characters\)
- sed "s/^X//" >'typhoon/examples/makefile' <<'END_OF_FILE'
- XCC = cc -DUNIX -I../src/h
- XOBJS = demo.o
- X
- Xdemo: demo.dbd $(OBJS)
- X $(CC) -o demo $(OBJS) ../src/libtyphoon.a
- X
- Xdemo.dbd: demo.ddl
- X ../src/util/ddlp -a4 -f demo
- X
- X.c.o:
- X $(CC) -c $<
- X
- X# end-of-file
- END_OF_FILE
- if test 193 -ne `wc -c <'typhoon/examples/makefile'`; then
- echo shar: \"'typhoon/examples/makefile'\" unpacked with wrong size!
- fi
- # end of 'typhoon/examples/makefile'
- fi
- if test -f 'typhoon/man/d_close.1' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/man/d_close.1'\"
- else
- echo shar: Extracting \"'typhoon/man/d_close.1'\" \(771 characters\)
- sed "s/^X//" >'typhoon/man/d_close.1' <<'END_OF_FILE'
- X.de Id
- X.ds Rv \\$3
- X.ds Dt \\$4
- X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
- X..
- X.Id $Id: d_close.1,v 1.1 1994/09/13 21:29:53 tbp Exp $
- X.ds r \s-1TYPHOON\s0
- X.if n .ds - \%--
- X.if t .ds - \(em
- X.TH D_CLOSE 1 \*(Dt TYPHOON
- X.SH NAME
- Xd_open \- open a database
- X.SH SYNOPSIS
- X.B #include <typhoon.h>
- X.br
- X
- X\fBd_close()
- X.SH DESCRIPTION
- X\fBd_close\fP closes the current database. If no database is currently
- Xopen, \fBS_NOCD\fP is returned.
- X.SH DIAGNOSTICS
- XThe status code returned by the function is also stored in the global
- Xvariable \fIdb_status\fP.
- X.TP
- X.B S_OKAY
- XDatabase closed successfully.
- X.TP
- X.B S_NOCD
- XNo current database.
- X.SH CURRENCY CHANGES
- XThere is no current database.
- X.SH IDENTIFICATION
- XAuthor: Thomas B. Pedersen.
- X.br
- XCopyright (c) 1994 Thomas B. Pedersen.
- X.SH "SEE ALSO"
- Xd_open(1)
- X
- END_OF_FILE
- if test 771 -ne `wc -c <'typhoon/man/d_close.1'`; then
- echo shar: \"'typhoon/man/d_close.1'\" unpacked with wrong size!
- fi
- # end of 'typhoon/man/d_close.1'
- fi
- if test -f 'typhoon/man/d_crget.1' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/man/d_crget.1'\"
- else
- echo shar: Extracting \"'typhoon/man/d_crget.1'\" \(843 characters\)
- sed "s/^X//" >'typhoon/man/d_crget.1' <<'END_OF_FILE'
- X.de Id
- X.ds Rv \\$3
- X.ds Dt \\$4
- X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
- X..
- X.Id $Id: d_crget.1,v 1.1 1994/09/13 21:29:53 tbp Exp $
- X.ds r \s-1TYPHOON\s0
- X.if n .ds - \%--
- X.if t .ds - \(em
- X.TH D_CRGET 1 \*(Dt TYPHOON
- X.SH NAME
- Xd_crget \- get the database address of the current record
- X.SH SYNOPSIS
- X.B #include <typhoon.h>
- X.br
- X
- X\fBd_crget()
- X.SH DESCRIPTION
- X\fBd_crget\fP gets the database address of the current record.
- XIf no database is currently open, \fBS_NOCD\fP is returned.
- X.SH DIAGNOSTICS
- XThe status code returned by the function is also stored in the global
- Xvariable \fIdb_status\fP.
- X.TP
- X.B S_OKAY
- XOperation successful.
- X.TP
- X.B S_NOCD
- XThere is no current database.
- X.TP
- X.B S_NOCR
- XThere is no current record.
- X.SH CURRENCY CHANGES
- XNone.
- X.SH IDENTIFICATION
- XAuthor: Thomas B. Pedersen.
- X.br
- XCopyright (c) 1994 Thomas B. Pedersen.
- X.SH "SEE ALSO"
- Xd_crset(1)
- X
- END_OF_FILE
- if test 843 -ne `wc -c <'typhoon/man/d_crget.1'`; then
- echo shar: \"'typhoon/man/d_crget.1'\" unpacked with wrong size!
- fi
- # end of 'typhoon/man/d_crget.1'
- fi
- if test -f 'typhoon/man/d_crset.1' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/man/d_crset.1'\"
- else
- echo shar: Extracting \"'typhoon/man/d_crset.1'\" \(871 characters\)
- sed "s/^X//" >'typhoon/man/d_crset.1' <<'END_OF_FILE'
- X.de Id
- X.ds Rv \\$3
- X.ds Dt \\$4
- X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
- X..
- X.Id $Id: d_crset.1,v 1.1 1994/09/13 21:29:54 tbp Exp $
- X.ds r \s-1TYPHOON\s0
- X.if n .ds - \%--
- X.if t .ds - \(em
- X.TH D_CRSET 1 \*(Dt TYPHOON
- X.SH NAME
- Xd_crset \- set the current record
- X.SH SYNOPSIS
- X.B #include <typhoon.h>
- X.br
- X
- X\fBd_crset()
- X.SH DESCRIPTION
- X\fBd_crset\fP sets the current record. If no database is currently open,
- X\fBS_NOCD\fP is returned.
- X.SH DIAGNOSTICS
- XThe status code returned by the function is also stored in the global
- Xvariable \fIdb_status\fP.
- X.TP
- X.B S_OKAY
- XOperation successful.
- X.TP
- X.B S_NOCD
- XThere is no current database.
- X.TP
- X.B S_INVADDR
- XThe specified address is invalid.
- X.SH CURRENCY CHANGES
- XThe record at the specified database address becomes the current record.
- X.SH IDENTIFICATION
- XAuthor: Thomas B. Pedersen.
- X.br
- XCopyright (c) 1994 Thomas B. Pedersen.
- X.SH "SEE ALSO"
- Xd_crget(1)
- X
- END_OF_FILE
- if test 871 -ne `wc -c <'typhoon/man/d_crset.1'`; then
- echo shar: \"'typhoon/man/d_crset.1'\" unpacked with wrong size!
- fi
- # end of 'typhoon/man/d_crset.1'
- fi
- if test -f 'typhoon/man/d_dbdpath.1' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/man/d_dbdpath.1'\"
- else
- echo shar: Extracting \"'typhoon/man/d_dbdpath.1'\" \(931 characters\)
- sed "s/^X//" >'typhoon/man/d_dbdpath.1' <<'END_OF_FILE'
- X.de Id
- X.ds Rv \\$3
- X.ds Dt \\$4
- X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
- X..
- X.Id $Id: d_dbdpath.1,v 1.1 1994/09/13 21:29:54 tbp Exp $
- X.ds r \s-1TYPHOON\s0
- X.if n .ds - \%--
- X.if t .ds - \(em
- X.TH D_DBDPATH 1 \*(Dt TYPHOON
- X.SH NAME
- Xd_dbdpath \- set the path of the dbd-files
- X.SH SYNOPSIS
- X.B #include <typhoon.h>
- X.br
- X
- X\fBd_dbdpath(char *\fPpath\fB)
- X.SH DESCRIPTION
- X\fBd_dbdpath\fP sets the path of the database definition files. This
- Xfunction should be called prior to calling \fBd_open(1)\fP. \fIpath\fP
- Xcan be either a relative or an absolute path name. The validity of
- X\fIpath\fP is not checked until \fBd_open(1)\fP is called.
- X.SH DIAGNOSTICS
- XThe status code returned by the function is also stored in the global
- Xvariable \fIdb_status\fP.
- X.TP
- X.B S_OKAY
- XThis value is always returned.
- X.SH CURRENCY CHANGES
- XNone.
- X.SH IDENTIFICATION
- XAuthor: Thomas B. Pedersen.
- X.br
- XCopyright (c) 1994 Thomas B. Pedersen.
- X.SH "SEE ALSO"
- Xd_dbfpath(1), d_open(1).
- X
- END_OF_FILE
- if test 931 -ne `wc -c <'typhoon/man/d_dbdpath.1'`; then
- echo shar: \"'typhoon/man/d_dbdpath.1'\" unpacked with wrong size!
- fi
- # end of 'typhoon/man/d_dbdpath.1'
- fi
- if test -f 'typhoon/man/d_dbfpath.1' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/man/d_dbfpath.1'\"
- else
- echo shar: Extracting \"'typhoon/man/d_dbfpath.1'\" \(1041 characters\)
- sed "s/^X//" >'typhoon/man/d_dbfpath.1' <<'END_OF_FILE'
- X.de Id
- X.ds Rv \\$3
- X.ds Dt \\$4
- X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
- X..
- X.Id $Id: d_dbfpath.1,v 1.1 1994/09/13 21:29:55 tbp Exp $
- X.ds r \s-1TYPHOON\s0
- X.if n .ds - \%--
- X.if t .ds - \(em
- X.TH D_DBFPATH 1 \*(Dt TYPHOON
- X.SH NAME
- Xd_dbfpath \- set the path of the database files
- X.SH SYNOPSIS
- X.B #include <typhoon.h>
- X.br
- X
- X\fBd_dbfpath(char *\fPpath\fB)
- X.SH DESCRIPTION
- X\fBd_dbdpath\fP sets the path of the database files. This
- Xfunction should be called prior to calling \fBd_open(1)\fP as it
- Xdetermines where database files are stored. \fIpath\fP
- Xcan be either a relative or an absolute path name. The validity of
- X\fIpath\fP is not checked until \fBd_open(1)\fP is called.
- X
- XSetting the dbd-path does not affect previously opened databases.
- X.SH DIAGNOSTICS
- XThe status code returned by the function is also stored in the global
- Xvariable \fIdb_status\fP.
- X.TP
- X.B S_OKAY
- XThis value is always returned.
- X.SH CURRENCY CHANGES
- XNone.
- X.SH IDENTIFICATION
- XAuthor: Thomas B. Pedersen.
- X.br
- XCopyright (c) 1994 Thomas B. Pedersen.
- X.SH "SEE ALSO"
- Xd_dbdpath(1), d_open(1).
- X
- END_OF_FILE
- if test 1041 -ne `wc -c <'typhoon/man/d_dbfpath.1'`; then
- echo shar: \"'typhoon/man/d_dbfpath.1'\" unpacked with wrong size!
- fi
- # end of 'typhoon/man/d_dbfpath.1'
- fi
- if test -f 'typhoon/man/d_dbget.1' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/man/d_dbget.1'\"
- else
- echo shar: Extracting \"'typhoon/man/d_dbget.1'\" \(1138 characters\)
- sed "s/^X//" >'typhoon/man/d_dbget.1' <<'END_OF_FILE'
- X.de Id
- X.ds Rv \\$3
- X.ds Dt \\$4
- X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
- X..
- X.Id $Id: d_dbget.1,v 1.1 1994/09/13 21:29:55 tbp Exp $
- X.ds r \s-1TYPHOON\s0
- X.if n .ds - \%--
- X.if t .ds - \(em
- X.TH D_DBGET 1 \*(Dt TYPHOON
- X.SH NAME
- Xd_dbget \- get the id of the current database
- X.SH SYNOPSIS
- X.B #include <typhoon.h>
- X.br
- X
- X\fBd_crget()
- X.SH DESCRIPTION
- XWhen a database is opened it is assigned an internal id which it retains
- Xuntil it is closed. \fBd_dbget\fP gets the id of the current database.
- XThis id can be used in \fBd_dbset(1)\fP to make another open database the
- Xcurrent database.
- X.SH DIAGNOSTICS
- XThe status code returned by the function is also stored in the global
- Xvariable \fIdb_status\fP.
- X.TP
- X.B S_OKAY
- XOperation successful.
- X.TP
- X.B S_NOCD
- XThere is no current database.
- X.SH CURRENCY CHANGES
- XNone.
- X.SH EXAMPLE
- X#include <typhoon.h>
- X.br
- X
- Xint cust_dbid;
- X.br
- X
- Xd_open("customer", "s");
- X.br
- Xd_dbget(&cust_dbid);
- X.br
- X\|.\|.\|.
- X.br
- Xd_open(....);
- X.br
- X\|.\|.\|.
- X.br
- X/* Make the customer database the current database */
- X.br
- Xd_dbset(cust_dbid);
- X.SH IDENTIFICATION
- XAuthor: Thomas B. Pedersen.
- X.br
- XCopyright (c) 1994 Thomas B. Pedersen.
- X.SH "SEE ALSO"
- Xd_dbset(1)
- X
- END_OF_FILE
- if test 1138 -ne `wc -c <'typhoon/man/d_dbget.1'`; then
- echo shar: \"'typhoon/man/d_dbget.1'\" unpacked with wrong size!
- fi
- # end of 'typhoon/man/d_dbget.1'
- fi
- if test -f 'typhoon/man/d_dbset.1' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/man/d_dbset.1'\"
- else
- echo shar: Extracting \"'typhoon/man/d_dbset.1'\" \(773 characters\)
- sed "s/^X//" >'typhoon/man/d_dbset.1' <<'END_OF_FILE'
- X.de Id
- X.ds Rv \\$3
- X.ds Dt \\$4
- X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
- X..
- X.Id $Id: d_dbset.1,v 1.1 1994/09/13 21:29:55 tbp Exp $
- X.ds r \s-1TYPHOON\s0
- X.if n .ds - \%--
- X.if t .ds - \(em
- X.TH D_DBSET 1 \*(Dt TYPHOON
- X.SH NAME
- Xd_dbset \- set the current database
- X.SH SYNOPSIS
- X.B #include <typhoon.h>
- X.br
- X
- X\fBd_dbset(int \fPdbid\fB)
- X.SH DESCRIPTION
- XSets the database with id \fBdbid\fP to the current database.
- X.SH DIAGNOSTICS
- XThe status code returned by the function is also stored in the global
- Xvariable \fIdb_status\fP.
- X.TP
- X.B S_OKAY
- XOperation successful.
- X.TP
- X.B S_INVPARM
- XThere database id specified is invalid.
- X.SH CURRENCY CHANGES
- XNone.
- X.SH EXAMPLE
- XSee d_dbget(1).
- X.SH IDENTIFICATION
- XAuthor: Thomas B. Pedersen.
- X.br
- XCopyright (c) 1994 Thomas B. Pedersen.
- X.SH "SEE ALSO"
- Xd_dbget(1)
- X
- END_OF_FILE
- if test 773 -ne `wc -c <'typhoon/man/d_dbset.1'`; then
- echo shar: \"'typhoon/man/d_dbset.1'\" unpacked with wrong size!
- fi
- # end of 'typhoon/man/d_dbset.1'
- fi
- if test -f 'typhoon/man/d_delete.1' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/man/d_delete.1'\"
- else
- echo shar: Extracting \"'typhoon/man/d_delete.1'\" \(1221 characters\)
- sed "s/^X//" >'typhoon/man/d_delete.1' <<'END_OF_FILE'
- X.de Id
- X.ds Rv \\$3
- X.ds Dt \\$4
- X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
- X..
- X.Id $Id: d_delete.1,v 1.1 1994/09/13 21:29:56 tbp Exp $
- X.ds r \s-1TYPHOON\s0
- X.if n .ds - \%--
- X.if t .ds - \(em
- X.TH D_DELETE 1 \*(Dt TYPHOON
- X.SH NAME
- Xd_delete \- delete the current record
- X.SH SYNOPSIS
- X.B #include <typhoon.h>
- X.br
- X
- X\fBd_delete()
- X.SH DESCRIPTION
- X\fBd_delete\fP removes the current record from its table.
- X.br
- XIf there is no current record, \fBS_NOCR\fP is returned.
- XIf the record has references, i.e. records with foreign keys that reference
- Xthis record, \fBS_RESTRICT\fP is returned.
- X.SH DIAGNOSTICS
- XThe status code returned by the function is also stored in the global
- Xvariable \fIdb_status\fP.
- X.TP
- X.B S_OKAY
- XThe record was successfully deleted.
- X.TP
- X.B S_NOCD
- XThere is no current database.
- X.TP
- X.B S_NOCR
- XThere is no current record.
- X.TP
- X.B S_RESTRICT
- XOne or more records currently reference this record and the record cannot
- Xbe deleted.
- X.SH CURRENCY CHANGES
- XNone.
- X.SH EXAMPLE
- X#include <typhoon.h>
- X.br
- X
- Xif( d_keyfind(CUSTOMER_NAME, "Pedersen") == S_OKAY )
- X.br
- X{
- X.br
- X if( d_delete() != S_OKAY )
- X.br
- X /* handle error */
- X.br
- X}
- X.SH IDENTIFICATION
- XAuthor: Thomas B. Pedersen.
- X.br
- XCopyright (c) 1994 Thomas B. Pedersen.
- X.SH "SEE ALSO"
- Xd_fillnew(1)
- END_OF_FILE
- if test 1221 -ne `wc -c <'typhoon/man/d_delete.1'`; then
- echo shar: \"'typhoon/man/d_delete.1'\" unpacked with wrong size!
- fi
- # end of 'typhoon/man/d_delete.1'
- fi
- if test -f 'typhoon/man/d_keyread.1' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/man/d_keyread.1'\"
- else
- echo shar: Extracting \"'typhoon/man/d_keyread.1'\" \(1169 characters\)
- sed "s/^X//" >'typhoon/man/d_keyread.1' <<'END_OF_FILE'
- X.de Id
- X.ds Rv \\$3
- X.ds Dt \\$4
- X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
- X..
- X.Id $Id: d_keyread.1,v 1.1 1994/09/13 21:29:58 tbp Exp $
- X.ds r \s-1TYPHOON\s0
- X.if n .ds - \%--
- X.if t .ds - \(em
- X.TH D_KEYREAD 1 \*(Dt TYPHOON
- X.SH NAME
- Xd_keyread \- read the most recently found key
- X.SH SYNOPSIS
- X.B #include <typhoon.h>
- X.br
- X
- X\fBd_keyread(void *\fPbuf\fB)
- X.SH DESCRIPTION
- X\fBd_keyread\fP copies the contents of the most recently accessed key
- Xfield specified by \fIfieldid\fP
- Xinto the buffer \fIbuf\fP. This can be used to determine the contents
- Xof a key's fields without actually reading the record.
- X.br
- X.SH DIAGNOSTICS
- XThe status code returned by the function is also stored in the global
- Xvariable \fIdb_status\fP.
- X.TP
- X.B S_OKAY
- XOperation successful.
- X.TP
- X.B S_NOCD
- XThere is no current database.
- X.TP
- X.B S_NOCR
- XThere is no current record.
- X.TP
- XNone.
- X.SH EXAMPLE
- X/* Find the smallest customer name */
- X.br
- X
- X#include <typhoon.h>
- X.br
- X
- Xif( d_keyfrst(CUSTOMER_NAME) == S_OKAY )
- X.br
- X{
- X.br
- X char name[30];
- X.br
- X d_keyread(name);
- X printf("Name %s\\n", name);
- X.br
- X}
- X.SH IDENTIFICATION
- XAuthor: Thomas B. Pedersen.
- X.br
- XCopyright (c) 1994 Thomas B. Pedersen.
- X.SH "SEE ALSO"
- Xd_recread(1), d_crread(1)
- END_OF_FILE
- if test 1169 -ne `wc -c <'typhoon/man/d_keyread.1'`; then
- echo shar: \"'typhoon/man/d_keyread.1'\" unpacked with wrong size!
- fi
- # end of 'typhoon/man/d_keyread.1'
- fi
- if test -f 'typhoon/man/d_reclast.1' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/man/d_reclast.1'\"
- else
- echo shar: Extracting \"'typhoon/man/d_reclast.1'\" \(1057 characters\)
- sed "s/^X//" >'typhoon/man/d_reclast.1' <<'END_OF_FILE'
- X.de Id
- X.ds Rv \\$3
- X.ds Dt \\$4
- X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
- X..
- X.Id $Id: d_reclast.1,v 1.1 1994/09/13 21:29:59 tbp Exp $
- X.ds r \s-1TYPHOON\s0
- X.if n .ds - \%--
- X.if t .ds - \(em
- X.TH D_RECLAST 1 \*(Dt TYPHOON
- X.SH NAME
- Xd_reclast \- find the last record in a table
- X.SH SYNOPSIS
- X.B #include <typhoon.h>
- X.br
- X
- X\fBd_reclast(ulong \fPrecid\fB)
- X.SH DESCRIPTION
- X\fBd_reclast\fP finds the last record in the table specified by
- X\fIrecid\fP. If \fBd_reclast\fP returns \fBS_NOTFOUND\fP the table
- Xis empty.
- X.SH DIAGNOSTICS
- XThe status code returned by the function is also stored in the global
- Xvariable \fIdb_status\fP.
- X.TP
- X.B S_OKAY
- XA record was found.
- X.TP
- X.B S_NOTFOUND
- XThe key value was not found, i.e. the index is empty.
- X.TP
- X.B S_NOCD
- XThere is no current database.
- X.TP
- X.B S_INVREC
- XThe id is not a record id.
- X.SH CURRENCY CHANGES
- XIf \fBS_OKAY\fP is returned, the record found becomes the current record.
- X.SH IDENTIFICATION
- XAuthor: Thomas B. Pedersen.
- X.br
- XCopyright (c) 1994 Thomas B. Pedersen.
- X.SH "SEE ALSO"
- Xd_recprev(1), d_recnext(1), d_recprev(1), d_recread(1).
- X
- END_OF_FILE
- if test 1057 -ne `wc -c <'typhoon/man/d_reclast.1'`; then
- echo shar: \"'typhoon/man/d_reclast.1'\" unpacked with wrong size!
- fi
- # end of 'typhoon/man/d_reclast.1'
- fi
- if test -f 'typhoon/man/d_recprev.1' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/man/d_recprev.1'\"
- else
- echo shar: Extracting \"'typhoon/man/d_recprev.1'\" \(1065 characters\)
- sed "s/^X//" >'typhoon/man/d_recprev.1' <<'END_OF_FILE'
- X.de Id
- X.ds Rv \\$3
- X.ds Dt \\$4
- X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
- X..
- X.Id $Id: d_recprev.1,v 1.1 1994/09/13 21:30:00 tbp Exp $
- X.ds r \s-1TYPHOON\s0
- X.if n .ds - \%--
- X.if t .ds - \(em
- X.TH D_RECPREV 1 \*(Dt TYPHOON
- X.SH NAME
- Xd_recprev \- find the previous record in a table
- X.SH SYNOPSIS
- X.B #include <typhoon.h>
- X.br
- X
- X\fBd_recprev(ulong \fPrecid\fB)
- X.SH DESCRIPTION
- X\fBd_recprev\fP finds the previous record in the table specified by
- X\fIrecid\fP. If \fBd_recprev\fP returns \fBS_NOTFOUND\fP the table
- Xis empty.
- X.SH DIAGNOSTICS
- XThe status code returned by the function is also stored in the global
- Xvariable \fIdb_status\fP.
- X.TP
- X.B S_OKAY
- XA record was found.
- X.TP
- X.B S_NOTFOUND
- XThe key value was not found, i.e. the index is empty.
- X.TP
- X.B S_NOCD
- XThere is no current database.
- X.TP
- X.B S_INVREC
- XThe id is not a record id.
- X.SH CURRENCY CHANGES
- XIf \fBS_OKAY\fP is returned, the record found becomes the current record.
- X.SH IDENTIFICATION
- XAuthor: Thomas B. Pedersen.
- X.br
- XCopyright (c) 1994 Thomas B. Pedersen.
- X.SH "SEE ALSO"
- Xd_recfrst(1), d_reclast(1), d_recnext(1), d_recread(1).
- X
- END_OF_FILE
- if test 1065 -ne `wc -c <'typhoon/man/d_recprev.1'`; then
- echo shar: \"'typhoon/man/d_recprev.1'\" unpacked with wrong size!
- fi
- # end of 'typhoon/man/d_recprev.1'
- fi
- if test -f 'typhoon/man/d_recread.1' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/man/d_recread.1'\"
- else
- echo shar: Extracting \"'typhoon/man/d_recread.1'\" \(1166 characters\)
- sed "s/^X//" >'typhoon/man/d_recread.1' <<'END_OF_FILE'
- X.de Id
- X.ds Rv \\$3
- X.ds Dt \\$4
- X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
- X..
- X.Id $Id: d_recread.1,v 1.1 1994/09/13 21:30:00 tbp Exp $
- X.ds r \s-1TYPHOON\s0
- X.if n .ds - \%--
- X.if t .ds - \(em
- X.TH D_RECREAD 1 \*(Dt TYPHOON
- X.SH NAME
- Xd_recread \- read the contents of the current record
- X.SH SYNOPSIS
- X.B #include <typhoon.h>
- X.br
- X
- X\fBd_recread(void *\fPbuf\fB)
- X.SH DESCRIPTION
- X\fBd_recread\fP reads the contents of the current record into \fIbuf\fP.
- XIf there is no current record, \fBS_NOCR\fP is returned.
- X.SH DIAGNOSTICS
- XThe status code returned by the function is also stored in the global
- Xvariable \fIdb_status\fP.
- X.TP
- X.B S_OKAY
- XThe record was successfully read.
- X.TP
- X.B S_NOCD
- XThere is no current database.
- X.TP
- X.B S_NOCR
- XThere is no current record.
- X.TP
- X.B S_INVREC
- XThe record id is not valid.
- X.TP
- X.SH CURRENCY CHANGES
- XNone.
- X.SH EXAMPLE
- X#include <typhoon.h>
- X
- Xstruct customer cust;
- X.br
- Xstrcpy(cust.name, "Pedersen");
- X.br
- Xif( d_keyfind(CUSTOMER_NAME, &cust.name) == S_OKAY )
- X.br
- X{
- X.br
- X d_recread(&cust);
- X.br
- X printf("account number is %lu\\n", cust.account);
- X.br
- X}
- X.SH IDENTIFICATION
- XAuthor: Thomas B. Pedersen.
- X.br
- XCopyright (c) 1994 Thomas B. Pedersen.
- X.SH "SEE ALSO"
- Xd_recwrite(1)
- END_OF_FILE
- if test 1166 -ne `wc -c <'typhoon/man/d_recread.1'`; then
- echo shar: \"'typhoon/man/d_recread.1'\" unpacked with wrong size!
- fi
- # end of 'typhoon/man/d_recread.1'
- fi
- if test -f 'typhoon/man/d_setfiles.1' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/man/d_setfiles.1'\"
- else
- echo shar: Extracting \"'typhoon/man/d_setfiles.1'\" \(897 characters\)
- sed "s/^X//" >'typhoon/man/d_setfiles.1' <<'END_OF_FILE'
- X.de Id
- X.ds Rv \\$3
- X.ds Dt \\$4
- X.ds iD \\$3 \\$4 \\$5 \\$6 \\$7
- X..
- X.Id $Id: d_setfiles.1,v 1.1 1994/09/13 21:30:01 tbp Exp $
- X.ds r \s-1TYPHOON\s0
- X.if n .ds - \%--
- X.if t .ds - \(em
- X.TH D_SETFILES 1 \*(Dt TYPHOON
- X.SH NAME
- Xd_setfiles \- set the maximum number of open files
- X.SH SYNOPSIS
- X.B #include <typhoon.h>
- X.br
- X
- X\fBd_setfiles(int \fPmaxfiles\fB)
- X.SH DESCRIPTION
- X\fBd_setfiles\fP sets the maximum number of files that typhoon may have
- Xopen at the same time. If the current number of open files exceeds
- X\fImaxfiles\fP,
- XTyphoon closes the least recently used files.
- X.SH DIAGNOSTICS
- XThe status code returned by the function is also stored in the global
- Xvariable \fIdb_status\fP.
- X.TP
- X.B S_OKAY
- XOperation successful.
- X.TP
- X.B S_INVPARM
- XThe parameter is invalid.
- X.SH CURRENCY CHANGES
- XNone.
- X.SH IDENTIFICATION
- XAuthor: Thomas B. Pedersen.
- X.br
- XCopyright (c) 1994 Thomas B. Pedersen.
- X.SH "SEE ALSO"
- Xd_open(1)
- X
- END_OF_FILE
- if test 897 -ne `wc -c <'typhoon/man/d_setfiles.1'`; then
- echo shar: \"'typhoon/man/d_setfiles.1'\" unpacked with wrong size!
- fi
- # end of 'typhoon/man/d_setfiles.1'
- fi
- if test -f 'typhoon/src/ty_lock.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/src/ty_lock.c'\"
- else
- echo shar: Extracting \"'typhoon/src/ty_lock.c'\" \(908 characters\)
- sed "s/^X//" >'typhoon/src/ty_lock.c' <<'END_OF_FILE'
- X/*----------------------------------------------------------------------------
- X * File : @(#)ty_lock.c 93/11/04 Copyright (c) 1991-93 CT Danmark
- X * Library : typhoon
- X * Compiler: UNIX C, Turbo C, Microsoft C
- X * OS : UNIX, OS/2, DOS
- X * Author : Thomas B. Pedersen
- X *
- X * Description:
- X * Locking functions.
- X *
- X * Functions:
- X * d_reclock
- X * d_recunlock
- X * d_tablock
- X * d_tabunlock
- X *
- X * History
- X * ------------------------------
- X * 23-Dec-1993 tbp Initial version.
- X *
- X *--------------------------------------------------------------------------*/
- X
- Xstatic char rcsid[] = "$Id: ty_lock.c,v 1.2 1994/09/17 16:00:17 tbp Exp $";
- X
- X#ifdef UNIX
- X# include <unistd.h>
- X#endif
- X#include <string.h>
- X#include <stdio.h>
- X#include <typhoon.h>
- X#include "ty_dbd.h"
- X#include "ty_type.h"
- X#include "ty_glob.h"
- X#include "ty_prot.h"
- X
- X
- XFNCLASS d_reclock()
- X{
- X}
- X
- X
- XFNCLASS d_recunlock()
- X{
- X}
- X
- X
- X/* end-of-file */
- END_OF_FILE
- if test 908 -ne `wc -c <'typhoon/src/ty_lock.c'`; then
- echo shar: \"'typhoon/src/ty_lock.c'\" unpacked with wrong size!
- fi
- # end of 'typhoon/src/ty_lock.c'
- fi
- if test -f 'typhoon/src/util/ddl_y.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/src/util/ddl_y.h'\"
- else
- echo shar: Extracting \"'typhoon/src/util/ddl_y.h'\" \(992 characters\)
- sed "s/^X//" >'typhoon/src/util/ddl_y.h' <<'END_OF_FILE'
- X#define T_DATABASE 257
- X#define T_KEY 258
- X#define T_DATA 259
- X#define T_FILE 260
- X#define T_CONTAINS 261
- X#define T_RECORD 262
- X#define T_UNIQUE 263
- X#define T_DEFINE 264
- X#define T_CONTROLLED 265
- X#define T_MAP 266
- X#define T_ARROW 267
- X#define T_PRIMARY 268
- X#define T_ALTERNATE 269
- X#define T_FOREIGN 270
- X#define T_ON 271
- X#define T_DELETE 272
- X#define T_RESTRICT 273
- X#define T_REFERENCES 274
- X#define T_UPDATE 275
- X#define T_CASCADE 276
- X#define T_NULL 277
- X#define T_CHAR 278
- X#define T_SHORT 279
- X#define T_INT 280
- X#define T_LONG 281
- X#define T_SIGNED 282
- X#define T_UNSIGNED 283
- X#define T_FLOAT 284
- X#define T_DOUBLE 285
- X#define T_UCHAR 286
- X#define T_USHORT 287
- X#define T_ULONG 288
- X#define T_STRUCT 289
- X#define T_UNION 290
- X#define T_COMPOUND 291
- X#define T_ASC 292
- X#define T_DESC 293
- X#define T_VARIABLE 294
- X#define T_BY 295
- X#define T_IDENT 296
- X#define T_STRING 297
- X#define T_NUMBER 298
- X#define T_CHARCONST 299
- Xtypedef union {
- X int val;
- X char is_union;
- X char s[IDENT_LEN+1];
- X} YYSTYPE;
- Xextern YYSTYPE yylval;
- END_OF_FILE
- if test 992 -ne `wc -c <'typhoon/src/util/ddl_y.h'`; then
- echo shar: \"'typhoon/src/util/ddl_y.h'\" unpacked with wrong size!
- fi
- # end of 'typhoon/src/util/ddl_y.h'
- fi
- if test -f 'typhoon/src/util/exp_y.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/src/util/exp_y.h'\"
- else
- echo shar: Extracting \"'typhoon/src/util/exp_y.h'\" \(215 characters\)
- sed "s/^X//" >'typhoon/src/util/exp_y.h' <<'END_OF_FILE'
- X#define T_EXPORT 257
- X#define T_RECORD 258
- X#define T_STRUCT 259
- X#define T_UNION 260
- X#define T_IN 261
- X#define T_IDENT 262
- X#define T_STRING 263
- Xtypedef union {
- X char s[IDENT_LEN+1];
- X} YYSTYPE;
- Xextern YYSTYPE yylval;
- END_OF_FILE
- if test 215 -ne `wc -c <'typhoon/src/util/exp_y.h'`; then
- echo shar: \"'typhoon/src/util/exp_y.h'\" unpacked with wrong size!
- fi
- # end of 'typhoon/src/util/exp_y.h'
- fi
- if test -f 'typhoon/src/util/lex.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'typhoon/src/util/lex.h'\"
- else
- echo shar: Extracting \"'typhoon/src/util/lex.h'\" \(1153 characters\)
- sed "s/^X//" >'typhoon/src/util/lex.h' <<'END_OF_FILE'
- X/*----------------------------------------------------------------------------
- X * File : @(#)lex.h 93/11/08 Copyright (c) 1993-94 CT Danmark
- X * Compiler: UNIX C, Turbo C, Microsoft C
- X * OS : UNIX, OS/2, DOS
- X * Author : Thomas B. Pedersen
- X *
- X * Description:
- X * General functions for lexical analysers.
- X *
- X * Revision History
- X * ----------------------------------------
- X * 11-Nov-1993 tbp Initial version.
- X *
- X *--------------------------------------------------------------------------*/
- X
- X/*-------------------------- Function prototypes ---------------------------*/
- Xvoid lex_skip_comment PRM( (void); )
- Xint lex_parse_keyword PRM( (char); )
- Xint lex_parse_number PRM( (char); )
- Xint lex_parse_string PRM( (void); )
- Xint lex_parse_charconst PRM( (void); )
- Xvoid lex_skip_line PRM( (void); )
- X
- Xtypedef int (*LEX_CMPFUNC) PRM( (const void *, const void *); )
- X
- Xtypedef struct {
- X short token;
- X char *s;
- X} LEX_KEYWORD;
- X
- X
- X/* These variables must be defined in the program that uses lex.c
- X */
- Xextern LEX_KEYWORD lex_keywordtab[];
- Xextern int lex_keywords;
- Xextern FILE *lex_file;
- Xextern int lex_lineno;
- X
- X
- X/* end-of-file */
- X
- END_OF_FILE
- if test 1153 -ne `wc -c <'typhoon/src/util/lex.h'`; then
- echo shar: \"'typhoon/src/util/lex.h'\" unpacked with wrong size!
- fi
- # end of 'typhoon/src/util/lex.h'
- fi
- echo shar: End of archive 9 \(of 9\).
- cp /dev/null ark9isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 9 archives.
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still must unpack the following archives:
- echo " " ${MISSING}
- fi
- exit 0
- exit 0 # Just in case...
-