Reformat code examples in plpgsql docs for better readability in PDF output
authorAlvaro Herrera
Tue, 27 Apr 2010 14:32:40 +0000 (14:32 +0000)
committerAlvaro Herrera
Tue, 27 Apr 2010 14:32:40 +0000 (14:32 +0000)
Erik Rijkers

doc/src/sgml/plpgsql.sgml

index e0ecd1f3aa2192b56cf91d8c9dfb4c7c0c1b985d..25b86398275022a004ed640f61de14f011c2e26d 100644 (file)
@@ -1,4 +1,4 @@
-
+
 
 
   <application>PL/pgSQL</application> - <acronym>SQL</acronym> Procedural Language
@@ -481,9 +481,11 @@ $$ LANGUAGE plpgsql;
       is with RETURNS TABLE, for example:
 
 
-CREATE FUNCTION extended_sales(p_itemno int) RETURNS TABLE(quantity int, total numeric) AS $$
+CREATE FUNCTION extended_sales(p_itemno int)
+RETURNS TABLE(quantity int, total numeric) AS $$
 BEGIN
-    RETURN QUERY SELECT quantity, quantity * price FROM sales WHERE itemno = p_itemno;
+    RETURN QUERY SELECT quantity, quantity * price FROM sales
+                 WHERE itemno = p_itemno;
 END;
 $$ LANGUAGE plpgsql;
 
@@ -2154,9 +2156,12 @@ BEGIN
 
         -- Now "mviews" has one record from cs_materialized_views
 
-        PERFORM cs_log('Refreshing materialized view ' || quote_ident(mviews.mv_name) || ' ...');
+        PERFORM cs_log('Refreshing materialized view '
+                   || quote_ident(mviews.mv_name) || ' ...');
         EXECUTE 'TRUNCATE TABLE ' || quote_ident(mviews.mv_name);
-        EXECUTE 'INSERT INTO ' || quote_ident(mviews.mv_name) || ' ' || mviews.mv_query;
+        EXECUTE 'INSERT INTO '
+                   || quote_ident(mviews.mv_name) || ' ' 
+                   || mviews.mv_query;
     END LOOP;
 
     PERFORM cs_log('Done refreshing materialized views.');
@@ -2495,7 +2500,8 @@ OPEN curs1 FOR SELECT * FROM foo WHERE key = mykey;
      <command>OPEN FOR EXECUTE</command>
 
 
-OPEN unbound_cursorvar   NO  SCROLL  FOR EXECUTE query_string  USING expression , ...  ;
+OPEN unbound_cursorvar   NO  SCROLL  FOR EXECUTE query_string
+                                      USING expression , ...  ;
 
 
          
@@ -2517,7 +2523,8 @@ OPEN unbound_cursorvar   NO 
        
         An example:
 
-OPEN curs1 FOR EXECUTE 'SELECT * FROM ' || quote_ident(tabname) ' WHERE col1 = $1' USING keyvalue;
+OPEN curs1 FOR EXECUTE 'SELECT * FROM ' || quote_ident(tabname) 
+                                        || ' WHERE col1 = $1' USING keyvalue;
 
         In this example, the table name is inserted into the query textually,
         so use of quote_ident() is recommended to guard against
@@ -2810,6 +2817,7 @@ BEGIN
 END;
 ' LANGUAGE plpgsql;
 
+-- need to be in a transaction to use cursors.
 BEGIN;
 SELECT reffunc2();
 
@@ -2966,7 +2974,8 @@ RAISE NOTICE 'Calling cs_create_job(%)', v_job_id;
     This example will abort the transaction with the given error message
     and hint:
 
-RAISE EXCEPTION 'Nonexistent ID --> %', user_id USING HINT = 'Please check your user id';
+RAISE EXCEPTION 'Nonexistent ID --> %', user_id
+      USING HINT = 'Please check your user id';
 
    
 
@@ -3394,7 +3403,8 @@ CREATE UNIQUE INDEX sales_summary_bytime_key ON sales_summary_bytime(time_key);
 --
 -- Function and trigger to amend summarized column(s) on UPDATE, INSERT, DELETE.
 --
-CREATE OR REPLACE FUNCTION maint_sales_summary_bytime() RETURNS TRIGGER AS $maint_sales_summary_bytime$
+CREATE OR REPLACE FUNCTION maint_sales_summary_bytime() RETURNS TRIGGER
+AS $maint_sales_summary_bytime$
     DECLARE
         delta_time_key          integer;
         delta_amount_sold       numeric(15,2);
@@ -3416,7 +3426,8 @@ CREATE OR REPLACE FUNCTION maint_sales_summary_bytime() RETURNS TRIGGER AS $main
             -- (probably not too onerous, as DELETE + INSERT is how most
             -- changes will be made).
             IF ( OLD.time_key != NEW.time_key) THEN
-                RAISE EXCEPTION 'Update of time_key : % -> % not allowed', OLD.time_key, NEW.time_key;
+                RAISE EXCEPTION 'Update of time_key : % -> % not allowed',
+                                                      OLD.time_key, NEW.time_key;
             END IF;
 
             delta_time_key = OLD.time_key;
@@ -3867,7 +3878,7 @@ $$ LANGUAGE plpgsql;
    
     Another good way to develop in PL/pgSQL is with a
     GUI database access tool that facilitates development in a
-    procedural language. One example of such as a tool is
+    procedural language. One example of such a tool is
     pgAdmin, although others exist. These tools often
     provide convenient features such as escaping single quotes and
     making it easier to recreate and debug functions.
@@ -4450,7 +4461,8 @@ BEGIN
 
     IF a_running_job_count > 0 THEN
         COMMIT; -- free lock
-        raise_application_error(-20000, 'Unable to create a new job: a job is currently running.');
+        raise_application_error(-20000,
+                 'Unable to create a new job: a job is currently running.');
     END IF;
 
     DELETE FROM cs_active_job;