From 1ced129aa33af76d9cc39319265741e4d170d0fb Mon Sep 17 00:00:00 2001 From: Bruce Momjian <bruce@momjian.us> Date: Sat, 22 Jan 2005 22:56:36 +0000 Subject: [PATCH] More < and > cleanups converted to ampersands. --- doc/src/sgml/backup.sgml | 8 ++++---- doc/src/sgml/datatype.sgml | 6 +++--- doc/src/sgml/ddl.sgml | 30 +++++++++++++-------------- doc/src/sgml/dfunc.sgml | 4 ++-- doc/src/sgml/dml.sgml | 4 ++-- doc/src/sgml/ecpg.sgml | 4 ++-- doc/src/sgml/func.sgml | 4 ++-- doc/src/sgml/geqo.sgml | 4 ++-- doc/src/sgml/indices.sgml | 8 ++++---- doc/src/sgml/plpgsql.sgml | 20 +++++++++--------- doc/src/sgml/pltcl.sgml | 10 ++++----- doc/src/sgml/queries.sgml | 42 +++++++++++++++++++------------------- doc/src/sgml/query.sgml | 12 +++++------ doc/src/sgml/release.sgml | 22 ++++++++++---------- doc/src/sgml/rowtypes.sgml | 10 ++++----- doc/src/sgml/rules.sgml | 30 +++++++++++++-------------- doc/src/sgml/runtime.sgml | 6 +++--- doc/src/sgml/spi.sgml | 32 ++++++++++++++--------------- doc/src/sgml/sql.sgml | 22 ++++++++++---------- doc/src/sgml/trigger.sgml | 28 ++++++++++++------------- doc/src/sgml/xaggr.sgml | 6 +++--- doc/src/sgml/xfunc.sgml | 4 ++-- 22 files changed, 158 insertions(+), 158 deletions(-) diff --git a/doc/src/sgml/backup.sgml b/doc/src/sgml/backup.sgml index 76457b6842a..b2309262e4a 100644 --- a/doc/src/sgml/backup.sgml +++ b/doc/src/sgml/backup.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/backup.sgml,v 2.54 2004/12/28 19:08:58 tgl Exp $ +$PostgreSQL: pgsql/doc/src/sgml/backup.sgml,v 2.55 2005/01/22 22:56:35 momjian Exp $ --> <chapter id="backup"> <title>Backup and Restore</title> @@ -256,7 +256,7 @@ cat <replaceable class="parameter">filename</replaceable>* | psql <replaceable c following command dumps a database using the custom dump format: <programlisting> -pg_dump -Fc <replaceable class="parameter">dbname</replaceable> > <replaceable class="parameter">filename</replaceable> +pg_dump -Fc <replaceable class="parameter">dbname</replaceable> > <replaceable class="parameter">filename</replaceable> </programlisting> A custom-format dump is not a script for <application>psql</>, but @@ -1203,14 +1203,14 @@ pg_dumpall -p 5432 | psql -d template1 -p 6543 version, start the new server, restore the data. For example: <programlisting> -pg_dumpall > backup +pg_dumpall > backup pg_ctl stop mv /usr/local/pgsql /usr/local/pgsql.old cd ~/postgresql-&version; gmake install initdb -D /usr/local/pgsql/data postmaster -D /usr/local/pgsql/data -psql template1 < backup +psql template1 < backup </programlisting> See <xref linkend="runtime"> about ways to start and stop the diff --git a/doc/src/sgml/datatype.sgml b/doc/src/sgml/datatype.sgml index 0ca87bfb2c9..3794aa2f786 100644 --- a/doc/src/sgml/datatype.sgml +++ b/doc/src/sgml/datatype.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.154 2005/01/17 18:47:15 tgl Exp $ +$PostgreSQL: pgsql/doc/src/sgml/datatype.sgml,v 1.155 2005/01/22 22:56:35 momjian Exp $ --> <chapter id="datatype"> @@ -1645,7 +1645,7 @@ SELECT b, char_length(b) FROM test2; </row> <row> <entry><literal>04:05 PM</literal></entry> - <entry>same as 16:05; input hour must be <= 12</entry> + <entry>same as 16:05; input hour must be <= 12</entry> </row> <row> <entry><literal>04:05:06.789-8</literal></entry> @@ -2367,7 +2367,7 @@ SELECT * FROM test1 WHERE a; <entry><type>circle</type></entry> <entry>24 bytes</entry> <entry>Circle</entry> - <entry><(x,y),r> (center and radius)</entry> + <entry><(x,y),r> (center and radius)</entry> </row> </tbody> </tgroup> diff --git a/doc/src/sgml/ddl.sgml b/doc/src/sgml/ddl.sgml index 727b00f0eaf..2de8888254f 100644 --- a/doc/src/sgml/ddl.sgml +++ b/doc/src/sgml/ddl.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/ddl.sgml,v 1.38 2005/01/17 01:29:02 tgl Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/ddl.sgml,v 1.39 2005/01/22 22:56:35 momjian Exp $ --> <chapter id="ddl"> <title>Data Definition</title> @@ -275,7 +275,7 @@ CREATE TABLE products ( CREATE TABLE products ( product_no integer, name text, - price numeric <emphasis>CHECK (price > 0)</emphasis> + price numeric <emphasis>CHECK (price > 0)</emphasis> ); </programlisting> </para> @@ -303,7 +303,7 @@ CREATE TABLE products ( CREATE TABLE products ( product_no integer, name text, - price numeric <emphasis>CONSTRAINT positive_price</emphasis> CHECK (price > 0) + price numeric <emphasis>CONSTRAINT positive_price</emphasis> CHECK (price > 0) ); </programlisting> So, to specify a named constraint, use the key word @@ -320,9 +320,9 @@ CREATE TABLE products ( CREATE TABLE products ( product_no integer, name text, - price numeric CHECK (price > 0), - discounted_price numeric CHECK (discounted_price > 0), - <emphasis>CHECK (price > discounted_price)</emphasis> + price numeric CHECK (price > 0), + discounted_price numeric CHECK (discounted_price > 0), + <emphasis>CHECK (price > discounted_price)</emphasis> ); </programlisting> </para> @@ -350,10 +350,10 @@ CREATE TABLE products ( product_no integer, name text, price numeric, - CHECK (price > 0), + CHECK (price > 0), discounted_price numeric, - CHECK (discounted_price > 0), - CHECK (price > discounted_price) + CHECK (discounted_price > 0), + CHECK (price > discounted_price) ); </programlisting> or even @@ -361,9 +361,9 @@ CREATE TABLE products ( CREATE TABLE products ( product_no integer, name text, - price numeric CHECK (price > 0), + price numeric CHECK (price > 0), discounted_price numeric, - CHECK (discounted_price > 0 AND price > discounted_price) + CHECK (discounted_price > 0 AND price > discounted_price) ); </programlisting> It's a matter of taste. @@ -377,10 +377,10 @@ CREATE TABLE products ( product_no integer, name text, price numeric, - CHECK (price > 0), + CHECK (price > 0), discounted_price numeric, - CHECK (discounted_price > 0), - <emphasis>CONSTRAINT valid_discount</> CHECK (price > discounted_price) + CHECK (discounted_price > 0), + <emphasis>CONSTRAINT valid_discount</> CHECK (price > discounted_price) ); </programlisting> </para> @@ -442,7 +442,7 @@ CREATE TABLE products ( CREATE TABLE products ( product_no integer NOT NULL, name text NOT NULL, - price numeric NOT NULL CHECK (price > 0) + price numeric NOT NULL CHECK (price > 0) ); </programlisting> The order doesn't matter. It does not necessarily determine in which diff --git a/doc/src/sgml/dfunc.sgml b/doc/src/sgml/dfunc.sgml index 406112a3b84..2c1a2771e54 100644 --- a/doc/src/sgml/dfunc.sgml +++ b/doc/src/sgml/dfunc.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/dfunc.sgml,v 1.28 2004/11/15 06:32:13 neilc Exp $ +$PostgreSQL: pgsql/doc/src/sgml/dfunc.sgml,v 1.29 2005/01/22 22:56:35 momjian Exp $ --> <sect2 id="dfunc"> @@ -307,7 +307,7 @@ cc <other flags> -c foo.c You must then create a symbol \*(lqexports\*(rq file for the object file: .nf -mkldexport foo.o `pwd` > foo.exp +mkldexport foo.o `pwd` > foo.exp .fi Finally, you can create the shared library: .nf diff --git a/doc/src/sgml/dml.sgml b/doc/src/sgml/dml.sgml index 53eeea49aa6..91e7e137f18 100644 --- a/doc/src/sgml/dml.sgml +++ b/doc/src/sgml/dml.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/dml.sgml,v 1.9 2004/12/23 05:37:39 tgl Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/dml.sgml,v 1.10 2005/01/22 22:56:35 momjian Exp $ --> <chapter id="dml"> <title>Data Manipulation</title> @@ -191,7 +191,7 @@ UPDATE products SET price = price * 1.10; <literal>UPDATE</literal> command by listing more than one assignment in the <literal>SET</literal> clause. For example: <programlisting> -UPDATE mytable SET a = 5, b = 3, c = 1 WHERE a > 0; +UPDATE mytable SET a = 5, b = 3, c = 1 WHERE a > 0; </programlisting> </para> </sect1> diff --git a/doc/src/sgml/ecpg.sgml b/doc/src/sgml/ecpg.sgml index 173c4f9c735..965cd75d3a6 100644 --- a/doc/src/sgml/ecpg.sgml +++ b/doc/src/sgml/ecpg.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/ecpg.sgml,v 1.62 2005/01/08 22:13:25 tgl Exp $ +$PostgreSQL: pgsql/doc/src/sgml/ecpg.sgml,v 1.63 2005/01/22 22:56:35 momjian Exp $ --> <chapter id="ecpg"> @@ -627,7 +627,7 @@ EXEC SQL EXECUTE mystmt USING 42, 'foobar'; <literal>INTO</literal> clause: <programlisting> EXEC SQL BEGIN DECLARE SECTION; -const char *stmt = "SELECT a, b, c FROM test1 WHERE a > ?"; +const char *stmt = "SELECT a, b, c FROM test1 WHERE a > ?"; int v1, v2; VARCHAR v3; EXEC SQL END DECLARE SECTION; diff --git a/doc/src/sgml/func.sgml b/doc/src/sgml/func.sgml index c01fad599a8..2917cf1a445 100644 --- a/doc/src/sgml/func.sgml +++ b/doc/src/sgml/func.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.234 2005/01/09 20:08:50 tgl Exp $ +$PostgreSQL: pgsql/doc/src/sgml/func.sgml,v 1.235 2005/01/22 22:56:35 momjian Exp $ PostgreSQL documentation --> @@ -5890,7 +5890,7 @@ SELECT TIMESTAMP 'now'; <row> <entry> <literal>>^</literal> </entry> <entry>Is above?</entry> - <entry><literal>circle '((0,5),1)' >^ circle '((0,0),1)'</literal></entry> + <entry><literal>circle '((0,5),1)' >^ circle '((0,0),1)'</literal></entry> </row> <row> <entry> <literal>?#</literal> </entry> diff --git a/doc/src/sgml/geqo.sgml b/doc/src/sgml/geqo.sgml index 5822199860d..cb7d2f38d13 100644 --- a/doc/src/sgml/geqo.sgml +++ b/doc/src/sgml/geqo.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/geqo.sgml,v 1.27 2005/01/05 23:42:03 tgl Exp $ +$PostgreSQL: pgsql/doc/src/sgml/geqo.sgml,v 1.28 2005/01/22 22:56:36 momjian Exp $ Genetic Optimizer --> @@ -147,7 +147,7 @@ Genetic Optimizer <literallayout class="monospaced"> +=========================================+ -|>>>>>>>>>>> Algorithm GA <<<<<<<<<<<<<<| +|>>>>>>>>>>> Algorithm GA <<<<<<<<<<<<<<| +=========================================+ | INITIALIZE t := 0 | +=========================================+ diff --git a/doc/src/sgml/indices.sgml b/doc/src/sgml/indices.sgml index 85cabecf055..41f87d60f66 100644 --- a/doc/src/sgml/indices.sgml +++ b/doc/src/sgml/indices.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/indices.sgml,v 1.49 2005/01/08 22:13:25 tgl Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/indices.sgml,v 1.50 2005/01/22 22:56:36 momjian Exp $ --> <chapter id="indexes"> <title id="indexes-title">Indexes</title> @@ -563,7 +563,7 @@ CREATE TABLE access_log ( such as this: <programlisting> CREATE INDEX access_log_client_ip_ix ON access_log (client_ip) - WHERE NOT (client_ip > inet '192.168.100.0' AND client_ip < inet '192.168.100.255'); + WHERE NOT (client_ip > inet '192.168.100.0' AND client_ip < inet '192.168.100.255'); </programlisting> </para> @@ -617,12 +617,12 @@ CREATE INDEX orders_unbilled_index ON orders (order_nr) <para> A possible query to use this index would be <programlisting> -SELECT * FROM orders WHERE billed is not true AND order_nr < 10000; +SELECT * FROM orders WHERE billed is not true AND order_nr < 10000; </programlisting> However, the index can also be used in queries that do not involve <structfield>order_nr</> at all, e.g., <programlisting> -SELECT * FROM orders WHERE billed is not true AND amount > 5000.00; +SELECT * FROM orders WHERE billed is not true AND amount > 5000.00; </programlisting> This is not as efficient as a partial index on the <structfield>amount</> column would be, since the system has to diff --git a/doc/src/sgml/plpgsql.sgml b/doc/src/sgml/plpgsql.sgml index 3a283bce5e4..64a0af6cffa 100644 --- a/doc/src/sgml/plpgsql.sgml +++ b/doc/src/sgml/plpgsql.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/plpgsql.sgml,v 1.57 2005/01/15 03:38:44 tgl Exp $ +$PostgreSQL: pgsql/doc/src/sgml/plpgsql.sgml,v 1.58 2005/01/22 22:56:36 momjian Exp $ --> <chapter id="plpgsql"> @@ -1570,7 +1570,7 @@ END IF; </programlisting> <programlisting> -IF v_count > 0 THEN +IF v_count > 0 THEN INSERT INTO users_count (count) VALUES (v_count); RETURN 't'; ELSE @@ -3233,7 +3233,7 @@ BEGIN SELECT count(*) INTO a_running_job_count FROM cs_jobs WHERE end_stamp IS NULL; - IF a_running_job_count > 0 THEN + IF a_running_job_count > 0 THEN COMMIT; -- free lock<co id="co.plpgsql-porting-commit"> raise_application_error(-20000, 'Unable to create a new job: a job is currently running.'); END IF; @@ -3299,7 +3299,7 @@ BEGIN SELECT count(*) INTO a_running_job_count FROM cs_jobs WHERE end_stamp IS NULL; - IF a_running_job_count > 0 THEN + IF a_running_job_count > 0 THEN RAISE EXCEPTION 'Unable to create a new job: a job is currently running';<co id="co.plpgsql-porting-raise"> END IF; @@ -3464,7 +3464,7 @@ DECLARE length integer; ss_length integer; BEGIN - IF beg_index > 0 THEN + IF beg_index > 0 THEN temp_str := substring(string FROM beg_index); pos := position(string_to_search IN temp_str); @@ -3478,11 +3478,11 @@ BEGIN length := char_length(string); beg := length + beg_index - ss_length + 2; - WHILE beg > 0 LOOP + WHILE beg > 0 LOOP temp_str := substring(string FROM beg FOR ss_length); pos := position(string_to_search IN temp_str); - IF pos > 0 THEN + IF pos > 0 THEN RETURN beg; END IF; @@ -3507,7 +3507,7 @@ DECLARE length integer; ss_length integer; BEGIN - IF beg_index > 0 THEN + IF beg_index > 0 THEN beg := beg_index; temp_str := substring(string FROM beg_index); @@ -3533,11 +3533,11 @@ BEGIN length := char_length(string); beg := length + beg_index - ss_length + 2; - WHILE beg > 0 LOOP + WHILE beg > 0 LOOP temp_str := substring(string FROM beg FOR ss_length); pos := position(string_to_search IN temp_str); - IF pos > 0 THEN + IF pos > 0 THEN occur_number := occur_number + 1; IF occur_number = occur_index THEN diff --git a/doc/src/sgml/pltcl.sgml b/doc/src/sgml/pltcl.sgml index 0ba4d228590..1d22035fa9b 100644 --- a/doc/src/sgml/pltcl.sgml +++ b/doc/src/sgml/pltcl.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/pltcl.sgml,v 2.33 2004/12/30 21:45:37 tgl Exp $ +$PostgreSQL: pgsql/doc/src/sgml/pltcl.sgml,v 2.34 2005/01/22 22:56:36 momjian Exp $ --> <chapter id="pltcl"> @@ -102,7 +102,7 @@ $$ LANGUAGE pltcl; <programlisting> CREATE FUNCTION tcl_max(integer, integer) RETURNS integer AS $$ - if {$1 > $2} {return $1} + if {$1 > $2} {return $1} return $2 $$ LANGUAGE pltcl STRICT; </programlisting> @@ -129,7 +129,7 @@ CREATE FUNCTION tcl_max(integer, integer) RETURNS integer AS $$ return $2 } if {[argisnull 2]} { return $1 } - if {$1 > $2} {return $1} + if {$1 > $2} {return $1} return $2 $$ LANGUAGE pltcl; </programlisting> @@ -156,10 +156,10 @@ CREATE TABLE employee ( ); CREATE FUNCTION overpaid(employee) RETURNS boolean AS $$ - if {200000.0 < $1(salary)} { + if {200000.0 < $1(salary)} { return "t" } - if {$1(age) < 30 && 100000.0 < $1(salary)} { + if {$1(age) < 30 && 100000.0 < $1(salary)} { return "t" } return "f" diff --git a/doc/src/sgml/queries.sgml b/doc/src/sgml/queries.sgml index d2011f44574..93323463faf 100644 --- a/doc/src/sgml/queries.sgml +++ b/doc/src/sgml/queries.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/queries.sgml,v 1.32 2004/12/23 05:37:40 tgl Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/queries.sgml,v 1.33 2005/01/22 22:56:36 momjian Exp $ --> <chapter id="queries"> <title>Queries</title> @@ -374,7 +374,7 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r </programlisting> then we get the following results for the various joins: <screen> -<prompt>=></> <userinput>SELECT * FROM t1 CROSS JOIN t2;</> +<prompt>=></> <userinput>SELECT * FROM t1 CROSS JOIN t2;</> num | name | num | value -----+------+-----+------- 1 | a | 1 | xxx @@ -388,28 +388,28 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r 3 | c | 5 | zzz (9 rows) -<prompt>=></> <userinput>SELECT * FROM t1 INNER JOIN t2 ON t1.num = t2.num;</> +<prompt>=></> <userinput>SELECT * FROM t1 INNER JOIN t2 ON t1.num = t2.num;</> num | name | num | value -----+------+-----+------- 1 | a | 1 | xxx 3 | c | 3 | yyy (2 rows) -<prompt>=></> <userinput>SELECT * FROM t1 INNER JOIN t2 USING (num);</> +<prompt>=></> <userinput>SELECT * FROM t1 INNER JOIN t2 USING (num);</> num | name | value -----+------+------- 1 | a | xxx 3 | c | yyy (2 rows) -<prompt>=></> <userinput>SELECT * FROM t1 NATURAL INNER JOIN t2;</> +<prompt>=></> <userinput>SELECT * FROM t1 NATURAL INNER JOIN t2;</> num | name | value -----+------+------- 1 | a | xxx 3 | c | yyy (2 rows) -<prompt>=></> <userinput>SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num;</> +<prompt>=></> <userinput>SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num;</> num | name | num | value -----+------+-----+------- 1 | a | 1 | xxx @@ -417,7 +417,7 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r 3 | c | 3 | yyy (3 rows) -<prompt>=></> <userinput>SELECT * FROM t1 LEFT JOIN t2 USING (num);</> +<prompt>=></> <userinput>SELECT * FROM t1 LEFT JOIN t2 USING (num);</> num | name | value -----+------+------- 1 | a | xxx @@ -425,7 +425,7 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r 3 | c | yyy (3 rows) -<prompt>=></> <userinput>SELECT * FROM t1 RIGHT JOIN t2 ON t1.num = t2.num;</> +<prompt>=></> <userinput>SELECT * FROM t1 RIGHT JOIN t2 ON t1.num = t2.num;</> num | name | num | value -----+------+-----+------- 1 | a | 1 | xxx @@ -433,7 +433,7 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r | | 5 | zzz (3 rows) -<prompt>=></> <userinput>SELECT * FROM t1 FULL JOIN t2 ON t1.num = t2.num;</> +<prompt>=></> <userinput>SELECT * FROM t1 FULL JOIN t2 ON t1.num = t2.num;</> num | name | num | value -----+------+-----+------- 1 | a | 1 | xxx @@ -450,7 +450,7 @@ FROM <replaceable>table_reference</replaceable> <optional>, <replaceable>table_r prove useful for some queries but needs to be thought out carefully. For example: <screen> -<prompt>=></> <userinput>SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num AND t2.value = 'xxx';</> +<prompt>=></> <userinput>SELECT * FROM t1 LEFT JOIN t2 ON t1.num = t2.num AND t2.value = 'xxx';</> num | name | num | value -----+------+-----+------- 1 | a | 1 | xxx @@ -508,7 +508,7 @@ SELECT * FROM some_very_long_table_name s JOIN another_fairly_long_name a ON s.i current query — it is no longer possible to refer to the table by the original name. Thus <programlisting> -SELECT * FROM my_table AS m WHERE my_table.a > 5; +SELECT * FROM my_table AS m WHERE my_table.a > 5; </programlisting> is not valid SQL syntax. What will actually happen (this is a <productname>PostgreSQL</productname> extension to the standard) @@ -516,7 +516,7 @@ SELECT * FROM my_table AS m WHERE my_table.a > 5; <literal>FROM</literal> clause, so the query is processed as if it were written as <programlisting> -SELECT * FROM my_table AS m, my_table AS my_table WHERE my_table.a > 5; +SELECT * FROM my_table AS m, my_table AS my_table WHERE my_table.a > 5; </programlisting> which will result in a cross join, which is usually not what you want. @@ -732,7 +732,7 @@ FROM a NATURAL JOIN b WHERE b.val > 5 <para> Here are some examples of <literal>WHERE</literal> clauses: <programlisting> -SELECT ... FROM fdt WHERE c1 > 5 +SELECT ... FROM fdt WHERE c1 > 5 SELECT ... FROM fdt WHERE c1 IN (1, 2, 3) @@ -742,7 +742,7 @@ SELECT ... FROM fdt WHERE c1 IN (SELECT c3 FROM t2 WHERE c2 = fdt.c1 + 10) SELECT ... FROM fdt WHERE c1 BETWEEN (SELECT c3 FROM t2 WHERE c2 = fdt.c1 + 10) AND 100 -SELECT ... FROM fdt WHERE EXISTS (SELECT c1 FROM t2 WHERE c2 > fdt.c1) +SELECT ... FROM fdt WHERE EXISTS (SELECT c1 FROM t2 WHERE c2 > fdt.c1) </programlisting> <literal>fdt</literal> is the table derived in the <literal>FROM</> clause. Rows that do not meet the search @@ -795,7 +795,7 @@ SELECT <replaceable>select_list</replaceable> eliminate redundancy in the output and/or compute aggregates that apply to these groups. For instance: <screen> -<prompt>=></> <userinput>SELECT * FROM test1;</> +<prompt>=></> <userinput>SELECT * FROM test1;</> x | y ---+--- a | 3 @@ -804,7 +804,7 @@ SELECT <replaceable>select_list</replaceable> a | 1 (4 rows) -<prompt>=></> <userinput>SELECT x FROM test1 GROUP BY x;</> +<prompt>=></> <userinput>SELECT x FROM test1 GROUP BY x;</> x --- a @@ -827,7 +827,7 @@ SELECT <replaceable>select_list</replaceable> used in the grouping cannot be referenced except in aggregate expressions. An example with aggregate expressions is: <screen> -<prompt>=></> <userinput>SELECT x, sum(y) FROM test1 GROUP BY x;</> +<prompt>=></> <userinput>SELECT x, sum(y) FROM test1 GROUP BY x;</> x | sum ---+----- a | 4 @@ -901,14 +901,14 @@ SELECT <replaceable>select_list</replaceable> FROM ... <optional>WHERE ...</opti <para> Example: <screen> -<prompt>=></> <userinput>SELECT x, sum(y) FROM test1 GROUP BY x HAVING sum(y) > 3;</> +<prompt>=></> <userinput>SELECT x, sum(y) FROM test1 GROUP BY x HAVING sum(y) > 3;</> x | sum ---+----- a | 4 b | 5 (2 rows) -<prompt>=></> <userinput>SELECT x, sum(y) FROM test1 GROUP BY x HAVING x < 'c';</> +<prompt>=></> <userinput>SELECT x, sum(y) FROM test1 GROUP BY x HAVING x < 'c';</> x | sum ---+----- a | 4 @@ -922,9 +922,9 @@ SELECT <replaceable>select_list</replaceable> FROM ... <optional>WHERE ...</opti <programlisting> SELECT product_id, p.name, (sum(s.units) * (p.price - p.cost)) AS profit FROM products p LEFT JOIN sales s USING (product_id) - WHERE s.date > CURRENT_DATE - INTERVAL '4 weeks' + WHERE s.date > CURRENT_DATE - INTERVAL '4 weeks' GROUP BY product_id, p.name, p.price, p.cost - HAVING sum(p.price * s.units) > 5000; + HAVING sum(p.price * s.units) > 5000; </programlisting> In the example above, the <literal>WHERE</> clause is selecting rows by a column that is not grouped (the expression is only true for diff --git a/doc/src/sgml/query.sgml b/doc/src/sgml/query.sgml index 7478b4251f1..366820e5546 100644 --- a/doc/src/sgml/query.sgml +++ b/doc/src/sgml/query.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/query.sgml,v 1.42 2005/01/08 01:44:08 tgl Exp $ +$PostgreSQL: pgsql/doc/src/sgml/query.sgml,v 1.43 2005/01/22 22:56:36 momjian Exp $ --> <chapter id="tutorial-sql"> @@ -605,8 +605,8 @@ SELECT * SELECT W1.city, W1.temp_lo AS low, W1.temp_hi AS high, W2.city, W2.temp_lo AS low, W2.temp_hi AS high FROM weather W1, weather W2 - WHERE W1.temp_lo < W2.temp_lo - AND W1.temp_hi > W2.temp_hi; + WHERE W1.temp_lo < W2.temp_lo + AND W1.temp_hi > W2.temp_hi; city | low | high | city | low | high ---------------+-----+------+---------------+-----+------ @@ -737,7 +737,7 @@ SELECT city, max(temp_lo) SELECT city, max(temp_lo) FROM weather GROUP BY city - HAVING max(temp_lo) < 40; + HAVING max(temp_lo) < 40; </programlisting> <screen> @@ -757,7 +757,7 @@ SELECT city, max(temp_lo) FROM weather WHERE city LIKE 'S%'<co id="co.tutorial-agg-like"> GROUP BY city - HAVING max(temp_lo) < 40; + HAVING max(temp_lo) < 40; </programlisting> <calloutlist> <callout arearefs="co.tutorial-agg-like"> @@ -814,7 +814,7 @@ SELECT city, max(temp_lo) <programlisting> UPDATE weather SET temp_hi = temp_hi - 2, temp_lo = temp_lo - 2 - WHERE date > '1994-11-28'; + WHERE date > '1994-11-28'; </programlisting> </para> diff --git a/doc/src/sgml/release.sgml b/doc/src/sgml/release.sgml index 847a4d39413..96f260c5a49 100644 --- a/doc/src/sgml/release.sgml +++ b/doc/src/sgml/release.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.322 2005/01/22 22:06:17 momjian Exp $ +$PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.323 2005/01/22 22:56:36 momjian Exp $ --> <appendix id="release"> @@ -945,7 +945,7 @@ $PostgreSQL: pgsql/doc/src/sgml/release.sgml,v 1.322 2005/01/22 22:06:17 momjian </para> <para> Fixes improper failure of cases such as <literal>SELECT SUM(win)/SUM(lose) - ... GROUP BY ... HAVING SUM(lose) > 0</>. This should work but formerly + ... GROUP BY ... HAVING SUM(lose) > 0</>. This should work but formerly could fail with divide-by-zero. </para> </listitem> @@ -2776,7 +2776,7 @@ DROP SCHEMA information_schema CASCADE; <listitem><para>Force zero_damaged_pages to be on during recovery from WAL</para></listitem> <listitem><para>Prevent some obscure cases of <quote>variable not in subplan target lists</quote></para></listitem> <listitem><para>Make <function>PQescapeBytea</function> and <function>byteaout</function> consistent with each other (Joe)</para></listitem> -<listitem><para>Escape <type>bytea</type> output for bytes > 0x7e(Joe)</para> +<listitem><para>Escape <type>bytea</type> output for bytes > 0x7e(Joe)</para> <para> If different client encodings are used for <type>bytea</type> output and input, it is possible for <type>bytea</type> values to be corrupted by the differing @@ -4609,7 +4609,7 @@ DROP SCHEMA information_schema CASCADE; <listitem><para>Allow libpq to compile with Borland C++ compiler (Lester Godwin, Karl Waclawek)</para></listitem> <listitem><para>Use our own version of <function>getopt_long()</function> if needed (Peter)</para></listitem> <listitem><para>Convert administration scripts to C (Peter)</para></listitem> - <listitem><para> Bison >= 1.85 is now required to build the <productname>PostgreSQL</> grammar, if building from CVS</para></listitem> + <listitem><para> Bison >= 1.85 is now required to build the <productname>PostgreSQL</> grammar, if building from CVS</para></listitem> <listitem><para>Merge documentation into one book (Peter)</para></listitem> <listitem><para>Add Windows compatibility functions (Bruce)</para></listitem> <listitem><para>Allow client interfaces to compile under MinGW (Bruce)</para></listitem> @@ -5450,7 +5450,7 @@ operations on bytea columns (Joe)</para></listitem> <listitem><para>Make cursors insensitive, meaning their contents do not change (Tom)</para></listitem> <listitem><para>Disable LIMIT #,# syntax; now only LIMIT # OFFSET # supported (Bruce)</para></listitem> <listitem><para>Increase identifier length to 63 (Neil, Bruce)</para></listitem> -<listitem><para>UNION fixes for merging >= 3 columns of different lengths (Tom)</para></listitem> +<listitem><para>UNION fixes for merging >= 3 columns of different lengths (Tom)</para></listitem> <listitem><para>Add DEFAULT key word to INSERT, e.g., INSERT ... (..., DEFAULT, ...) (Rod)</para></listitem> <listitem><para>Allow views to have default values using ALTER COLUMN ... SET DEFAULT (Neil)</para></listitem> <listitem><para>Fail on INSERTs with column lists that don't supply all column values, e.g., INSERT INTO tab (col1, col2) VALUES ('val1'); (Rod)</para></listitem> @@ -5533,7 +5533,7 @@ operations on bytea columns (Joe)</para></listitem> <listitem><para>New pg_settings table to view/modify GUC settings (Joe)</para></listitem> <listitem><para>Add smart quoting, portability improvements to <application>pg_dump</> output (Peter)</para></listitem> <listitem><para>Dump serial columns out as SERIAL (Tom)</para></listitem> -<listitem><para>Enable large file support, >2G for <application>pg_dump</> (Peter, Philip Warner, Bruce)</para></listitem> +<listitem><para>Enable large file support, >2G for <application>pg_dump</> (Peter, Philip Warner, Bruce)</para></listitem> <listitem><para>Disallow TRUNCATE on tables that are involved in referential constraints (Rod)</para></listitem> <listitem><para>Have TRUNCATE also auto-truncate the toast table of the relation (Tom)</para></listitem> <listitem><para>Add clusterdb utility that will auto-cluster an entire database based on previous CLUSTER operations (Alvaro Herrera)</para></listitem> @@ -5597,7 +5597,7 @@ operations on bytea columns (Joe)</para></listitem> <listitem><para>Add additional encodings: Korean (JOHAB), Thai (WIN874), Vietnamese (TCVN), Arabic (WIN1256), Simplified Chinese (GBK), Korean (UHC) (Eiji Tokuya)</para></listitem> <listitem><para>Enable locale support by default (Peter)</para></listitem> <listitem><para>Add locale variables (Peter)</para></listitem> -<listitem><para>Escape byes >= 0x7f for multibyte in PQescapeBytea/PQunescapeBytea (Tatsuo)</para></listitem> +<listitem><para>Escape byes >= 0x7f for multibyte in PQescapeBytea/PQunescapeBytea (Tatsuo)</para></listitem> <listitem><para>Add locale awareness to regular expression character classes</para></listitem> <listitem><para>Enable multibyte support by default (Tatsuo)</para></listitem> <listitem><para>Add GB18030 multibyte support (Bill Huang)</para></listitem> @@ -5967,7 +5967,7 @@ since <productname>PostgreSQL</productname> 7.1. <itemizedlist> <listitem><para>Allow EXECUTE of "CREATE TABLE AS ... SELECT" in PL/pgSQL (Tom)</para></listitem> <listitem><para>Fix for compressed transaction log id wraparound (Tom)</para></listitem> -<listitem><para>Fix PQescapeBytea/PQunescapeBytea so that they handle bytes > 0x7f (Tatsuo)</para></listitem> +<listitem><para>Fix PQescapeBytea/PQunescapeBytea so that they handle bytes > 0x7f (Tatsuo)</para></listitem> <listitem><para>Fix for psql and <application>pg_dump</> crashing when invoked with non-existent long options (Tatsuo)</para></listitem> <listitem><para>Fix crash when invoking geometric operators (Tom)</para></listitem> <listitem><para>Allow OPEN cursor(args) (Tom)</para></listitem> @@ -7386,7 +7386,7 @@ Fix mismatched types in CREATE TABLE ... DEFAULT Fix SELECT * FROM pg_class where oid in (0,-1) Fix SELECT COUNT('asdf') FROM pg_class WHERE oid=12 Prevent user who can create databases can modifying pg_database table (Peter E) -Fix btree to give a useful elog when key > 1/2 (page - overhead) (Tom) +Fix btree to give a useful elog when key > 1/2 (page - overhead) (Tom) Fix INSERT of 0.0 into DECIMAL(4,4) field (Tom) Enhancements @@ -7595,7 +7595,7 @@ Fewer fsync writes when fsync is not disabled (Tom) Improved LIKE optimizer estimates (Tom) Prevent fsync in SELECT-only queries (Vadim) Make index creation use psort code, because it is now faster (Tom) -Allow creation of sort temp tables > 1 Gig +Allow creation of sort temp tables > 1 Gig Source Tree Changes ------------------- @@ -9225,7 +9225,7 @@ Check explicitly for points and polygons contained within polygons using an axis-crossing algorithm(Thomas) Add routine to convert circle-box(Thomas) Merge conflicting operators for different geometric data types(Thomas) -Replace distance operator "<===>" with "<->"(Thomas) +Replace distance operator "<===>" with "<->"(Thomas) Replace "above" operator "!^" with ">^" and "below" operator "!|" with "<^"(Thomas) Add routines for text trimming on both ends, substring, and string position(Thomas) Added conversion routines circle(box) and poly(circle)(Thomas) diff --git a/doc/src/sgml/rowtypes.sgml b/doc/src/sgml/rowtypes.sgml index 2cc935db173..e2bfab2b8d8 100644 --- a/doc/src/sgml/rowtypes.sgml +++ b/doc/src/sgml/rowtypes.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/rowtypes.sgml,v 2.4 2004/12/23 05:37:40 tgl Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/rowtypes.sgml,v 2.5 2005/01/22 22:56:36 momjian Exp $ --> <sect1 id="rowtypes"> <title>Composite Types</title> @@ -75,7 +75,7 @@ SELECT price_extension(item, 10) FROM on_hand; CREATE TABLE inventory_item ( name text, supplier_id integer REFERENCES suppliers, - price numeric CHECK (price > 0) + price numeric CHECK (price > 0) ); </programlisting> then the same <literal>inventory_item</> composite type shown above would @@ -165,21 +165,21 @@ ROW('', 42, NULL) like: <programlisting> -SELECT item.name FROM on_hand WHERE item.price > 9.99; +SELECT item.name FROM on_hand WHERE item.price > 9.99; </programlisting> This will not work since the name <literal>item</> is taken to be a table name, not a field name, per SQL syntax rules. You must write it like this: <programlisting> -SELECT (item).name FROM on_hand WHERE (item).price > 9.99; +SELECT (item).name FROM on_hand WHERE (item).price > 9.99; </programlisting> or if you need to use the table name as well (for instance in a multi-table query), like this: <programlisting> -SELECT (on_hand.item).name FROM on_hand WHERE (on_hand.item).price > 9.99; +SELECT (on_hand.item).name FROM on_hand WHERE (on_hand.item).price > 9.99; </programlisting> Now the parenthesized object is correctly interpreted as a reference to diff --git a/doc/src/sgml/rules.sgml b/doc/src/sgml/rules.sgml index c04ce33841c..513b5f28d6f 100644 --- a/doc/src/sgml/rules.sgml +++ b/doc/src/sgml/rules.sgml @@ -1,4 +1,4 @@ -<!-- $PostgreSQL: pgsql/doc/src/sgml/rules.sgml,v 1.38 2005/01/22 22:06:27 momjian Exp $ --> +<!-- $PostgreSQL: pgsql/doc/src/sgml/rules.sgml,v 1.39 2005/01/22 22:56:36 momjian Exp $ --> <Chapter Id="rules"> <Title>The Rule System</Title> @@ -344,7 +344,7 @@ returns the lower of 2 integer values. We create that as <ProgramListing> CREATE FUNCTION min(integer, integer) RETURNS integer AS $$ - SELECT CASE WHEN $1 < $2 THEN $1 ELSE $2 END + SELECT CASE WHEN $1 < $2 THEN $1 ELSE $2 END $$ LANGUAGE SQL STRICT; </ProgramListing> </Para> @@ -414,8 +414,8 @@ CREATE VIEW shoe_ready AS min(rsh.sh_avail, rsl.sl_avail) AS total_avail FROM shoe rsh, shoelace rsl WHERE rsl.sl_color = rsh.slcolor - AND rsl.sl_len_cm >= rsh.slminlen_cm - AND rsl.sl_len_cm <= rsh.slmaxlen_cm; + AND rsl.sl_len_cm >= rsh.slminlen_cm + AND rsl.sl_len_cm <= rsh.slmaxlen_cm; </ProgramListing> The <command>CREATE VIEW</command> command for the @@ -558,7 +558,7 @@ SELECT shoelace.sl_name, shoelace.sl_avail, total number of exactly matching pairs is greater or equal to two. <ProgramListing> -SELECT * FROM shoe_ready WHERE total_avail >= 2; +SELECT * FROM shoe_ready WHERE total_avail >= 2; shoename | sh_avail | sl_name | sl_avail | total_avail ----------+----------+---------+----------+------------- @@ -576,7 +576,7 @@ SELECT shoe_ready.shoename, shoe_ready.sh_avail, shoe_ready.sl_name, shoe_ready.sl_avail, shoe_ready.total_avail FROM shoe_ready shoe_ready - WHERE shoe_ready.total_avail >= 2; + WHERE shoe_ready.total_avail >= 2; </ProgramListing> The first rule applied will be the one for the @@ -594,9 +594,9 @@ SELECT shoe_ready.shoename, shoe_ready.sh_avail, min(rsh.sh_avail, rsl.sl_avail) AS total_avail FROM shoe rsh, shoelace rsl WHERE rsl.sl_color = rsh.slcolor - AND rsl.sl_len_cm >= rsh.slminlen_cm - AND rsl.sl_len_cm <= rsh.slmaxlen_cm) shoe_ready - WHERE shoe_ready.total_avail >= 2; + AND rsl.sl_len_cm >= rsh.slminlen_cm + AND rsl.sl_len_cm <= rsh.slmaxlen_cm) shoe_ready + WHERE shoe_ready.total_avail >= 2; </ProgramListing> Similarly, the rules for <literal>shoe</literal> and @@ -631,9 +631,9 @@ SELECT shoe_ready.shoename, shoe_ready.sh_avail, FROM shoelace_data s, unit u WHERE s.sl_unit = u.un_name) rsl WHERE rsl.sl_color = rsh.slcolor - AND rsl.sl_len_cm >= rsh.slminlen_cm - AND rsl.sl_len_cm <= rsh.slmaxlen_cm) shoe_ready - WHERE shoe_ready.total_avail > 2; + AND rsl.sl_len_cm >= rsh.slminlen_cm + AND rsl.sl_len_cm <= rsh.slmaxlen_cm) shoe_ready + WHERE shoe_ready.total_avail > 2; </ProgramListing> </para> @@ -1958,14 +1958,14 @@ Nestloop is <ProgramListing> -DELETE FROM computer WHERE hostname >= 'old' - AND hostname < 'ole' +DELETE FROM computer WHERE hostname >= 'old' + AND hostname < 'ole' </ProgramListing> The command added by the rule will be <ProgramListing> -DELETE FROM software WHERE computer.hostname >= 'old' AND computer.hostname < 'ole' +DELETE FROM software WHERE computer.hostname >= 'old' AND computer.hostname < 'ole' AND software.hostname = computer.hostname; </ProgramListing> diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index 49148f16c29..3e3ce6e8667 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.301 2005/01/08 22:13:35 tgl Exp $ +$PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.302 2005/01/22 22:56:36 momjian Exp $ --> <Chapter Id="runtime"> @@ -4420,8 +4420,8 @@ options SEMMAP=256 <filename>proc</filename> file system (without reboot). For example, to allow 128 MB: <screen> -<prompt>$</prompt> <userinput>echo 134217728 >/proc/sys/kernel/shmall</userinput> -<prompt>$</prompt> <userinput>echo 134217728 >/proc/sys/kernel/shmmax</userinput> +<prompt>$</prompt> <userinput>echo 134217728 >/proc/sys/kernel/shmall</userinput> +<prompt>$</prompt> <userinput>echo 134217728 >/proc/sys/kernel/shmmax</userinput> </screen> You could put these commands into a script run at boot-time. </para> diff --git a/doc/src/sgml/spi.sgml b/doc/src/sgml/spi.sgml index 1994f7230cd..86949a9a439 100644 --- a/doc/src/sgml/spi.sgml +++ b/doc/src/sgml/spi.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/spi.sgml,v 1.38 2005/01/22 22:06:27 momjian Exp $ +$PostgreSQL: pgsql/doc/src/sgml/spi.sgml,v 1.39 2005/01/22 22:56:36 momjian Exp $ --> <chapter id="spi"> @@ -2929,18 +2929,18 @@ execq(text *sql, int cnt) * If this is a SELECT and some rows were fetched, * then the rows are printed via elog(INFO). */ - if (ret == SPI_OK_SELECT && SPI_processed > 0) + if (ret == SPI_OK_SELECT && SPI_processed > 0) { TupleDesc tupdesc = SPI_tuptable->tupdesc; SPITupleTable *tuptable = SPI_tuptable; char buf[8192]; int i, j; - for (j = 0; j < proc; j++) + for (j = 0; j < proc; j++) { HeapTuple tuple = tuptable->vals[j]; - for (i = 1, buf[0] = 0; i <= tupdesc->natts; i++) + for (i = 1, buf[0] = 0; i <= tupdesc->natts; i++) snprintf(buf + strlen (buf), sizeof(buf) - strlen(buf), " %s%s", SPI_getvalue(tuple, tupdesc, i), (i == tupdesc->natts) ? " " : " |"); @@ -2976,15 +2976,15 @@ CREATE FUNCTION execq(text, integer) RETURNS integer Here is a sample session: <programlisting> -=> SELECT execq('CREATE TABLE a (x integer)', 0); +=> SELECT execq('CREATE TABLE a (x integer)', 0); execq ------- 0 (1 row) -=> INSERT INTO a VALUES (execq('INSERT INTO a VALUES (0)', 0)); +=> INSERT INTO a VALUES (execq('INSERT INTO a VALUES (0)', 0)); INSERT 167631 1 -=> SELECT execq('SELECT * FROM a', 0); +=> SELECT execq('SELECT * FROM a', 0); INFO: EXECQ: 0 -- inserted by execq INFO: EXECQ: 1 -- returned by execq and inserted by upper INSERT @@ -2993,13 +2993,13 @@ INFO: EXECQ: 1 -- returned by execq and inserted by upper INSERT 2 (1 row) -=> SELECT execq('INSERT INTO a SELECT x + 2 FROM a', 1); +=> SELECT execq('INSERT INTO a SELECT x + 2 FROM a', 1); execq ------- 1 (1 row) -=> SELECT execq('SELECT * FROM a', 10); +=> SELECT execq('SELECT * FROM a', 10); INFO: EXECQ: 0 INFO: EXECQ: 1 INFO: EXECQ: 2 -- 0 + 2, only one row inserted - as specified @@ -3009,20 +3009,20 @@ INFO: EXECQ: 2 -- 0 + 2, only one row inserted - as specified 3 -- 10 is the max value only, 3 is the real number of rows (1 row) -=> DELETE FROM a; +=> DELETE FROM a; DELETE 3 -=> INSERT INTO a VALUES (execq('SELECT * FROM a', 0) + 1); +=> INSERT INTO a VALUES (execq('SELECT * FROM a', 0) + 1); INSERT 167712 1 -=> SELECT * FROM a; +=> SELECT * FROM a; x --- 1 -- no rows in a (0) + 1 (1 row) -=> INSERT INTO a VALUES (execq('SELECT * FROM a', 0) + 1); +=> INSERT INTO a VALUES (execq('SELECT * FROM a', 0) + 1); INFO: EXECQ: 0 INSERT 167713 1 -=> SELECT * FROM a; +=> SELECT * FROM a; x --- 1 @@ -3031,14 +3031,14 @@ INSERT 167713 1 -- This demonstrates the data changes visibility rule: -=> INSERT INTO a SELECT execq('SELECT * FROM a', 0) * x FROM a; +=> INSERT INTO a SELECT execq('SELECT * FROM a', 0) * x FROM a; INFO: EXECQ: 1 INFO: EXECQ: 2 INFO: EXECQ: 1 INFO: EXECQ: 2 INFO: EXECQ: 2 INSERT 0 2 -=> SELECT * FROM a; +=> SELECT * FROM a; x --- 1 diff --git a/doc/src/sgml/sql.sgml b/doc/src/sgml/sql.sgml index 47b47e79757..b85820c8b10 100644 --- a/doc/src/sgml/sql.sgml +++ b/doc/src/sgml/sql.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/sql.sgml,v 1.33 2004/11/15 06:32:14 neilc Exp $ +$PostgreSQL: pgsql/doc/src/sgml/sql.sgml,v 1.34 2005/01/22 22:56:36 momjian Exp $ --> <chapter id="sql-intro"> @@ -891,7 +891,7 @@ SELECT [ ALL | DISTINCT [ ON ( <replaceable class="PARAMETER">expression</replac <programlisting> SELECT * FROM PART - WHERE PRICE > 10; + WHERE PRICE > 10; </programlisting> and get the table: @@ -913,7 +913,7 @@ SELECT * FROM PART <programlisting> SELECT PNAME, PRICE FROM PART - WHERE PRICE > 10; + WHERE PRICE > 10; </programlisting> In this case the result is: @@ -939,7 +939,7 @@ SELECT PNAME, PRICE SELECT PNAME, PRICE FROM PART WHERE PNAME = 'Bolt' AND - (PRICE = 0 OR PRICE <= 15); + (PRICE = 0 OR PRICE <= 15); </programlisting> will lead to the result: @@ -959,7 +959,7 @@ SELECT PNAME, PRICE <programlisting> SELECT PNAME, PRICE * 2 AS DOUBLE FROM PART - WHERE PRICE * 2 < 50; + WHERE PRICE * 2 < 50; </programlisting> and we get: @@ -1450,7 +1450,7 @@ SELECT S.SNO, S.SNAME, COUNT(SE.PNO) FROM SUPPLIER S, SELLS SE WHERE S.SNO = SE.SNO GROUP BY S.SNO, S.SNAME - HAVING COUNT(SE.PNO) > 1; + HAVING COUNT(SE.PNO) > 1; </programlisting> and get: @@ -1487,7 +1487,7 @@ SELECT S.SNO, S.SNAME, COUNT(SE.PNO) <programlisting> SELECT * FROM PART - WHERE PRICE > (SELECT PRICE FROM PART + WHERE PRICE > (SELECT PRICE FROM PART WHERE PNAME='Screw'); </programlisting> </para> @@ -1617,11 +1617,11 @@ gives the result: <programlisting> SELECT S.SNO, S.SNAME, S.CITY FROM SUPPLIER S - WHERE S.SNO > 1 + WHERE S.SNO > 1 INTERSECT SELECT S.SNO, S.SNAME, S.CITY FROM SUPPLIER S - WHERE S.SNO < 3; + WHERE S.SNO < 3; </programlisting> gives the result: @@ -1641,11 +1641,11 @@ INTERSECT <programlisting> SELECT S.SNO, S.SNAME, S.CITY FROM SUPPLIER S - WHERE S.SNO > 1 + WHERE S.SNO > 1 EXCEPT SELECT S.SNO, S.SNAME, S.CITY FROM SUPPLIER S - WHERE S.SNO > 3; + WHERE S.SNO > 3; </programlisting> gives the result: diff --git a/doc/src/sgml/trigger.sgml b/doc/src/sgml/trigger.sgml index 0708e0b2499..5960ff93ad5 100644 --- a/doc/src/sgml/trigger.sgml +++ b/doc/src/sgml/trigger.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/trigger.sgml,v 1.40 2005/01/22 22:06:27 momjian Exp $ +$PostgreSQL: pgsql/doc/src/sgml/trigger.sgml,v 1.41 2005/01/22 22:56:36 momjian Exp $ --> <chapter id="triggers"> @@ -572,13 +572,13 @@ trigf(PG_FUNCTION_ARGS) tupdesc = trigdata->tg_relation->rd_att; /* connect to SPI manager */ - if ((ret = SPI_connect()) < 0) + if ((ret = SPI_connect()) < 0) elog(INFO, "trigf (fired %s): SPI_connect returned %d", when, ret); /* get number of rows in table */ ret = SPI_exec("SELECT count(*) FROM ttest", 0); - if (ret < 0) + if (ret < 0) elog(NOTICE, "trigf (fired %s): SPI_exec returned %d", when, ret); /* count(*) returns int8, so be careful to convert */ @@ -622,57 +622,57 @@ CREATE TRIGGER tafter AFTER INSERT OR UPDATE OR DELETE ON ttest <para> Now you can test the operation of the trigger: <screen> -=> INSERT INTO ttest VALUES (NULL); +=> INSERT INTO ttest VALUES (NULL); INFO: trigf (fired before): there are 0 rows in ttest INSERT 0 0 -- Insertion skipped and AFTER trigger is not fired -=> SELECT * FROM ttest; +=> SELECT * FROM ttest; x --- (0 rows) -=> INSERT INTO ttest VALUES (1); +=> INSERT INTO ttest VALUES (1); INFO: trigf (fired before): there are 0 rows in ttest INFO: trigf (fired after ): there are 1 rows in ttest ^^^^^^^^ remember what we said about visibility. INSERT 167793 1 -vac=> SELECT * FROM ttest; +vac=> SELECT * FROM ttest; x --- 1 (1 row) -=> INSERT INTO ttest SELECT x * 2 FROM ttest; +=> INSERT INTO ttest SELECT x * 2 FROM ttest; INFO: trigf (fired before): there are 1 rows in ttest INFO: trigf (fired after ): there are 2 rows in ttest ^^^^^^ remember what we said about visibility. INSERT 167794 1 -=> SELECT * FROM ttest; +=> SELECT * FROM ttest; x --- 1 2 (2 rows) -=> UPDATE ttest SET x = NULL WHERE x = 2; +=> UPDATE ttest SET x = NULL WHERE x = 2; INFO: trigf (fired before): there are 2 rows in ttest UPDATE 0 -=> UPDATE ttest SET x = 4 WHERE x = 2; +=> UPDATE ttest SET x = 4 WHERE x = 2; INFO: trigf (fired before): there are 2 rows in ttest INFO: trigf (fired after ): there are 2 rows in ttest UPDATE 1 -vac=> SELECT * FROM ttest; +vac=> SELECT * FROM ttest; x --- 1 4 (2 rows) -=> DELETE FROM ttest; +=> DELETE FROM ttest; INFO: trigf (fired before): there are 2 rows in ttest INFO: trigf (fired after ): there are 1 rows in ttest INFO: trigf (fired before): there are 1 rows in ttest @@ -680,7 +680,7 @@ INFO: trigf (fired after ): there are 0 rows in ttest ^^^^^^ remember what we said about visibility. DELETE 2 -=> SELECT * FROM ttest; +=> SELECT * FROM ttest; x --- (0 rows) diff --git a/doc/src/sgml/xaggr.sgml b/doc/src/sgml/xaggr.sgml index 8cb09320038..d9c41714dff 100644 --- a/doc/src/sgml/xaggr.sgml +++ b/doc/src/sgml/xaggr.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/xaggr.sgml,v 1.25 2004/11/15 06:32:14 neilc Exp $ +$PostgreSQL: pgsql/doc/src/sgml/xaggr.sgml,v 1.26 2005/01/22 22:56:36 momjian Exp $ --> <sect1 id="xaggr"> @@ -141,7 +141,7 @@ CREATE AGGREGATE array_accum ( <programlisting> SELECT attrelid::regclass, array_accum(attname) FROM pg_attribute - WHERE attnum > 0 AND attrelid = 'pg_user'::regclass + WHERE attnum > 0 AND attrelid = 'pg_user'::regclass GROUP BY attrelid; attrelid | array_accum @@ -151,7 +151,7 @@ SELECT attrelid::regclass, array_accum(attname) SELECT attrelid::regclass, array_accum(atttypid) FROM pg_attribute - WHERE attnum > 0 AND attrelid = 'pg_user'::regclass + WHERE attnum > 0 AND attrelid = 'pg_user'::regclass GROUP BY attrelid; attrelid | array_accum diff --git a/doc/src/sgml/xfunc.sgml b/doc/src/sgml/xfunc.sgml index cc03bb9af44..821b5353c43 100644 --- a/doc/src/sgml/xfunc.sgml +++ b/doc/src/sgml/xfunc.sgml @@ -1,5 +1,5 @@ <!-- -$PostgreSQL: pgsql/doc/src/sgml/xfunc.sgml,v 1.97 2005/01/22 22:06:27 momjian Exp $ +$PostgreSQL: pgsql/doc/src/sgml/xfunc.sgml,v 1.98 2005/01/22 22:56:36 momjian Exp $ --> <sect1 id="xfunc"> @@ -678,7 +678,7 @@ ERROR: could not determine "anyarray"/"anyelement" type because input has type return type, but the converse is not. For example: <screen> CREATE FUNCTION is_greater(anyelement, anyelement) RETURNS boolean AS $$ - SELECT $1 > $2; + SELECT $1 > $2; $$ LANGUAGE SQL; SELECT is_greater(1, 2); -- GitLab