55 *
66 * Copyright (c) 1994, Regents of the University of California
77 *
8- * $Id: psqlHelp.h,v 1.35 1997/12/29 01:13:16 momjian Exp $
8+ * $Id: psqlHelp.h,v 1.36 1998/01/11 04:17:01 momjian Exp $
99 *
1010 *-------------------------------------------------------------------------
1111 */
@@ -26,10 +26,17 @@ static struct _helpStruct QL_HELP[] = {
2626"abort [transaction];" },
2727{"alter table" ,
2828"add/rename attributes, rename tables" ,
29- "\talter table <class_name> [*] add column <attr> <type>;\n\talter table <class_name> [*] rename [column] <attr1> to <attr2>;\n\talter table <class_name1> rename to <class_name2>" },
29+ "\talter table <class_name> [*] add column <attr> <type>;\n\
30+ \talter table <class_name> [*] rename [column] <attr1> to <attr2>;\n\
31+ \talter table <class_name1> rename to <class_name2>" },
3032{"alter user" ,
3133"alter system information for a user" ,
32- "alter user <user_name>\n\t[with password <password>]\n\t[createdb | noccreatedb]\n\t[createuser | nocreateuser]\n\t[in group <group_1>, ..., <group_n>]\n\t[valid until '<abstime>'];" },
34+ "alter user <user_name>\n\
35+ \t[with password <password>]\n\
36+ \t[createdb | noccreatedb]\n\
37+ \t[createuser | nocreateuser]\n\
38+ \t[in group <group_1>, ..., <group_n>]\n\
39+ \t[valid until '<abstime>'];" },
3340{"begin" ,
3441"begin a new transaction" ,
3542"begin [transaction|work];" },
@@ -53,55 +60,123 @@ static struct _helpStruct QL_HELP[] = {
5360"commit [work]" },
5461{"copy" ,
5562"copy data to and from a table" ,
56- "copy [binary] <class_name> [with oids]\n\t{to|from} {<filename>|stdin|stdout} [using delimiters <delim>];" },
63+ "copy [binary] <class_name> [with oids]\n\
64+ \t{to|from} {<filename>|stdin|stdout} [using delimiters <delim>];" },
5765{"create" ,
5866"Please be more specific:" ,
59- "\tcreate aggregate\n\tcreate database\n\tcreate function\n\tcreate index\n\tcreate operator\n\tcreate rule\n\tcreate sequence\n\tcreate table\n\tcreate trigger\n\tcreate type\n\tcreate view" },
67+ "\tcreate aggregate\n\
68+ \tcreate database\n\
69+ \tcreate function\n\
70+ \tcreate index\n\
71+ \tcreate operator\n\
72+ \tcreate rule\n\
73+ \tcreate sequence\n\
74+ \tcreate table\n\
75+ \tcreate trigger\n\
76+ \tcreate type\n\
77+ \tcreate view" },
6078{"create aggregate" ,
6179"define an aggregate function" ,
62- "create aggregate <agg_name> [as] (basetype = <data_type>, \n\t[sfunc1 = <sfunc_1>, stype1 = <sfunc1_return_type>]\n\t[sfunc2 = <sfunc_2>, stype2 = <sfunc2_return_type>]\n\t[,finalfunc = <final-function>]\n\t[,initcond1 = <initial-cond1>][,initcond2 = <initial-cond2>]);" },
80+ "create aggregate <agg_name> [as] (basetype = <data_type>, \n\
81+ \t[sfunc1 = <sfunc_1>, stype1 = <sfunc1_return_type>]\n\
82+ \t[sfunc2 = <sfunc_2>, stype2 = <sfunc2_return_type>]\n\
83+ \t[,finalfunc = <final-function>]\n\
84+ \t[,initcond1 = <initial-cond1>][,initcond2 = <initial-cond2>]);" },
6385{"create database" ,
6486"create a database" ,
6587"create database <dbname> [with location = '<dbpath>']" },
6688{"create function" ,
6789"create a user-defined function" ,
68- "create function <function_name> ([<type1>,...<typeN>]) returns <return_type>\n\tas '<object_filename>'|'<sql-queries>'\n\tlanguage 'c'|'sql'|'internal';" },
90+ "create function <function_name> ([<type1>,...<typeN>]) returns <return_type>\n\
91+ \tas '<object_filename>'|'<sql-queries>'\n\
92+ \tlanguage 'c'|'sql'|'internal';" },
6993{"create index" ,
7094"construct an index" ,
71- "create [unique] index <indexname> on <class_name> [using <access_method>]\n( <attr1> [<type_class1>] [,...] | <funcname>(<attr1>,...) [<type_class>] );" },
95+ "create [unique] index <indexname> on <class_name> [using <access_method>]\n\
96+ ( <attr1> [<type_class1>] [,...] | <funcname>(<attr1>,...) [<type_class>] );" },
7297{"create operator" ,
7398"create a user-defined operator" ,
74- "create operator <operator_name> (\n\t[leftarg = <type1>][,rightarg = <type2>]\n\t,procedure = <func_name>,\n\t[,commutator = <com_op>][,negator = <neg_op>]\n\t[,restrict = <res_proc>][,hashes]\n\t[,join = <join_proc>][,sort = <sort_op1>...<sort_opN>]);" },
99+ "create operator <operator_name> (\n\
100+ \t[leftarg = <type1>][,rightarg = <type2>]\n\
101+ \t,procedure = <func_name>,\n\
102+ \t[,commutator = <com_op>][,negator = <neg_op>]\n\
103+ \t[,restrict = <res_proc>][,hashes]\n\
104+ \t[,join = <join_proc>][,sort = <sort_op1>...<sort_opN>]);" },
75105{"create rule" ,
76106"define a new rule" ,
77- "create rule <rule_name> as on\n\t[select|update|delete|insert]\n\tto <object> [where <qual>]\n\tdo [instead] [<action>|nothing| [<actions>]];" },
107+ "create rule <rule_name> as on\n\
108+ \t[select|update|delete|insert]\n\
109+ \tto <object> [where <qual>]\n\
110+ \tdo [instead] [<action>|nothing| [<actions>]];" },
78111{"create sequence" ,
79112"create a new sequence number generator" ,
80- "create sequence <sequence_name>\n\t[increment <NUMBER>]\n\t[start <NUMBER>]\n\t[minvalue <NUMBER>]\n\t[maxvalue <NUMBER>]\n\t[cache <NUMBER>]\n\t[cycle];" },
113+ "create sequence <sequence_name>\n\
114+ \t[increment <NUMBER>]\n\
115+ \t[start <NUMBER>]\n\
116+ \t[minvalue <NUMBER>]\n\
117+ \t[maxvalue <NUMBER>]\n\
118+ \t[cache <NUMBER>]\n\
119+ \t[cycle];" },
81120{"create table" ,
82121"create a new table" ,
83- "create table <class_name>\n\t(<attr1> <type1> [default <expression>] [not null] [,...])\n\t[inherits (<class_name1>,...<class_nameN>)\n\t[[constraint <name>] check <condition> [,...] ]\n;" },
122+ "create table <class_name>\n\
123+ \t(<attr1> <type1> [default <expression>] [not null] [,...])\n\
124+ \t[inherits (<class_name1>,...<class_nameN>)\n\
125+ \t[[constraint <name>] check <condition> [,...] ]\n\
126+ ;" },
84127{"create trigger" ,
85128"create a new trigger" ,
86- "create trigger <trigger_name> after|before event1 [or event2 [or event3] ]\n\ton <class_name> for each row|statement\n\texecute procedure <func_name> ([arguments]);\n\n\teventX is one of INSERT, DELETE, UPDATE" },
129+ "create trigger <trigger_name> after|before event1 [or event2 [or event3] ]\n\
130+ \ton <class_name> for each row|statement\n\
131+ \texecute procedure <func_name> ([arguments]);\n\
132+ \n\
133+ \teventX is one of INSERT, DELETE, UPDATE" },
87134{"create type" ,
88135"create a new user-defined base data type" ,
89- "create type <typename> (\n\tinternallength = (<number> | variable),\n\t[externallength = (<number>|variable),]\n\tinput=<input_function>, output = <output_function>\n\t[,element = <typename>][,delimiter=<character>][,default=\'<string>\']\n\t[,send = <send_function>][,receive = <receive_function>][,passedbyvalue]);" },
136+ "create type <typename> (\n\
137+ \tinternallength = (<number> | variable),\n\
138+ \t[externallength = (<number>|variable),]\n\
139+ \tinput=<input_function>, output = <output_function>\n\
140+ \t[,element = <typename>][,delimiter=<character>][,default=\'<string>\']\n\
141+ \t[,send = <send_function>][,receive = <receive_function>][,passedbyvalue]);" },
90142{"create user" ,
91143"create a new user" ,
92- "create user <user_name>\n\t[with password <password>]\n\t[createdb | nocreatedb]\n\t[createuser | nocreateuser]\n\t[in group <group_1>, ..., <group_n>]\n\t[valid until '<abstime>'];" },
144+ "create user <user_name>\n\
145+ \t[with password <password>]\n\
146+ \t[createdb | nocreatedb]\n\
147+ \t[createuser | nocreateuser]\n\
148+ \t[in group <group_1>, ..., <group_n>]\n\
149+ \t[valid until '<abstime>'];" },
93150{"create view" ,
94151"create a view" ,
95- "create view <view_name> as select <expr1>[as <attr1>][,... <exprN>[as <attrN>]] [from <from_list>] [where <qual>];" },
152+ "create view <view_name> as\n\
153+ \tselect <expr1>[as <attr1>][,... <exprN>[as <attrN>]]\n\
154+ \t[from <from_list>]\n\
155+ \t[where <qual>]\n\
156+ \t[group by <group_list>];" },
96157{"declare" ,
97158"set up a cursor" ,
98- "declare <cursorname> [binary] cursor for\n\tselect [distinct]\n\t<expr1> [as <attr1>],...<exprN> [as <attrN>]\n\t[from <from_list>] [where <qual>]\n\t[order by <attr1> [using <op1>],... <attrN> [using <opN>]];" },
159+ "declare <cursorname> [binary] cursor for\n\
160+ \tselect [distinct]\n\
161+ \t<expr1> [as <attr1>],...<exprN> [as <attrN>]\n\
162+ \t[from <from_list>] [where <qual>]\n\
163+ \t[order by <attr1> [using <op1>],... <attrN> [using <opN>]];" },
99164{"delete" ,
100165"delete tuples" ,
101166"delete from <class_name> [where <qual>];" },
102167{"drop" ,
103168"Please be more specific:" ,
104- "\tdrop aggregate\n\tdrop database\n\tdrop function\n\tdrop index\n\tdrop operator\n\tdrop rule\n\tdrop sequence\n\tdrop table\n\tdrop trigger\n\tdrop type\n\tdrop view" },
169+ "\tdrop aggregate\n\
170+ \tdrop database\n\
171+ \tdrop function\n\
172+ \tdrop index\n\
173+ \tdrop operator\n\
174+ \tdrop rule\n\
175+ \tdrop sequence\n\
176+ \tdrop table\n\
177+ \tdrop trigger\n\
178+ \tdrop type\n\
179+ \tdrop view" },
105180{"drop aggregate" ,
106181"remove an aggregate function" ,
107182"drop aggregate <agg_name> <agg_type>|*;" },
@@ -152,10 +227,17 @@ static struct _helpStruct QL_HELP[] = {
152227"fetch [forward|backward] [<number>|all] [in <cursorname>];" },
153228{"grant" ,
154229"grant access control to a user or group" ,
155- "grant <privilege[,privilege,...]> on <rel1>[,...<reln>] to \n[public | group <group> | <username>]\n\t privilege is {ALL | SELECT | INSERT | UPDATE | DELETE | RULE}" },
230+ "grant <privilege[,privilege,...]> on <rel1>[,...<reln>] to \n\
231+ [public | group <group> | <username>]\n\
232+ \t privilege is {ALL | SELECT | INSERT | UPDATE | DELETE | RULE}" },
156233{"insert" ,
157234"insert tuples" ,
158- "insert into <class_name> [(<attr1>...<attrN>)]\n\t[values (<expr1>...<exprN>); |\n\tselect <expr1>,...<exprN> [from <from_clause>] [where <qual>];" },
235+ "insert into <class_name> [(<attr1>...<attrN>)]\n\
236+ \tvalues (<expr1>...<exprN>); |\n\
237+ \tselect <expr1>,...<exprN>\n\
238+ \t[from <from_clause>]\n\
239+ \t[where <qual>]\n\
240+ \t[group by <group_list>];" },
159241{"listen" ,
160242"listen for notification on a relation" ,
161243"listen <class_name>" },
@@ -173,7 +255,9 @@ static struct _helpStruct QL_HELP[] = {
173255"reset {DateStyle | GEQO | R_PLANS}" },
174256{"revoke" ,
175257"revoke access control from a user or group" ,
176- "revoke <privilege[,privilege,...]> on <rel1>[,...<reln>] from \n[public | group <group> | <username>]\n\t privilege is {ALL | SELECT | INSERT | UPDATE | DELETE | RULE}" },
258+ "revoke <privilege[,privilege,...]> on <rel1>[,...<reln>] from \n\
259+ [public | group <group> | <username>]\n\
260+ \t privilege is {ALL | SELECT | INSERT | UPDATE | DELETE | RULE}" },
177261{"rollback" ,
178262"abort a transaction" ,
179263"rollback [transaction|work]" },
@@ -183,11 +267,14 @@ static struct _helpStruct QL_HELP[] = {
183267\t[into table <class_name>]\n\
184268\t[from <from_list>]\n\
185269\t[where <qual>]\n\
270+ \t[group by <group_list>]\n\
186271\t[order by <attr1> [ASC | DESC] [using <op1>], ... <attrN> ]\n\
187272\t[union [all] select ...];" },
188273{"set" ,
189274"set run-time environment" ,
190- "set DateStyle to {'ISO' | 'SQL' | 'Postgres' | 'European' | 'US' | 'NonEuropean'}\nset GEQO to {'ON[=#]' | 'OFF'}\nset R_PLANS to {'ON' | 'OFF'}" },
275+ "set DateStyle to {'ISO' | 'SQL' | 'Postgres' | 'European' | 'US' | 'NonEuropean'}\n\
276+ set GEQO to {'ON[=#]' | 'OFF'}\n\
277+ set R_PLANS to {'ON' | 'OFF'}" },
191278{"show" ,
192279"show current run-time environment" ,
193280"show {DateStyle | GEQO | R_PLANS}" },
@@ -196,7 +283,9 @@ static struct _helpStruct QL_HELP[] = {
196283"update <class_name> set <attr1>=<expr1>,...<attrN>=<exprN> [from <from_clause>] [where <qual>];" },
197284{"vacuum" ,
198285"vacuum the database, i.e. cleans out deleted records, updates statistics" ,
199- "vacuum [verbose] [analyze]\n\tor\nvacuum [verbose] [analyze] table [analyze [(attr1, ... attrN)] ];" },
286+ "vacuum [verbose] [analyze]\n\
287+ \tor\n\
288+ vacuum [verbose] [analyze] table [analyze [(attr1, ... attrN)] ];" },
200289{NULL ,NULL ,NULL }/* important to keep a NULL terminator
201290 * here! */
202291};