mirror of
https://github.com/sosedoff/pgweb.git
synced 2024-12-14 19:21:46 +03:00
0dfec506cf
* Add postgres 10/11 to test matrix * Add docker-compose file fo running multiple postgres versions locally * Fix client test for pg 10, modify function details to include specific fields * Try to install latest postgres client * Add concurrency setting
1881 lines
42 KiB
PL/PgSQL
1881 lines
42 KiB
PL/PgSQL
--
|
||
-- Selected TOC Entries:
|
||
--
|
||
--
|
||
-- TOC Entry ID 1 (OID 0)
|
||
--
|
||
-- Name: booktown Type: DATABASE Owner: postgres
|
||
--
|
||
|
||
DROP DATABASE IF EXISTS "booktown";
|
||
CREATE DATABASE "booktown";
|
||
|
||
-- \connect booktown postgres
|
||
--
|
||
-- TOC Entry ID 2 (OID 2991542)
|
||
--
|
||
-- Name: DATABASE "booktown" Type: COMMENT Owner:
|
||
--
|
||
|
||
CREATE TABLE "dummies" (
|
||
"id" integer NOT NULL,
|
||
"isDummy" boolean
|
||
);
|
||
|
||
INSERT INTO "dummies" VALUES (1, true);
|
||
INSERT INTO "dummies" VALUES (2, true);
|
||
|
||
|
||
COMMENT ON DATABASE "booktown" IS 'The Book Town Database.';
|
||
|
||
--
|
||
-- TOC Entry ID 33 (OID 3629264)
|
||
--
|
||
-- Name: books Type: TABLE Owner: manager
|
||
--
|
||
|
||
CREATE TABLE "books" (
|
||
"id" integer NOT NULL,
|
||
"title" text NOT NULL,
|
||
"author_id" integer,
|
||
"subject_id" integer,
|
||
Constraint "books_id_pkey" Primary Key ("id")
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 47 (OID 2991733)
|
||
--
|
||
-- Name: "plpgsql_call_handler" () Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "plpgsql_call_handler" () RETURNS opaque AS '/usr/local/pgsql/lib/plpgsql.so', 'plpgsql_call_handler' LANGUAGE 'C';
|
||
|
||
--
|
||
-- TOC Entry ID 48 (OID 2991734)
|
||
--
|
||
-- Name: plpgsql Type: PROCEDURAL LANGUAGE Owner:
|
||
--
|
||
|
||
CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql' HANDLER "plpgsql_call_handler" LANCOMPILER 'PL/pgSQL';
|
||
|
||
--
|
||
-- TOC Entry ID 51 (OID 2991735)
|
||
--
|
||
-- Name: "audit_bk" (integer) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "audit_bk" (integer) RETURNS integer AS '
|
||
DECLARE
|
||
key ALIAS FOR $1;
|
||
table_data inventory%ROWTYPE;
|
||
BEGIN
|
||
INSERT INTO inventory_audit SELECT table_data WHERE sort_key=key;
|
||
|
||
IF NOT FOUND THEN
|
||
RAISE EXCEPTION ''View'' || key || '' not found '';
|
||
END IF;
|
||
|
||
return 1;
|
||
end;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 52 (OID 2991736)
|
||
--
|
||
-- Name: "audit" (integer) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "audit" (integer) RETURNS integer AS '
|
||
DECLARE
|
||
key ALIAS FOR $1;
|
||
table_data inventory%ROWTYPE;
|
||
BEGIN
|
||
INSERT INTO inventory_audit SELECT table_data WHERE sort_key=key;
|
||
|
||
IF NOT FOUND THEN
|
||
RAISE EXCEPTION ''View'' || key || '' not found '';
|
||
END IF;
|
||
|
||
return 1;
|
||
end;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 53 (OID 2991737)
|
||
--
|
||
-- Name: "auditbk" () Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "auditbk" () RETURNS integer AS '
|
||
DECLARE
|
||
key ALIAS FOR $1;
|
||
table_data inventory%ROWTYPE;
|
||
BEGIN
|
||
INSERT INTO inventory_audit SELECT table_data WHERE sort_key=key;
|
||
|
||
IF NOT FOUND THEN
|
||
RAISE EXCEPTION ''View'' || key || '' not found '';
|
||
END IF;
|
||
|
||
return 1;
|
||
end;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 54 (OID 2991738)
|
||
--
|
||
-- Name: "audit_bk1" () Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "audit_bk1" () RETURNS opaque AS '
|
||
DECLARE
|
||
key ALIAS FOR $1;
|
||
table_data inventory%ROWTYPE;
|
||
BEGIN
|
||
INSERT INTO inventory_audit SELECT table_data WHERE sort_key=key;
|
||
|
||
IF NOT FOUND THEN
|
||
RAISE EXCEPTION ''View'' || key || '' not found '';
|
||
END IF;
|
||
|
||
return 1;
|
||
end;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 73 (OID 2991835)
|
||
--
|
||
-- Name: "test_check_a_id" () Type: FUNCTION Owner: example
|
||
--
|
||
|
||
CREATE FUNCTION "test_check_a_id" () RETURNS opaque AS '
|
||
BEGIN
|
||
-- checks to make sure the author id
|
||
-- inserted is not left blank or less than 100
|
||
|
||
IF NEW.a_id ISNULL THEN
|
||
RAISE EXCEPTION
|
||
''The author id cannot be left blank!'';
|
||
ELSE
|
||
IF NEW.a_id < 100 THEN
|
||
RAISE EXCEPTION
|
||
''Please insert a valid author id.'';
|
||
ELSE
|
||
RETURN NEW;
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 66 (OID 2992619)
|
||
--
|
||
-- Name: "audit_test" () Type: FUNCTION Owner: example
|
||
--
|
||
|
||
CREATE FUNCTION "audit_test" () RETURNS opaque AS '
|
||
BEGIN
|
||
|
||
IF TG_OP = ''INSERT'' OR TG_OP = ''UPDATE'' THEN
|
||
|
||
NEW.user_aud := current_user;
|
||
NEW.mod_time := ''NOW'';
|
||
|
||
INSERT INTO inventory_audit SELECT * FROM inventory WHERE prod_id=NEW.prod_id;
|
||
|
||
RETURN NEW;
|
||
|
||
ELSE if TG_OP = ''DELETE'' THEN
|
||
INSERT INTO inventory_audit SELECT *, current_user, ''NOW'' FROM inventory WHERE prod_id=OLD.prod_id;
|
||
|
||
RETURN OLD;
|
||
END IF;
|
||
END IF;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 67 (OID 3000878)
|
||
--
|
||
-- Name: "first" () Type: FUNCTION Owner: example
|
||
--
|
||
|
||
CREATE FUNCTION "first" () RETURNS integer AS '
|
||
DecLarE
|
||
oNe IntEgER := 1;
|
||
bEGiN
|
||
ReTUrn oNE;
|
||
eNd;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 68 (OID 3000881)
|
||
--
|
||
-- Name: "test" (integer) Type: FUNCTION Owner: example
|
||
--
|
||
|
||
CREATE FUNCTION "test" (integer) RETURNS integer AS '
|
||
|
||
DECLARE
|
||
-- defines the variable as ALIAS
|
||
variable ALIAS FOR $1;
|
||
BEGIN
|
||
-- displays the variable after multiplying it by two
|
||
return variable * 2.0;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 69 (OID 3000991)
|
||
--
|
||
-- Name: "you_me" (integer) Type: FUNCTION Owner: example
|
||
--
|
||
|
||
CREATE FUNCTION "you_me" (integer) RETURNS integer AS '
|
||
DECLARE
|
||
RENAME $1 TO user_no;
|
||
--you INTEGER := 5;
|
||
BEGIN
|
||
return user_no;
|
||
END;' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 62 (OID 3001136)
|
||
--
|
||
-- Name: "count_by_two" (integer) Type: FUNCTION Owner: example
|
||
--
|
||
|
||
CREATE FUNCTION "count_by_two" (integer) RETURNS integer AS '
|
||
DECLARE
|
||
userNum ALIAS FOR $1;
|
||
i integer;
|
||
BEGIN
|
||
i := 1;
|
||
WHILE userNum[1] < 20 LOOP
|
||
i = i+1;
|
||
return userNum;
|
||
END LOOP;
|
||
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 63 (OID 3001139)
|
||
--
|
||
-- Name: "me" () Type: FUNCTION Owner: example
|
||
--
|
||
|
||
CREATE FUNCTION "me" () RETURNS text AS '
|
||
DECLARE
|
||
you text := ''testing'';
|
||
RENAME you to me;
|
||
BEGIN
|
||
return me;
|
||
END;' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 64 (OID 3001149)
|
||
--
|
||
-- Name: "display_cust" (integer) Type: FUNCTION Owner: example
|
||
--
|
||
|
||
CREATE FUNCTION "display_cust" (integer) RETURNS text AS '
|
||
DECLARE
|
||
-- declares an alias name for input
|
||
cust_num ALIAS FOR $1;
|
||
|
||
-- declares a row type
|
||
cust_info customer%ROWTYPE;
|
||
BEGIN
|
||
-- puts information into the newly declared rowtype
|
||
SELECT into cust_info *
|
||
FROM customer
|
||
WHERE cust_id=cust_num;
|
||
|
||
-- displays the customer lastname
|
||
-- extracted from the rowtype
|
||
return cust_info.lastname;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 65 (OID 3001151)
|
||
--
|
||
-- Name: "mixed" () Type: FUNCTION Owner: example
|
||
--
|
||
|
||
CREATE FUNCTION "mixed" () RETURNS integer AS '
|
||
DecLarE
|
||
--assigns 1 to the oNe variable
|
||
oNe IntEgER
|
||
:= 1;
|
||
|
||
bEGiN
|
||
|
||
--displays the value of oNe
|
||
ReTUrn oNe;
|
||
eNd;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 12 (OID 3117548)
|
||
--
|
||
-- Name: publishers Type: TABLE Owner: postgres
|
||
--
|
||
|
||
CREATE TABLE "publishers" (
|
||
"id" integer NOT NULL,
|
||
"name" text,
|
||
"address" text,
|
||
Constraint "publishers_pkey" Primary Key ("id")
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 55 (OID 3117729)
|
||
--
|
||
-- Name: "compound_word" (text,text) Type: FUNCTION Owner: example
|
||
--
|
||
|
||
CREATE FUNCTION "compound_word" (text,text) RETURNS text AS '
|
||
DECLARE
|
||
-- defines an alias name for the two input values
|
||
word1 ALIAS FOR $1;
|
||
word2 ALIAS FOR $2;
|
||
BEGIN
|
||
-- displays the resulting joined words
|
||
RETURN word1 || word2;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 56 (OID 3117787)
|
||
--
|
||
-- Name: "givename" () Type: FUNCTION Owner: example
|
||
--
|
||
|
||
CREATE FUNCTION "givename" () RETURNS opaque AS '
|
||
DECLARE
|
||
tablename text;
|
||
BEGIN
|
||
|
||
tablename = TG_RELNAME;
|
||
INSERT INTO INVENTORY values (123, tablename);
|
||
return old;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 14 (OID 3389594)
|
||
--
|
||
-- Name: authors Type: TABLE Owner: manager
|
||
--
|
||
|
||
CREATE TABLE "authors" (
|
||
"id" integer NOT NULL,
|
||
"last_name" text,
|
||
"first_name" text,
|
||
Constraint "authors_pkey" Primary Key ("id")
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 15 (OID 3389632)
|
||
--
|
||
-- Name: states Type: TABLE Owner: postgres
|
||
--
|
||
|
||
CREATE TABLE "states" (
|
||
"id" integer NOT NULL,
|
||
"name" text,
|
||
"abbreviation" character(2),
|
||
Constraint "state_pkey" Primary Key ("id")
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 16 (OID 3389702)
|
||
--
|
||
-- Name: my_list Type: TABLE Owner: postgres
|
||
--
|
||
|
||
CREATE TABLE "my_list" (
|
||
"todos" text
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 17 (OID 3390348)
|
||
--
|
||
-- Name: stock Type: TABLE Owner: postgres
|
||
--
|
||
|
||
CREATE TABLE "stock" (
|
||
"isbn" text NOT NULL,
|
||
"cost" numeric(5,2),
|
||
"retail" numeric(5,2),
|
||
"stock" integer,
|
||
Constraint "stock_pkey" Primary Key ("isbn")
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 4 (OID 3390416)
|
||
--
|
||
-- Name: subject_ids Type: SEQUENCE Owner: postgres
|
||
--
|
||
|
||
CREATE SEQUENCE "subject_ids" start 0 increment 1 maxvalue 2147483647 minvalue 0 cache 1 ;
|
||
|
||
--
|
||
-- TOC Entry ID 19 (OID 3390653)
|
||
--
|
||
-- Name: numeric_values Type: TABLE Owner: postgres
|
||
--
|
||
|
||
CREATE TABLE "numeric_values" (
|
||
"num" numeric(30,6)
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 20 (OID 3390866)
|
||
--
|
||
-- Name: daily_inventory Type: TABLE Owner: postgres
|
||
--
|
||
|
||
CREATE TABLE "daily_inventory" (
|
||
"isbn" text,
|
||
"is_stocked" boolean
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 21 (OID 3391084)
|
||
--
|
||
-- Name: money_example Type: TABLE Owner: postgres
|
||
--
|
||
|
||
CREATE TABLE "money_example" (
|
||
"money_cash" money,
|
||
"numeric_cash" numeric(6,2)
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 22 (OID 3391184)
|
||
--
|
||
-- Name: shipments Type: TABLE Owner: postgres
|
||
--
|
||
|
||
CREATE TABLE "shipments" (
|
||
"id" integer DEFAULT nextval('"shipments_ship_id_seq"'::text) NOT NULL,
|
||
"customer_id" integer,
|
||
"isbn" text,
|
||
"ship_date" timestamp with time zone
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 24 (OID 3391454)
|
||
--
|
||
-- Name: customers Type: TABLE Owner: manager
|
||
--
|
||
|
||
CREATE TABLE "customers" (
|
||
"id" integer NOT NULL,
|
||
"last_name" text,
|
||
"first_name" text,
|
||
Constraint "customers_pkey" Primary Key ("id")
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 6 (OID 3574018)
|
||
--
|
||
-- Name: book_ids Type: SEQUENCE Owner: postgres
|
||
--
|
||
|
||
CREATE SEQUENCE "book_ids" start 0 increment 1 maxvalue 2147483647 minvalue 0 cache 1 ;
|
||
|
||
--
|
||
-- TOC Entry ID 26 (OID 3574043)
|
||
--
|
||
-- Name: book_queue Type: TABLE Owner: postgres
|
||
--
|
||
|
||
CREATE TABLE "book_queue" (
|
||
"title" text NOT NULL,
|
||
"author_id" integer,
|
||
"subject_id" integer,
|
||
"approved" boolean
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 78 (OID 3574403)
|
||
--
|
||
-- Name: "title" (integer) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "title" (integer) RETURNS text AS 'SELECT title from books where id = $1' LANGUAGE 'sql';
|
||
|
||
--
|
||
-- TOC Entry ID 27 (OID 3574983)
|
||
--
|
||
-- Name: stock_backup Type: TABLE Owner: postgres
|
||
--
|
||
|
||
CREATE TABLE "stock_backup" (
|
||
"isbn" text,
|
||
"cost" numeric(5,2),
|
||
"retail" numeric(5,2),
|
||
"stock" integer
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 89 (OID 3625934)
|
||
--
|
||
-- Name: "double_price" (double precision) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "double_price" (double precision) RETURNS double precision AS '
|
||
DECLARE
|
||
BEGIN
|
||
return $1 * 2;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 90 (OID 3625935)
|
||
--
|
||
-- Name: "triple_price" (double precision) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "triple_price" (double precision) RETURNS double precision AS '
|
||
DECLARE
|
||
-- Declare input_price as an alias for the
|
||
-- argument variable normally referenced with
|
||
-- the $1 identifier.
|
||
input_price ALIAS FOR $1;
|
||
|
||
BEGIN
|
||
-- Return the input price multiplied by three.
|
||
RETURN input_price * 3;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 87 (OID 3625944)
|
||
--
|
||
-- Name: "stock_amount" (integer,integer) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "stock_amount" (integer,integer) RETURNS integer AS '
|
||
DECLARE
|
||
-- Declare aliases for function arguments.
|
||
b_id ALIAS FOR $1;
|
||
b_edition ALIAS FOR $2;
|
||
-- Declare variable to store the ISBN number.
|
||
b_isbn TEXT;
|
||
-- Declare variable to store the stock amount.
|
||
stock_amount INTEGER;
|
||
BEGIN
|
||
-- This SELECT INTO statement retrieves the ISBN
|
||
-- number of the row in the editions table that had
|
||
-- both the book ID number and edition number that
|
||
-- were provided as function arguments.
|
||
SELECT INTO b_isbn isbn FROM editions WHERE
|
||
book_id = b_id AND edition = b_edition;
|
||
|
||
-- Check to see if the ISBN number retrieved
|
||
-- is NULL. This will happen if there is not an
|
||
-- existing book with both the ID number and edition
|
||
-- number specified in the function arguments.
|
||
-- If the ISBN is null, the function returns a
|
||
-- value of -1 and ends.
|
||
IF b_isbn IS NULL THEN
|
||
RETURN -1;
|
||
END IF;
|
||
|
||
-- Retrieve the amount of books available from the
|
||
-- stock table and record the number in the
|
||
-- stock_amount variable.
|
||
SELECT INTO stock_amount stock FROM stock WHERE isbn = b_isbn;
|
||
|
||
-- Return the amount of books available.
|
||
RETURN stock_amount;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 86 (OID 3625946)
|
||
--
|
||
-- Name: "in_stock" (integer,integer) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "in_stock" (integer,integer) RETURNS boolean AS '
|
||
DECLARE
|
||
b_id ALIAS FOR $1;
|
||
b_edition ALIAS FOR $2;
|
||
b_isbn TEXT;
|
||
stock_amount INTEGER;
|
||
BEGIN
|
||
-- This SELECT INTO statement retrieves the ISBN
|
||
-- number of the row in the editions table that had
|
||
-- both the book ID number and edition number that
|
||
-- were provided as function arguments.
|
||
SELECT INTO b_isbn isbn FROM editions WHERE
|
||
book_id = b_id AND edition = b_edition;
|
||
|
||
-- Check to see if the ISBN number retrieved
|
||
-- is NULL. This will happen if there is not an
|
||
-- existing book with both the ID number and edition
|
||
-- number specified in the function arguments.
|
||
-- If the ISBN is null, the function returns a
|
||
-- FALSE value and ends.
|
||
IF b_isbn IS NULL THEN
|
||
RETURN FALSE;
|
||
END IF;
|
||
|
||
-- Retrieve the amount of books available from the
|
||
-- stock table and record the number in the
|
||
-- stock_amount variable.
|
||
SELECT INTO stock_amount stock FROM stock WHERE isbn = b_isbn;
|
||
|
||
-- Use an IF/THEN/ELSE check to see if the amount
|
||
-- of books available is less than, or equal to 0.
|
||
-- If so, return FALSE. If not, return TRUE.
|
||
IF stock_amount <= 0 THEN
|
||
RETURN FALSE;
|
||
ELSE
|
||
RETURN TRUE;
|
||
END IF;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 82 (OID 3626013)
|
||
--
|
||
-- Name: "extract_all_titles" () Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "extract_all_titles" () RETURNS text AS '
|
||
DECLARE
|
||
sub_id INTEGER;
|
||
text_output TEXT = '' '';
|
||
sub_title TEXT;
|
||
row_data books%ROWTYPE;
|
||
BEGIN
|
||
FOR i IN 0..15 LOOP
|
||
SELECT INTO sub_title subject FROM subjects WHERE id = i;
|
||
text_output = text_output || ''
|
||
'' || sub_title || '':
|
||
'';
|
||
|
||
FOR row_data IN SELECT * FROM books
|
||
WHERE subject_id = i LOOP
|
||
|
||
IF NOT FOUND THEN
|
||
text_output := text_output || ''None.
|
||
'';
|
||
ELSE
|
||
text_output := text_output || row_data.title || ''
|
||
'';
|
||
END IF;
|
||
|
||
END LOOP;
|
||
END LOOP;
|
||
RETURN text_output;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 79 (OID 3626052)
|
||
--
|
||
-- Name: "books_by_subject" (text) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "books_by_subject" (text) RETURNS text AS '
|
||
DECLARE
|
||
sub_title ALIAS FOR $1;
|
||
sub_id INTEGER;
|
||
found_text TEXT :='''';
|
||
BEGIN
|
||
SELECT INTO sub_id id FROM subjects WHERE subject = sub_title;
|
||
RAISE NOTICE ''sub_id = %'',sub_id;
|
||
IF sub_title = ''all'' THEN
|
||
found_text := extract_all_titles();
|
||
RETURN found_text;
|
||
ELSE IF sub_id >= 0 THEN
|
||
found_text := extract_title(sub_id);
|
||
RETURN ''
|
||
'' || sub_title || '':
|
||
'' || found_text;
|
||
END IF;
|
||
END IF;
|
||
RETURN ''Subject not found.'';
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 81 (OID 3626590)
|
||
--
|
||
-- Name: "add_two_loop" (integer,integer) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "add_two_loop" (integer,integer) RETURNS integer AS '
|
||
DECLARE
|
||
|
||
-- Declare aliases for function arguments.
|
||
|
||
low_number ALIAS FOR $1;
|
||
high_number ALIAS FOR $2;
|
||
|
||
-- Declare a variable to hold the result.
|
||
|
||
result INTEGER = 0;
|
||
|
||
BEGIN
|
||
|
||
WHILE result != high_number LOOP
|
||
result := result + 1;
|
||
END LOOP;
|
||
|
||
RETURN result;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 92 (OID 3627916)
|
||
--
|
||
-- Name: "extract_all_titles2" () Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "extract_all_titles2" () RETURNS text AS '
|
||
DECLARE
|
||
sub_id INTEGER;
|
||
text_output TEXT = '' '';
|
||
sub_title TEXT;
|
||
row_data books%ROWTYPE;
|
||
BEGIN
|
||
FOR i IN 0..15 LOOP
|
||
SELECT INTO sub_title subject FROM subjects WHERE id = i;
|
||
text_output = text_output || ''
|
||
'' || sub_title || '':
|
||
'';
|
||
|
||
FOR row_data IN SELECT * FROM books
|
||
WHERE subject_id = i LOOP
|
||
|
||
text_output := text_output || row_data.title || ''
|
||
'';
|
||
|
||
END LOOP;
|
||
END LOOP;
|
||
RETURN text_output;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 94 (OID 3627974)
|
||
--
|
||
-- Name: "extract_title" (integer) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "extract_title" (integer) RETURNS text AS '
|
||
DECLARE
|
||
sub_id ALIAS FOR $1;
|
||
text_output TEXT :=''
|
||
'';
|
||
row_data RECORD;
|
||
BEGIN
|
||
FOR row_data IN SELECT * FROM books
|
||
WHERE subject_id = sub_id ORDER BY title LOOP
|
||
text_output := text_output || row_data.title || ''
|
||
'';
|
||
END LOOP;
|
||
RETURN text_output;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 95 (OID 3628021)
|
||
--
|
||
-- Name: "raise_test" () Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "raise_test" () RETURNS integer AS '
|
||
DECLARE
|
||
|
||
-- Declare an integer variable for testing.
|
||
|
||
an_integer INTEGER = 1;
|
||
|
||
BEGIN
|
||
|
||
-- Raise a debug level message.
|
||
|
||
RAISE DEBUG ''The raise_test() function began.'';
|
||
|
||
an_integer = an_integer + 1;
|
||
|
||
-- Raise a notice stating that the an_integer
|
||
-- variable was changed, then raise another notice
|
||
-- stating its new value.
|
||
|
||
RAISE NOTICE ''Variable an_integer was changed.'';
|
||
RAISE NOTICE ''Variable an_integer value is now %.'',an_integer;
|
||
|
||
-- Raise an exception.
|
||
|
||
RAISE EXCEPTION ''Variable % changed. Aborting transaction.'',an_integer;
|
||
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 93 (OID 3628069)
|
||
--
|
||
-- Name: "add_shipment" (integer,text) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "add_shipment" (integer,text) RETURNS timestamp with time zone AS '
|
||
DECLARE
|
||
customer_id ALIAS FOR $1;
|
||
isbn ALIAS FOR $2;
|
||
shipment_id INTEGER;
|
||
right_now timestamp;
|
||
BEGIN
|
||
right_now := ''now'';
|
||
SELECT INTO shipment_id id FROM shipments ORDER BY id DESC;
|
||
shipment_id := shipment_id + 1;
|
||
INSERT INTO shipments VALUES ( shipment_id, customer_id, isbn, right_now );
|
||
RETURN right_now;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 102 (OID 3628076)
|
||
--
|
||
-- Name: "ship_item" (text,text,text) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "ship_item" (text,text,text) RETURNS integer AS '
|
||
DECLARE
|
||
l_name ALIAS FOR $1;
|
||
f_name ALIAS FOR $2;
|
||
book_isbn ALIAS FOR $3;
|
||
book_id INTEGER;
|
||
customer_id INTEGER;
|
||
|
||
BEGIN
|
||
|
||
SELECT INTO customer_id get_customer_id(l_name,f_name);
|
||
|
||
IF customer_id = -1 THEN
|
||
RETURN -1;
|
||
END IF;
|
||
|
||
SELECT INTO book_id book_id FROM editions WHERE isbn = book_isbn;
|
||
|
||
IF NOT FOUND THEN
|
||
RETURN -1;
|
||
END IF;
|
||
|
||
PERFORM add_shipment(customer_id,book_isbn);
|
||
|
||
RETURN 1;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 103 (OID 3628114)
|
||
--
|
||
-- Name: "check_book_addition" () Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "check_book_addition" () RETURNS opaque AS '
|
||
DECLARE
|
||
id_number INTEGER;
|
||
book_isbn TEXT;
|
||
BEGIN
|
||
|
||
SELECT INTO id_number id FROM customers WHERE id = NEW.customer_id;
|
||
|
||
IF NOT FOUND THEN
|
||
RAISE EXCEPTION ''Invalid customer ID number.'';
|
||
END IF;
|
||
|
||
SELECT INTO book_isbn isbn FROM editions WHERE isbn = NEW.isbn;
|
||
|
||
IF NOT FOUND THEN
|
||
RAISE EXCEPTION ''Invalid ISBN.'';
|
||
END IF;
|
||
|
||
UPDATE stock SET stock = stock -1 WHERE isbn = NEW.isbn;
|
||
|
||
RETURN NEW;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 28 (OID 3628246)
|
||
--
|
||
-- Name: stock_view Type: VIEW Owner: postgres
|
||
--
|
||
|
||
CREATE VIEW "stock_view" as SELECT stock.isbn, stock.retail, stock.stock FROM stock;
|
||
|
||
CREATE MATERIALIZED VIEW "m_stock_view" as SELECT stock.isbn, stock.retail, stock.stock FROM stock;
|
||
|
||
--
|
||
-- TOC Entry ID 30 (OID 3628247)
|
||
--
|
||
-- Name: favorite_books Type: TABLE Owner: manager
|
||
--
|
||
|
||
CREATE TABLE "favorite_books" (
|
||
"employee_id" integer,
|
||
"books" text[]
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 8 (OID 3628626)
|
||
--
|
||
-- Name: shipments_ship_id_seq Type: SEQUENCE Owner: manager
|
||
--
|
||
|
||
CREATE SEQUENCE "shipments_ship_id_seq" start 0 increment 1 maxvalue 2147483647 minvalue 0 cache 1 ;
|
||
|
||
--
|
||
-- TOC Entry ID 74 (OID 3628648)
|
||
--
|
||
-- Name: "check_shipment_addition" () Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "check_shipment_addition" () RETURNS opaque AS '
|
||
DECLARE
|
||
-- Declare a variable to hold the customer ID.
|
||
id_number INTEGER;
|
||
|
||
-- Declare a variable to hold the ISBN.
|
||
book_isbn TEXT;
|
||
BEGIN
|
||
|
||
-- If there is an ID number that matches the customer ID in
|
||
-- the new table, retrieve it from the customers table.
|
||
SELECT INTO id_number id FROM customers WHERE id = NEW.customer_id;
|
||
|
||
-- If there was no matching ID number, raise an exception.
|
||
IF NOT FOUND THEN
|
||
RAISE EXCEPTION ''Invalid customer ID number.'';
|
||
END IF;
|
||
|
||
-- If there is an ISBN that matches the ISBN specified in the
|
||
-- new table, retrieve it from the editions table.
|
||
SELECT INTO book_isbn isbn FROM editions WHERE isbn = NEW.isbn;
|
||
|
||
-- If there is no matching ISBN, raise an exception.
|
||
IF NOT FOUND THEN
|
||
RAISE EXCEPTION ''Invalid ISBN.'';
|
||
END IF;
|
||
|
||
-- If the previous checks succeeded, update the stock amount
|
||
-- for INSERT commands.
|
||
IF TG_OP = ''INSERT'' THEN
|
||
UPDATE stock SET stock = stock -1 WHERE isbn = NEW.isbn;
|
||
END IF;
|
||
|
||
RETURN NEW;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 31 (OID 3628899)
|
||
--
|
||
-- Name: employees Type: TABLE Owner: postgres
|
||
--
|
||
|
||
CREATE TABLE "employees" (
|
||
"id" integer NOT NULL,
|
||
"last_name" text NOT NULL,
|
||
"first_name" text,
|
||
CONSTRAINT "employees_id" CHECK ((id > 100)),
|
||
Constraint "employees_pkey" Primary Key ("id")
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 32 (OID 3629174)
|
||
--
|
||
-- Name: editions Type: TABLE Owner: manager
|
||
--
|
||
|
||
CREATE TABLE "editions" (
|
||
"isbn" text NOT NULL,
|
||
"book_id" integer,
|
||
"edition" integer,
|
||
"publisher_id" integer,
|
||
"publication" date,
|
||
"type" character(1),
|
||
CONSTRAINT "integrity" CHECK (((book_id NOTNULL) AND (edition NOTNULL))),
|
||
Constraint "pkey" Primary Key ("isbn")
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 10 (OID 3629402)
|
||
--
|
||
-- Name: author_ids Type: SEQUENCE Owner: manager
|
||
--
|
||
|
||
CREATE SEQUENCE "author_ids" start 0 increment 1 maxvalue 2147483647 minvalue 0 cache 1 ;
|
||
|
||
--
|
||
-- TOC Entry ID 35 (OID 3629424)
|
||
--
|
||
-- Name: distinguished_authors Type: TABLE Owner: manager
|
||
--
|
||
|
||
CREATE TABLE "distinguished_authors" (
|
||
"award" text
|
||
)
|
||
INHERITS ("authors");
|
||
|
||
--
|
||
-- TOC Entry ID 107 (OID 3726476)
|
||
--
|
||
-- Name: "isbn_to_title" (text) Type: FUNCTION Owner: manager
|
||
--
|
||
|
||
CREATE FUNCTION "isbn_to_title" (text) RETURNS text AS 'SELECT title FROM books
|
||
JOIN editions AS e (isbn, id)
|
||
USING (id)
|
||
WHERE isbn = $1' LANGUAGE 'sql';
|
||
|
||
--
|
||
-- TOC Entry ID 36 (OID 3727889)
|
||
--
|
||
-- Name: favorite_authors Type: TABLE Owner: manager
|
||
--
|
||
|
||
CREATE TABLE "favorite_authors" (
|
||
"employee_id" integer,
|
||
"authors_and_titles" text[]
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 99 (OID 3728728)
|
||
--
|
||
-- Name: "get_customer_name" (integer) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "get_customer_name" (integer) RETURNS text AS '
|
||
DECLARE
|
||
|
||
-- Declare aliases for user input.
|
||
customer_id ALIAS FOR $1;
|
||
|
||
-- Declare variables to hold the customer name.
|
||
customer_fname TEXT;
|
||
customer_lname TEXT;
|
||
|
||
BEGIN
|
||
|
||
-- Retrieve the customer first and last name for the customer whose
|
||
-- ID matches the value supplied as a function argument.
|
||
SELECT INTO customer_fname, customer_lname
|
||
first_name, last_name FROM customers
|
||
WHERE id = customer_id;
|
||
|
||
-- Return the name.
|
||
RETURN customer_fname || '' '' || customer_lname;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 100 (OID 3728729)
|
||
--
|
||
-- Name: "get_customer_id" (text,text) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "get_customer_id" (text,text) RETURNS integer AS '
|
||
DECLARE
|
||
|
||
-- Declare aliases for user input.
|
||
l_name ALIAS FOR $1;
|
||
f_name ALIAS FOR $2;
|
||
|
||
-- Declare a variable to hold the customer ID number.
|
||
customer_id INTEGER;
|
||
|
||
BEGIN
|
||
|
||
-- Retrieve the customer ID number of the customer whose first and last
|
||
-- name match the values supplied as function arguments.
|
||
SELECT INTO customer_id id FROM customers
|
||
WHERE last_name = l_name AND first_name = f_name;
|
||
|
||
-- Return the ID number.
|
||
RETURN customer_id;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 101 (OID 3728730)
|
||
--
|
||
-- Name: "get_author" (text) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "get_author" (text) RETURNS text AS '
|
||
DECLARE
|
||
|
||
-- Declare an alias for the function argument,
|
||
-- which should be the first name of an author.
|
||
f_name ALIAS FOR $1;
|
||
|
||
-- Declare a variable with the same type as
|
||
-- the last_name field of the authors table.
|
||
l_name authors.last_name%TYPE;
|
||
|
||
BEGIN
|
||
|
||
-- Retrieve the last name of an author from the
|
||
-- authors table whose first name matches the
|
||
-- argument received by the function, and
|
||
-- insert it into the l_name variable.
|
||
SELECT INTO l_name last_name FROM authors WHERE first_name = f_name;
|
||
|
||
-- Return the first name and last name, separated
|
||
-- by a space.
|
||
return f_name || '' '' || l_name;
|
||
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 97 (OID 3728759)
|
||
--
|
||
-- Name: "get_author" (integer) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "get_author" (integer) RETURNS text AS '
|
||
DECLARE
|
||
|
||
-- Declare an alias for the function argument,
|
||
-- which should be the id of the author.
|
||
author_id ALIAS FOR $1;
|
||
|
||
-- Declare a variable that uses the structure of
|
||
-- the authors table.
|
||
found_author authors%ROWTYPE;
|
||
|
||
BEGIN
|
||
|
||
-- Retrieve a row of author information for
|
||
-- the author whose id number matches
|
||
-- the argument received by the function.
|
||
SELECT INTO found_author * FROM authors WHERE id = author_id;
|
||
|
||
-- Return the first
|
||
RETURN found_author.first_name || '' '' || found_author.last_name;
|
||
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 70 (OID 3743412)
|
||
--
|
||
-- Name: "html_linebreaks" (text) Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "html_linebreaks" (text) RETURNS text AS '
|
||
DECLARE
|
||
formatted_string text := '''';
|
||
BEGIN
|
||
FOR i IN 0 .. length($1) LOOP
|
||
IF substr($1, i, 1) = ''
|
||
'' THEN
|
||
formatted_string := formatted_string || ''<br>'';
|
||
ELSE
|
||
formatted_string := formatted_string || substr($1, i, 1);
|
||
END IF;
|
||
END LOOP;
|
||
RETURN formatted_string;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 37 (OID 3751599)
|
||
--
|
||
-- Name: text_sorting Type: TABLE Owner: postgres
|
||
--
|
||
|
||
CREATE TABLE "text_sorting" (
|
||
"letter" character(1)
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 38 (OID 3751882)
|
||
--
|
||
-- Name: subjects Type: TABLE Owner: postgres
|
||
--
|
||
|
||
CREATE TABLE "subjects" (
|
||
"id" integer NOT NULL,
|
||
"subject" text,
|
||
"location" text,
|
||
Constraint "subjects_pkey" Primary Key ("id")
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 108 (OID 3751924)
|
||
--
|
||
-- Name: sum(text) Type: AGGREGATE Owner: postgres
|
||
--
|
||
|
||
CREATE AGGREGATE sum ( BASETYPE = text, SFUNC = textcat, STYPE = text, INITCOND = '' );
|
||
|
||
--
|
||
-- TOC Entry ID 39 (OID 3751975)
|
||
--
|
||
-- Name: alternate_stock Type: TABLE Owner: postgres
|
||
--
|
||
|
||
CREATE TABLE "alternate_stock" (
|
||
"isbn" text,
|
||
"cost" numeric(5,2),
|
||
"retail" numeric(5,2),
|
||
"stock" integer
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 40 (OID 3752020)
|
||
--
|
||
-- Name: book_backup Type: TABLE Owner: postgres
|
||
--
|
||
|
||
CREATE TABLE "book_backup" (
|
||
"id" integer,
|
||
"title" text,
|
||
"author_id" integer,
|
||
"subject_id" integer
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 80 (OID 3752102)
|
||
--
|
||
-- Name: "sync_authors_and_books" () Type: FUNCTION Owner: postgres
|
||
--
|
||
|
||
CREATE FUNCTION "sync_authors_and_books" () RETURNS opaque AS '
|
||
BEGIN
|
||
IF TG_OP = ''UPDATE'' THEN
|
||
UPDATE books SET author_id = new.id WHERE author_id = old.id;
|
||
END IF;
|
||
RETURN new;
|
||
END;
|
||
' LANGUAGE 'plpgsql';
|
||
|
||
--
|
||
-- TOC Entry ID 41 (OID 4063343)
|
||
--
|
||
-- Name: schedules Type: TABLE Owner: postgres
|
||
--
|
||
|
||
CREATE TABLE "schedules" (
|
||
"employee_id" integer NOT NULL,
|
||
"schedule" text,
|
||
Constraint "schedules_pkey" Primary Key ("employee_id")
|
||
);
|
||
|
||
--
|
||
-- TOC Entry ID 42 (OID 4063653)
|
||
--
|
||
-- Name: recent_shipments Type: VIEW Owner: postgres
|
||
--
|
||
|
||
CREATE VIEW "recent_shipments" as SELECT count(*) AS num_shipped, max(shipments.ship_date) AS max, b.title FROM ((shipments JOIN editions USING (isbn)) NATURAL JOIN books b(book_id)) GROUP BY b.title ORDER BY count(*) DESC;
|
||
|
||
--
|
||
-- Data for TOC Entry ID 112 (OID 3117548)
|
||
--
|
||
-- Name: publishers Type: TABLE DATA Owner: postgres
|
||
--
|
||
|
||
|
||
COPY "publishers" FROM stdin;
|
||
150 Kids Can Press Kids Can Press, 29 Birch Ave. Toronto,<EFBFBD>ON<EFBFBD><EFBFBD>M4V 1E2
|
||
91 Henry Holt & Company, Inc. Henry Holt & Company, Inc. 115 West 18th Street New York, NY 10011
|
||
113 O'Reilly & Associates O'Reilly & Associates, Inc. 101 Morris St, Sebastopol, CA 95472
|
||
62 Watson-Guptill Publications 1515 Boradway, New York, NY 10036
|
||
105 Noonday Press Farrar Straus & Giroux Inc, 19 Union Square W, New York, NY 10003
|
||
99 Ace Books The Berkley Publishing Group, Penguin Putnam Inc, 375 Hudson St, New York, NY 10014
|
||
101 Roc Penguin Putnam Inc, 375 Hudson St, New York, NY 10014
|
||
163 Mojo Press Mojo Press, PO Box 1215, Dripping Springs, TX 78720
|
||
171 Books of Wonder Books of Wonder, 16 W. 18th St. New York, NY, 10011
|
||
102 Penguin Penguin Putnam Inc, 375 Hudson St, New York, NY 10014
|
||
75 Doubleday Random House, Inc, 1540 Broadway, New York, NY 10036
|
||
65 HarperCollins HarperCollins Publishers, 10 E 53rd St, New York, NY 10022
|
||
59 Random House Random House, Inc, 1540 Broadway, New York, NY 10036
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 113 (OID 3389594)
|
||
--
|
||
-- Name: authors Type: TABLE DATA Owner: manager
|
||
--
|
||
|
||
|
||
COPY "authors" FROM stdin;
|
||
1111 Denham Ariel
|
||
1212 Worsley John
|
||
15990 Bourgeois Paulette
|
||
25041 Bianco Margery Williams
|
||
16 Alcott Louisa May
|
||
4156 King Stephen
|
||
1866 Herbert Frank
|
||
1644 Hogarth Burne
|
||
2031 Brown Margaret Wise
|
||
115 Poe Edgar Allen
|
||
7805 Lutz Mark
|
||
7806 Christiansen Tom
|
||
1533 Brautigan Richard
|
||
1717 Brite Poppy Z.
|
||
2112 Gorey Edward
|
||
2001 Clarke Arthur C.
|
||
1213 Brookins Andrew
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 114 (OID 3389632)
|
||
--
|
||
-- Name: states Type: TABLE DATA Owner: postgres
|
||
--
|
||
|
||
|
||
COPY "states" FROM stdin;
|
||
42 Washington WA
|
||
51 Oregon OR
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 115 (OID 3389702)
|
||
--
|
||
-- Name: my_list Type: TABLE DATA Owner: postgres
|
||
--
|
||
|
||
|
||
COPY "my_list" FROM stdin;
|
||
Pick up laundry.
|
||
Send out bills.
|
||
Wrap up Grand Unifying Theory for publication.
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 116 (OID 3390348)
|
||
--
|
||
-- Name: stock Type: TABLE DATA Owner: postgres
|
||
--
|
||
|
||
|
||
COPY "stock" FROM stdin;
|
||
0385121679 29.00 36.95 65
|
||
039480001X 30.00 32.95 31
|
||
0394900014 23.00 23.95 0
|
||
044100590X 36.00 45.95 89
|
||
0441172717 17.00 21.95 77
|
||
0451160916 24.00 28.95 22
|
||
0451198492 36.00 46.95 0
|
||
0451457994 17.00 22.95 0
|
||
0590445065 23.00 23.95 10
|
||
0679803335 20.00 24.95 18
|
||
0694003611 25.00 28.95 50
|
||
0760720002 18.00 23.95 28
|
||
0823015505 26.00 28.95 16
|
||
0929605942 19.00 21.95 25
|
||
1885418035 23.00 24.95 77
|
||
0394800753 16.00 16.95 4
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 117 (OID 3390653)
|
||
--
|
||
-- Name: numeric_values Type: TABLE DATA Owner: postgres
|
||
--
|
||
|
||
|
||
COPY "numeric_values" FROM stdin;
|
||
68719476736.000000
|
||
68719476737.000000
|
||
6871947673778.000000
|
||
999999999999999999999999.999900
|
||
999999999999999999999999.999999
|
||
-999999999999999999999999.999999
|
||
-100000000000000000000000.999999
|
||
1.999999
|
||
2.000000
|
||
2.000000
|
||
999999999999999999999999.999999
|
||
999999999999999999999999.000000
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 118 (OID 3390866)
|
||
--
|
||
-- Name: daily_inventory Type: TABLE DATA Owner: postgres
|
||
--
|
||
|
||
|
||
COPY "daily_inventory" FROM stdin;
|
||
039480001X t
|
||
044100590X t
|
||
0451198492 f
|
||
0394900014 f
|
||
0441172717 t
|
||
0451160916 f
|
||
0385121679 \N
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 119 (OID 3391084)
|
||
--
|
||
-- Name: money_example Type: TABLE DATA Owner: postgres
|
||
--
|
||
|
||
|
||
COPY "money_example" FROM stdin;
|
||
$12.24 12.24
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 120 (OID 3391184)
|
||
--
|
||
-- Name: shipments Type: TABLE DATA Owner: postgres
|
||
--
|
||
|
||
|
||
COPY "shipments" FROM stdin;
|
||
375 142 039480001X 2001-08-06 09:29:21-07
|
||
323 671 0451160916 2001-08-14 10:36:41-07
|
||
998 1045 0590445065 2001-08-12 12:09:47-07
|
||
749 172 0694003611 2001-08-11 10:52:34-07
|
||
662 655 0679803335 2001-08-09 07:30:07-07
|
||
806 1125 0760720002 2001-08-05 09:34:04-07
|
||
102 146 0394900014 2001-08-11 13:34:08-07
|
||
813 112 0385121679 2001-08-08 09:53:46-07
|
||
652 724 1885418035 2001-08-14 13:41:39-07
|
||
599 430 0929605942 2001-08-10 08:29:42-07
|
||
969 488 0441172717 2001-08-14 08:42:58-07
|
||
433 898 044100590X 2001-08-12 08:46:35-07
|
||
660 409 0451457994 2001-08-07 11:56:42-07
|
||
310 738 0451198492 2001-08-15 14:02:01-07
|
||
510 860 0823015505 2001-08-14 07:33:47-07
|
||
997 185 039480001X 2001-08-10 13:47:52-07
|
||
999 221 0451160916 2001-08-14 13:45:51-07
|
||
56 880 0590445065 2001-08-14 13:49:00-07
|
||
72 574 0694003611 2001-08-06 07:49:44-07
|
||
146 270 039480001X 2001-08-13 09:42:10-07
|
||
981 652 0451160916 2001-08-08 08:36:44-07
|
||
95 480 0590445065 2001-08-10 07:29:52-07
|
||
593 476 0694003611 2001-08-15 11:57:40-07
|
||
977 853 0679803335 2001-08-09 09:30:46-07
|
||
117 185 0760720002 2001-08-07 13:00:48-07
|
||
406 1123 0394900014 2001-08-13 09:47:04-07
|
||
340 1149 0385121679 2001-08-12 13:39:22-07
|
||
871 388 1885418035 2001-08-07 11:31:57-07
|
||
1000 221 039480001X 2001-09-14 16:46:32-07
|
||
1001 107 039480001X 2001-09-14 17:42:22-07
|
||
754 107 0394800753 2001-08-11 09:55:05-07
|
||
458 107 0394800753 2001-08-07 10:58:36-07
|
||
189 107 0394800753 2001-08-06 11:46:36-07
|
||
720 107 0394800753 2001-08-08 10:46:13-07
|
||
1002 107 0394800753 2001-09-22 11:23:28-07
|
||
2 107 0394800753 2001-09-22 20:58:56-07
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 121 (OID 3391454)
|
||
--
|
||
-- Name: customers Type: TABLE DATA Owner: manager
|
||
--
|
||
|
||
|
||
COPY "customers" FROM stdin;
|
||
107 Jackson Annie
|
||
112 Gould Ed
|
||
142 Allen Chad
|
||
146 Williams James
|
||
172 Brown Richard
|
||
185 Morrill Eric
|
||
221 King Jenny
|
||
270 Bollman Julie
|
||
388 Morrill Royce
|
||
409 Holloway Christine
|
||
430 Black Jean
|
||
476 Clark James
|
||
480 Thomas Rich
|
||
488 Young Trevor
|
||
574 Bennett Laura
|
||
652 Anderson Jonathan
|
||
655 Olson Dave
|
||
671 Brown Chuck
|
||
723 Eisele Don
|
||
724 Holloway Adam
|
||
738 Gould Shirley
|
||
830 Robertson Royce
|
||
853 Black Wendy
|
||
860 Owens Tim
|
||
880 Robinson Tammy
|
||
898 Gerdes Kate
|
||
964 Gould Ramon
|
||
1045 Owens Jean
|
||
1125 Bollman Owen
|
||
1149 Becker Owen
|
||
1123 Corner Kathy
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 122 (OID 3574043)
|
||
--
|
||
-- Name: book_queue Type: TABLE DATA Owner: postgres
|
||
--
|
||
|
||
|
||
COPY "book_queue" FROM stdin;
|
||
Learning Python 7805 4 t
|
||
Perl Cookbook 7806 4 t
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 123 (OID 3574983)
|
||
--
|
||
-- Name: stock_backup Type: TABLE DATA Owner: postgres
|
||
--
|
||
|
||
|
||
COPY "stock_backup" FROM stdin;
|
||
0385121679 29.00 36.95 65
|
||
039480001X 30.00 32.95 31
|
||
0394800753 16.00 16.95 0
|
||
0394900014 23.00 23.95 0
|
||
044100590X 36.00 45.95 89
|
||
0441172717 17.00 21.95 77
|
||
0451160916 24.00 28.95 22
|
||
0451198492 36.00 46.95 0
|
||
0451457994 17.00 22.95 0
|
||
0590445065 23.00 23.95 10
|
||
0679803335 20.00 24.95 18
|
||
0694003611 25.00 28.95 50
|
||
0760720002 18.00 23.95 28
|
||
0823015505 26.00 28.95 16
|
||
0929605942 19.00 21.95 25
|
||
1885418035 23.00 24.95 77
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 124 (OID 3628247)
|
||
--
|
||
-- Name: favorite_books Type: TABLE DATA Owner: manager
|
||
--
|
||
|
||
|
||
COPY "favorite_books" FROM stdin;
|
||
102 {"The Hitchhiker's Guide to the Galaxy","The Restauraunt at the End of the Universe"}
|
||
103 {"There and Back Again: A Hobbit's Holiday","Kittens Squared"}
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 125 (OID 3628899)
|
||
--
|
||
-- Name: employees Type: TABLE DATA Owner: postgres
|
||
--
|
||
|
||
|
||
COPY "employees" FROM stdin;
|
||
101 Appel Vincent
|
||
102 Holloway Michael
|
||
105 Connoly Sarah
|
||
104 Noble Ben
|
||
103 Joble David
|
||
106 Hall Timothy
|
||
1008 Williams \N
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 126 (OID 3629174)
|
||
--
|
||
-- Name: editions Type: TABLE DATA Owner: manager
|
||
--
|
||
|
||
|
||
COPY "editions" FROM stdin;
|
||
039480001X 1608 1 59 1957-03-01 h
|
||
0451160916 7808 1 75 1981-08-01 p
|
||
0394800753 1590 1 59 1949-03-01 p
|
||
0590445065 25908 1 150 1987-03-01 p
|
||
0694003611 1501 1 65 1947-03-04 p
|
||
0679803335 1234 1 102 1922-01-01 p
|
||
0760720002 190 1 91 1868-01-01 p
|
||
0394900014 1608 1 59 1957-01-01 p
|
||
0385121679 7808 2 75 1993-10-01 h
|
||
1885418035 156 1 163 1995-03-28 p
|
||
0929605942 156 2 171 1998-12-01 p
|
||
0441172717 4513 2 99 1998-09-01 p
|
||
044100590X 4513 3 99 1999-10-01 h
|
||
0451457994 4267 3 101 2000-09-12 p
|
||
0451198492 4267 3 101 1999-10-01 h
|
||
0823015505 2038 1 62 1958-01-01 p
|
||
0596000855 41473 2 113 2001-03-01 p
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 127 (OID 3629264)
|
||
--
|
||
-- Name: books Type: TABLE DATA Owner: manager
|
||
--
|
||
|
||
|
||
COPY "books" FROM stdin;
|
||
7808 The Shining 4156 9
|
||
4513 Dune 1866 15
|
||
4267 2001: A Space Odyssey 2001 15
|
||
1608 The Cat in the Hat 1809 2
|
||
1590 Bartholomew and the Oobleck 1809 2
|
||
25908 Franklin in the Dark 15990 2
|
||
1501 Goodnight Moon 2031 2
|
||
190 Little Women 16 6
|
||
1234 The Velveteen Rabbit 25041 3
|
||
2038 Dynamic Anatomy 1644 0
|
||
156 The Tell-Tale Heart 115 9
|
||
41473 Programming Python 7805 4
|
||
41477 Learning Python 7805 4
|
||
41478 Perl Cookbook 7806 4
|
||
41472 Practical PostgreSQL 1212 4
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 128 (OID 3629424)
|
||
--
|
||
-- Name: distinguished_authors Type: TABLE DATA Owner: manager
|
||
--
|
||
|
||
|
||
COPY "distinguished_authors" FROM stdin;
|
||
25043 Simon Neil Pulitzer Prize
|
||
1809 Geisel Theodor Seuss Pulitzer Prize
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 129 (OID 3727889)
|
||
--
|
||
-- Name: favorite_authors Type: TABLE DATA Owner: manager
|
||
--
|
||
|
||
|
||
COPY "favorite_authors" FROM stdin;
|
||
102 {{"J.R.R. Tolkien","The Silmarillion"},{"Charles Dickens","Great Expectations"},{"Ariel Denham","Attic Lives"}}
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 130 (OID 3751599)
|
||
--
|
||
-- Name: text_sorting Type: TABLE DATA Owner: postgres
|
||
--
|
||
|
||
|
||
COPY "text_sorting" FROM stdin;
|
||
0
|
||
1
|
||
2
|
||
3
|
||
A
|
||
B
|
||
C
|
||
D
|
||
a
|
||
b
|
||
c
|
||
d
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 131 (OID 3751882)
|
||
--
|
||
-- Name: subjects Type: TABLE DATA Owner: postgres
|
||
--
|
||
|
||
|
||
COPY "subjects" FROM stdin;
|
||
0 Arts Creativity St
|
||
1 Business Productivity Ave
|
||
2 Children's Books Kids Ct
|
||
3 Classics Academic Rd
|
||
4 Computers Productivity Ave
|
||
5 Cooking Creativity St
|
||
6 Drama Main St
|
||
7 Entertainment Main St
|
||
8 History Academic Rd
|
||
9 Horror Black Raven Dr
|
||
10 Mystery Black Raven Dr
|
||
11 Poetry Sunset Dr
|
||
12 Religion \N
|
||
13 Romance Main St
|
||
14 Science Productivity Ave
|
||
15 Science Fiction Main St
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 132 (OID 3751975)
|
||
--
|
||
-- Name: alternate_stock Type: TABLE DATA Owner: postgres
|
||
--
|
||
|
||
|
||
COPY "alternate_stock" FROM stdin;
|
||
0385121679 29.00 36.95 65
|
||
039480001X 30.00 32.95 31
|
||
0394900014 23.00 23.95 0
|
||
044100590X 36.00 45.95 89
|
||
0441172717 17.00 21.95 77
|
||
0451160916 24.00 28.95 22
|
||
0451198492 36.00 46.95 0
|
||
0451457994 17.00 22.95 0
|
||
0590445065 23.00 23.95 10
|
||
0679803335 20.00 24.95 18
|
||
0694003611 25.00 28.95 50
|
||
0760720002 18.00 23.95 28
|
||
0823015505 26.00 28.95 16
|
||
0929605942 19.00 21.95 25
|
||
1885418035 23.00 24.95 77
|
||
0394800753 16.00 16.95 4
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 133 (OID 3752020)
|
||
--
|
||
-- Name: book_backup Type: TABLE DATA Owner: postgres
|
||
--
|
||
|
||
|
||
COPY "book_backup" FROM stdin;
|
||
7808 The Shining 4156 9
|
||
4513 Dune 1866 15
|
||
4267 2001: A Space Odyssey 2001 15
|
||
1608 The Cat in the Hat 1809 2
|
||
1590 Bartholomew and the Oobleck 1809 2
|
||
25908 Franklin in the Dark 15990 2
|
||
1501 Goodnight Moon 2031 2
|
||
190 Little Women 16 6
|
||
1234 The Velveteen Rabbit 25041 3
|
||
2038 Dynamic Anatomy 1644 0
|
||
156 The Tell-Tale Heart 115 9
|
||
41472 Practical PostgreSQL 1212 4
|
||
41473 Programming Python 7805 4
|
||
41477 Learning Python 7805 4
|
||
41478 Perl Cookbook 7806 4
|
||
7808 The Shining 4156 9
|
||
4513 Dune 1866 15
|
||
4267 2001: A Space Odyssey 2001 15
|
||
1608 The Cat in the Hat 1809 2
|
||
1590 Bartholomew and the Oobleck 1809 2
|
||
25908 Franklin in the Dark 15990 2
|
||
1501 Goodnight Moon 2031 2
|
||
190 Little Women 16 6
|
||
1234 The Velveteen Rabbit 25041 3
|
||
2038 Dynamic Anatomy 1644 0
|
||
156 The Tell-Tale Heart 115 9
|
||
41473 Programming Python 7805 4
|
||
41477 Learning Python 7805 4
|
||
41478 Perl Cookbook 7806 4
|
||
41472 Practical PostgreSQL 1212 4
|
||
\.
|
||
--
|
||
-- Data for TOC Entry ID 134 (OID 4063343)
|
||
--
|
||
-- Name: schedules Type: TABLE DATA Owner: postgres
|
||
--
|
||
|
||
|
||
COPY "schedules" FROM stdin;
|
||
102 Mon - Fri, 9am - 5pm
|
||
\.
|
||
--
|
||
-- TOC Entry ID 45 (OID 3117548)
|
||
--
|
||
-- Name: "unique_publisher_idx" Type: INDEX Owner: postgres
|
||
--
|
||
|
||
CREATE UNIQUE INDEX "unique_publisher_idx" on "publishers" using btree ( "name" "text_ops" );
|
||
|
||
--
|
||
-- TOC Entry ID 43 (OID 3391184)
|
||
--
|
||
-- Name: "shipments_ship_id_key" Type: INDEX Owner: postgres
|
||
--
|
||
|
||
CREATE UNIQUE INDEX "shipments_ship_id_key" on "shipments" using btree ( "id" "int4_ops" );
|
||
|
||
--
|
||
-- TOC Entry ID 44 (OID 3629264)
|
||
--
|
||
-- Name: "books_title_idx" Type: INDEX Owner: manager
|
||
--
|
||
|
||
CREATE INDEX "books_title_idx" on "books" using btree ( "title" "text_ops" );
|
||
|
||
--
|
||
-- TOC Entry ID 46 (OID 3751599)
|
||
--
|
||
-- Name: "text_idx" Type: INDEX Owner: postgres
|
||
--
|
||
|
||
CREATE INDEX "text_idx" on "text_sorting" using btree ( "letter" "bpchar_ops" );
|
||
|
||
--
|
||
-- TOC Entry ID 136 (OID 3628649)
|
||
--
|
||
-- Name: check_shipment Type: TRIGGER Owner: postgres
|
||
--
|
||
|
||
CREATE TRIGGER "check_shipment" BEFORE INSERT OR UPDATE ON "shipments" FOR EACH ROW EXECUTE PROCEDURE "check_shipment_addition" ();
|
||
|
||
--
|
||
-- TOC Entry ID 135 (OID 3752103)
|
||
--
|
||
-- Name: sync_authors_books Type: TRIGGER Owner: manager
|
||
--
|
||
|
||
CREATE TRIGGER "sync_authors_books" BEFORE UPDATE ON "authors" FOR EACH ROW EXECUTE PROCEDURE "sync_authors_and_books" ();
|
||
|
||
--
|
||
-- TOC Entry ID 139 (OID 4063374)
|
||
--
|
||
-- Name: "RI_ConstraintTrigger_4063373" Type: TRIGGER Owner: postgres
|
||
--
|
||
|
||
CREATE CONSTRAINT TRIGGER "valid_employee" AFTER INSERT OR UPDATE ON "schedules" FROM "employees" NOT DEFERRABLE INITIALLY IMMEDIATE FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_check_ins" ('valid_employee', 'schedules', 'employees', 'FULL', 'employee_id', 'id');
|
||
|
||
--
|
||
-- TOC Entry ID 137 (OID 4063376)
|
||
--
|
||
-- Name: "RI_ConstraintTrigger_4063375" Type: TRIGGER Owner: postgres
|
||
--
|
||
|
||
CREATE CONSTRAINT TRIGGER "valid_employee" AFTER DELETE ON "employees" FROM "schedules" NOT DEFERRABLE INITIALLY IMMEDIATE FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_noaction_del" ('valid_employee', 'schedules', 'employees', 'FULL', 'employee_id', 'id');
|
||
|
||
--
|
||
-- TOC Entry ID 138 (OID 4063378)
|
||
--
|
||
-- Name: "RI_ConstraintTrigger_4063377" Type: TRIGGER Owner: postgres
|
||
--
|
||
|
||
CREATE CONSTRAINT TRIGGER "valid_employee" AFTER UPDATE ON "employees" FROM "schedules" NOT DEFERRABLE INITIALLY IMMEDIATE FOR EACH ROW EXECUTE PROCEDURE "RI_FKey_noaction_upd" ('valid_employee', 'schedules', 'employees', 'FULL', 'employee_id', 'id');
|
||
|
||
--
|
||
-- TOC Entry ID 140 (OID 3752079)
|
||
--
|
||
-- Name: sync_stock_with_editions Type: RULE Owner: manager
|
||
--
|
||
|
||
CREATE RULE sync_stock_with_editions AS ON UPDATE TO editions DO UPDATE stock SET isbn = new.isbn WHERE (stock.isbn = old.isbn);
|
||
--
|
||
-- TOC Entry ID 5 (OID 3390416)
|
||
--
|
||
-- Name: subject_ids Type: SEQUENCE SET Owner:
|
||
--
|
||
|
||
SELECT setval ('"subject_ids"', 15, 't');
|
||
|
||
--
|
||
-- TOC Entry ID 7 (OID 3574018)
|
||
--
|
||
-- Name: book_ids Type: SEQUENCE SET Owner:
|
||
--
|
||
|
||
SELECT setval ('"book_ids"', 41478, 't');
|
||
|
||
--
|
||
-- TOC Entry ID 9 (OID 3628626)
|
||
--
|
||
-- Name: shipments_ship_id_seq Type: SEQUENCE SET Owner:
|
||
--
|
||
|
||
SELECT setval ('"shipments_ship_id_seq"', 1011, 't');
|
||
|
||
--
|
||
-- TOC Entry ID 11 (OID 3629402)
|
||
--
|
||
-- Name: author_ids Type: SEQUENCE SET Owner:
|
||
--
|
||
|
||
SELECT setval ('"author_ids"', 25044, 't');
|
||
|