@@@@@ @ @ @@@@@ @@@@ @@@@@ @@@@ @ @@ @ @ @ @ @ @ @ @@ @ @ @ @ @ @ @ @ @ @ @ @@ @@@@ @@@@ @@@ @ @ @@ @ @ @ @ @ @ @ @ @@ @ @ @ @ @ @ @@@@@ @ @ @@@@ @ @ @@@@@ @@@@ VERSION 8 R E F E R E N C E M A N U A L 9/11/92 by Joe Kalash Lisa Rodgin Zelaine Fong Jeff Anton This manual is a reference manual for the INGRES data base system. It documents the use of INGRES in a very terse manner. To learn how to use INGRES, refer to the document called ``A Tutorial on INGRES''. The INGRES reference manual is subdivided into four parts: Quel describes the commands and features which are used inside of INGRES. Unix describes the INGRES programs which are executable as UNIX commands. Files describes some of the important files used by INGRES. Error lists all the user generatable error messages along with some elaboration as to what they mean or what we think they mean. Each entry in this manual has one or more of the following sections: NAME section This section repeats the name of the entry and gives an indication of its purpose. SYNOPSIS section This section indicates the form of the command (state- ment). The conventions which are used are as follows: Bold face names are used to indicate reserved key- words. Lower case words indicate generic types of informa- tion which must be supplied by the user; le- gal values for these names are described in the DESCRIPTION section. Square brakets ( [] ) indicate that the enclosed item is optional. Braces ( {} ) indicate an optional item which may be repeated. In some cases they indicate simple (non-repeated) grouping; the usage should be clear from context. When these conventions are insufficient to fully speci- fy the legal format of a command a more general form is given and the allowable subsets are specified in the DESCRIPTION section. DESCRIPTION section This section gives a detailed description of the entry with references to the generic names used in the SYNOPSIS section. EXAMPLE section This section gives one or more examples of the use of the entry. Most of these examples are based on the following relations: emp(name,sal,mgr,bdate) and newemp(name,sal,age) and parts(pnum, pname, color, weight, qoh) SEE ALSO section This section gives the names of entries in the manual which are closely related to the current entry or which are referenced in the description of the current entry. BUGS section This section indicates known bugs or deficiencies in the command. To start using INGRES you must be entered as an INGRES user; this is done by the INGRES administrator who will enter you in the ``users'' file (see users(files)). To start using ingres see the section on ingres(unix), quel(quel), and monitor(quel). ACKNOWLEDGEMENTS We would like to acknowledge the people who have worked on INGRES in the past: Eric Allman Rick Birman Bob Epstein James Ford Paula Hawthorn Gerald Held Peter Kreps Marc Meyer Jeff Ranstrom Dan Ries Peter Rubinstein Polly Siegal Mike Ubell John Woodfill Nick Whyte Karel Youssefi William Zook TABLE OF CONTENTS APPEND(QUEL) - append tuples to a relation _a_p_p_e_n_d [_t_o] relname (target_list) [_w_h_e_r_e qual] COPY(QUEL) - copy data into/from a relation from/into a UNIX file. _c_o_p_y relname (domname = format {, domname = format }) direction "filename" CREATE(QUEL) - create a new relation _c_r_e_a_t_e relname (domname_1 = format {, domname_2 = format }) DEFINE(QUEL) - define subschema _d_e_f_i_n_e _v_i_e_w name (target list) [ _w_h_e_r_e qual ] _d_e_f_i_n_e _p_e_r_m_i_t oplist { _o_n | _o_f | _t_o } var [ (attlist) ] _t_o name [ _a_t term ] [ _f_r_o_m time _t_o time ] [ _o_n day _t_o day ] [ _w_h_e_r_e qual ] _d_e_f_i_n_e _i_n_t_e_g_r_i_t_y _o_n var _i_s qual DELETE(QUEL) - delete tuples from a relation _d_e_l_e_t_e tuple_variable [_w_h_e_r_e qual] DELIM(QUEL) - specify a name for a pattern of characters _d_e_s_t_r_o_y _d_e_l_i_m groupname ( delimitor, pattern ) pattern = [ "[character list]" | "{character list}" ]* DESTROY(QUEL) - destroy existing relation(s) _d_e_s_t_r_o_y relname { , relname } _d_e_s_t_r_o_y [ _p_e_r_m_i_t | _i_n_t_e_g_r_i_t_y ] relname [ integer { , in- teger } | _a_l_l ] _d_e_s_t_r_o_y _d_e_l_i_m groupname HELP(QUEL) - get information about how to use INGRES, about relations in the database, _h_e_l_p [ relname ] [ "section" ] {, relname}{, "section"} _h_e_l_p _v_i_e_w relname {, relname} _h_e_l_p _p_e_r_m_i_t relname {, relname} _h_e_l_p _i_n_t_e_g_r_i_t_y relname {, relname} _h_e_l_p _d_e_l_i_m [ groupname ] {, groupname} INDEX(QUEL) - create a secondary index on an existing rela- tion. _i_n_d_e_x _o_n relname _i_s indexname (domain_1 { ,domain_2}) INTEGRITY(QUEL) - define integrity constraints _d_e_f_i_n_e _i_n_t_e_g_r_i_t_y _o_n var _i_s qual MACROS(QUEL) - terminal monitor macro facility MODIFY(QUEL) - convert the storage structure of a relation _m_o_d_i_f_y relname _t_o storage-structure [ _o_n key1 [ : _s_o_r_- _t_o_r_d_e_r ] [ { , key2 [ : _s_o_r_t_o_r_d_e_r ] } ] ] [ _w_h_e_r_e [ _f_i_l_l_f_a_c_t_o_r = _n ] [ , _m_i_n_p_a_g_e_s = _n ] [ , _m_a_x_p_a_g_e_s = _n ] [ , _l_i_d_n = _l_i_d_n_a_m_e ] [ MONITOR(QUEL) - interactive terminal monitor ORDERED(QUEL) - storage structure type PERMIT(QUEL) - add permissions to a relation _d_e_f_i_n_e _p_e_r_m_i_t oplist { _o_n | _o_f | _t_o } var [ (attlist) ] _t_o name [ _a_t term ] [ _f_r_o_m time _t_o time ] [ _o_n day _t_o day ] [ _w_h_e_r_e qual ] PRINT(QUEL) - print relation(s) _p_r_i_n_t relname {, relname} QUEL(QUEL) - QUEry Language for INGRES RANGE(QUEL) - declare a variable to range over a relation _r_a_n_g_e _o_f variable _i_s relname REPLACE(QUEL) - replace values of domains in a relation _r_e_p_l_a_c_e tuple_variable (target_list) [_w_h_e_r_e qual] RETRIEVE(QUEL) - retrieve tuples from a relation _r_e_t_r_i_e_v_e [[_i_n_t_o] relname] (target_list) [_w_h_e_r_e qual] _r_e_t_r_i_e_v_e _u_n_i_q_u_e (target_list) [_w_h_e_r_e qual] SAVE(QUEL) - save a relation until a date. _s_a_v_e relname _u_n_t_i_l month day year USE(QUEL) - specify a group of delimitors to be used _u_s_e groupname _u_n_u_s_e groupname VIEW(QUEL) - define a virtual relation _d_e_f_i_n_e _v_i_e_w name (target-list) [ _w_h_e_r_e qual ] COPYDB(UNIX) - create batch files to copy out a data base and restore it. _c_o_p_y_d_b [ -_u_n_a_m_e ] database full-path-name-of-directory [ relation ... ] CREATDB(UNIX) - create a data base _c_r_e_a_t_d_b [ -_u_n_a_m_e ] [ -_e ] [ -_m ] [ +__c ] [ +__q ] dbname DESTROYDB(UNIX) - destroy an existing database _d_e_s_t_r_o_y_d_b [ -_s ] [ -_m ] dbname EQUEL(UNIX) - Embedded QUEL interface to C _e_q_u_e_l [ -_d ] [ -_f ] [ -_r ] file.q ... GEO-QUEL(UNIX) - GEO-QUEL data display system _g_e_o_q_u_e_l [ -_s ] [ -_d ] [ -_a ] [ -_t_T ] [ -_t_n_T ] dbname HELPR(UNIX) - get information about a database. _h_e_l_p_r [ -_u_n_a_m_e ] [ +__w ] database relation ... INGRES(UNIX) - INGRES relational data base management system _i_n_g_r_e_s [ _f_l_a_g_s ] dbname [ process_table ] PRINTR(UNIX) - print relations _p_r_i_n_t_r [ _f_l_a_g_s ] database relation ... PURGE(UNIX) - destroy all expired and temporary relations _p_u_r_g_e [ -_f ] [ -_p ] [ -_a ] [ -_s ] [ +__w ] [ database ... ] RESTORE(UNIX) - recover from an INGRES or UNIX crash. _r_e_s_t_o_r_e [ -_a ] [ -_s ] [ +__w ] [ database ... ] SYSMOD(UNIX) - modify system relations to predetermined storage structures. _s_y_s_m_o_d [ -_s ] [ -_w ] dbname [ _r_e_l_a_t_i_o_n ] [ _a_t_t_r_i_b_u_t_e ] [ _i_n_d_e_x_e_s ] [ _t_r_e_e ] [ _p_r_o_t_e_c_t ] [ _i_n_t_e_g_r_i_t_i_e_s ] USERSETUP(UNIX) - setup users file .../_b_i_n/_u_s_e_r_s_e_t_u_p [ flags [ pathname ] ] TTYTYPE(FILES) - GEO-QUEL terminal type database INTRODUCTION(ERROR) - Error messages introduction PARSER(ERROR) - Parser error message summary Error numbers 2000 - 2999. QRYMOD(ERROR) - Query Modification error message summary Error numbers 3000 - 3999. OVQP(ERROR) - One Variable Query Processor error message summary Error numbers 4000 - 4499. DECOMP(ERROR) - Decomposition error message summary Error numbers 4500 - 4999. DBU(ERROR) - Data Base Utility error message summary Error numbers 5000 - 5999