CVS regression test failures
This is on a FreeBSD/Alpha machine. Using latest CVS.
/bin/sh
./pg_regress --temp-install --top-builddir=../../.. --schedule=./parallel_
schedule --multibyte=
============== creating temporary installation ==============
============== initializing database system ==============
============== starting postmaster ==============
running on port 65432 with pid 30866
============== creating database "regression" ==============
CREATE DATABASE
============== dropping regression test user accounts ==============
============== installing PL/pgSQL ==============
============== running regression test queries ==============
parallel group (13 tests): text oid int2 name varchar char float4 int8
boolean fl
oat8 int4 bit numeric
boolean ... ok
char ... ok
name ... ok
varchar ... ok
text ... ok
int2 ... ok
int4 ... ok
int8 ... ok
oid ... ok
float4 ... ok
float8 ... ok
bit ... ok
numeric ... ok
test strings ... ok
test numerology ... ok
parallel group (20 tests): comments path lseg box polygon tinterval circle
abstim
e reltime time interval point inet type_sanity timestamp timestamptz timetz
date o
pr_sanity oidjoins
point ... ok
lseg ... ok
box ... ok
path ... ok
polygon ... ok
circle ... ok
date ... ok
time ... ok
timetz ... ok
timestamp ... ok
timestamptz ... ok
interval ... ok
abstime ... ok
reltime ... ok
tinterval ... ok
inet ... ok
comments ... ok
oidjoins ... ok
type_sanity ... ok
opr_sanity ... ok
test geometry ... ok
test horology ... ok
test create_function_1 ... FAILED
test create_type ... FAILED
test create_table ... FAILED
test create_function_2 ... FAILED
test copy ... FAILED
parallel group (7 tests): create_misc constraints triggers create_index
inherit c
reate_operator create_aggregate
constraints ... FAILED
triggers ... FAILED
create_misc ... FAILED
create_aggregate ... FAILED
create_operator ... FAILED
create_index ... FAILED
inherit ... FAILED
test create_view ... FAILED
test sanity_check ... FAILED
test errors ... FAILED
test select ... FAILED
parallel group (16 tests): select_distinct_on select_into random
select_distinct
btree_index aggregates transactions select_having arrays subselect
hash_index port
als select_implicit case union join
select_into ... FAILED
select_distinct ... FAILED
select_distinct_on ... FAILED
select_implicit ... ok
select_having ... ok
subselect ... ok
union ... ok
case ... ok
join ... ok
aggregates ... FAILED
transactions ... FAILED
random ... failed (ignored)
portals ... FAILED
arrays ... ok
btree_index ... FAILED
hash_index ... FAILED
test privileges ... ok
test misc ... FAILED
parallel group (5 tests): select_views portals_p2 alter_table rules
foreign_key
select_views ... FAILED
alter_table ... FAILED
portals_p2 ... FAILED
rules ... FAILED
foreign_key ... ok
parallel group (3 tests): limit temp plpgsql
limit ... FAILED
plpgsql ... ok
temp ... ok
============== shutting down postmaster ==============
=====================================================
31 of 79 tests failed, 1 of these failures ignored.
=====================================================
The differences that caused some tests to fail can be viewed in the
file `./regression.diffs'. A copy of the test summary that you see
above is saved in the file `./regression.out'.
rm regress.o
gmake[2]: Leaving directory `/home/chriskl/pgsql/src/test/regress'
gmake[1]: Leaving directory `/home/chriskl/pgsql/src/test'
Attachments:
regression.diffsapplication/octet-stream; name=regression.diffsDownload
*** ./expected/create_function_1.out Thu Mar 7 10:40:02 2002
--- ./results/create_function_1.out Thu Mar 7 10:43:12 2002
***************
*** 5,36 ****
RETURNS widget
AS '/home/chriskl/pgsql/src/test/regress/regress.so'
LANGUAGE 'c';
! NOTICE: ProcedureCreate: type widget is not yet defined
! CREATE FUNCTION widget_out(opaque)
! RETURNS opaque
! AS '/home/chriskl/pgsql/src/test/regress/regress.so'
! LANGUAGE 'c';
! CREATE FUNCTION check_primary_key ()
! RETURNS opaque
! AS '/home/chriskl/pgsql/src/test/regress/../../../contrib/spi/refint.so'
! LANGUAGE 'C';
! CREATE FUNCTION check_foreign_key ()
! RETURNS opaque
! AS '/home/chriskl/pgsql/src/test/regress/../../../contrib/spi/refint.so'
! LANGUAGE 'C';
! CREATE FUNCTION autoinc ()
! RETURNS opaque
! AS '/home/chriskl/pgsql/src/test/regress/../../../contrib/spi/autoinc.so'
! LANGUAGE 'C';
! CREATE FUNCTION funny_dup17 ()
! RETURNS opaque
! AS '/home/chriskl/pgsql/src/test/regress/regress.so'
! LANGUAGE 'C';
! CREATE FUNCTION ttdummy ()
! RETURNS opaque
! AS '/home/chriskl/pgsql/src/test/regress/regress.so'
! LANGUAGE 'C';
! CREATE FUNCTION set_ttdummy (int4)
! RETURNS int4
! AS '/home/chriskl/pgsql/src/test/regress/regress.so'
! LANGUAGE 'C';
--- 5,12 ----
RETURNS widget
AS '/home/chriskl/pgsql/src/test/regress/regress.so'
LANGUAGE 'c';
! WARNING: ProcedureCreate: type widget is not yet defined
! server closed the connection unexpectedly
! This probably means the server terminated abnormally
! before or while processing the request.
! connection to server was lost
======================================================================
*** ./expected/create_type.out Thu Sep 6 10:07:42 2001
--- ./results/create_type.out Thu Mar 7 10:43:12 2002
***************
*** 1,40 ****
! --
! -- CREATE_TYPE
! --
! CREATE TYPE widget (
! internallength = 24,
! input = widget_in,
! output = widget_out,
! alignment = double
! );
! CREATE TYPE city_budget (
! internallength = 16,
! input = int44in,
! output = int44out,
! element = int4
! );
! -- Test type-related default values (broken in releases before PG 7.2)
! CREATE TYPE int42 (
! internallength = 4,
! input = int4in,
! output = int4out,
! alignment = int4,
! default = 42,
! passedbyvalue
! );
! CREATE TYPE text_w_default (
! internallength = variable,
! input = textin,
! output = textout,
! alignment = int4,
! default = 'zippo'
! );
! CREATE TABLE default_test (f1 text_w_default, f2 int42);
! INSERT INTO default_test DEFAULT VALUES;
! SELECT * FROM default_test;
! f1 | f2
! -------+----
! zippo | 42
! (1 row)
- DROP TABLE default_test;
--- 1,2 ----
! psql: FATAL: The database system is starting up
======================================================================
*** ./expected/create_table.out Thu Mar 7 09:53:51 2002
--- ./results/create_table.out Thu Mar 7 10:43:12 2002
***************
*** 1,188 ****
! --
! -- CREATE_TABLE
! --
! --
! -- CLASS DEFINITIONS
! --
! CREATE TABLE hobbies_r (
! name text,
! person text
! );
! CREATE TABLE equipment_r (
! name text,
! hobby text
! );
! CREATE TABLE onek (
! unique1 int4,
! unique2 int4,
! two int4,
! four int4,
! ten int4,
! twenty int4,
! hundred int4,
! thousand int4,
! twothousand int4,
! fivethous int4,
! tenthous int4,
! odd int4,
! even int4,
! stringu1 name,
! stringu2 name,
! string4 name
! );
! CREATE TABLE tenk1 (
! unique1 int4,
! unique2 int4,
! two int4,
! four int4,
! ten int4,
! twenty int4,
! hundred int4,
! thousand int4,
! twothousand int4,
! fivethous int4,
! tenthous int4,
! odd int4,
! even int4,
! stringu1 name,
! stringu2 name,
! string4 name
! );
! CREATE TABLE tenk2 (
! unique1 int4,
! unique2 int4,
! two int4,
! four int4,
! ten int4,
! twenty int4,
! hundred int4,
! thousand int4,
! twothousand int4,
! fivethous int4,
! tenthous int4,
! odd int4,
! even int4,
! stringu1 name,
! stringu2 name,
! string4 name
! );
! CREATE TABLE person (
! name text,
! age int4,
! location point
! );
! CREATE TABLE emp (
! salary int4,
! manager name
! ) INHERITS (person);
! CREATE TABLE student (
! gpa float8
! ) INHERITS (person);
! CREATE TABLE stud_emp (
! percent int4
! ) INHERITS (emp, student);
! NOTICE: CREATE TABLE: merging multiple inherited definitions of attribute "name"
! NOTICE: CREATE TABLE: merging multiple inherited definitions of attribute "age"
! NOTICE: CREATE TABLE: merging multiple inherited definitions of attribute "location"
! CREATE TABLE city (
! name name,
! location box,
! budget city_budget
! );
! CREATE TABLE dept (
! dname name,
! mgrname text
! );
! CREATE TABLE slow_emp4000 (
! home_base box
! );
! CREATE TABLE fast_emp4000 (
! home_base box
! );
! CREATE TABLE road (
! name text,
! thepath path
! );
! CREATE TABLE ihighway () INHERITS (road);
! CREATE TABLE shighway (
! surface text
! ) INHERITS (road);
! CREATE TABLE real_city (
! pop int4,
! cname text,
! outline path
! );
! --
! -- test the "star" operators a bit more thoroughly -- this time,
! -- throw in lots of NULL fields...
! --
! -- a is the type root
! -- b and c inherit from a (one-level single inheritance)
! -- d inherits from b and c (two-level multiple inheritance)
! -- e inherits from c (two-level single inheritance)
! -- f inherits from e (three-level single inheritance)
! --
! CREATE TABLE a_star (
! class char,
! a int4
! );
! CREATE TABLE b_star (
! b text
! ) INHERITS (a_star);
! CREATE TABLE c_star (
! c name
! ) INHERITS (a_star);
! CREATE TABLE d_star (
! d float8
! ) INHERITS (b_star, c_star);
! NOTICE: CREATE TABLE: merging multiple inherited definitions of attribute "class"
! NOTICE: CREATE TABLE: merging multiple inherited definitions of attribute "a"
! CREATE TABLE e_star (
! e int2
! ) INHERITS (c_star);
! CREATE TABLE f_star (
! f polygon
! ) INHERITS (e_star);
! CREATE TABLE aggtest (
! a int2,
! b float4
! );
! CREATE TABLE hash_i4_heap (
! seqno int4,
! random int4
! );
! CREATE TABLE hash_name_heap (
! seqno int4,
! random name
! );
! CREATE TABLE hash_txt_heap (
! seqno int4,
! random text
! );
! CREATE TABLE hash_f8_heap (
! seqno int4,
! random float8
! );
! -- don't include the hash_ovfl_heap stuff in the distribution
! -- the data set is too large for what it's worth
! --
! -- CREATE TABLE hash_ovfl_heap (
! -- x int4,
! -- y int4
! -- );
! CREATE TABLE bt_i4_heap (
! seqno int4,
! random int4
! );
! CREATE TABLE bt_name_heap (
! seqno name,
! random int4
! );
! CREATE TABLE bt_txt_heap (
! seqno text,
! random int4
! );
! CREATE TABLE bt_f8_heap (
! seqno float8,
! random int4
! );
--- 1,2 ----
! psql: FATAL: The database system is starting up
!
======================================================================
*** ./expected/create_function_2.out Thu Mar 7 10:40:02 2002
--- ./results/create_function_2.out Thu Mar 7 10:43:13 2002
***************
*** 1,56 ****
! --
! -- CREATE_FUNCTION_2
! --
! CREATE FUNCTION hobbies(person)
! RETURNS setof hobbies_r
! AS 'select * from hobbies_r where person = $1.name'
! LANGUAGE 'sql';
! CREATE FUNCTION hobby_construct(text, text)
! RETURNS hobbies_r
! AS 'select $1 as name, $2 as hobby'
! LANGUAGE 'sql';
! CREATE FUNCTION hobbies_by_name(hobbies_r.name%TYPE)
! RETURNS hobbies_r.person%TYPE
! AS 'select person from hobbies_r where name = $1'
! LANGUAGE 'sql';
! INFO: hobbies_r.name%TYPE converted to text
! INFO: hobbies_r.person%TYPE converted to text
! CREATE FUNCTION equipment(hobbies_r)
! RETURNS setof equipment_r
! AS 'select * from equipment_r where hobby = $1.name'
! LANGUAGE 'sql';
! CREATE FUNCTION user_relns()
! RETURNS setof name
! AS 'select relname
! from pg_class
! where relname !~ ''pg_.*'' and
! relkind <> ''i'' '
! LANGUAGE 'sql';
! CREATE FUNCTION pt_in_widget(point, widget)
! RETURNS bool
! AS '/home/chriskl/pgsql/src/test/regress/regress.so'
! LANGUAGE 'C';
! CREATE FUNCTION overpaid(emp)
! RETURNS bool
! AS '/home/chriskl/pgsql/src/test/regress/regress.so'
! LANGUAGE 'C';
! CREATE FUNCTION boxarea(box)
! RETURNS float8
! AS '/home/chriskl/pgsql/src/test/regress/regress.so'
! LANGUAGE 'C';
! CREATE FUNCTION interpt_pp(path, path)
! RETURNS point
! AS '/home/chriskl/pgsql/src/test/regress/regress.so'
! LANGUAGE 'C';
! CREATE FUNCTION reverse_name(name)
! RETURNS name
! AS '/home/chriskl/pgsql/src/test/regress/regress.so'
! LANGUAGE 'c';
! CREATE FUNCTION oldstyle_length(int4, text)
! RETURNS int4
! AS '/home/chriskl/pgsql/src/test/regress/regress.so'
! LANGUAGE 'c';
! --
! -- Function dynamic loading
! --
! LOAD '/home/chriskl/pgsql/src/test/regress/regress.so';
--- 1,2 ----
! psql: FATAL: The database system is starting up
!
======================================================================
*** ./expected/copy.out Thu Mar 7 10:40:02 2002
--- ./results/copy.out Thu Mar 7 10:43:13 2002
***************
*** 1,33 ****
! --
! -- COPY
! --
! -- CLASS POPULATION
! -- (any resemblance to real life is purely coincidental)
! --
! COPY aggtest FROM '/home/chriskl/pgsql/src/test/regress/data/agg.data';
! COPY onek FROM '/home/chriskl/pgsql/src/test/regress/data/onek.data';
! COPY onek TO '/home/chriskl/pgsql/src/test/regress/results/onek.data';
! DELETE FROM onek;
! COPY onek FROM '/home/chriskl/pgsql/src/test/regress/results/onek.data';
! COPY tenk1 FROM '/home/chriskl/pgsql/src/test/regress/data/tenk.data';
! COPY slow_emp4000 FROM '/home/chriskl/pgsql/src/test/regress/data/rect.data';
! COPY person FROM '/home/chriskl/pgsql/src/test/regress/data/person.data';
! COPY emp FROM '/home/chriskl/pgsql/src/test/regress/data/emp.data';
! COPY student FROM '/home/chriskl/pgsql/src/test/regress/data/student.data';
! COPY stud_emp FROM '/home/chriskl/pgsql/src/test/regress/data/stud_emp.data';
! COPY road FROM '/home/chriskl/pgsql/src/test/regress/data/streets.data';
! COPY real_city FROM '/home/chriskl/pgsql/src/test/regress/data/real_city.data';
! COPY hash_i4_heap FROM '/home/chriskl/pgsql/src/test/regress/data/hash.data';
! COPY hash_name_heap FROM '/home/chriskl/pgsql/src/test/regress/data/hash.data';
! COPY hash_txt_heap FROM '/home/chriskl/pgsql/src/test/regress/data/hash.data';
! COPY hash_f8_heap FROM '/home/chriskl/pgsql/src/test/regress/data/hash.data';
! -- the data in this file has a lot of duplicates in the index key
! -- fields, leading to long bucket chains and lots of table expansion.
! -- this is therefore a stress test of the bucket overflow code (unlike
! -- the data in hash.data, which has unique index keys).
! --
! -- COPY hash_ovfl_heap FROM '/home/chriskl/pgsql/src/test/regress/data/hashovfl.data';
! COPY bt_i4_heap FROM '/home/chriskl/pgsql/src/test/regress/data/desc.data';
! COPY bt_name_heap FROM '/home/chriskl/pgsql/src/test/regress/data/hash.data';
! COPY bt_txt_heap FROM '/home/chriskl/pgsql/src/test/regress/data/desc.data';
! COPY bt_f8_heap FROM '/home/chriskl/pgsql/src/test/regress/data/hash.data';
--- 1,2 ----
! psql: FATAL: The database system is starting up
!
======================================================================
*** ./expected/constraints.out Thu Mar 7 10:40:02 2002
--- ./results/constraints.out Thu Mar 7 10:43:14 2002
***************
*** 1,374 ****
! --
! -- CONSTRAINTS
! -- Constraints can be specified with:
! -- - DEFAULT clause
! -- - CHECK clauses
! -- - PRIMARY KEY clauses
! -- - UNIQUE clauses
! --
! --
! -- DEFAULT syntax
! --
! CREATE TABLE DEFAULT_TBL (i int DEFAULT 100,
! x text DEFAULT 'vadim', f float8 DEFAULT 123.456);
! INSERT INTO DEFAULT_TBL VALUES (1, 'thomas', 57.0613);
! INSERT INTO DEFAULT_TBL VALUES (1, 'bruce');
! INSERT INTO DEFAULT_TBL (i, f) VALUES (2, 987.654);
! INSERT INTO DEFAULT_TBL (x) VALUES ('marc');
! INSERT INTO DEFAULT_TBL VALUES (3, null, 1.0);
! SELECT '' AS five, * FROM DEFAULT_TBL;
! five | i | x | f
! ------+-----+--------+---------
! | 1 | thomas | 57.0613
! | 1 | bruce | 123.456
! | 2 | vadim | 987.654
! | 100 | marc | 123.456
! | 3 | | 1
! (5 rows)
- CREATE SEQUENCE DEFAULT_SEQ;
- CREATE TABLE DEFAULTEXPR_TBL (i1 int DEFAULT 100 + (200-199) * 2,
- i2 int DEFAULT nextval('default_seq'));
- INSERT INTO DEFAULTEXPR_TBL VALUES (-1, -2);
- INSERT INTO DEFAULTEXPR_TBL (i1) VALUES (-3);
- INSERT INTO DEFAULTEXPR_TBL (i2) VALUES (-4);
- INSERT INTO DEFAULTEXPR_TBL (i2) VALUES (NULL);
- SELECT '' AS four, * FROM DEFAULTEXPR_TBL;
- four | i1 | i2
- ------+-----+----
- | -1 | -2
- | -3 | 1
- | 102 | -4
- | 102 |
- (4 rows)
-
- -- syntax errors
- -- test for extraneous comma
- CREATE TABLE error_tbl (i int DEFAULT (100, ));
- ERROR: parser: parse error at or near ","
- -- this will fail because gram.y uses b_expr not a_expr for defaults,
- -- to avoid a shift/reduce conflict that arises from NOT NULL being
- -- part of the column definition syntax:
- CREATE TABLE error_tbl (b1 bool DEFAULT 1 IN (1, 2));
- ERROR: parser: parse error at or near "IN"
- -- this should work, however:
- CREATE TABLE error_tbl (b1 bool DEFAULT (1 IN (1, 2)));
- DROP TABLE error_tbl;
- --
- -- CHECK syntax
- --
- CREATE TABLE CHECK_TBL (x int,
- CONSTRAINT CHECK_CON CHECK (x > 3));
- INSERT INTO CHECK_TBL VALUES (5);
- INSERT INTO CHECK_TBL VALUES (4);
- INSERT INTO CHECK_TBL VALUES (3);
- ERROR: ExecAppend: rejected due to CHECK constraint check_con
- INSERT INTO CHECK_TBL VALUES (2);
- ERROR: ExecAppend: rejected due to CHECK constraint check_con
- INSERT INTO CHECK_TBL VALUES (6);
- INSERT INTO CHECK_TBL VALUES (1);
- ERROR: ExecAppend: rejected due to CHECK constraint check_con
- SELECT '' AS three, * FROM CHECK_TBL;
- three | x
- -------+---
- | 5
- | 4
- | 6
- (3 rows)
-
- CREATE SEQUENCE CHECK_SEQ;
- CREATE TABLE CHECK2_TBL (x int, y text, z int,
- CONSTRAINT SEQUENCE_CON
- CHECK (x > 3 and y <> 'check failed' and z < 8));
- INSERT INTO CHECK2_TBL VALUES (4, 'check ok', -2);
- INSERT INTO CHECK2_TBL VALUES (1, 'x check failed', -2);
- ERROR: ExecAppend: rejected due to CHECK constraint sequence_con
- INSERT INTO CHECK2_TBL VALUES (5, 'z check failed', 10);
- ERROR: ExecAppend: rejected due to CHECK constraint sequence_con
- INSERT INTO CHECK2_TBL VALUES (0, 'check failed', -2);
- ERROR: ExecAppend: rejected due to CHECK constraint sequence_con
- INSERT INTO CHECK2_TBL VALUES (6, 'check failed', 11);
- ERROR: ExecAppend: rejected due to CHECK constraint sequence_con
- INSERT INTO CHECK2_TBL VALUES (7, 'check ok', 7);
- SELECT '' AS two, * from CHECK2_TBL;
- two | x | y | z
- -----+---+----------+----
- | 4 | check ok | -2
- | 7 | check ok | 7
- (2 rows)
-
- --
- -- Check constraints on INSERT
- --
- CREATE SEQUENCE INSERT_SEQ;
- CREATE TABLE INSERT_TBL (x INT DEFAULT nextval('insert_seq'),
- y TEXT DEFAULT '-NULL-',
- z INT DEFAULT -1 * currval('insert_seq'),
- CONSTRAINT INSERT_CON CHECK (x >= 3 AND y <> 'check failed' AND x < 8),
- CHECK (x + z = 0));
- INSERT INTO INSERT_TBL(x,z) VALUES (2, -2);
- ERROR: ExecAppend: rejected due to CHECK constraint insert_con
- SELECT '' AS zero, * FROM INSERT_TBL;
- zero | x | y | z
- ------+---+---+---
- (0 rows)
-
- SELECT 'one' AS one, nextval('insert_seq');
- one | nextval
- -----+---------
- one | 1
- (1 row)
-
- INSERT INTO INSERT_TBL(y) VALUES ('Y');
- ERROR: ExecAppend: rejected due to CHECK constraint insert_con
- INSERT INTO INSERT_TBL(y) VALUES ('Y');
- INSERT INTO INSERT_TBL(x,z) VALUES (1, -2);
- ERROR: ExecAppend: rejected due to CHECK constraint $2
- INSERT INTO INSERT_TBL(z,x) VALUES (-7, 7);
- INSERT INTO INSERT_TBL VALUES (5, 'check failed', -5);
- ERROR: ExecAppend: rejected due to CHECK constraint insert_con
- INSERT INTO INSERT_TBL VALUES (7, '!check failed', -7);
- INSERT INTO INSERT_TBL(y) VALUES ('-!NULL-');
- SELECT '' AS four, * FROM INSERT_TBL;
- four | x | y | z
- ------+---+---------------+----
- | 3 | Y | -3
- | 7 | -NULL- | -7
- | 7 | !check failed | -7
- | 4 | -!NULL- | -4
- (4 rows)
-
- INSERT INTO INSERT_TBL(y,z) VALUES ('check failed', 4);
- ERROR: ExecAppend: rejected due to CHECK constraint $2
- INSERT INTO INSERT_TBL(x,y) VALUES (5, 'check failed');
- ERROR: ExecAppend: rejected due to CHECK constraint insert_con
- INSERT INTO INSERT_TBL(x,y) VALUES (5, '!check failed');
- INSERT INTO INSERT_TBL(y) VALUES ('-!NULL-');
- SELECT '' AS six, * FROM INSERT_TBL;
- six | x | y | z
- -----+---+---------------+----
- | 3 | Y | -3
- | 7 | -NULL- | -7
- | 7 | !check failed | -7
- | 4 | -!NULL- | -4
- | 5 | !check failed | -5
- | 6 | -!NULL- | -6
- (6 rows)
-
- SELECT 'seven' AS one, nextval('insert_seq');
- one | nextval
- -------+---------
- seven | 7
- (1 row)
-
- INSERT INTO INSERT_TBL(y) VALUES ('Y');
- ERROR: ExecAppend: rejected due to CHECK constraint insert_con
- SELECT 'eight' AS one, currval('insert_seq');
- one | currval
- -------+---------
- eight | 8
- (1 row)
-
- -- According to SQL92, it is OK to insert a record that gives rise to NULL
- -- constraint-condition results. Postgres used to reject this, but it
- -- was wrong:
- INSERT INTO INSERT_TBL VALUES (null, null, null);
- SELECT '' AS nine, * FROM INSERT_TBL;
- nine | x | y | z
- ------+---+---------------+----
- | 3 | Y | -3
- | 7 | -NULL- | -7
- | 7 | !check failed | -7
- | 4 | -!NULL- | -4
- | 5 | !check failed | -5
- | 6 | -!NULL- | -6
- | | |
- (7 rows)
-
- --
- -- Check inheritance of defaults and constraints
- --
- CREATE TABLE INSERT_CHILD (cx INT default 42,
- cy INT CHECK (cy > x))
- INHERITS (INSERT_TBL);
- INSERT INTO INSERT_CHILD(x,z,cy) VALUES (7,-7,11);
- INSERT INTO INSERT_CHILD(x,z,cy) VALUES (7,-7,6);
- ERROR: ExecAppend: rejected due to CHECK constraint insert_child_cy
- INSERT INTO INSERT_CHILD(x,z,cy) VALUES (6,-7,7);
- ERROR: ExecAppend: rejected due to CHECK constraint $1
- INSERT INTO INSERT_CHILD(x,y,z,cy) VALUES (6,'check failed',-6,7);
- ERROR: ExecAppend: rejected due to CHECK constraint insert_con
- SELECT * FROM INSERT_CHILD;
- x | y | z | cx | cy
- ---+--------+----+----+----
- 7 | -NULL- | -7 | 42 | 11
- (1 row)
-
- DROP TABLE INSERT_CHILD;
- --
- -- Check constraints on INSERT INTO
- --
- DELETE FROM INSERT_TBL;
- DROP SEQUENCE INSERT_SEQ;
- CREATE SEQUENCE INSERT_SEQ START 4;
- CREATE TABLE tmp (xd INT, yd TEXT, zd INT);
- INSERT INTO tmp VALUES (null, 'Y', null);
- INSERT INTO tmp VALUES (5, '!check failed', null);
- INSERT INTO tmp VALUES (null, 'try again', null);
- INSERT INTO INSERT_TBL(y) select yd from tmp;
- NOTICE: insert_seq.nextval: sequence was re-created
- SELECT '' AS three, * FROM INSERT_TBL;
- three | x | y | z
- -------+---+---------------+----
- | 4 | Y | -4
- | 5 | !check failed | -5
- | 6 | try again | -6
- (3 rows)
-
- INSERT INTO INSERT_TBL SELECT * FROM tmp WHERE yd = 'try again';
- INSERT INTO INSERT_TBL(y,z) SELECT yd, -7 FROM tmp WHERE yd = 'try again';
- INSERT INTO INSERT_TBL(y,z) SELECT yd, -8 FROM tmp WHERE yd = 'try again';
- ERROR: ExecAppend: rejected due to CHECK constraint insert_con
- SELECT '' AS four, * FROM INSERT_TBL;
- four | x | y | z
- ------+---+---------------+----
- | 4 | Y | -4
- | 5 | !check failed | -5
- | 6 | try again | -6
- | | try again |
- | 7 | try again | -7
- (5 rows)
-
- DROP TABLE tmp;
- --
- -- Check constraints on UPDATE
- --
- UPDATE INSERT_TBL SET x = NULL WHERE x = 5;
- UPDATE INSERT_TBL SET x = 6 WHERE x = 6;
- UPDATE INSERT_TBL SET x = -z, z = -x;
- UPDATE INSERT_TBL SET x = z, z = x;
- ERROR: ExecReplace: rejected due to CHECK constraint insert_con
- SELECT * FROM INSERT_TBL;
- x | y | z
- ---+---------------+----
- 4 | Y | -4
- | try again |
- 7 | try again | -7
- 5 | !check failed |
- 6 | try again | -6
- (5 rows)
-
- -- DROP TABLE INSERT_TBL;
- --
- -- Check constraints on COPY FROM
- --
- CREATE TABLE COPY_TBL (x INT, y TEXT, z INT,
- CONSTRAINT COPY_CON
- CHECK (x > 3 AND y <> 'check failed' AND x < 7 ));
- COPY COPY_TBL FROM '/home/chriskl/pgsql/src/test/regress/data/constro.data';
- SELECT '' AS two, * FROM COPY_TBL;
- two | x | y | z
- -----+---+---------------+---
- | 4 | !check failed | 5
- | 6 | OK | 4
- (2 rows)
-
- COPY COPY_TBL FROM '/home/chriskl/pgsql/src/test/regress/data/constrf.data';
- ERROR: copy: line 2, CopyFrom: rejected due to CHECK constraint copy_con
- SELECT * FROM COPY_TBL;
- x | y | z
- ---+---------------+---
- 4 | !check failed | 5
- 6 | OK | 4
- (2 rows)
-
- --
- -- Primary keys
- --
- CREATE TABLE PRIMARY_TBL (i int PRIMARY KEY, t text);
- INFO: CREATE TABLE / PRIMARY KEY will create implicit index 'primary_tbl_pkey' for table 'primary_tbl'
- INSERT INTO PRIMARY_TBL VALUES (1, 'one');
- INSERT INTO PRIMARY_TBL VALUES (2, 'two');
- INSERT INTO PRIMARY_TBL VALUES (1, 'three');
- ERROR: Cannot insert a duplicate key into unique index primary_tbl_pkey
- INSERT INTO PRIMARY_TBL VALUES (4, 'three');
- INSERT INTO PRIMARY_TBL VALUES (5, 'one');
- INSERT INTO PRIMARY_TBL (t) VALUES ('six');
- ERROR: ExecAppend: Fail to add null value in not null attribute i
- SELECT '' AS four, * FROM PRIMARY_TBL;
- four | i | t
- ------+---+-------
- | 1 | one
- | 2 | two
- | 4 | three
- | 5 | one
- (4 rows)
-
- DROP TABLE PRIMARY_TBL;
- CREATE TABLE PRIMARY_TBL (i int, t text,
- PRIMARY KEY(i,t));
- INFO: CREATE TABLE / PRIMARY KEY will create implicit index 'primary_tbl_pkey' for table 'primary_tbl'
- INSERT INTO PRIMARY_TBL VALUES (1, 'one');
- INSERT INTO PRIMARY_TBL VALUES (2, 'two');
- INSERT INTO PRIMARY_TBL VALUES (1, 'three');
- INSERT INTO PRIMARY_TBL VALUES (4, 'three');
- INSERT INTO PRIMARY_TBL VALUES (5, 'one');
- INSERT INTO PRIMARY_TBL (t) VALUES ('six');
- ERROR: ExecAppend: Fail to add null value in not null attribute i
- SELECT '' AS three, * FROM PRIMARY_TBL;
- three | i | t
- -------+---+-------
- | 1 | one
- | 2 | two
- | 1 | three
- | 4 | three
- | 5 | one
- (5 rows)
-
- DROP TABLE PRIMARY_TBL;
- --
- -- Unique keys
- --
- CREATE TABLE UNIQUE_TBL (i int UNIQUE, t text);
- INFO: CREATE TABLE / UNIQUE will create implicit index 'unique_tbl_i_key' for table 'unique_tbl'
- INSERT INTO UNIQUE_TBL VALUES (1, 'one');
- INSERT INTO UNIQUE_TBL VALUES (2, 'two');
- INSERT INTO UNIQUE_TBL VALUES (1, 'three');
- ERROR: Cannot insert a duplicate key into unique index unique_tbl_i_key
- INSERT INTO UNIQUE_TBL VALUES (4, 'four');
- INSERT INTO UNIQUE_TBL VALUES (5, 'one');
- INSERT INTO UNIQUE_TBL (t) VALUES ('six');
- INSERT INTO UNIQUE_TBL (t) VALUES ('seven');
- SELECT '' AS five, * FROM UNIQUE_TBL;
- five | i | t
- ------+---+-------
- | 1 | one
- | 2 | two
- | 4 | four
- | 5 | one
- | | six
- | | seven
- (6 rows)
-
- DROP TABLE UNIQUE_TBL;
- CREATE TABLE UNIQUE_TBL (i int, t text,
- UNIQUE(i,t));
- INFO: CREATE TABLE / UNIQUE will create implicit index 'unique_tbl_i_key' for table 'unique_tbl'
- INSERT INTO UNIQUE_TBL VALUES (1, 'one');
- INSERT INTO UNIQUE_TBL VALUES (2, 'two');
- INSERT INTO UNIQUE_TBL VALUES (1, 'three');
- INSERT INTO UNIQUE_TBL VALUES (1, 'one');
- ERROR: Cannot insert a duplicate key into unique index unique_tbl_i_key
- INSERT INTO UNIQUE_TBL VALUES (5, 'one');
- INSERT INTO UNIQUE_TBL (t) VALUES ('six');
- SELECT '' AS five, * FROM UNIQUE_TBL;
- five | i | t
- ------+---+-------
- | 1 | one
- | 2 | two
- | 1 | three
- | 5 | one
- | | six
- (5 rows)
-
- DROP TABLE UNIQUE_TBL;
--- 1,2 ----
! psql: FATAL: The database system is starting up
======================================================================
*** ./expected/triggers.out Thu Mar 7 09:53:51 2002
--- ./results/triggers.out Thu Mar 7 10:43:15 2002
***************
*** 1,256 ****
! --
! -- TRIGGERS
! --
! create table pkeys (pkey1 int4 not null, pkey2 text not null);
! create table fkeys (fkey1 int4, fkey2 text, fkey3 int);
! create table fkeys2 (fkey21 int4, fkey22 text, pkey23 int not null);
! create index fkeys_i on fkeys (fkey1, fkey2);
! create index fkeys2_i on fkeys2 (fkey21, fkey22);
! create index fkeys2p_i on fkeys2 (pkey23);
! insert into pkeys values (10, '1');
! insert into pkeys values (20, '2');
! insert into pkeys values (30, '3');
! insert into pkeys values (40, '4');
! insert into pkeys values (50, '5');
! insert into pkeys values (60, '6');
! create unique index pkeys_i on pkeys (pkey1, pkey2);
! --
! -- For fkeys:
! -- (fkey1, fkey2) --> pkeys (pkey1, pkey2)
! -- (fkey3) --> fkeys2 (pkey23)
! --
! create trigger check_fkeys_pkey_exist
! before insert or update on fkeys
! for each row
! execute procedure
! check_primary_key ('fkey1', 'fkey2', 'pkeys', 'pkey1', 'pkey2');
! create trigger check_fkeys_pkey2_exist
! before insert or update on fkeys
! for each row
! execute procedure check_primary_key ('fkey3', 'fkeys2', 'pkey23');
! --
! -- For fkeys2:
! -- (fkey21, fkey22) --> pkeys (pkey1, pkey2)
! --
! create trigger check_fkeys2_pkey_exist
! before insert or update on fkeys2
! for each row
! execute procedure
! check_primary_key ('fkey21', 'fkey22', 'pkeys', 'pkey1', 'pkey2');
! --
! -- For pkeys:
! -- ON DELETE/UPDATE (pkey1, pkey2) CASCADE:
! -- fkeys (fkey1, fkey2) and fkeys2 (fkey21, fkey22)
! --
! create trigger check_pkeys_fkey_cascade
! before delete or update on pkeys
! for each row
! execute procedure
! check_foreign_key (2, 'cascade', 'pkey1', 'pkey2',
! 'fkeys', 'fkey1', 'fkey2', 'fkeys2', 'fkey21', 'fkey22');
! --
! -- For fkeys2:
! -- ON DELETE/UPDATE (pkey23) RESTRICT:
! -- fkeys (fkey3)
! --
! create trigger check_fkeys2_fkey_restrict
! before delete or update on fkeys2
! for each row
! execute procedure check_foreign_key (1, 'restrict', 'pkey23', 'fkeys', 'fkey3');
! insert into fkeys2 values (10, '1', 1);
! insert into fkeys2 values (30, '3', 2);
! insert into fkeys2 values (40, '4', 5);
! insert into fkeys2 values (50, '5', 3);
! -- no key in pkeys
! insert into fkeys2 values (70, '5', 3);
! ERROR: check_fkeys2_pkey_exist: tuple references non-existing key in pkeys
! insert into fkeys values (10, '1', 2);
! insert into fkeys values (30, '3', 3);
! insert into fkeys values (40, '4', 2);
! insert into fkeys values (50, '5', 2);
! -- no key in pkeys
! insert into fkeys values (70, '5', 1);
! ERROR: check_fkeys_pkey_exist: tuple references non-existing key in pkeys
! -- no key in fkeys2
! insert into fkeys values (60, '6', 4);
! ERROR: check_fkeys_pkey2_exist: tuple references non-existing key in fkeys2
! delete from pkeys where pkey1 = 30 and pkey2 = '3';
! ERROR: check_fkeys2_fkey_restrict: tuple referenced in fkeys
! delete from pkeys where pkey1 = 40 and pkey2 = '4';
! update pkeys set pkey1 = 7, pkey2 = '70' where pkey1 = 50 and pkey2 = '5';
! ERROR: check_fkeys2_fkey_restrict: tuple referenced in fkeys
! update pkeys set pkey1 = 7, pkey2 = '70' where pkey1 = 10 and pkey2 = '1';
! DROP TABLE pkeys;
! DROP TABLE fkeys;
! DROP TABLE fkeys2;
! -- -- I've disabled the funny_dup17 test because the new semantics
! -- -- of AFTER ROW triggers, which get now fired at the end of a
! -- -- query allways, cause funny_dup17 to enter an endless loop.
! -- --
! -- -- Jan
! --
! -- create table dup17 (x int4);
! --
! -- create trigger dup17_before
! -- before insert on dup17
! -- for each row
! -- execute procedure
! -- funny_dup17 ()
! -- ;
! --
! -- insert into dup17 values (17);
! -- select count(*) from dup17;
! -- insert into dup17 values (17);
! -- select count(*) from dup17;
! --
! -- drop trigger dup17_before on dup17;
! --
! -- create trigger dup17_after
! -- after insert on dup17
! -- for each row
! -- execute procedure
! -- funny_dup17 ()
! -- ;
! -- insert into dup17 values (13);
! -- select count(*) from dup17 where x = 13;
! -- insert into dup17 values (13);
! -- select count(*) from dup17 where x = 13;
! --
! -- DROP TABLE dup17;
! create sequence ttdummy_seq increment 10 start 0 minvalue 0;
! create table tttest (
! price_id int4,
! price_val int4,
! price_on int4,
! price_off int4 default 999999
! );
! create trigger ttdummy
! before delete or update on tttest
! for each row
! execute procedure
! ttdummy (price_on, price_off);
! create trigger ttserial
! before insert or update on tttest
! for each row
! execute procedure
! autoinc (price_on, ttdummy_seq);
! insert into tttest values (1, 1, null);
! insert into tttest values (2, 2, null);
! insert into tttest values (3, 3, 0);
! select * from tttest;
! price_id | price_val | price_on | price_off
! ----------+-----------+----------+-----------
! 1 | 1 | 10 | 999999
! 2 | 2 | 20 | 999999
! 3 | 3 | 30 | 999999
! (3 rows)
- delete from tttest where price_id = 2;
- select * from tttest;
- price_id | price_val | price_on | price_off
- ----------+-----------+----------+-----------
- 1 | 1 | 10 | 999999
- 3 | 3 | 30 | 999999
- 2 | 2 | 20 | 40
- (3 rows)
-
- -- what do we see ?
- -- get current prices
- select * from tttest where price_off = 999999;
- price_id | price_val | price_on | price_off
- ----------+-----------+----------+-----------
- 1 | 1 | 10 | 999999
- 3 | 3 | 30 | 999999
- (2 rows)
-
- -- change price for price_id == 3
- update tttest set price_val = 30 where price_id = 3;
- select * from tttest;
- price_id | price_val | price_on | price_off
- ----------+-----------+----------+-----------
- 1 | 1 | 10 | 999999
- 2 | 2 | 20 | 40
- 3 | 30 | 50 | 999999
- 3 | 3 | 30 | 50
- (4 rows)
-
- -- now we want to change pric_id in ALL tuples
- -- this gets us not what we need
- update tttest set price_id = 5 where price_id = 3;
- select * from tttest;
- price_id | price_val | price_on | price_off
- ----------+-----------+----------+-----------
- 1 | 1 | 10 | 999999
- 2 | 2 | 20 | 40
- 3 | 3 | 30 | 50
- 5 | 30 | 60 | 999999
- 3 | 30 | 50 | 60
- (5 rows)
-
- -- restore data as before last update:
- select set_ttdummy(0);
- set_ttdummy
- -------------
- 1
- (1 row)
-
- delete from tttest where price_id = 5;
- update tttest set price_off = 999999 where price_val = 30;
- select * from tttest;
- price_id | price_val | price_on | price_off
- ----------+-----------+----------+-----------
- 1 | 1 | 10 | 999999
- 2 | 2 | 20 | 40
- 3 | 3 | 30 | 50
- 3 | 30 | 50 | 999999
- (4 rows)
-
- -- and try change price_id now!
- update tttest set price_id = 5 where price_id = 3;
- select * from tttest;
- price_id | price_val | price_on | price_off
- ----------+-----------+----------+-----------
- 1 | 1 | 10 | 999999
- 2 | 2 | 20 | 40
- 5 | 3 | 30 | 50
- 5 | 30 | 50 | 999999
- (4 rows)
-
- -- isn't it what we need ?
- select set_ttdummy(1);
- set_ttdummy
- -------------
- 0
- (1 row)
-
- -- we want to correct some "date"
- update tttest set price_on = -1 where price_id = 1;
- ERROR: ttdummy (tttest): you can't change price_on and/or price_off columns (use set_ttdummy)
- -- but this doesn't work
- -- try in this way
- select set_ttdummy(0);
- set_ttdummy
- -------------
- 1
- (1 row)
-
- update tttest set price_on = -1 where price_id = 1;
- select * from tttest;
- price_id | price_val | price_on | price_off
- ----------+-----------+----------+-----------
- 2 | 2 | 20 | 40
- 5 | 3 | 30 | 50
- 5 | 30 | 50 | 999999
- 1 | 1 | -1 | 999999
- (4 rows)
-
- -- isn't it what we need ?
- -- get price for price_id == 5 as it was @ "date" 35
- select * from tttest where price_on <= 35 and price_off > 35 and price_id = 5;
- price_id | price_val | price_on | price_off
- ----------+-----------+----------+-----------
- 5 | 3 | 30 | 50
- (1 row)
-
- drop table tttest;
- drop sequence ttdummy_seq;
--- 1,2 ----
! psql: FATAL: The database system is starting up
======================================================================
*** ./expected/create_misc.out Thu Mar 7 09:53:51 2002
--- ./results/create_misc.out Thu Mar 7 10:43:14 2002
***************
*** 1,153 ****
! --
! -- CREATE_MISC
! --
! -- CLASS POPULATION
! -- (any resemblance to real life is purely coincidental)
! --
! INSERT INTO tenk2 VALUES (tenk1.*);
! SELECT * INTO TABLE onek2 FROM onek;
! INSERT INTO fast_emp4000 VALUES (slow_emp4000.*);
! SELECT *
! INTO TABLE Bprime
! FROM tenk1
! WHERE unique2 < 1000;
! INSERT INTO hobbies_r (name, person)
! SELECT 'posthacking', p.name
! FROM person* p
! WHERE p.name = 'mike' or p.name = 'jeff';
! INSERT INTO hobbies_r (name, person)
! SELECT 'basketball', p.name
! FROM person p
! WHERE p.name = 'joe' or p.name = 'sally';
! INSERT INTO hobbies_r (name) VALUES ('skywalking');
! INSERT INTO equipment_r (name, hobby) VALUES ('advil', 'posthacking');
! INSERT INTO equipment_r (name, hobby) VALUES ('peet''s coffee', 'posthacking');
! INSERT INTO equipment_r (name, hobby) VALUES ('hightops', 'basketball');
! INSERT INTO equipment_r (name, hobby) VALUES ('guts', 'skywalking');
! SELECT *
! INTO TABLE ramp
! FROM road
! WHERE name ~ '.*Ramp';
! INSERT INTO ihighway
! SELECT *
! FROM road
! WHERE name ~ 'I- .*';
! INSERT INTO shighway
! SELECT *
! FROM road
! WHERE name ~ 'State Hwy.*';
! UPDATE shighway
! SET surface = 'asphalt';
! INSERT INTO a_star (class, a) VALUES ('a', 1);
! INSERT INTO a_star (class, a) VALUES ('a', 2);
! INSERT INTO a_star (class) VALUES ('a');
! INSERT INTO b_star (class, a, b) VALUES ('b', 3, 'mumble'::text);
! INSERT INTO b_star (class, a) VALUES ('b', 4);
! INSERT INTO b_star (class, b) VALUES ('b', 'bumble'::text);
! INSERT INTO b_star (class) VALUES ('b');
! INSERT INTO c_star (class, a, c) VALUES ('c', 5, 'hi mom'::name);
! INSERT INTO c_star (class, a) VALUES ('c', 6);
! INSERT INTO c_star (class, c) VALUES ('c', 'hi paul'::name);
! INSERT INTO c_star (class) VALUES ('c');
! INSERT INTO d_star (class, a, b, c, d)
! VALUES ('d', 7, 'grumble'::text, 'hi sunita'::name, '0.0'::float8);
! INSERT INTO d_star (class, a, b, c)
! VALUES ('d', 8, 'stumble'::text, 'hi koko'::name);
! INSERT INTO d_star (class, a, b, d)
! VALUES ('d', 9, 'rumble'::text, '1.1'::float8);
! INSERT INTO d_star (class, a, c, d)
! VALUES ('d', 10, 'hi kristin'::name, '10.01'::float8);
! INSERT INTO d_star (class, b, c, d)
! VALUES ('d', 'crumble'::text, 'hi boris'::name, '100.001'::float8);
! INSERT INTO d_star (class, a, b)
! VALUES ('d', 11, 'fumble'::text);
! INSERT INTO d_star (class, a, c)
! VALUES ('d', 12, 'hi avi'::name);
! INSERT INTO d_star (class, a, d)
! VALUES ('d', 13, '1000.0001'::float8);
! INSERT INTO d_star (class, b, c)
! VALUES ('d', 'tumble'::text, 'hi andrew'::name);
! INSERT INTO d_star (class, b, d)
! VALUES ('d', 'humble'::text, '10000.00001'::float8);
! INSERT INTO d_star (class, c, d)
! VALUES ('d', 'hi ginger'::name, '100000.000001'::float8);
! INSERT INTO d_star (class, a) VALUES ('d', 14);
! INSERT INTO d_star (class, b) VALUES ('d', 'jumble'::text);
! INSERT INTO d_star (class, c) VALUES ('d', 'hi jolly'::name);
! INSERT INTO d_star (class, d) VALUES ('d', '1000000.0000001'::float8);
! INSERT INTO d_star (class) VALUES ('d');
! INSERT INTO e_star (class, a, c, e)
! VALUES ('e', 15, 'hi carol'::name, '-1'::int2);
! INSERT INTO e_star (class, a, c)
! VALUES ('e', 16, 'hi bob'::name);
! INSERT INTO e_star (class, a, e)
! VALUES ('e', 17, '-2'::int2);
! INSERT INTO e_star (class, c, e)
! VALUES ('e', 'hi michelle'::name, '-3'::int2);
! INSERT INTO e_star (class, a)
! VALUES ('e', 18);
! INSERT INTO e_star (class, c)
! VALUES ('e', 'hi elisa'::name);
! INSERT INTO e_star (class, e)
! VALUES ('e', '-4'::int2);
! INSERT INTO f_star (class, a, c, e, f)
! VALUES ('f', 19, 'hi claire'::name, '-5'::int2, '(1,3),(2,4)'::polygon);
! INSERT INTO f_star (class, a, c, e)
! VALUES ('f', 20, 'hi mike'::name, '-6'::int2);
! INSERT INTO f_star (class, a, c, f)
! VALUES ('f', 21, 'hi marcel'::name, '(11,44),(22,55),(33,66)'::polygon);
! INSERT INTO f_star (class, a, e, f)
! VALUES ('f', 22, '-7'::int2, '(111,555),(222,666),(333,777),(444,888)'::polygon);
! INSERT INTO f_star (class, c, e, f)
! VALUES ('f', 'hi keith'::name, '-8'::int2,
! '(1111,3333),(2222,4444)'::polygon);
! INSERT INTO f_star (class, a, c)
! VALUES ('f', 24, 'hi marc'::name);
! INSERT INTO f_star (class, a, e)
! VALUES ('f', 25, '-9'::int2);
! INSERT INTO f_star (class, a, f)
! VALUES ('f', 26, '(11111,33333),(22222,44444)'::polygon);
! INSERT INTO f_star (class, c, e)
! VALUES ('f', 'hi allison'::name, '-10'::int2);
! INSERT INTO f_star (class, c, f)
! VALUES ('f', 'hi jeff'::name,
! '(111111,333333),(222222,444444)'::polygon);
! INSERT INTO f_star (class, e, f)
! VALUES ('f', '-11'::int2, '(1111111,3333333),(2222222,4444444)'::polygon);
! INSERT INTO f_star (class, a) VALUES ('f', 27);
! INSERT INTO f_star (class, c) VALUES ('f', 'hi carl'::name);
! INSERT INTO f_star (class, e) VALUES ('f', '-12'::int2);
! INSERT INTO f_star (class, f)
! VALUES ('f', '(11111111,33333333),(22222222,44444444)'::polygon);
! INSERT INTO f_star (class) VALUES ('f');
! --
! -- for internal portal (cursor) tests
! --
! CREATE TABLE iportaltest (
! i int4,
! d float4,
! p polygon
! );
! INSERT INTO iportaltest (i, d, p)
! VALUES (1, 3.567, '(3.0,1.0),(4.0,2.0)'::polygon);
! INSERT INTO iportaltest (i, d, p)
! VALUES (2, 89.05, '(4.0,2.0),(3.0,1.0)'::polygon);
! ---
! --- test creation of SERIAL column
! ---
! CREATE TABLE serialTest (f1 text, f2 serial);
! NOTICE: CREATE TABLE will create implicit sequence 'serialtest_f2_seq' for SERIAL column 'serialtest.f2'
! NOTICE: CREATE TABLE / UNIQUE will create implicit index 'serialtest_f2_key' for table 'serialtest'
! INSERT INTO serialTest VALUES ('foo');
! INSERT INTO serialTest VALUES ('bar');
! INSERT INTO serialTest VALUES ('force', 100);
! INSERT INTO serialTest VALUES ('wrong', NULL);
! ERROR: ExecAppend: Fail to add null value in not null attribute f2
! SELECT * FROM serialTest;
! f1 | f2
! -------+-----
! foo | 1
! bar | 2
! force | 100
! (3 rows)
--- 1,2 ----
! psql: FATAL: The database system is starting up
======================================================================
*** ./expected/create_aggregate.out Mon Jul 17 11:05:37 2000
--- ./results/create_aggregate.out Thu Mar 7 10:43:15 2002
***************
*** 1,19 ****
! --
! -- CREATE_AGGREGATE
! --
! -- all functions CREATEd
! CREATE AGGREGATE newavg (
! sfunc = int4_accum, basetype = int4, stype = _numeric,
! finalfunc = numeric_avg,
! initcond1 = '{0,0,0}'
! );
! -- without finalfunc; test obsolete spellings 'sfunc1' etc
! CREATE AGGREGATE newsum (
! sfunc1 = int4pl, basetype = int4, stype1 = int4,
! initcond1 = '0'
! );
! -- value-independent transition function
! CREATE AGGREGATE newcnt (
! sfunc = int4inc, basetype = 'any', stype = int4,
! initcond = '0'
! );
--- 1,2 ----
! psql: FATAL: The database system is starting up
!
======================================================================
*** ./expected/create_operator.out Thu Jan 6 01:31:08 2000
--- ./results/create_operator.out Thu Mar 7 10:43:15 2002
***************
*** 1,28 ****
! --
! -- CREATE_OPERATOR
! --
! CREATE OPERATOR ## (
! leftarg = path,
! rightarg = path,
! procedure = path_inter,
! commutator = ##
! );
! CREATE OPERATOR <% (
! leftarg = point,
! rightarg = widget,
! procedure = pt_in_widget,
! commutator = >% ,
! negator = >=%
! );
! CREATE OPERATOR @#@ (
! rightarg = int4, -- left unary
! procedure = int4fac
! );
! CREATE OPERATOR #@# (
! leftarg = int4, -- right unary
! procedure = int4fac
! );
! CREATE OPERATOR #%# (
! leftarg = int4, -- right unary
! procedure = int4fac
! );
--- 1,2 ----
! psql: FATAL: The database system is starting up
!
======================================================================
*** ./expected/create_index.out Tue Aug 28 07:23:34 2001
--- ./results/create_index.out Thu Mar 7 10:43:15 2002
***************
*** 1,83 ****
! --
! -- CREATE_INDEX
! -- Create ancillary data structures (i.e. indices)
! --
! --
! -- BTREE
! --
! CREATE INDEX onek_unique1 ON onek USING btree(unique1 int4_ops);
! CREATE INDEX onek_unique2 ON onek USING btree(unique2 int4_ops);
! CREATE INDEX onek_hundred ON onek USING btree(hundred int4_ops);
! CREATE INDEX onek_stringu1 ON onek USING btree(stringu1 name_ops);
! CREATE INDEX tenk1_unique1 ON tenk1 USING btree(unique1 int4_ops);
! CREATE INDEX tenk1_unique2 ON tenk1 USING btree(unique2 int4_ops);
! CREATE INDEX tenk1_hundred ON tenk1 USING btree(hundred int4_ops);
! CREATE INDEX tenk2_unique1 ON tenk2 USING btree(unique1 int4_ops);
! CREATE INDEX tenk2_unique2 ON tenk2 USING btree(unique2 int4_ops);
! CREATE INDEX tenk2_hundred ON tenk2 USING btree(hundred int4_ops);
! CREATE INDEX rix ON road USING btree (name text_ops);
! CREATE INDEX iix ON ihighway USING btree (name text_ops);
! CREATE INDEX six ON shighway USING btree (name text_ops);
! --
! -- BTREE ascending/descending cases
! --
! -- we load int4/text from pure descending data (each key is a new
! -- low key) and name/f8 from pure ascending data (each key is a new
! -- high key). we had a bug where new low keys would sometimes be
! -- "lost".
! --
! CREATE INDEX bt_i4_index ON bt_i4_heap USING btree (seqno int4_ops);
! CREATE INDEX bt_name_index ON bt_name_heap USING btree (seqno name_ops);
! CREATE INDEX bt_txt_index ON bt_txt_heap USING btree (seqno text_ops);
! CREATE INDEX bt_f8_index ON bt_f8_heap USING btree (seqno float8_ops);
! --
! -- BTREE partial indices
! --
! CREATE INDEX onek2_u1_prtl ON onek2 USING btree(unique1 int4_ops)
! where unique1 < 20 or unique1 > 980;
! CREATE INDEX onek2_u2_prtl ON onek2 USING btree(unique2 int4_ops)
! where stringu1 < 'B';
! CREATE INDEX onek2_stu1_prtl ON onek2 USING btree(stringu1 name_ops)
! where onek2.stringu1 >= 'J' and onek2.stringu1 < 'K';
! --
! -- RTREE
! --
! -- rtrees use a quadratic page-splitting algorithm that takes a
! -- really, really long time. we don't test all rtree opclasses
! -- in the regression test (we check them using the sequoia 2000
! -- benchmark).
! --
! CREATE INDEX rect2ind ON fast_emp4000 USING rtree (home_base bigbox_ops);
! -- there's no easy way to check that this command actually is using
! -- the index, unfortunately. (EXPLAIN would work, but its output
! -- changes too often for me to want to put an EXPLAIN in the test...)
! SELECT * FROM fast_emp4000
! WHERE home_base @ '(200,200),(2000,1000)'::box
! ORDER BY home_base USING <<;
! home_base
! -----------------------
! (337,455),(240,359)
! (1444,403),(1346,344)
! (2 rows)
- --
- -- HASH
- --
- CREATE INDEX hash_i4_index ON hash_i4_heap USING hash (random int4_ops);
- CREATE INDEX hash_name_index ON hash_name_heap USING hash (random name_ops);
- CREATE INDEX hash_txt_index ON hash_txt_heap USING hash (random text_ops);
- CREATE INDEX hash_f8_index ON hash_f8_heap USING hash (random float8_ops);
- -- CREATE INDEX hash_ovfl_index ON hash_ovfl_heap USING hash (x int4_ops);
- --
- -- Test functional index
- --
- CREATE TABLE func_index_heap (f1 text, f2 text);
- CREATE UNIQUE INDEX func_index_index on func_index_heap (textcat(f1,f2));
- INSERT INTO func_index_heap VALUES('ABC','DEF');
- INSERT INTO func_index_heap VALUES('AB','CDEFG');
- INSERT INTO func_index_heap VALUES('QWE','RTY');
- -- this should fail because of unique index:
- INSERT INTO func_index_heap VALUES('ABCD', 'EF');
- ERROR: Cannot insert a duplicate key into unique index func_index_index
- -- but this shouldn't:
- INSERT INTO func_index_heap VALUES('QWERTY');
--- 1,2 ----
! psql: FATAL: The database system is starting up
======================================================================
*** ./expected/inherit.out Thu Mar 7 09:53:51 2002
--- ./results/inherit.out Thu Mar 7 10:43:15 2002
***************
*** 1,536 ****
! --
! -- Test inheritance features
! --
! CREATE TABLE a (aa TEXT);
! CREATE TABLE b (bb TEXT) INHERITS (a);
! CREATE TABLE c (cc TEXT) INHERITS (a);
! CREATE TABLE d (dd TEXT) INHERITS (b,c,a);
! NOTICE: CREATE TABLE: merging multiple inherited definitions of attribute "aa"
! NOTICE: CREATE TABLE: merging multiple inherited definitions of attribute "aa"
! INSERT INTO a(aa) VALUES('aaa');
! INSERT INTO a(aa) VALUES('aaaa');
! INSERT INTO a(aa) VALUES('aaaaa');
! INSERT INTO a(aa) VALUES('aaaaaa');
! INSERT INTO a(aa) VALUES('aaaaaaa');
! INSERT INTO a(aa) VALUES('aaaaaaaa');
! INSERT INTO b(aa) VALUES('bbb');
! INSERT INTO b(aa) VALUES('bbbb');
! INSERT INTO b(aa) VALUES('bbbbb');
! INSERT INTO b(aa) VALUES('bbbbbb');
! INSERT INTO b(aa) VALUES('bbbbbbb');
! INSERT INTO b(aa) VALUES('bbbbbbbb');
! INSERT INTO c(aa) VALUES('ccc');
! INSERT INTO c(aa) VALUES('cccc');
! INSERT INTO c(aa) VALUES('ccccc');
! INSERT INTO c(aa) VALUES('cccccc');
! INSERT INTO c(aa) VALUES('ccccccc');
! INSERT INTO c(aa) VALUES('cccccccc');
! INSERT INTO d(aa) VALUES('ddd');
! INSERT INTO d(aa) VALUES('dddd');
! INSERT INTO d(aa) VALUES('ddddd');
! INSERT INTO d(aa) VALUES('dddddd');
! INSERT INTO d(aa) VALUES('ddddddd');
! INSERT INTO d(aa) VALUES('dddddddd');
! SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid;
! relname | aa
! ---------+----------
! a | aaa
! a | aaaa
! a | aaaaa
! a | aaaaaa
! a | aaaaaaa
! a | aaaaaaaa
! b | bbb
! b | bbbb
! b | bbbbb
! b | bbbbbb
! b | bbbbbbb
! b | bbbbbbbb
! c | ccc
! c | cccc
! c | ccccc
! c | cccccc
! c | ccccccc
! c | cccccccc
! d | ddd
! d | dddd
! d | ddddd
! d | dddddd
! d | ddddddd
! d | dddddddd
! (24 rows)
!
! SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid;
! relname | aa | bb
! ---------+----------+----
! b | bbb |
! b | bbbb |
! b | bbbbb |
! b | bbbbbb |
! b | bbbbbbb |
! b | bbbbbbbb |
! d | ddd |
! d | dddd |
! d | ddddd |
! d | dddddd |
! d | ddddddd |
! d | dddddddd |
! (12 rows)
!
! SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid;
! relname | aa | cc
! ---------+----------+----
! c | ccc |
! c | cccc |
! c | ccccc |
! c | cccccc |
! c | ccccccc |
! c | cccccccc |
! d | ddd |
! d | dddd |
! d | ddddd |
! d | dddddd |
! d | ddddddd |
! d | dddddddd |
! (12 rows)
!
! SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid;
! relname | aa | bb | cc | dd
! ---------+----------+----+----+----
! d | ddd | | |
! d | dddd | | |
! d | ddddd | | |
! d | dddddd | | |
! d | ddddddd | | |
! d | dddddddd | | |
! (6 rows)
!
! SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid;
! relname | aa
! ---------+----------
! a | aaa
! a | aaaa
! a | aaaaa
! a | aaaaaa
! a | aaaaaaa
! a | aaaaaaaa
! (6 rows)
!
! SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid;
! relname | aa | bb
! ---------+----------+----
! b | bbb |
! b | bbbb |
! b | bbbbb |
! b | bbbbbb |
! b | bbbbbbb |
! b | bbbbbbbb |
! (6 rows)
!
! SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid;
! relname | aa | cc
! ---------+----------+----
! c | ccc |
! c | cccc |
! c | ccccc |
! c | cccccc |
! c | ccccccc |
! c | cccccccc |
! (6 rows)
!
! SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid;
! relname | aa | bb | cc | dd
! ---------+----------+----+----+----
! d | ddd | | |
! d | dddd | | |
! d | ddddd | | |
! d | dddddd | | |
! d | ddddddd | | |
! d | dddddddd | | |
! (6 rows)
!
! UPDATE a SET aa='zzzz' WHERE aa='aaaa';
! UPDATE ONLY a SET aa='zzzzz' WHERE aa='aaaaa';
! UPDATE b SET aa='zzz' WHERE aa='aaa';
! UPDATE ONLY b SET aa='zzz' WHERE aa='aaa';
! UPDATE a SET aa='zzzzzz' WHERE aa LIKE 'aaa%';
! SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid;
! relname | aa
! ---------+----------
! a | zzzz
! a | zzzzz
! a | zzzzzz
! a | zzzzzz
! a | zzzzzz
! a | zzzzzz
! b | bbb
! b | bbbb
! b | bbbbb
! b | bbbbbb
! b | bbbbbbb
! b | bbbbbbbb
! c | ccc
! c | cccc
! c | ccccc
! c | cccccc
! c | ccccccc
! c | cccccccc
! d | ddd
! d | dddd
! d | ddddd
! d | dddddd
! d | ddddddd
! d | dddddddd
! (24 rows)
!
! SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid;
! relname | aa | bb
! ---------+----------+----
! b | bbb |
! b | bbbb |
! b | bbbbb |
! b | bbbbbb |
! b | bbbbbbb |
! b | bbbbbbbb |
! d | ddd |
! d | dddd |
! d | ddddd |
! d | dddddd |
! d | ddddddd |
! d | dddddddd |
! (12 rows)
!
! SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid;
! relname | aa | cc
! ---------+----------+----
! c | ccc |
! c | cccc |
! c | ccccc |
! c | cccccc |
! c | ccccccc |
! c | cccccccc |
! d | ddd |
! d | dddd |
! d | ddddd |
! d | dddddd |
! d | ddddddd |
! d | dddddddd |
! (12 rows)
!
! SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid;
! relname | aa | bb | cc | dd
! ---------+----------+----+----+----
! d | ddd | | |
! d | dddd | | |
! d | ddddd | | |
! d | dddddd | | |
! d | ddddddd | | |
! d | dddddddd | | |
! (6 rows)
!
! SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid;
! relname | aa
! ---------+--------
! a | zzzz
! a | zzzzz
! a | zzzzzz
! a | zzzzzz
! a | zzzzzz
! a | zzzzzz
! (6 rows)
!
! SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid;
! relname | aa | bb
! ---------+----------+----
! b | bbb |
! b | bbbb |
! b | bbbbb |
! b | bbbbbb |
! b | bbbbbbb |
! b | bbbbbbbb |
! (6 rows)
!
! SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid;
! relname | aa | cc
! ---------+----------+----
! c | ccc |
! c | cccc |
! c | ccccc |
! c | cccccc |
! c | ccccccc |
! c | cccccccc |
! (6 rows)
!
! SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid;
! relname | aa | bb | cc | dd
! ---------+----------+----+----+----
! d | ddd | | |
! d | dddd | | |
! d | ddddd | | |
! d | dddddd | | |
! d | ddddddd | | |
! d | dddddddd | | |
! (6 rows)
!
! UPDATE b SET aa='new';
! SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid;
! relname | aa
! ---------+----------
! a | zzzz
! a | zzzzz
! a | zzzzzz
! a | zzzzzz
! a | zzzzzz
! a | zzzzzz
! b | new
! b | new
! b | new
! b | new
! b | new
! b | new
! c | ccc
! c | cccc
! c | ccccc
! c | cccccc
! c | ccccccc
! c | cccccccc
! d | new
! d | new
! d | new
! d | new
! d | new
! d | new
! (24 rows)
!
! SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid;
! relname | aa | bb
! ---------+-----+----
! b | new |
! b | new |
! b | new |
! b | new |
! b | new |
! b | new |
! d | new |
! d | new |
! d | new |
! d | new |
! d | new |
! d | new |
! (12 rows)
!
! SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid;
! relname | aa | cc
! ---------+----------+----
! c | ccc |
! c | cccc |
! c | ccccc |
! c | cccccc |
! c | ccccccc |
! c | cccccccc |
! d | new |
! d | new |
! d | new |
! d | new |
! d | new |
! d | new |
! (12 rows)
!
! SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid;
! relname | aa | bb | cc | dd
! ---------+-----+----+----+----
! d | new | | |
! d | new | | |
! d | new | | |
! d | new | | |
! d | new | | |
! d | new | | |
! (6 rows)
!
! SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid;
! relname | aa
! ---------+--------
! a | zzzz
! a | zzzzz
! a | zzzzzz
! a | zzzzzz
! a | zzzzzz
! a | zzzzzz
! (6 rows)
!
! SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid;
! relname | aa | bb
! ---------+-----+----
! b | new |
! b | new |
! b | new |
! b | new |
! b | new |
! b | new |
! (6 rows)
!
! SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid;
! relname | aa | cc
! ---------+----------+----
! c | ccc |
! c | cccc |
! c | ccccc |
! c | cccccc |
! c | ccccccc |
! c | cccccccc |
! (6 rows)
!
! SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid;
! relname | aa | bb | cc | dd
! ---------+-----+----+----+----
! d | new | | |
! d | new | | |
! d | new | | |
! d | new | | |
! d | new | | |
! d | new | | |
! (6 rows)
!
! UPDATE a SET aa='new';
! DELETE FROM ONLY c WHERE aa='new';
! SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid;
! relname | aa
! ---------+-----
! a | new
! a | new
! a | new
! a | new
! a | new
! a | new
! b | new
! b | new
! b | new
! b | new
! b | new
! b | new
! d | new
! d | new
! d | new
! d | new
! d | new
! d | new
! (18 rows)
!
! SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid;
! relname | aa | bb
! ---------+-----+----
! b | new |
! b | new |
! b | new |
! b | new |
! b | new |
! b | new |
! d | new |
! d | new |
! d | new |
! d | new |
! d | new |
! d | new |
! (12 rows)
!
! SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid;
! relname | aa | cc
! ---------+-----+----
! d | new |
! d | new |
! d | new |
! d | new |
! d | new |
! d | new |
! (6 rows)
!
! SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid;
! relname | aa | bb | cc | dd
! ---------+-----+----+----+----
! d | new | | |
! d | new | | |
! d | new | | |
! d | new | | |
! d | new | | |
! d | new | | |
! (6 rows)
!
! SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid;
! relname | aa
! ---------+-----
! a | new
! a | new
! a | new
! a | new
! a | new
! a | new
! (6 rows)
!
! SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid;
! relname | aa | bb
! ---------+-----+----
! b | new |
! b | new |
! b | new |
! b | new |
! b | new |
! b | new |
! (6 rows)
!
! SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid;
! relname | aa | cc
! ---------+----+----
! (0 rows)
!
! SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid;
! relname | aa | bb | cc | dd
! ---------+-----+----+----+----
! d | new | | |
! d | new | | |
! d | new | | |
! d | new | | |
! d | new | | |
! d | new | | |
! (6 rows)
!
! DELETE FROM a;
! SELECT relname, a.* FROM a, pg_class where a.tableoid = pg_class.oid;
! relname | aa
! ---------+----
! (0 rows)
!
! SELECT relname, b.* FROM b, pg_class where b.tableoid = pg_class.oid;
! relname | aa | bb
! ---------+----+----
! (0 rows)
!
! SELECT relname, c.* FROM c, pg_class where c.tableoid = pg_class.oid;
! relname | aa | cc
! ---------+----+----
! (0 rows)
!
! SELECT relname, d.* FROM d, pg_class where d.tableoid = pg_class.oid;
! relname | aa | bb | cc | dd
! ---------+----+----+----+----
! (0 rows)
!
! SELECT relname, a.* FROM ONLY a, pg_class where a.tableoid = pg_class.oid;
! relname | aa
! ---------+----
! (0 rows)
!
! SELECT relname, b.* FROM ONLY b, pg_class where b.tableoid = pg_class.oid;
! relname | aa | bb
! ---------+----+----
! (0 rows)
!
! SELECT relname, c.* FROM ONLY c, pg_class where c.tableoid = pg_class.oid;
! relname | aa | cc
! ---------+----+----
! (0 rows)
!
! SELECT relname, d.* FROM ONLY d, pg_class where d.tableoid = pg_class.oid;
! relname | aa | bb | cc | dd
! ---------+----+----+----+----
! (0 rows)
--- 1,2 ----
! psql: FATAL: The database system is starting up
======================================================================
*** ./expected/create_view.out Sat Jun 10 13:19:14 2000
--- ./results/create_view.out Thu Mar 7 10:43:17 2002
***************
*** 1,17 ****
! --
! -- CREATE_VIEW
! -- Virtual class definitions
! -- (this also tests the query rewrite system)
! --
! CREATE VIEW street AS
! SELECT r.name, r.thepath, c.cname AS cname
! FROM ONLY road r, real_city c
! WHERE c.outline ## r.thepath;
! CREATE VIEW iexit AS
! SELECT ih.name, ih.thepath,
! interpt_pp(ih.thepath, r.thepath) AS exit
! FROM ihighway ih, ramp r
! WHERE ih.thepath ## r.thepath;
! CREATE VIEW toyemp AS
! SELECT name, age, location, 12*salary AS annualsal
! FROM emp;
--- 1,2 ----
! psql: FATAL: The database system is starting up
!
======================================================================
*** ./expected/sanity_check.out Tue Aug 28 07:23:34 2001
--- ./results/sanity_check.out Thu Mar 7 10:43:17 2002
***************
*** 1,63 ****
! VACUUM;
! --
! -- sanity check, if we don't have indices the test will take years to
! -- complete. But skip TOAST relations since they will have varying
! -- names depending on the current OID counter.
! --
! SELECT relname, relhasindex
! FROM pg_class
! WHERE relhasindex AND relkind != 't'
! ORDER BY relname;
! relname | relhasindex
! ---------------------+-------------
! bt_f8_heap | t
! bt_i4_heap | t
! bt_name_heap | t
! bt_txt_heap | t
! fast_emp4000 | t
! func_index_heap | t
! hash_f8_heap | t
! hash_i4_heap | t
! hash_name_heap | t
! hash_txt_heap | t
! ihighway | t
! num_exp_add | t
! num_exp_div | t
! num_exp_ln | t
! num_exp_log10 | t
! num_exp_mul | t
! num_exp_power_10_ln | t
! num_exp_sqrt | t
! num_exp_sub | t
! onek | t
! onek2 | t
! pg_aggregate | t
! pg_am | t
! pg_amop | t
! pg_amproc | t
! pg_attrdef | t
! pg_attribute | t
! pg_class | t
! pg_database | t
! pg_description | t
! pg_group | t
! pg_index | t
! pg_inherits | t
! pg_language | t
! pg_largeobject | t
! pg_opclass | t
! pg_operator | t
! pg_proc | t
! pg_relcheck | t
! pg_rewrite | t
! pg_shadow | t
! pg_statistic | t
! pg_trigger | t
! pg_type | t
! road | t
! serialtest | t
! shighway | t
! tenk1 | t
! tenk2 | t
! (49 rows)
--- 1,2 ----
! psql: FATAL: The database system is starting up
======================================================================
*** ./expected/errors.out Thu Mar 7 09:53:51 2002
--- ./results/errors.out Thu Mar 7 10:43:17 2002
***************
*** 1,233 ****
! --
! -- ERRORS
! --
! -- bad in postquel, but ok in postsql
! select 1
! --
! -- UNSUPPORTED STUFF
- -- doesn't work
- -- attachas nonesuch
- --
- -- doesn't work
- -- notify pg_class
- --
- --
- -- RETRIEVE
-
- -- missing relation name
- select
- -- no such relation
- select * from nonesuch;
- ERROR: parser: parse error at or near "select"
- -- bad name in target list
- select nonesuch from pg_database;
- ERROR: Attribute 'nonesuch' not found
- -- bad attribute name on lhs of operator
- select * from pg_database where nonesuch = pg_database.datname;
- ERROR: Attribute 'nonesuch' not found
- -- bad attribute name on rhs of operator
- select * from pg_database where pg_database.datname = nonesuch;
- ERROR: Attribute 'nonesuch' not found
- -- bad select distinct on syntax, distinct attribute missing
- select distinct on (foobar) from pg_database;
- ERROR: parser: parse error at or near "from"
- -- bad select distinct on syntax, distinct attribute not in target list
- select distinct on (foobar) * from pg_database;
- ERROR: Attribute 'foobar' not found
- --
- -- DELETE
-
- -- missing relation name (this had better not wildcard!)
- delete from;
- ERROR: parser: parse error at or near ";"
- -- no such relation
- delete from nonesuch;
- ERROR: Relation "nonesuch" does not exist
- --
- -- DESTROY
-
- -- missing relation name (this had better not wildcard!)
- drop table;
- ERROR: parser: parse error at or near ";"
- -- no such relation
- drop table nonesuch;
- ERROR: table "nonesuch" does not exist
- --
- -- RENAME
-
- -- relation renaming
- -- missing relation name
- alter table rename;
- ERROR: parser: parse error at or near ";"
- -- no such relation
- alter table nonesuch rename to newnonesuch;
- ERROR: Relation "nonesuch" does not exist
- -- no such relation
- alter table nonesuch rename to stud_emp;
- ERROR: Relation "nonesuch" does not exist
- -- system relation
- alter table stud_emp rename to pg_stud_emp;
- ERROR: renamerel: Illegal class name: "pg_stud_emp" -- pg_ is reserved for system catalogs
- -- conflict
- alter table stud_emp rename to aggtest;
- ERROR: renamerel: relation "aggtest" exists
- -- self-conflict
- alter table stud_emp rename to stud_emp;
- ERROR: renamerel: relation "stud_emp" exists
- -- attribute renaming
- -- no such relation
- alter table nonesuchrel rename column nonesuchatt to newnonesuchatt;
- ERROR: Relation "nonesuchrel" does not exist
- -- no such attribute
- alter table emp rename column nonesuchatt to newnonesuchatt;
- ERROR: renameatt: attribute "nonesuchatt" does not exist
- -- conflict
- alter table emp rename column salary to manager;
- ERROR: renameatt: attribute "manager" exists
- -- conflict
- alter table emp rename column salary to oid;
- ERROR: renameatt: attribute "oid" exists
- --
- -- TRANSACTION STUFF
-
- -- not in a xact
- abort;
- WARNING: ROLLBACK: no transaction in progress
- -- not in a xact
- end;
- WARNING: COMMIT: no transaction in progress
- --
- -- DEFINE AGGREGATE
- -- sfunc/finalfunc type disagreement
- create aggregate newavg2 (sfunc = int4pl,
- basetype = int4,
- stype = int4,
- finalfunc = int2um,
- initcond = '0');
- ERROR: AggregateCreate: function 'int2um(int4)' does not exist
- -- left out basetype
- create aggregate newcnt1 (sfunc = int4inc,
- stype = int4,
- initcond = '0');
- ERROR: Define: "basetype" unspecified
- --
- -- REMOVE INDEX
-
- -- missing index name
- drop index;
- ERROR: parser: parse error at or near ";"
- -- bad index name
- drop index 314159;
- ERROR: parser: parse error at or near "314159"
- -- no such index
- drop index nonesuch;
- ERROR: index "nonesuch" does not exist
- --
- -- REMOVE AGGREGATE
-
- -- missing aggregate name
- drop aggregate;
- ERROR: parser: parse error at or near ";"
- -- missing aggregate type
- drop aggregate newcnt1;
- ERROR: parser: parse error at or near ";"
- -- bad aggregate name
- drop aggregate 314159 (int);
- ERROR: parser: parse error at or near "314159"
- -- bad aggregate type
- drop aggregate newcnt (nonesuch);
- ERROR: RemoveAggregate: type 'nonesuch' does not exist
- -- no such aggregate
- drop aggregate nonesuch (int4);
- ERROR: RemoveAggregate: aggregate 'nonesuch' for type integer does not exist
- -- no such aggregate for type
- drop aggregate newcnt (float4);
- ERROR: RemoveAggregate: aggregate 'newcnt' for type real does not exist
- --
- -- REMOVE FUNCTION
-
- -- missing function name
- drop function ();
- ERROR: parser: parse error at or near "("
- -- bad function name
- drop function 314159();
- ERROR: parser: parse error at or near "314159"
- -- no such function
- drop function nonesuch();
- ERROR: RemoveFunction: function 'nonesuch()' does not exist
- --
- -- REMOVE TYPE
-
- -- missing type name
- drop type;
- ERROR: parser: parse error at or near ";"
- -- bad type name
- drop type 314159;
- ERROR: parser: parse error at or near "314159"
- -- no such type
- drop type nonesuch;
- ERROR: RemoveType: type 'nonesuch' does not exist
- --
- -- DROP OPERATOR
-
- -- missing everything
- drop operator;
- ERROR: parser: parse error at or near ";"
- -- bad operator name
- drop operator equals;
- ERROR: parser: parse error at or near "equals"
- -- missing type list
- drop operator ===;
- ERROR: parser: parse error at or near ";"
- -- missing parentheses
- drop operator int4, int4;
- ERROR: parser: parse error at or near "int4"
- -- missing operator name
- drop operator (int4, int4);
- ERROR: parser: parse error at or near "("
- -- missing type list contents
- drop operator === ();
- ERROR: parser: parse error at or near ")"
- -- no such operator
- drop operator === (int4);
- ERROR: parser: argument type missing (use NONE for unary operators)
- -- no such operator by that name
- drop operator === (int4, int4);
- ERROR: RemoveOperator: binary operator '===' taking 'int4' and 'int4' does not exist
- -- no such type1
- drop operator = (nonesuch);
- ERROR: parser: argument type missing (use NONE for unary operators)
- -- no such type1
- drop operator = ( , int4);
- ERROR: parser: parse error at or near ","
- -- no such type1
- drop operator = (nonesuch, int4);
- ERROR: RemoveOperator: type 'nonesuch' does not exist
- -- no such type2
- drop operator = (int4, nonesuch);
- ERROR: RemoveOperator: type 'nonesuch' does not exist
- -- no such type2
- drop operator = (int4, );
- ERROR: parser: parse error at or near ")"
- --
- -- DROP RULE
-
- -- missing rule name
- drop rule;
- ERROR: parser: parse error at or near ";"
- -- bad rule name
- drop rule 314159;
- ERROR: parser: parse error at or near "314159"
- -- no such rule
- drop rule nonesuch;
- ERROR: Rule or view "nonesuch" not found
- -- bad keyword
- drop tuple rule nonesuch;
- ERROR: parser: parse error at or near "tuple"
- -- no such rule
- drop instance rule nonesuch;
- ERROR: parser: parse error at or near "instance"
- -- no such rule
- drop rewrite rule nonesuch;
- ERROR: parser: parse error at or near "rewrite"
--- 1,2 ----
! psql: FATAL: The database system is starting up
======================================================================
*** ./expected/select.out Mon Jul 16 13:07:00 2001
--- ./results/select.out Thu Mar 7 10:43:18 2002
***************
*** 6,84 ****
--
SELECT onek.* WHERE onek.unique1 < 10
ORDER BY onek.unique1;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 0 | 998 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | AAAAAA | KMBAAA | OOOOxx
! 1 | 214 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 3 | BAAAAA | GIAAAA | OOOOxx
! 2 | 326 | 0 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 4 | 5 | CAAAAA | OMAAAA | OOOOxx
! 3 | 431 | 1 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 6 | 7 | DAAAAA | PQAAAA | VVVVxx
! 4 | 833 | 0 | 0 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 8 | 9 | EAAAAA | BGBAAA | HHHHxx
! 5 | 541 | 1 | 1 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 10 | 11 | FAAAAA | VUAAAA | HHHHxx
! 6 | 978 | 0 | 2 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 12 | 13 | GAAAAA | QLBAAA | OOOOxx
! 7 | 647 | 1 | 3 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 14 | 15 | HAAAAA | XYAAAA | VVVVxx
! 8 | 653 | 0 | 0 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 16 | 17 | IAAAAA | DZAAAA | HHHHxx
! 9 | 49 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 18 | 19 | JAAAAA | XBAAAA | HHHHxx
! (10 rows)
!
--
-- awk '{if($1<20){print $1,$14;}else{next;}}' onek.data | sort +0nr -1
--
SELECT onek.unique1, onek.stringu1
WHERE onek.unique1 < 20
ORDER BY unique1 using >;
! unique1 | stringu1
! ---------+----------
! 19 | TAAAAA
! 18 | SAAAAA
! 17 | RAAAAA
! 16 | QAAAAA
! 15 | PAAAAA
! 14 | OAAAAA
! 13 | NAAAAA
! 12 | MAAAAA
! 11 | LAAAAA
! 10 | KAAAAA
! 9 | JAAAAA
! 8 | IAAAAA
! 7 | HAAAAA
! 6 | GAAAAA
! 5 | FAAAAA
! 4 | EAAAAA
! 3 | DAAAAA
! 2 | CAAAAA
! 1 | BAAAAA
! 0 | AAAAAA
! (20 rows)
!
--
-- awk '{if($1>980){print $1,$14;}else{next;}}' onek.data | sort +1d -2
--
SELECT onek.unique1, onek.stringu1
WHERE onek.unique1 > 980
ORDER BY stringu1 using <;
! unique1 | stringu1
! ---------+----------
! 988 | AMAAAA
! 989 | BMAAAA
! 990 | CMAAAA
! 991 | DMAAAA
! 992 | EMAAAA
! 993 | FMAAAA
! 994 | GMAAAA
! 995 | HMAAAA
! 996 | IMAAAA
! 997 | JMAAAA
! 998 | KMAAAA
! 999 | LMAAAA
! 981 | TLAAAA
! 982 | ULAAAA
! 983 | VLAAAA
! 984 | WLAAAA
! 985 | XLAAAA
! 986 | YLAAAA
! 987 | ZLAAAA
! (19 rows)
!
--
-- awk '{if($1>980){print $1,$16;}else{next;}}' onek.data |
--- 6,26 ----
--
SELECT onek.* WHERE onek.unique1 < 10
ORDER BY onek.unique1;
! ERROR: Relation "onek" does not exist
--
-- awk '{if($1<20){print $1,$14;}else{next;}}' onek.data | sort +0nr -1
--
SELECT onek.unique1, onek.stringu1
WHERE onek.unique1 < 20
ORDER BY unique1 using >;
! ERROR: Relation "onek" does not exist
--
-- awk '{if($1>980){print $1,$14;}else{next;}}' onek.data | sort +1d -2
--
SELECT onek.unique1, onek.stringu1
WHERE onek.unique1 > 980
ORDER BY stringu1 using <;
! ERROR: Relation "onek" does not exist
--
-- awk '{if($1>980){print $1,$16;}else{next;}}' onek.data |
***************
*** 87,115 ****
SELECT onek.unique1, onek.string4
WHERE onek.unique1 > 980
ORDER BY string4 using <, unique1 using >;
! unique1 | string4
! ---------+---------
! 999 | AAAAxx
! 995 | AAAAxx
! 983 | AAAAxx
! 982 | AAAAxx
! 981 | AAAAxx
! 998 | HHHHxx
! 997 | HHHHxx
! 993 | HHHHxx
! 990 | HHHHxx
! 986 | HHHHxx
! 996 | OOOOxx
! 991 | OOOOxx
! 988 | OOOOxx
! 987 | OOOOxx
! 985 | OOOOxx
! 994 | VVVVxx
! 992 | VVVVxx
! 989 | VVVVxx
! 984 | VVVVxx
! (19 rows)
!
--
-- awk '{if($1>980){print $1,$16;}else{next;}}' onek.data |
--- 29,35 ----
SELECT onek.unique1, onek.string4
WHERE onek.unique1 > 980
ORDER BY string4 using <, unique1 using >;
! ERROR: Relation "onek" does not exist
--
-- awk '{if($1>980){print $1,$16;}else{next;}}' onek.data |
***************
*** 118,146 ****
SELECT onek.unique1, onek.string4
WHERE onek.unique1 > 980
ORDER BY string4 using >, unique1 using <;
! unique1 | string4
! ---------+---------
! 984 | VVVVxx
! 989 | VVVVxx
! 992 | VVVVxx
! 994 | VVVVxx
! 985 | OOOOxx
! 987 | OOOOxx
! 988 | OOOOxx
! 991 | OOOOxx
! 996 | OOOOxx
! 986 | HHHHxx
! 990 | HHHHxx
! 993 | HHHHxx
! 997 | HHHHxx
! 998 | HHHHxx
! 981 | AAAAxx
! 982 | AAAAxx
! 983 | AAAAxx
! 995 | AAAAxx
! 999 | AAAAxx
! (19 rows)
!
--
-- awk '{if($1<20){print $1,$16;}else{next;}}' onek.data |
--- 38,44 ----
SELECT onek.unique1, onek.string4
WHERE onek.unique1 > 980
ORDER BY string4 using >, unique1 using <;
! ERROR: Relation "onek" does not exist
--
-- awk '{if($1<20){print $1,$16;}else{next;}}' onek.data |
***************
*** 149,178 ****
SELECT onek.unique1, onek.string4
WHERE onek.unique1 < 20
ORDER BY unique1 using >, string4 using <;
! unique1 | string4
! ---------+---------
! 19 | OOOOxx
! 18 | VVVVxx
! 17 | HHHHxx
! 16 | OOOOxx
! 15 | VVVVxx
! 14 | AAAAxx
! 13 | OOOOxx
! 12 | AAAAxx
! 11 | OOOOxx
! 10 | AAAAxx
! 9 | HHHHxx
! 8 | HHHHxx
! 7 | VVVVxx
! 6 | OOOOxx
! 5 | HHHHxx
! 4 | HHHHxx
! 3 | VVVVxx
! 2 | OOOOxx
! 1 | OOOOxx
! 0 | OOOOxx
! (20 rows)
!
--
-- awk '{if($1<20){print $1,$16;}else{next;}}' onek.data |
-- sort +0n -1 +1dr -2
--- 47,53 ----
SELECT onek.unique1, onek.string4
WHERE onek.unique1 < 20
ORDER BY unique1 using >, string4 using <;
! ERROR: Relation "onek" does not exist
--
-- awk '{if($1<20){print $1,$16;}else{next;}}' onek.data |
-- sort +0n -1 +1dr -2
***************
*** 180,209 ****
SELECT onek.unique1, onek.string4
WHERE onek.unique1 < 20
ORDER BY unique1 using <, string4 using >;
! unique1 | string4
! ---------+---------
! 0 | OOOOxx
! 1 | OOOOxx
! 2 | OOOOxx
! 3 | VVVVxx
! 4 | HHHHxx
! 5 | HHHHxx
! 6 | OOOOxx
! 7 | VVVVxx
! 8 | HHHHxx
! 9 | HHHHxx
! 10 | AAAAxx
! 11 | OOOOxx
! 12 | AAAAxx
! 13 | OOOOxx
! 14 | AAAAxx
! 15 | VVVVxx
! 16 | OOOOxx
! 17 | HHHHxx
! 18 | VVVVxx
! 19 | OOOOxx
! (20 rows)
!
--
-- test partial btree indexes
--
--- 55,61 ----
SELECT onek.unique1, onek.string4
WHERE onek.unique1 < 20
ORDER BY unique1 using <, string4 using >;
! ERROR: Relation "onek" does not exist
--
-- test partial btree indexes
--
***************
*** 211,295 ****
-- so ANALYZE first.
--
ANALYZE onek2;
--
-- awk '{if($1<10){print $0;}else{next;}}' onek.data | sort +0n -1
--
SELECT onek2.* WHERE onek2.unique1 < 10;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 0 | 998 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | AAAAAA | KMBAAA | OOOOxx
! 1 | 214 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 3 | BAAAAA | GIAAAA | OOOOxx
! 2 | 326 | 0 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 4 | 5 | CAAAAA | OMAAAA | OOOOxx
! 3 | 431 | 1 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 3 | 6 | 7 | DAAAAA | PQAAAA | VVVVxx
! 4 | 833 | 0 | 0 | 4 | 4 | 4 | 4 | 4 | 4 | 4 | 8 | 9 | EAAAAA | BGBAAA | HHHHxx
! 5 | 541 | 1 | 1 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 10 | 11 | FAAAAA | VUAAAA | HHHHxx
! 6 | 978 | 0 | 2 | 6 | 6 | 6 | 6 | 6 | 6 | 6 | 12 | 13 | GAAAAA | QLBAAA | OOOOxx
! 7 | 647 | 1 | 3 | 7 | 7 | 7 | 7 | 7 | 7 | 7 | 14 | 15 | HAAAAA | XYAAAA | VVVVxx
! 8 | 653 | 0 | 0 | 8 | 8 | 8 | 8 | 8 | 8 | 8 | 16 | 17 | IAAAAA | DZAAAA | HHHHxx
! 9 | 49 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 9 | 9 | 18 | 19 | JAAAAA | XBAAAA | HHHHxx
! (10 rows)
!
--
-- awk '{if($1<20){print $1,$14;}else{next;}}' onek.data | sort +0nr -1
--
SELECT onek2.unique1, onek2.stringu1
WHERE onek2.unique1 < 20
ORDER BY unique1 using >;
! unique1 | stringu1
! ---------+----------
! 19 | TAAAAA
! 18 | SAAAAA
! 17 | RAAAAA
! 16 | QAAAAA
! 15 | PAAAAA
! 14 | OAAAAA
! 13 | NAAAAA
! 12 | MAAAAA
! 11 | LAAAAA
! 10 | KAAAAA
! 9 | JAAAAA
! 8 | IAAAAA
! 7 | HAAAAA
! 6 | GAAAAA
! 5 | FAAAAA
! 4 | EAAAAA
! 3 | DAAAAA
! 2 | CAAAAA
! 1 | BAAAAA
! 0 | AAAAAA
! (20 rows)
!
--
-- awk '{if($1>980){print $1,$14;}else{next;}}' onek.data | sort +1d -2
--
SELECT onek2.unique1, onek2.stringu1
WHERE onek2.unique1 > 980;
! unique1 | stringu1
! ---------+----------
! 981 | TLAAAA
! 982 | ULAAAA
! 983 | VLAAAA
! 984 | WLAAAA
! 985 | XLAAAA
! 986 | YLAAAA
! 987 | ZLAAAA
! 988 | AMAAAA
! 989 | BMAAAA
! 990 | CMAAAA
! 991 | DMAAAA
! 992 | EMAAAA
! 993 | FMAAAA
! 994 | GMAAAA
! 995 | HMAAAA
! 996 | IMAAAA
! 997 | JMAAAA
! 998 | KMAAAA
! 999 | LMAAAA
! (19 rows)
!
SELECT two, stringu1, ten, string4
INTO TABLE tmp
FROM onek;
--
-- awk '{print $1,$2;}' person.data |
-- awk '{if(NF!=2){print $3,$2;}else{print;}}' - emp.data |
--- 63,91 ----
-- so ANALYZE first.
--
ANALYZE onek2;
+ WARNING: ANALYZE: table not found
--
-- awk '{if($1<10){print $0;}else{next;}}' onek.data | sort +0n -1
--
SELECT onek2.* WHERE onek2.unique1 < 10;
! ERROR: Relation "onek2" does not exist
--
-- awk '{if($1<20){print $1,$14;}else{next;}}' onek.data | sort +0nr -1
--
SELECT onek2.unique1, onek2.stringu1
WHERE onek2.unique1 < 20
ORDER BY unique1 using >;
! ERROR: Relation "onek2" does not exist
--
-- awk '{if($1>980){print $1,$14;}else{next;}}' onek.data | sort +1d -2
--
SELECT onek2.unique1, onek2.stringu1
WHERE onek2.unique1 > 980;
! ERROR: Relation "onek2" does not exist
SELECT two, stringu1, ten, string4
INTO TABLE tmp
FROM onek;
+ ERROR: Relation "onek" does not exist
--
-- awk '{print $1,$2;}' person.data |
-- awk '{if(NF!=2){print $3,$2;}else{print;}}' - emp.data |
***************
*** 298,365 ****
--
-- SELECT name, age FROM person*; ??? check if different
SELECT p.name, p.age FROM person* p;
! name | age
! ---------+-----
! mike | 40
! joe | 20
! sally | 34
! sandra | 19
! alex | 30
! sue | 50
! denise | 24
! sarah | 88
! teresa | 38
! nan | 28
! leah | 68
! wendy | 78
! melissa | 28
! joan | 18
! mary | 8
! jane | 58
! liza | 38
! jean | 28
! jenifer | 38
! juanita | 58
! susan | 78
! zena | 98
! martie | 88
! chris | 78
! pat | 18
! zola | 58
! louise | 98
! edna | 18
! bertha | 88
! sumi | 38
! koko | 88
! gina | 18
! rean | 48
! sharon | 78
! paula | 68
! julie | 68
! belinda | 38
! karen | 48
! carina | 58
! diane | 18
! esther | 98
! trudy | 88
! fanny | 8
! carmen | 78
! lita | 25
! pamela | 48
! sandy | 38
! trisha | 88
! vera | 78
! velma | 68
! sharon | 25
! sam | 30
! bill | 20
! fred | 28
! larry | 60
! jeff | 23
! cim | 30
! linda | 19
! (58 rows)
!
--
-- awk '{print $1,$2;}' person.data |
-- awk '{if(NF!=2){print $3,$2;}else{print;}}' - emp.data |
--- 94,100 ----
--
-- SELECT name, age FROM person*; ??? check if different
SELECT p.name, p.age FROM person* p;
! ERROR: Relation "person" does not exist
--
-- awk '{print $1,$2;}' person.data |
-- awk '{if(NF!=2){print $3,$2;}else{print;}}' - emp.data |
***************
*** 368,432 ****
-- sort +1nr -2
--
SELECT p.name, p.age FROM person* p ORDER BY age using >, name;
! name | age
! ---------+-----
! esther | 98
! louise | 98
! zena | 98
! bertha | 88
! koko | 88
! martie | 88
! sarah | 88
! trisha | 88
! trudy | 88
! carmen | 78
! chris | 78
! sharon | 78
! susan | 78
! vera | 78
! wendy | 78
! julie | 68
! leah | 68
! paula | 68
! velma | 68
! larry | 60
! carina | 58
! jane | 58
! juanita | 58
! zola | 58
! sue | 50
! karen | 48
! pamela | 48
! rean | 48
! mike | 40
! belinda | 38
! jenifer | 38
! liza | 38
! sandy | 38
! sumi | 38
! teresa | 38
! sally | 34
! alex | 30
! cim | 30
! sam | 30
! fred | 28
! jean | 28
! melissa | 28
! nan | 28
! lita | 25
! sharon | 25
! denise | 24
! jeff | 23
! bill | 20
! joe | 20
! linda | 19
! sandra | 19
! diane | 18
! edna | 18
! gina | 18
! joan | 18
! pat | 18
! fanny | 8
! mary | 8
! (58 rows)
!
--- 103,106 ----
-- sort +1nr -2
--
SELECT p.name, p.age FROM person* p ORDER BY age using >, name;
! ERROR: Relation "person" does not exist
======================================================================
*** ./expected/select_into.out Mon Jun 5 01:52:53 2000
--- ./results/select_into.out Thu Mar 7 10:43:21 2002
***************
*** 5,13 ****
--- 5,17 ----
INTO TABLE tmp1
FROM onek
WHERE onek.unique1 < 2;
+ ERROR: Relation "onek" does not exist
DROP TABLE tmp1;
+ ERROR: table "tmp1" does not exist
SELECT *
INTO TABLE tmp1
FROM onek2
WHERE onek2.unique1 < 2;
+ ERROR: Relation "onek2" does not exist
DROP TABLE tmp1;
+ ERROR: table "tmp1" does not exist
======================================================================
*** ./expected/select_distinct.out Thu Jan 6 14:40:54 2000
--- ./results/select_distinct.out Thu Mar 7 10:43:22 2002
***************
*** 5,46 ****
-- awk '{print $3;}' onek.data | sort -n | uniq
--
SELECT DISTINCT two FROM tmp;
! two
! -----
! 0
! 1
! (2 rows)
!
--
-- awk '{print $5;}' onek.data | sort -n | uniq
--
SELECT DISTINCT ten FROM tmp;
! ten
! -----
! 0
! 1
! 2
! 3
! 4
! 5
! 6
! 7
! 8
! 9
! (10 rows)
!
--
-- awk '{print $16;}' onek.data | sort -d | uniq
--
SELECT DISTINCT string4 FROM tmp;
! string4
! ---------
! AAAAxx
! HHHHxx
! OOOOxx
! VVVVxx
! (4 rows)
!
--
-- awk '{print $3,$16,$5;}' onek.data | sort -d | uniq |
-- sort +0n -1 +1d -2 +2n -3
--- 5,21 ----
-- awk '{print $3;}' onek.data | sort -n | uniq
--
SELECT DISTINCT two FROM tmp;
! ERROR: Relation "tmp" does not exist
--
-- awk '{print $5;}' onek.data | sort -n | uniq
--
SELECT DISTINCT ten FROM tmp;
! ERROR: Relation "tmp" does not exist
--
-- awk '{print $16;}' onek.data | sort -d | uniq
--
SELECT DISTINCT string4 FROM tmp;
! ERROR: Relation "tmp" does not exist
--
-- awk '{print $3,$16,$5;}' onek.data | sort -d | uniq |
-- sort +0n -1 +1d -2 +2n -3
***************
*** 48,97 ****
SELECT DISTINCT two, string4, ten
FROM tmp
ORDER BY two using <, string4 using <, ten using <;
! two | string4 | ten
! -----+---------+-----
! 0 | AAAAxx | 0
! 0 | AAAAxx | 2
! 0 | AAAAxx | 4
! 0 | AAAAxx | 6
! 0 | AAAAxx | 8
! 0 | HHHHxx | 0
! 0 | HHHHxx | 2
! 0 | HHHHxx | 4
! 0 | HHHHxx | 6
! 0 | HHHHxx | 8
! 0 | OOOOxx | 0
! 0 | OOOOxx | 2
! 0 | OOOOxx | 4
! 0 | OOOOxx | 6
! 0 | OOOOxx | 8
! 0 | VVVVxx | 0
! 0 | VVVVxx | 2
! 0 | VVVVxx | 4
! 0 | VVVVxx | 6
! 0 | VVVVxx | 8
! 1 | AAAAxx | 1
! 1 | AAAAxx | 3
! 1 | AAAAxx | 5
! 1 | AAAAxx | 7
! 1 | AAAAxx | 9
! 1 | HHHHxx | 1
! 1 | HHHHxx | 3
! 1 | HHHHxx | 5
! 1 | HHHHxx | 7
! 1 | HHHHxx | 9
! 1 | OOOOxx | 1
! 1 | OOOOxx | 3
! 1 | OOOOxx | 5
! 1 | OOOOxx | 7
! 1 | OOOOxx | 9
! 1 | VVVVxx | 1
! 1 | VVVVxx | 3
! 1 | VVVVxx | 5
! 1 | VVVVxx | 7
! 1 | VVVVxx | 9
! (40 rows)
!
--
-- awk '{print $2;}' person.data |
-- awk '{if(NF!=1){print $2;}else{print;}}' - emp.data |
--- 23,29 ----
SELECT DISTINCT two, string4, ten
FROM tmp
ORDER BY two using <, string4 using <, ten using <;
! ERROR: Relation "tmp" does not exist
--
-- awk '{print $2;}' person.data |
-- awk '{if(NF!=1){print $2;}else{print;}}' - emp.data |
***************
*** 100,126 ****
-- sort -n -r | uniq
--
SELECT DISTINCT p.age FROM person* p ORDER BY age using >;
! age
! -----
! 98
! 88
! 78
! 68
! 60
! 58
! 50
! 48
! 40
! 38
! 34
! 30
! 28
! 25
! 24
! 23
! 20
! 19
! 18
! 8
! (20 rows)
!
--- 32,35 ----
-- sort -n -r | uniq
--
SELECT DISTINCT p.age FROM person* p ORDER BY age using >;
! ERROR: Relation "person" does not exist
======================================================================
*** ./expected/select_distinct_on.out Fri Jan 28 02:11:50 2000
--- ./results/select_distinct_on.out Thu Mar 7 10:43:21 2002
***************
*** 4,66 ****
SELECT DISTINCT ON (string4) string4, two, ten
FROM tmp
ORDER BY string4 using <, two using >, ten using <;
! string4 | two | ten
! ---------+-----+-----
! AAAAxx | 1 | 1
! HHHHxx | 1 | 1
! OOOOxx | 1 | 1
! VVVVxx | 1 | 1
! (4 rows)
!
-- this will fail due to conflict of ordering requirements
SELECT DISTINCT ON (string4, ten) string4, two, ten
FROM tmp
ORDER BY string4 using <, two using <, ten using <;
! ERROR: SELECT DISTINCT ON expressions must match initial ORDER BY expressions
SELECT DISTINCT ON (string4, ten) string4, ten, two
FROM tmp
ORDER BY string4 using <, ten using >, two using <;
! string4 | ten | two
! ---------+-----+-----
! AAAAxx | 9 | 1
! AAAAxx | 8 | 0
! AAAAxx | 7 | 1
! AAAAxx | 6 | 0
! AAAAxx | 5 | 1
! AAAAxx | 4 | 0
! AAAAxx | 3 | 1
! AAAAxx | 2 | 0
! AAAAxx | 1 | 1
! AAAAxx | 0 | 0
! HHHHxx | 9 | 1
! HHHHxx | 8 | 0
! HHHHxx | 7 | 1
! HHHHxx | 6 | 0
! HHHHxx | 5 | 1
! HHHHxx | 4 | 0
! HHHHxx | 3 | 1
! HHHHxx | 2 | 0
! HHHHxx | 1 | 1
! HHHHxx | 0 | 0
! OOOOxx | 9 | 1
! OOOOxx | 8 | 0
! OOOOxx | 7 | 1
! OOOOxx | 6 | 0
! OOOOxx | 5 | 1
! OOOOxx | 4 | 0
! OOOOxx | 3 | 1
! OOOOxx | 2 | 0
! OOOOxx | 1 | 1
! OOOOxx | 0 | 0
! VVVVxx | 9 | 1
! VVVVxx | 8 | 0
! VVVVxx | 7 | 1
! VVVVxx | 6 | 0
! VVVVxx | 5 | 1
! VVVVxx | 4 | 0
! VVVVxx | 3 | 1
! VVVVxx | 2 | 0
! VVVVxx | 1 | 1
! VVVVxx | 0 | 0
! (40 rows)
!
--- 4,16 ----
SELECT DISTINCT ON (string4) string4, two, ten
FROM tmp
ORDER BY string4 using <, two using >, ten using <;
! ERROR: Relation "tmp" does not exist
-- this will fail due to conflict of ordering requirements
SELECT DISTINCT ON (string4, ten) string4, two, ten
FROM tmp
ORDER BY string4 using <, two using <, ten using <;
! ERROR: Relation "tmp" does not exist
SELECT DISTINCT ON (string4, ten) string4, ten, two
FROM tmp
ORDER BY string4 using <, ten using >, two using <;
! ERROR: Relation "tmp" does not exist
======================================================================
*** ./expected/aggregates.out Mon Jul 17 11:05:37 2000
--- ./results/aggregates.out Thu Mar 7 10:43:22 2002
***************
*** 2,137 ****
-- AGGREGATES
--
SELECT avg(four) AS avg_1 FROM onek;
! avg_1
! --------------
! 1.5000000000
! (1 row)
!
SELECT avg(a) AS avg_32 FROM aggtest WHERE a < 100;
! avg_32
! ---------------
! 32.6666666667
! (1 row)
!
-- In 7.1, avg(float4) is computed using float8 arithmetic.
-- Round the result to 3 digits to avoid platform-specific results.
SELECT avg(b)::numeric(10,3) AS avg_107_943 FROM aggtest;
! avg_107_943
! -------------
! 107.943
! (1 row)
!
SELECT avg(gpa) AS avg_3_4 FROM ONLY student;
! avg_3_4
! ---------
! 3.4
! (1 row)
!
SELECT sum(four) AS sum_1500 FROM onek;
! sum_1500
! ----------
! 1500
! (1 row)
!
SELECT sum(a) AS sum_198 FROM aggtest;
! sum_198
! ---------
! 198
! (1 row)
!
SELECT sum(b) AS avg_431_773 FROM aggtest;
! avg_431_773
! -------------
! 431.773
! (1 row)
!
SELECT sum(gpa) AS avg_6_8 FROM ONLY student;
! avg_6_8
! ---------
! 6.8
! (1 row)
!
SELECT max(four) AS max_3 FROM onek;
! max_3
! -------
! 3
! (1 row)
!
SELECT max(a) AS max_100 FROM aggtest;
! max_100
! ---------
! 100
! (1 row)
!
SELECT max(aggtest.b) AS max_324_78 FROM aggtest;
! max_324_78
! ------------
! 324.78
! (1 row)
!
SELECT max(student.gpa) AS max_3_7 FROM student;
! max_3_7
! ---------
! 3.7
! (1 row)
!
SELECT count(four) AS cnt_1000 FROM onek;
! cnt_1000
! ----------
! 1000
! (1 row)
!
SELECT count(DISTINCT four) AS cnt_4 FROM onek;
! cnt_4
! -------
! 4
! (1 row)
!
select ten, count(*), sum(four) from onek group by ten;
! ten | count | sum
! -----+-------+-----
! 0 | 100 | 100
! 1 | 100 | 200
! 2 | 100 | 100
! 3 | 100 | 200
! 4 | 100 | 100
! 5 | 100 | 200
! 6 | 100 | 100
! 7 | 100 | 200
! 8 | 100 | 100
! 9 | 100 | 200
! (10 rows)
!
select ten, count(four), sum(DISTINCT four) from onek group by ten;
! ten | count | sum
! -----+-------+-----
! 0 | 100 | 2
! 1 | 100 | 4
! 2 | 100 | 2
! 3 | 100 | 4
! 4 | 100 | 2
! 5 | 100 | 4
! 6 | 100 | 2
! 7 | 100 | 4
! 8 | 100 | 2
! 9 | 100 | 4
! (10 rows)
!
SELECT newavg(four) AS avg_1 FROM onek;
! avg_1
! --------------
! 1.5000000000
! (1 row)
!
SELECT newsum(four) AS sum_1500 FROM onek;
! sum_1500
! ----------
! 1500
! (1 row)
!
SELECT newcnt(four) AS cnt_1000 FROM onek;
! cnt_1000
! ----------
! 1000
! (1 row)
!
--- 2,43 ----
-- AGGREGATES
--
SELECT avg(four) AS avg_1 FROM onek;
! ERROR: Relation "onek" does not exist
SELECT avg(a) AS avg_32 FROM aggtest WHERE a < 100;
! ERROR: Relation "aggtest" does not exist
-- In 7.1, avg(float4) is computed using float8 arithmetic.
-- Round the result to 3 digits to avoid platform-specific results.
SELECT avg(b)::numeric(10,3) AS avg_107_943 FROM aggtest;
! ERROR: Relation "aggtest" does not exist
SELECT avg(gpa) AS avg_3_4 FROM ONLY student;
! ERROR: Relation "student" does not exist
SELECT sum(four) AS sum_1500 FROM onek;
! ERROR: Relation "onek" does not exist
SELECT sum(a) AS sum_198 FROM aggtest;
! ERROR: Relation "aggtest" does not exist
SELECT sum(b) AS avg_431_773 FROM aggtest;
! ERROR: Relation "aggtest" does not exist
SELECT sum(gpa) AS avg_6_8 FROM ONLY student;
! ERROR: Relation "student" does not exist
SELECT max(four) AS max_3 FROM onek;
! ERROR: Relation "onek" does not exist
SELECT max(a) AS max_100 FROM aggtest;
! ERROR: Relation "aggtest" does not exist
SELECT max(aggtest.b) AS max_324_78 FROM aggtest;
! ERROR: Relation "aggtest" does not exist
SELECT max(student.gpa) AS max_3_7 FROM student;
! ERROR: Relation "student" does not exist
SELECT count(four) AS cnt_1000 FROM onek;
! ERROR: Relation "onek" does not exist
SELECT count(DISTINCT four) AS cnt_4 FROM onek;
! ERROR: Relation "onek" does not exist
select ten, count(*), sum(four) from onek group by ten;
! ERROR: Relation "onek" does not exist
select ten, count(four), sum(DISTINCT four) from onek group by ten;
! ERROR: Relation "onek" does not exist
SELECT newavg(four) AS avg_1 FROM onek;
! ERROR: Relation "onek" does not exist
SELECT newsum(four) AS sum_1500 FROM onek;
! ERROR: Relation "onek" does not exist
SELECT newcnt(four) AS cnt_1000 FROM onek;
! ERROR: Relation "onek" does not exist
======================================================================
*** ./expected/transactions.out Sun Jan 9 11:48:39 2000
--- ./results/transactions.out Thu Mar 7 10:43:22 2002
***************
*** 5,28 ****
SELECT *
INTO TABLE xacttest
FROM aggtest;
INSERT INTO xacttest (a, b) VALUES (777, 777.777);
END;
-- should retrieve one value--
SELECT a FROM xacttest WHERE a > 100;
! a
! -----
! 777
! (1 row)
!
BEGIN;
CREATE TABLE disappear (a int4);
DELETE FROM aggtest;
-- should be empty
SELECT * FROM aggtest;
! a | b
! ---+---
! (0 rows)
!
ABORT;
-- should not exist
SELECT oid FROM pg_class WHERE relname = 'disappear';
--- 5,24 ----
SELECT *
INTO TABLE xacttest
FROM aggtest;
+ ERROR: Relation "aggtest" does not exist
INSERT INTO xacttest (a, b) VALUES (777, 777.777);
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
END;
-- should retrieve one value--
SELECT a FROM xacttest WHERE a > 100;
! ERROR: Relation "xacttest" does not exist
BEGIN;
CREATE TABLE disappear (a int4);
DELETE FROM aggtest;
+ ERROR: Relation "aggtest" does not exist
-- should be empty
SELECT * FROM aggtest;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
ABORT;
-- should not exist
SELECT oid FROM pg_class WHERE relname = 'disappear';
***************
*** 32,42 ****
-- should have members again
SELECT * FROM aggtest;
! a | b
! -----+---------
! 56 | 7.8
! 100 | 99.097
! 0 | 0.09561
! 42 | 324.78
! (4 rows)
!
--- 28,31 ----
-- should have members again
SELECT * FROM aggtest;
! ERROR: Relation "aggtest" does not exist
======================================================================
*** ./expected/random.out Thu Jan 6 14:40:54 2000
--- ./results/random.out Thu Mar 7 10:43:22 2002
***************
*** 4,14 ****
--
-- count the number of tuples originally
SELECT count(*) FROM onek;
! count
! -------
! 1000
! (1 row)
!
-- select roughly 1/10 of the tuples
-- Assume that the "onek" table has 1000 tuples
-- and try to bracket the correct number so we
--- 4,10 ----
--
-- count the number of tuples originally
SELECT count(*) FROM onek;
! ERROR: Relation "onek" does not exist
-- select roughly 1/10 of the tuples
-- Assume that the "onek" table has 1000 tuples
-- and try to bracket the correct number so we
***************
*** 16,35 ****
-- - thomas 1998-08-17
SELECT count(*) AS random INTO RANDOM_TBL
FROM onek WHERE oidrand(onek.oid, 10);
-- select again, the count should be different
INSERT INTO RANDOM_TBL (random)
SELECT count(*)
FROM onek WHERE oidrand(onek.oid, 10);
-- now test the results for randomness in the correct range
SELECT random, count(random) FROM RANDOM_TBL
GROUP BY random HAVING count(random) > 1;
! random | count
! --------+-------
! (0 rows)
!
SELECT random FROM RANDOM_TBL
WHERE random NOT BETWEEN 80 AND 120;
! random
! --------
! (0 rows)
!
--- 12,27 ----
-- - thomas 1998-08-17
SELECT count(*) AS random INTO RANDOM_TBL
FROM onek WHERE oidrand(onek.oid, 10);
+ ERROR: Relation "onek" does not exist
-- select again, the count should be different
INSERT INTO RANDOM_TBL (random)
SELECT count(*)
FROM onek WHERE oidrand(onek.oid, 10);
+ ERROR: Relation "random_tbl" does not exist
-- now test the results for randomness in the correct range
SELECT random, count(random) FROM RANDOM_TBL
GROUP BY random HAVING count(random) > 1;
! ERROR: Relation "random_tbl" does not exist
SELECT random FROM RANDOM_TBL
WHERE random NOT BETWEEN 80 AND 120;
! ERROR: Relation "random_tbl" does not exist
======================================================================
*** ./expected/portals.out Sun Jan 9 11:48:37 2000
--- ./results/portals.out Thu Mar 7 10:43:23 2002
***************
*** 3,678 ****
--
BEGIN;
DECLARE foo1 CURSOR FOR SELECT * FROM tenk1;
DECLARE foo2 CURSOR FOR SELECT * FROM tenk2;
DECLARE foo3 CURSOR FOR SELECT * FROM tenk1;
DECLARE foo4 CURSOR FOR SELECT * FROM tenk2;
DECLARE foo5 CURSOR FOR SELECT * FROM tenk1;
DECLARE foo6 CURSOR FOR SELECT * FROM tenk2;
DECLARE foo7 CURSOR FOR SELECT * FROM tenk1;
DECLARE foo8 CURSOR FOR SELECT * FROM tenk2;
DECLARE foo9 CURSOR FOR SELECT * FROM tenk1;
DECLARE foo10 CURSOR FOR SELECT * FROM tenk2;
DECLARE foo11 CURSOR FOR SELECT * FROM tenk1;
DECLARE foo12 CURSOR FOR SELECT * FROM tenk2;
DECLARE foo13 CURSOR FOR SELECT * FROM tenk1;
DECLARE foo14 CURSOR FOR SELECT * FROM tenk2;
DECLARE foo15 CURSOR FOR SELECT * FROM tenk1;
DECLARE foo16 CURSOR FOR SELECT * FROM tenk2;
DECLARE foo17 CURSOR FOR SELECT * FROM tenk1;
DECLARE foo18 CURSOR FOR SELECT * FROM tenk2;
DECLARE foo19 CURSOR FOR SELECT * FROM tenk1;
DECLARE foo20 CURSOR FOR SELECT * FROM tenk2;
DECLARE foo21 CURSOR FOR SELECT * FROM tenk1;
DECLARE foo22 CURSOR FOR SELECT * FROM tenk2;
DECLARE foo23 CURSOR FOR SELECT * FROM tenk1;
FETCH 1 in foo1;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! (1 row)
!
FETCH 2 in foo2;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! (2 rows)
!
FETCH 3 in foo3;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! (3 rows)
!
FETCH 4 in foo4;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! (4 rows)
!
FETCH 5 in foo5;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! (5 rows)
!
FETCH 6 in foo6;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! (6 rows)
!
FETCH 7 in foo7;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! (7 rows)
!
FETCH 8 in foo8;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! (8 rows)
!
FETCH 9 in foo9;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! (9 rows)
!
FETCH 10 in foo10;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! (10 rows)
!
FETCH 11 in foo11;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! (11 rows)
!
FETCH 12 in foo12;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! (12 rows)
!
FETCH 13 in foo13;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! 5222 | 12 | 0 | 2 | 2 | 2 | 22 | 222 | 1222 | 222 | 5222 | 44 | 45 | WSAAAA | MAAAAA | AAAAxx
! (13 rows)
!
FETCH 14 in foo14;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! 5222 | 12 | 0 | 2 | 2 | 2 | 22 | 222 | 1222 | 222 | 5222 | 44 | 45 | WSAAAA | MAAAAA | AAAAxx
! 6243 | 13 | 1 | 3 | 3 | 3 | 43 | 243 | 243 | 1243 | 6243 | 86 | 87 | DGAAAA | NAAAAA | HHHHxx
! (14 rows)
!
FETCH 15 in foo15;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! 5222 | 12 | 0 | 2 | 2 | 2 | 22 | 222 | 1222 | 222 | 5222 | 44 | 45 | WSAAAA | MAAAAA | AAAAxx
! 6243 | 13 | 1 | 3 | 3 | 3 | 43 | 243 | 243 | 1243 | 6243 | 86 | 87 | DGAAAA | NAAAAA | HHHHxx
! 5471 | 14 | 1 | 3 | 1 | 11 | 71 | 471 | 1471 | 471 | 5471 | 142 | 143 | LCAAAA | OAAAAA | OOOOxx
! (15 rows)
!
FETCH 16 in foo16;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! 5222 | 12 | 0 | 2 | 2 | 2 | 22 | 222 | 1222 | 222 | 5222 | 44 | 45 | WSAAAA | MAAAAA | AAAAxx
! 6243 | 13 | 1 | 3 | 3 | 3 | 43 | 243 | 243 | 1243 | 6243 | 86 | 87 | DGAAAA | NAAAAA | HHHHxx
! 5471 | 14 | 1 | 3 | 1 | 11 | 71 | 471 | 1471 | 471 | 5471 | 142 | 143 | LCAAAA | OAAAAA | OOOOxx
! 5006 | 15 | 0 | 2 | 6 | 6 | 6 | 6 | 1006 | 6 | 5006 | 12 | 13 | OKAAAA | PAAAAA | VVVVxx
! (16 rows)
!
FETCH 17 in foo17;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! 5222 | 12 | 0 | 2 | 2 | 2 | 22 | 222 | 1222 | 222 | 5222 | 44 | 45 | WSAAAA | MAAAAA | AAAAxx
! 6243 | 13 | 1 | 3 | 3 | 3 | 43 | 243 | 243 | 1243 | 6243 | 86 | 87 | DGAAAA | NAAAAA | HHHHxx
! 5471 | 14 | 1 | 3 | 1 | 11 | 71 | 471 | 1471 | 471 | 5471 | 142 | 143 | LCAAAA | OAAAAA | OOOOxx
! 5006 | 15 | 0 | 2 | 6 | 6 | 6 | 6 | 1006 | 6 | 5006 | 12 | 13 | OKAAAA | PAAAAA | VVVVxx
! 5387 | 16 | 1 | 3 | 7 | 7 | 87 | 387 | 1387 | 387 | 5387 | 174 | 175 | FZAAAA | QAAAAA | AAAAxx
! (17 rows)
!
FETCH 18 in foo18;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! 5222 | 12 | 0 | 2 | 2 | 2 | 22 | 222 | 1222 | 222 | 5222 | 44 | 45 | WSAAAA | MAAAAA | AAAAxx
! 6243 | 13 | 1 | 3 | 3 | 3 | 43 | 243 | 243 | 1243 | 6243 | 86 | 87 | DGAAAA | NAAAAA | HHHHxx
! 5471 | 14 | 1 | 3 | 1 | 11 | 71 | 471 | 1471 | 471 | 5471 | 142 | 143 | LCAAAA | OAAAAA | OOOOxx
! 5006 | 15 | 0 | 2 | 6 | 6 | 6 | 6 | 1006 | 6 | 5006 | 12 | 13 | OKAAAA | PAAAAA | VVVVxx
! 5387 | 16 | 1 | 3 | 7 | 7 | 87 | 387 | 1387 | 387 | 5387 | 174 | 175 | FZAAAA | QAAAAA | AAAAxx
! 5785 | 17 | 1 | 1 | 5 | 5 | 85 | 785 | 1785 | 785 | 5785 | 170 | 171 | NOAAAA | RAAAAA | HHHHxx
! (18 rows)
!
FETCH 19 in foo19;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! 5222 | 12 | 0 | 2 | 2 | 2 | 22 | 222 | 1222 | 222 | 5222 | 44 | 45 | WSAAAA | MAAAAA | AAAAxx
! 6243 | 13 | 1 | 3 | 3 | 3 | 43 | 243 | 243 | 1243 | 6243 | 86 | 87 | DGAAAA | NAAAAA | HHHHxx
! 5471 | 14 | 1 | 3 | 1 | 11 | 71 | 471 | 1471 | 471 | 5471 | 142 | 143 | LCAAAA | OAAAAA | OOOOxx
! 5006 | 15 | 0 | 2 | 6 | 6 | 6 | 6 | 1006 | 6 | 5006 | 12 | 13 | OKAAAA | PAAAAA | VVVVxx
! 5387 | 16 | 1 | 3 | 7 | 7 | 87 | 387 | 1387 | 387 | 5387 | 174 | 175 | FZAAAA | QAAAAA | AAAAxx
! 5785 | 17 | 1 | 1 | 5 | 5 | 85 | 785 | 1785 | 785 | 5785 | 170 | 171 | NOAAAA | RAAAAA | HHHHxx
! 6621 | 18 | 1 | 1 | 1 | 1 | 21 | 621 | 621 | 1621 | 6621 | 42 | 43 | RUAAAA | SAAAAA | OOOOxx
! (19 rows)
!
FETCH 20 in foo20;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! 5222 | 12 | 0 | 2 | 2 | 2 | 22 | 222 | 1222 | 222 | 5222 | 44 | 45 | WSAAAA | MAAAAA | AAAAxx
! 6243 | 13 | 1 | 3 | 3 | 3 | 43 | 243 | 243 | 1243 | 6243 | 86 | 87 | DGAAAA | NAAAAA | HHHHxx
! 5471 | 14 | 1 | 3 | 1 | 11 | 71 | 471 | 1471 | 471 | 5471 | 142 | 143 | LCAAAA | OAAAAA | OOOOxx
! 5006 | 15 | 0 | 2 | 6 | 6 | 6 | 6 | 1006 | 6 | 5006 | 12 | 13 | OKAAAA | PAAAAA | VVVVxx
! 5387 | 16 | 1 | 3 | 7 | 7 | 87 | 387 | 1387 | 387 | 5387 | 174 | 175 | FZAAAA | QAAAAA | AAAAxx
! 5785 | 17 | 1 | 1 | 5 | 5 | 85 | 785 | 1785 | 785 | 5785 | 170 | 171 | NOAAAA | RAAAAA | HHHHxx
! 6621 | 18 | 1 | 1 | 1 | 1 | 21 | 621 | 621 | 1621 | 6621 | 42 | 43 | RUAAAA | SAAAAA | OOOOxx
! 6969 | 19 | 1 | 1 | 9 | 9 | 69 | 969 | 969 | 1969 | 6969 | 138 | 139 | BIAAAA | TAAAAA | VVVVxx
! (20 rows)
!
FETCH 21 in foo21;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! 5222 | 12 | 0 | 2 | 2 | 2 | 22 | 222 | 1222 | 222 | 5222 | 44 | 45 | WSAAAA | MAAAAA | AAAAxx
! 6243 | 13 | 1 | 3 | 3 | 3 | 43 | 243 | 243 | 1243 | 6243 | 86 | 87 | DGAAAA | NAAAAA | HHHHxx
! 5471 | 14 | 1 | 3 | 1 | 11 | 71 | 471 | 1471 | 471 | 5471 | 142 | 143 | LCAAAA | OAAAAA | OOOOxx
! 5006 | 15 | 0 | 2 | 6 | 6 | 6 | 6 | 1006 | 6 | 5006 | 12 | 13 | OKAAAA | PAAAAA | VVVVxx
! 5387 | 16 | 1 | 3 | 7 | 7 | 87 | 387 | 1387 | 387 | 5387 | 174 | 175 | FZAAAA | QAAAAA | AAAAxx
! 5785 | 17 | 1 | 1 | 5 | 5 | 85 | 785 | 1785 | 785 | 5785 | 170 | 171 | NOAAAA | RAAAAA | HHHHxx
! 6621 | 18 | 1 | 1 | 1 | 1 | 21 | 621 | 621 | 1621 | 6621 | 42 | 43 | RUAAAA | SAAAAA | OOOOxx
! 6969 | 19 | 1 | 1 | 9 | 9 | 69 | 969 | 969 | 1969 | 6969 | 138 | 139 | BIAAAA | TAAAAA | VVVVxx
! 9460 | 20 | 0 | 0 | 0 | 0 | 60 | 460 | 1460 | 4460 | 9460 | 120 | 121 | WZAAAA | UAAAAA | AAAAxx
! (21 rows)
!
FETCH 22 in foo22;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! 5222 | 12 | 0 | 2 | 2 | 2 | 22 | 222 | 1222 | 222 | 5222 | 44 | 45 | WSAAAA | MAAAAA | AAAAxx
! 6243 | 13 | 1 | 3 | 3 | 3 | 43 | 243 | 243 | 1243 | 6243 | 86 | 87 | DGAAAA | NAAAAA | HHHHxx
! 5471 | 14 | 1 | 3 | 1 | 11 | 71 | 471 | 1471 | 471 | 5471 | 142 | 143 | LCAAAA | OAAAAA | OOOOxx
! 5006 | 15 | 0 | 2 | 6 | 6 | 6 | 6 | 1006 | 6 | 5006 | 12 | 13 | OKAAAA | PAAAAA | VVVVxx
! 5387 | 16 | 1 | 3 | 7 | 7 | 87 | 387 | 1387 | 387 | 5387 | 174 | 175 | FZAAAA | QAAAAA | AAAAxx
! 5785 | 17 | 1 | 1 | 5 | 5 | 85 | 785 | 1785 | 785 | 5785 | 170 | 171 | NOAAAA | RAAAAA | HHHHxx
! 6621 | 18 | 1 | 1 | 1 | 1 | 21 | 621 | 621 | 1621 | 6621 | 42 | 43 | RUAAAA | SAAAAA | OOOOxx
! 6969 | 19 | 1 | 1 | 9 | 9 | 69 | 969 | 969 | 1969 | 6969 | 138 | 139 | BIAAAA | TAAAAA | VVVVxx
! 9460 | 20 | 0 | 0 | 0 | 0 | 60 | 460 | 1460 | 4460 | 9460 | 120 | 121 | WZAAAA | UAAAAA | AAAAxx
! 59 | 21 | 1 | 3 | 9 | 19 | 59 | 59 | 59 | 59 | 59 | 118 | 119 | HCAAAA | VAAAAA | HHHHxx
! (22 rows)
!
FETCH 23 in foo23;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! 5222 | 12 | 0 | 2 | 2 | 2 | 22 | 222 | 1222 | 222 | 5222 | 44 | 45 | WSAAAA | MAAAAA | AAAAxx
! 6243 | 13 | 1 | 3 | 3 | 3 | 43 | 243 | 243 | 1243 | 6243 | 86 | 87 | DGAAAA | NAAAAA | HHHHxx
! 5471 | 14 | 1 | 3 | 1 | 11 | 71 | 471 | 1471 | 471 | 5471 | 142 | 143 | LCAAAA | OAAAAA | OOOOxx
! 5006 | 15 | 0 | 2 | 6 | 6 | 6 | 6 | 1006 | 6 | 5006 | 12 | 13 | OKAAAA | PAAAAA | VVVVxx
! 5387 | 16 | 1 | 3 | 7 | 7 | 87 | 387 | 1387 | 387 | 5387 | 174 | 175 | FZAAAA | QAAAAA | AAAAxx
! 5785 | 17 | 1 | 1 | 5 | 5 | 85 | 785 | 1785 | 785 | 5785 | 170 | 171 | NOAAAA | RAAAAA | HHHHxx
! 6621 | 18 | 1 | 1 | 1 | 1 | 21 | 621 | 621 | 1621 | 6621 | 42 | 43 | RUAAAA | SAAAAA | OOOOxx
! 6969 | 19 | 1 | 1 | 9 | 9 | 69 | 969 | 969 | 1969 | 6969 | 138 | 139 | BIAAAA | TAAAAA | VVVVxx
! 9460 | 20 | 0 | 0 | 0 | 0 | 60 | 460 | 1460 | 4460 | 9460 | 120 | 121 | WZAAAA | UAAAAA | AAAAxx
! 59 | 21 | 1 | 3 | 9 | 19 | 59 | 59 | 59 | 59 | 59 | 118 | 119 | HCAAAA | VAAAAA | HHHHxx
! 8020 | 22 | 0 | 0 | 0 | 0 | 20 | 20 | 20 | 3020 | 8020 | 40 | 41 | MWAAAA | WAAAAA | OOOOxx
! (23 rows)
!
FETCH backward 1 in foo23;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 59 | 21 | 1 | 3 | 9 | 19 | 59 | 59 | 59 | 59 | 59 | 118 | 119 | HCAAAA | VAAAAA | HHHHxx
! (1 row)
!
FETCH backward 2 in foo22;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 9460 | 20 | 0 | 0 | 0 | 0 | 60 | 460 | 1460 | 4460 | 9460 | 120 | 121 | WZAAAA | UAAAAA | AAAAxx
! 6969 | 19 | 1 | 1 | 9 | 9 | 69 | 969 | 969 | 1969 | 6969 | 138 | 139 | BIAAAA | TAAAAA | VVVVxx
! (2 rows)
!
FETCH backward 3 in foo21;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 6969 | 19 | 1 | 1 | 9 | 9 | 69 | 969 | 969 | 1969 | 6969 | 138 | 139 | BIAAAA | TAAAAA | VVVVxx
! 6621 | 18 | 1 | 1 | 1 | 1 | 21 | 621 | 621 | 1621 | 6621 | 42 | 43 | RUAAAA | SAAAAA | OOOOxx
! 5785 | 17 | 1 | 1 | 5 | 5 | 85 | 785 | 1785 | 785 | 5785 | 170 | 171 | NOAAAA | RAAAAA | HHHHxx
! (3 rows)
!
FETCH backward 4 in foo20;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 6621 | 18 | 1 | 1 | 1 | 1 | 21 | 621 | 621 | 1621 | 6621 | 42 | 43 | RUAAAA | SAAAAA | OOOOxx
! 5785 | 17 | 1 | 1 | 5 | 5 | 85 | 785 | 1785 | 785 | 5785 | 170 | 171 | NOAAAA | RAAAAA | HHHHxx
! 5387 | 16 | 1 | 3 | 7 | 7 | 87 | 387 | 1387 | 387 | 5387 | 174 | 175 | FZAAAA | QAAAAA | AAAAxx
! 5006 | 15 | 0 | 2 | 6 | 6 | 6 | 6 | 1006 | 6 | 5006 | 12 | 13 | OKAAAA | PAAAAA | VVVVxx
! (4 rows)
!
FETCH backward 5 in foo19;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 5785 | 17 | 1 | 1 | 5 | 5 | 85 | 785 | 1785 | 785 | 5785 | 170 | 171 | NOAAAA | RAAAAA | HHHHxx
! 5387 | 16 | 1 | 3 | 7 | 7 | 87 | 387 | 1387 | 387 | 5387 | 174 | 175 | FZAAAA | QAAAAA | AAAAxx
! 5006 | 15 | 0 | 2 | 6 | 6 | 6 | 6 | 1006 | 6 | 5006 | 12 | 13 | OKAAAA | PAAAAA | VVVVxx
! 5471 | 14 | 1 | 3 | 1 | 11 | 71 | 471 | 1471 | 471 | 5471 | 142 | 143 | LCAAAA | OAAAAA | OOOOxx
! 6243 | 13 | 1 | 3 | 3 | 3 | 43 | 243 | 243 | 1243 | 6243 | 86 | 87 | DGAAAA | NAAAAA | HHHHxx
! (5 rows)
!
FETCH backward 6 in foo18;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 5387 | 16 | 1 | 3 | 7 | 7 | 87 | 387 | 1387 | 387 | 5387 | 174 | 175 | FZAAAA | QAAAAA | AAAAxx
! 5006 | 15 | 0 | 2 | 6 | 6 | 6 | 6 | 1006 | 6 | 5006 | 12 | 13 | OKAAAA | PAAAAA | VVVVxx
! 5471 | 14 | 1 | 3 | 1 | 11 | 71 | 471 | 1471 | 471 | 5471 | 142 | 143 | LCAAAA | OAAAAA | OOOOxx
! 6243 | 13 | 1 | 3 | 3 | 3 | 43 | 243 | 243 | 1243 | 6243 | 86 | 87 | DGAAAA | NAAAAA | HHHHxx
! 5222 | 12 | 0 | 2 | 2 | 2 | 22 | 222 | 1222 | 222 | 5222 | 44 | 45 | WSAAAA | MAAAAA | AAAAxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! (6 rows)
!
FETCH backward 7 in foo17;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 5006 | 15 | 0 | 2 | 6 | 6 | 6 | 6 | 1006 | 6 | 5006 | 12 | 13 | OKAAAA | PAAAAA | VVVVxx
! 5471 | 14 | 1 | 3 | 1 | 11 | 71 | 471 | 1471 | 471 | 5471 | 142 | 143 | LCAAAA | OAAAAA | OOOOxx
! 6243 | 13 | 1 | 3 | 3 | 3 | 43 | 243 | 243 | 1243 | 6243 | 86 | 87 | DGAAAA | NAAAAA | HHHHxx
! 5222 | 12 | 0 | 2 | 2 | 2 | 22 | 222 | 1222 | 222 | 5222 | 44 | 45 | WSAAAA | MAAAAA | AAAAxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! (7 rows)
!
FETCH backward 8 in foo16;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 5471 | 14 | 1 | 3 | 1 | 11 | 71 | 471 | 1471 | 471 | 5471 | 142 | 143 | LCAAAA | OAAAAA | OOOOxx
! 6243 | 13 | 1 | 3 | 3 | 3 | 43 | 243 | 243 | 1243 | 6243 | 86 | 87 | DGAAAA | NAAAAA | HHHHxx
! 5222 | 12 | 0 | 2 | 2 | 2 | 22 | 222 | 1222 | 222 | 5222 | 44 | 45 | WSAAAA | MAAAAA | AAAAxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! (8 rows)
!
FETCH backward 9 in foo15;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 6243 | 13 | 1 | 3 | 3 | 3 | 43 | 243 | 243 | 1243 | 6243 | 86 | 87 | DGAAAA | NAAAAA | HHHHxx
! 5222 | 12 | 0 | 2 | 2 | 2 | 22 | 222 | 1222 | 222 | 5222 | 44 | 45 | WSAAAA | MAAAAA | AAAAxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! (9 rows)
!
FETCH backward 10 in foo14;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 5222 | 12 | 0 | 2 | 2 | 2 | 22 | 222 | 1222 | 222 | 5222 | 44 | 45 | WSAAAA | MAAAAA | AAAAxx
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! (10 rows)
!
FETCH backward 11 in foo13;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 1504 | 11 | 0 | 0 | 4 | 4 | 4 | 504 | 1504 | 1504 | 1504 | 8 | 9 | WFAAAA | LAAAAA | VVVVxx
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! (11 rows)
!
FETCH backward 12 in foo12;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 1314 | 10 | 0 | 2 | 4 | 14 | 14 | 314 | 1314 | 1314 | 1314 | 28 | 29 | OYAAAA | KAAAAA | OOOOxx
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! (11 rows)
!
FETCH backward 13 in foo11;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 3043 | 9 | 1 | 3 | 3 | 3 | 43 | 43 | 1043 | 3043 | 3043 | 86 | 87 | BNAAAA | JAAAAA | HHHHxx
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! (10 rows)
!
FETCH backward 14 in foo10;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 4321 | 8 | 1 | 1 | 1 | 1 | 21 | 321 | 321 | 4321 | 4321 | 42 | 43 | FKAAAA | IAAAAA | AAAAxx
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! (9 rows)
!
FETCH backward 15 in foo9;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 6701 | 7 | 1 | 1 | 1 | 1 | 1 | 701 | 701 | 1701 | 6701 | 2 | 3 | TXAAAA | HAAAAA | VVVVxx
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! (8 rows)
!
FETCH backward 16 in foo8;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 5057 | 6 | 1 | 1 | 7 | 17 | 57 | 57 | 1057 | 57 | 5057 | 114 | 115 | NMAAAA | GAAAAA | OOOOxx
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! (7 rows)
!
FETCH backward 17 in foo7;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8009 | 5 | 1 | 1 | 9 | 9 | 9 | 9 | 9 | 3009 | 8009 | 18 | 19 | BWAAAA | FAAAAA | HHHHxx
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! (6 rows)
!
FETCH backward 18 in foo6;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 7164 | 4 | 0 | 0 | 4 | 4 | 64 | 164 | 1164 | 2164 | 7164 | 128 | 129 | OPAAAA | EAAAAA | AAAAxx
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! (5 rows)
!
FETCH backward 19 in foo5;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 9850 | 3 | 0 | 2 | 0 | 10 | 50 | 850 | 1850 | 4850 | 9850 | 100 | 101 | WOAAAA | DAAAAA | VVVVxx
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! (4 rows)
!
FETCH backward 20 in foo4;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 3420 | 2 | 0 | 0 | 0 | 0 | 20 | 420 | 1420 | 3420 | 3420 | 40 | 41 | OBAAAA | CAAAAA | OOOOxx
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! (3 rows)
!
FETCH backward 21 in foo3;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 1891 | 1 | 1 | 3 | 1 | 11 | 91 | 891 | 1891 | 1891 | 1891 | 182 | 183 | TUAAAA | BAAAAA | HHHHxx
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! (2 rows)
!
FETCH backward 22 in foo2;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 8800 | 0 | 0 | 0 | 0 | 0 | 0 | 800 | 800 | 3800 | 8800 | 0 | 1 | MAAAAA | AAAAAA | AAAAxx
! (1 row)
!
FETCH backward 23 in foo1;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! (0 rows)
!
CLOSE foo1;
CLOSE foo2;
CLOSE foo3;
CLOSE foo4;
CLOSE foo5;
CLOSE foo6;
CLOSE foo7;
CLOSE foo8;
CLOSE foo9;
CLOSE foo10;
CLOSE foo11;
CLOSE foo12;
end;
--- 3,167 ----
--
BEGIN;
DECLARE foo1 CURSOR FOR SELECT * FROM tenk1;
+ ERROR: Relation "tenk1" does not exist
DECLARE foo2 CURSOR FOR SELECT * FROM tenk2;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo3 CURSOR FOR SELECT * FROM tenk1;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo4 CURSOR FOR SELECT * FROM tenk2;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo5 CURSOR FOR SELECT * FROM tenk1;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo6 CURSOR FOR SELECT * FROM tenk2;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo7 CURSOR FOR SELECT * FROM tenk1;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo8 CURSOR FOR SELECT * FROM tenk2;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo9 CURSOR FOR SELECT * FROM tenk1;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo10 CURSOR FOR SELECT * FROM tenk2;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo11 CURSOR FOR SELECT * FROM tenk1;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo12 CURSOR FOR SELECT * FROM tenk2;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo13 CURSOR FOR SELECT * FROM tenk1;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo14 CURSOR FOR SELECT * FROM tenk2;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo15 CURSOR FOR SELECT * FROM tenk1;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo16 CURSOR FOR SELECT * FROM tenk2;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo17 CURSOR FOR SELECT * FROM tenk1;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo18 CURSOR FOR SELECT * FROM tenk2;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo19 CURSOR FOR SELECT * FROM tenk1;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo20 CURSOR FOR SELECT * FROM tenk2;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo21 CURSOR FOR SELECT * FROM tenk1;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo22 CURSOR FOR SELECT * FROM tenk2;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo23 CURSOR FOR SELECT * FROM tenk1;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 1 in foo1;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 2 in foo2;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 3 in foo3;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 4 in foo4;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 5 in foo5;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 6 in foo6;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 7 in foo7;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 8 in foo8;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 9 in foo9;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 10 in foo10;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 11 in foo11;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 12 in foo12;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 13 in foo13;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 14 in foo14;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 15 in foo15;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 16 in foo16;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 17 in foo17;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 18 in foo18;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 19 in foo19;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 20 in foo20;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 21 in foo21;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 22 in foo22;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH 23 in foo23;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 1 in foo23;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 2 in foo22;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 3 in foo21;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 4 in foo20;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 5 in foo19;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 6 in foo18;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 7 in foo17;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 8 in foo16;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 9 in foo15;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 10 in foo14;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 11 in foo13;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 12 in foo12;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 13 in foo11;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 14 in foo10;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 15 in foo9;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 16 in foo8;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 17 in foo7;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 18 in foo6;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 19 in foo5;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 20 in foo4;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 21 in foo3;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 22 in foo2;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH backward 23 in foo1;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo1;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo2;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo3;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo4;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo5;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo6;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo7;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo8;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo9;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo10;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo11;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo12;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
end;
======================================================================
*** ./expected/btree_index.out Sun Jan 9 11:48:37 2000
--- ./results/btree_index.out Thu Mar 7 10:43:22 2002
***************
*** 5,100 ****
SELECT b.*
FROM bt_i4_heap b
WHERE b.seqno < 1;
! seqno | random
! -------+------------
! 0 | 1935401906
! (1 row)
!
SELECT b.*
FROM bt_i4_heap b
WHERE b.seqno >= 9999;
! seqno | random
! -------+------------
! 9999 | 1227676208
! (1 row)
!
SELECT b.*
FROM bt_i4_heap b
WHERE b.seqno = 4500;
! seqno | random
! -------+------------
! 4500 | 2080851358
! (1 row)
!
SELECT b.*
FROM bt_name_heap b
WHERE b.seqno < '1'::name;
! seqno | random
! -------+------------
! 0 | 1935401906
! (1 row)
!
SELECT b.*
FROM bt_name_heap b
WHERE b.seqno >= '9999'::name;
! seqno | random
! -------+------------
! 9999 | 1227676208
! (1 row)
!
SELECT b.*
FROM bt_name_heap b
WHERE b.seqno = '4500'::name;
! seqno | random
! -------+------------
! 4500 | 2080851358
! (1 row)
!
SELECT b.*
FROM bt_txt_heap b
WHERE b.seqno < '1'::text;
! seqno | random
! -------+------------
! 0 | 1935401906
! (1 row)
!
SELECT b.*
FROM bt_txt_heap b
WHERE b.seqno >= '9999'::text;
! seqno | random
! -------+------------
! 9999 | 1227676208
! (1 row)
!
SELECT b.*
FROM bt_txt_heap b
WHERE b.seqno = '4500'::text;
! seqno | random
! -------+------------
! 4500 | 2080851358
! (1 row)
!
SELECT b.*
FROM bt_f8_heap b
WHERE b.seqno < '1'::float8;
! seqno | random
! -------+------------
! 0 | 1935401906
! (1 row)
!
SELECT b.*
FROM bt_f8_heap b
WHERE b.seqno >= '9999'::float8;
! seqno | random
! -------+------------
! 9999 | 1227676208
! (1 row)
!
SELECT b.*
FROM bt_f8_heap b
WHERE b.seqno = '4500'::float8;
! seqno | random
! -------+------------
! 4500 | 2080851358
! (1 row)
!
--- 5,52 ----
SELECT b.*
FROM bt_i4_heap b
WHERE b.seqno < 1;
! ERROR: Relation "bt_i4_heap" does not exist
SELECT b.*
FROM bt_i4_heap b
WHERE b.seqno >= 9999;
! ERROR: Relation "bt_i4_heap" does not exist
SELECT b.*
FROM bt_i4_heap b
WHERE b.seqno = 4500;
! ERROR: Relation "bt_i4_heap" does not exist
SELECT b.*
FROM bt_name_heap b
WHERE b.seqno < '1'::name;
! ERROR: Relation "bt_name_heap" does not exist
SELECT b.*
FROM bt_name_heap b
WHERE b.seqno >= '9999'::name;
! ERROR: Relation "bt_name_heap" does not exist
SELECT b.*
FROM bt_name_heap b
WHERE b.seqno = '4500'::name;
! ERROR: Relation "bt_name_heap" does not exist
SELECT b.*
FROM bt_txt_heap b
WHERE b.seqno < '1'::text;
! ERROR: Relation "bt_txt_heap" does not exist
SELECT b.*
FROM bt_txt_heap b
WHERE b.seqno >= '9999'::text;
! ERROR: Relation "bt_txt_heap" does not exist
SELECT b.*
FROM bt_txt_heap b
WHERE b.seqno = '4500'::text;
! ERROR: Relation "bt_txt_heap" does not exist
SELECT b.*
FROM bt_f8_heap b
WHERE b.seqno < '1'::float8;
! ERROR: Relation "bt_f8_heap" does not exist
SELECT b.*
FROM bt_f8_heap b
WHERE b.seqno >= '9999'::float8;
! ERROR: Relation "bt_f8_heap" does not exist
SELECT b.*
FROM bt_f8_heap b
WHERE b.seqno = '4500'::float8;
! ERROR: Relation "bt_f8_heap" does not exist
======================================================================
*** ./expected/hash_index.out Sun Jan 9 11:48:37 2000
--- ./results/hash_index.out Thu Mar 7 10:43:23 2002
***************
*** 4,87 ****
--
SELECT hash_i4_heap.*
WHERE hash_i4_heap.random = 843938989;
! seqno | random
! -------+-----------
! 15 | 843938989
! (1 row)
!
--
-- hash index
-- grep 66766766 hash.data
--
SELECT hash_i4_heap.*
WHERE hash_i4_heap.random = 66766766;
! seqno | random
! -------+--------
! (0 rows)
!
--
-- hash index
-- grep 1505703298 hash.data
--
SELECT hash_name_heap.*
WHERE hash_name_heap.random = '1505703298'::name;
! seqno | random
! -------+------------
! 9838 | 1505703298
! (1 row)
!
--
-- hash index
-- grep 7777777 hash.data
--
SELECT hash_name_heap.*
WHERE hash_name_heap.random = '7777777'::name;
! seqno | random
! -------+--------
! (0 rows)
!
--
-- hash index
-- grep 1351610853 hash.data
--
SELECT hash_txt_heap.*
WHERE hash_txt_heap.random = '1351610853'::text;
! seqno | random
! -------+------------
! 5677 | 1351610853
! (1 row)
!
--
-- hash index
-- grep 111111112222222233333333 hash.data
--
SELECT hash_txt_heap.*
WHERE hash_txt_heap.random = '111111112222222233333333'::text;
! seqno | random
! -------+--------
! (0 rows)
!
--
-- hash index
-- grep 444705537 hash.data
--
SELECT hash_f8_heap.*
WHERE hash_f8_heap.random = '444705537'::float8;
! seqno | random
! -------+-----------
! 7853 | 444705537
! (1 row)
!
--
-- hash index
-- grep 88888888 hash.data
--
SELECT hash_f8_heap.*
WHERE hash_f8_heap.random = '88888888'::float8;
! seqno | random
! -------+--------
! (0 rows)
!
--
-- hash index
-- grep '^90[^0-9]' hashovfl.data
--- 4,59 ----
--
SELECT hash_i4_heap.*
WHERE hash_i4_heap.random = 843938989;
! ERROR: Relation "hash_i4_heap" does not exist
--
-- hash index
-- grep 66766766 hash.data
--
SELECT hash_i4_heap.*
WHERE hash_i4_heap.random = 66766766;
! ERROR: Relation "hash_i4_heap" does not exist
--
-- hash index
-- grep 1505703298 hash.data
--
SELECT hash_name_heap.*
WHERE hash_name_heap.random = '1505703298'::name;
! ERROR: Relation "hash_name_heap" does not exist
--
-- hash index
-- grep 7777777 hash.data
--
SELECT hash_name_heap.*
WHERE hash_name_heap.random = '7777777'::name;
! ERROR: Relation "hash_name_heap" does not exist
--
-- hash index
-- grep 1351610853 hash.data
--
SELECT hash_txt_heap.*
WHERE hash_txt_heap.random = '1351610853'::text;
! ERROR: Relation "hash_txt_heap" does not exist
--
-- hash index
-- grep 111111112222222233333333 hash.data
--
SELECT hash_txt_heap.*
WHERE hash_txt_heap.random = '111111112222222233333333'::text;
! ERROR: Relation "hash_txt_heap" does not exist
--
-- hash index
-- grep 444705537 hash.data
--
SELECT hash_f8_heap.*
WHERE hash_f8_heap.random = '444705537'::float8;
! ERROR: Relation "hash_f8_heap" does not exist
--
-- hash index
-- grep 88888888 hash.data
--
SELECT hash_f8_heap.*
WHERE hash_f8_heap.random = '88888888'::float8;
! ERROR: Relation "hash_f8_heap" does not exist
--
-- hash index
-- grep '^90[^0-9]' hashovfl.data
***************
*** 100,192 ****
UPDATE hash_i4_heap
SET random = 1
WHERE hash_i4_heap.seqno = 1492;
SELECT h.seqno AS i1492, h.random AS i1
FROM hash_i4_heap h
WHERE h.random = 1;
! i1492 | i1
! -------+----
! 1492 | 1
! (1 row)
!
UPDATE hash_i4_heap
SET seqno = 20000
WHERE hash_i4_heap.random = 1492795354;
SELECT h.seqno AS i20000
FROM hash_i4_heap h
WHERE h.random = 1492795354;
! i20000
! --------
! 20000
! (1 row)
!
UPDATE hash_name_heap
SET random = '0123456789abcdef'::name
WHERE hash_name_heap.seqno = 6543;
SELECT h.seqno AS i6543, h.random AS c0_to_f
FROM hash_name_heap h
WHERE h.random = '0123456789abcdef'::name;
! i6543 | c0_to_f
! -------+------------------
! 6543 | 0123456789abcdef
! (1 row)
!
UPDATE hash_name_heap
SET seqno = 20000
WHERE hash_name_heap.random = '76652222'::name;
--
-- this is the row we just replaced; index scan should return zero rows
--
SELECT h.seqno AS emptyset
FROM hash_name_heap h
WHERE h.random = '76652222'::name;
! emptyset
! ----------
! (0 rows)
!
UPDATE hash_txt_heap
SET random = '0123456789abcdefghijklmnop'::text
WHERE hash_txt_heap.seqno = 4002;
SELECT h.seqno AS i4002, h.random AS c0_to_p
FROM hash_txt_heap h
WHERE h.random = '0123456789abcdefghijklmnop'::text;
! i4002 | c0_to_p
! -------+----------------------------
! 4002 | 0123456789abcdefghijklmnop
! (1 row)
!
UPDATE hash_txt_heap
SET seqno = 20000
WHERE hash_txt_heap.random = '959363399'::text;
SELECT h.seqno AS t20000
FROM hash_txt_heap h
WHERE h.random = '959363399'::text;
! t20000
! --------
! 20000
! (1 row)
!
UPDATE hash_f8_heap
SET random = '-1234.1234'::float8
WHERE hash_f8_heap.seqno = 8906;
SELECT h.seqno AS i8096, h.random AS f1234_1234
FROM hash_f8_heap h
WHERE h.random = '-1234.1234'::float8;
! i8096 | f1234_1234
! -------+------------
! 8906 | -1234.1234
! (1 row)
!
UPDATE hash_f8_heap
SET seqno = 20000
WHERE hash_f8_heap.random = '488912369'::float8;
SELECT h.seqno AS f20000
FROM hash_f8_heap h
WHERE h.random = '488912369'::float8;
! f20000
! --------
! 20000
! (1 row)
!
-- UPDATE hash_ovfl_heap
-- SET x = 1000
-- WHERE x = 90;
--- 72,141 ----
UPDATE hash_i4_heap
SET random = 1
WHERE hash_i4_heap.seqno = 1492;
+ ERROR: Relation "hash_i4_heap" does not exist
SELECT h.seqno AS i1492, h.random AS i1
FROM hash_i4_heap h
WHERE h.random = 1;
! ERROR: Relation "hash_i4_heap" does not exist
UPDATE hash_i4_heap
SET seqno = 20000
WHERE hash_i4_heap.random = 1492795354;
+ ERROR: Relation "hash_i4_heap" does not exist
SELECT h.seqno AS i20000
FROM hash_i4_heap h
WHERE h.random = 1492795354;
! ERROR: Relation "hash_i4_heap" does not exist
UPDATE hash_name_heap
SET random = '0123456789abcdef'::name
WHERE hash_name_heap.seqno = 6543;
+ ERROR: Relation "hash_name_heap" does not exist
SELECT h.seqno AS i6543, h.random AS c0_to_f
FROM hash_name_heap h
WHERE h.random = '0123456789abcdef'::name;
! ERROR: Relation "hash_name_heap" does not exist
UPDATE hash_name_heap
SET seqno = 20000
WHERE hash_name_heap.random = '76652222'::name;
+ ERROR: Relation "hash_name_heap" does not exist
--
-- this is the row we just replaced; index scan should return zero rows
--
SELECT h.seqno AS emptyset
FROM hash_name_heap h
WHERE h.random = '76652222'::name;
! ERROR: Relation "hash_name_heap" does not exist
UPDATE hash_txt_heap
SET random = '0123456789abcdefghijklmnop'::text
WHERE hash_txt_heap.seqno = 4002;
+ ERROR: Relation "hash_txt_heap" does not exist
SELECT h.seqno AS i4002, h.random AS c0_to_p
FROM hash_txt_heap h
WHERE h.random = '0123456789abcdefghijklmnop'::text;
! ERROR: Relation "hash_txt_heap" does not exist
UPDATE hash_txt_heap
SET seqno = 20000
WHERE hash_txt_heap.random = '959363399'::text;
+ ERROR: Relation "hash_txt_heap" does not exist
SELECT h.seqno AS t20000
FROM hash_txt_heap h
WHERE h.random = '959363399'::text;
! ERROR: Relation "hash_txt_heap" does not exist
UPDATE hash_f8_heap
SET random = '-1234.1234'::float8
WHERE hash_f8_heap.seqno = 8906;
+ ERROR: Relation "hash_f8_heap" does not exist
SELECT h.seqno AS i8096, h.random AS f1234_1234
FROM hash_f8_heap h
WHERE h.random = '-1234.1234'::float8;
! ERROR: Relation "hash_f8_heap" does not exist
UPDATE hash_f8_heap
SET seqno = 20000
WHERE hash_f8_heap.random = '488912369'::float8;
+ ERROR: Relation "hash_f8_heap" does not exist
SELECT h.seqno AS f20000
FROM hash_f8_heap h
WHERE h.random = '488912369'::float8;
! ERROR: Relation "hash_f8_heap" does not exist
-- UPDATE hash_ovfl_heap
-- SET x = 1000
-- WHERE x = 90;
======================================================================
*** ./expected/misc.out Thu Mar 7 10:40:02 2002
--- ./results/misc.out Thu Mar 7 10:43:29 2002
***************
*** 6,13 ****
--- 6,15 ----
--
UPDATE onek
SET unique1 = onek.unique1 + 1;
+ ERROR: Relation "onek" does not exist
UPDATE onek
SET unique1 = onek.unique1 - 1;
+ ERROR: Relation "onek" does not exist
--
-- BTREE partial
--
***************
*** 26,36 ****
--- 28,41 ----
SET stringu1 = reverse_name(onek.stringu1)
WHERE onek.stringu1 = 'JBAAAA' and
onek.stringu1 = tmp.stringu1;
+ ERROR: Relation "tmp" does not exist
UPDATE tmp
SET stringu1 = reverse_name(onek2.stringu1)
WHERE onek2.stringu1 = 'JCAAAA' and
onek2.stringu1 = tmp.stringu1;
+ ERROR: Relation "tmp" does not exist
DROP TABLE tmp;
+ ERROR: table "tmp" does not exist
--UPDATE person*
-- SET age = age + 1;
--UPDATE person*
***************
*** 40,74 ****
-- copy
--
COPY onek TO '/home/chriskl/pgsql/src/test/regress/results/onek.data';
DELETE FROM onek;
COPY onek FROM '/home/chriskl/pgsql/src/test/regress/results/onek.data';
SELECT unique1 FROM onek WHERE unique1 < 2 ORDER BY unique1;
! unique1
! ---------
! 0
! 1
! (2 rows)
!
DELETE FROM onek2;
COPY onek2 FROM '/home/chriskl/pgsql/src/test/regress/results/onek.data';
SELECT unique1 FROM onek2 WHERE unique1 < 2 ORDER BY unique1;
! unique1
! ---------
! 0
! 1
! (2 rows)
!
COPY BINARY stud_emp TO '/home/chriskl/pgsql/src/test/regress/results/stud_emp.data';
DELETE FROM stud_emp;
COPY BINARY stud_emp FROM '/home/chriskl/pgsql/src/test/regress/results/stud_emp.data';
SELECT * FROM stud_emp;
! name | age | location | salary | manager | gpa | percent
! -------+-----+------------+--------+---------+-----+---------
! jeff | 23 | (8,7.7) | 600 | sharon | 3.5 |
! cim | 30 | (10.5,4.7) | 400 | | 3.4 |
! linda | 19 | (0.9,6.1) | 100 | | 2.9 |
! (3 rows)
!
-- COPY aggtest FROM stdin;
-- 56 7.8
-- 100 99.097
--- 45,71 ----
-- copy
--
COPY onek TO '/home/chriskl/pgsql/src/test/regress/results/onek.data';
+ ERROR: Relation "onek" does not exist
DELETE FROM onek;
+ ERROR: Relation "onek" does not exist
COPY onek FROM '/home/chriskl/pgsql/src/test/regress/results/onek.data';
+ ERROR: Relation "onek" does not exist
SELECT unique1 FROM onek WHERE unique1 < 2 ORDER BY unique1;
! ERROR: Relation "onek" does not exist
DELETE FROM onek2;
+ ERROR: Relation "onek2" does not exist
COPY onek2 FROM '/home/chriskl/pgsql/src/test/regress/results/onek.data';
+ ERROR: Relation "onek2" does not exist
SELECT unique1 FROM onek2 WHERE unique1 < 2 ORDER BY unique1;
! ERROR: Relation "onek2" does not exist
COPY BINARY stud_emp TO '/home/chriskl/pgsql/src/test/regress/results/stud_emp.data';
+ ERROR: Relation "stud_emp" does not exist
DELETE FROM stud_emp;
+ ERROR: Relation "stud_emp" does not exist
COPY BINARY stud_emp FROM '/home/chriskl/pgsql/src/test/regress/results/stud_emp.data';
+ ERROR: Relation "stud_emp" does not exist
SELECT * FROM stud_emp;
! ERROR: Relation "stud_emp" does not exist
-- COPY aggtest FROM stdin;
-- 56 7.8
-- 100 99.097
***************
*** 80,436 ****
-- inheritance stress test
--
SELECT * FROM a_star*;
! class | a
! -------+----
! a | 1
! a | 2
! a |
! b | 3
! b | 4
! b |
! b |
! c | 5
! c | 6
! c |
! c |
! d | 7
! d | 8
! d | 9
! d | 10
! d |
! d | 11
! d | 12
! d | 13
! d |
! d |
! d |
! d | 14
! d |
! d |
! d |
! d |
! e | 15
! e | 16
! e | 17
! e |
! e | 18
! e |
! e |
! f | 19
! f | 20
! f | 21
! f | 22
! f |
! f | 24
! f | 25
! f | 26
! f |
! f |
! f |
! f | 27
! f |
! f |
! f |
! f |
! (50 rows)
!
SELECT *
FROM b_star* x
WHERE x.b = text 'bumble' or x.a < 3;
! class | a | b
! -------+---+--------
! b | | bumble
! (1 row)
!
SELECT class, a
FROM c_star* x
WHERE x.c ~ text 'hi';
! class | a
! -------+----
! c | 5
! c |
! d | 7
! d | 8
! d | 10
! d |
! d | 12
! d |
! d |
! d |
! e | 15
! e | 16
! e |
! e |
! f | 19
! f | 20
! f | 21
! f |
! f | 24
! f |
! f |
! f |
! (22 rows)
!
SELECT class, b, c
FROM d_star* x
WHERE x.a < 100;
! class | b | c
! -------+---------+------------
! d | grumble | hi sunita
! d | stumble | hi koko
! d | rumble |
! d | | hi kristin
! d | fumble |
! d | | hi avi
! d | |
! d | |
! (8 rows)
!
SELECT class, c FROM e_star* x WHERE x.c NOTNULL;
! class | c
! -------+-------------
! e | hi carol
! e | hi bob
! e | hi michelle
! e | hi elisa
! f | hi claire
! f | hi mike
! f | hi marcel
! f | hi keith
! f | hi marc
! f | hi allison
! f | hi jeff
! f | hi carl
! (12 rows)
!
SELECT * FROM f_star* x WHERE x.c ISNULL;
! class | a | c | e | f
! -------+----+---+-----+-------------------------------------------
! f | 22 | | -7 | ((111,555),(222,666),(333,777),(444,888))
! f | 25 | | -9 |
! f | 26 | | | ((11111,33333),(22222,44444))
! f | | | -11 | ((1111111,3333333),(2222222,4444444))
! f | 27 | | |
! f | | | -12 |
! f | | | | ((11111111,33333333),(22222222,44444444))
! f | | | |
! (8 rows)
!
-- grouping and aggregation on inherited sets have been busted in the past...
SELECT sum(a) FROM a_star*;
! sum
! -----
! 355
! (1 row)
!
SELECT class, sum(a) FROM a_star* GROUP BY class;
! class | sum
! -------+-----
! a | 3
! b | 7
! c | 11
! d | 84
! e | 66
! f | 184
! (6 rows)
!
ALTER TABLE f_star RENAME COLUMN f TO ff;
ALTER TABLE e_star* RENAME COLUMN e TO ee;
ALTER TABLE d_star* RENAME COLUMN d TO dd;
ALTER TABLE c_star* RENAME COLUMN c TO cc;
ALTER TABLE b_star* RENAME COLUMN b TO bb;
ALTER TABLE a_star* RENAME COLUMN a TO aa;
SELECT class, aa
FROM a_star* x
WHERE aa ISNULL;
! class | aa
! -------+----
! a |
! b |
! b |
! c |
! c |
! d |
! d |
! d |
! d |
! d |
! d |
! d |
! d |
! e |
! e |
! e |
! f |
! f |
! f |
! f |
! f |
! f |
! f |
! f |
! (24 rows)
!
-- As of Postgres 7.1, ALTER implicitly recurses,
-- so this should be same as ALTER a_star*
ALTER TABLE a_star RENAME COLUMN aa TO foo;
SELECT class, foo
FROM a_star* x
WHERE x.foo >= 2;
! class | foo
! -------+-----
! a | 2
! b | 3
! b | 4
! c | 5
! c | 6
! d | 7
! d | 8
! d | 9
! d | 10
! d | 11
! d | 12
! d | 13
! d | 14
! e | 15
! e | 16
! e | 17
! e | 18
! f | 19
! f | 20
! f | 21
! f | 22
! f | 24
! f | 25
! f | 26
! f | 27
! (25 rows)
!
ALTER TABLE a_star RENAME COLUMN foo TO aa;
SELECT *
from a_star*
WHERE aa < 1000;
! class | aa
! -------+----
! a | 1
! a | 2
! b | 3
! b | 4
! c | 5
! c | 6
! d | 7
! d | 8
! d | 9
! d | 10
! d | 11
! d | 12
! d | 13
! d | 14
! e | 15
! e | 16
! e | 17
! e | 18
! f | 19
! f | 20
! f | 21
! f | 22
! f | 24
! f | 25
! f | 26
! f | 27
! (26 rows)
!
ALTER TABLE f_star ADD COLUMN f int4;
UPDATE f_star SET f = 10;
ALTER TABLE e_star* ADD COLUMN e int4;
--UPDATE e_star* SET e = 42;
SELECT * FROM e_star*;
! class | aa | cc | ee | e
! -------+----+-------------+-----+---
! e | 15 | hi carol | -1 |
! e | 16 | hi bob | |
! e | 17 | | -2 |
! e | | hi michelle | -3 |
! e | 18 | | |
! e | | hi elisa | |
! e | | | -4 |
! f | 19 | hi claire | -5 |
! f | 20 | hi mike | -6 |
! f | 21 | hi marcel | |
! f | 22 | | -7 |
! f | | hi keith | -8 |
! f | 24 | hi marc | |
! f | 25 | | -9 |
! f | 26 | | |
! f | | hi allison | -10 |
! f | | hi jeff | |
! f | | | -11 |
! f | 27 | | |
! f | | hi carl | |
! f | | | -12 |
! f | | | |
! f | | | |
! (23 rows)
!
ALTER TABLE a_star* ADD COLUMN a text;
--UPDATE b_star*
-- SET a = text 'gazpacho'
-- WHERE aa > 4;
SELECT class, aa, a FROM a_star*;
! class | aa | a
! -------+----+---
! a | 1 |
! a | 2 |
! a | |
! b | 3 |
! b | 4 |
! b | |
! b | |
! c | 5 |
! c | 6 |
! c | |
! c | |
! d | 7 |
! d | 8 |
! d | 9 |
! d | 10 |
! d | |
! d | 11 |
! d | 12 |
! d | 13 |
! d | |
! d | |
! d | |
! d | 14 |
! d | |
! d | |
! d | |
! d | |
! e | 15 |
! e | 16 |
! e | 17 |
! e | |
! e | 18 |
! e | |
! e | |
! f | 19 |
! f | 20 |
! f | 21 |
! f | 22 |
! f | |
! f | 24 |
! f | 25 |
! f | 26 |
! f | |
! f | |
! f | |
! f | 27 |
! f | |
! f | |
! f | |
! f | |
! (50 rows)
!
--
-- versions
--
--- 77,150 ----
-- inheritance stress test
--
SELECT * FROM a_star*;
! ERROR: Relation "a_star" does not exist
SELECT *
FROM b_star* x
WHERE x.b = text 'bumble' or x.a < 3;
! ERROR: Relation "b_star" does not exist
SELECT class, a
FROM c_star* x
WHERE x.c ~ text 'hi';
! ERROR: Relation "c_star" does not exist
SELECT class, b, c
FROM d_star* x
WHERE x.a < 100;
! ERROR: Relation "d_star" does not exist
SELECT class, c FROM e_star* x WHERE x.c NOTNULL;
! ERROR: Relation "e_star" does not exist
SELECT * FROM f_star* x WHERE x.c ISNULL;
! ERROR: Relation "f_star" does not exist
-- grouping and aggregation on inherited sets have been busted in the past...
SELECT sum(a) FROM a_star*;
! ERROR: Relation "a_star" does not exist
SELECT class, sum(a) FROM a_star* GROUP BY class;
! ERROR: Relation "a_star" does not exist
ALTER TABLE f_star RENAME COLUMN f TO ff;
+ ERROR: Relation "f_star" does not exist
ALTER TABLE e_star* RENAME COLUMN e TO ee;
+ ERROR: Relation "e_star" does not exist
ALTER TABLE d_star* RENAME COLUMN d TO dd;
+ ERROR: Relation "d_star" does not exist
ALTER TABLE c_star* RENAME COLUMN c TO cc;
+ ERROR: Relation "c_star" does not exist
ALTER TABLE b_star* RENAME COLUMN b TO bb;
+ ERROR: Relation "b_star" does not exist
ALTER TABLE a_star* RENAME COLUMN a TO aa;
+ ERROR: Relation "a_star" does not exist
SELECT class, aa
FROM a_star* x
WHERE aa ISNULL;
! ERROR: Relation "a_star" does not exist
-- As of Postgres 7.1, ALTER implicitly recurses,
-- so this should be same as ALTER a_star*
ALTER TABLE a_star RENAME COLUMN aa TO foo;
+ ERROR: Relation "a_star" does not exist
SELECT class, foo
FROM a_star* x
WHERE x.foo >= 2;
! ERROR: Relation "a_star" does not exist
ALTER TABLE a_star RENAME COLUMN foo TO aa;
+ ERROR: Relation "a_star" does not exist
SELECT *
from a_star*
WHERE aa < 1000;
! ERROR: Relation "a_star" does not exist
ALTER TABLE f_star ADD COLUMN f int4;
+ ERROR: Relation "f_star" does not exist
UPDATE f_star SET f = 10;
+ ERROR: Relation "f_star" does not exist
ALTER TABLE e_star* ADD COLUMN e int4;
+ ERROR: Relation "e_star" does not exist
--UPDATE e_star* SET e = 42;
SELECT * FROM e_star*;
! ERROR: Relation "e_star" does not exist
ALTER TABLE a_star* ADD COLUMN a text;
+ ERROR: Relation "a_star" does not exist
--UPDATE b_star*
-- SET a = text 'gazpacho'
-- WHERE aa > 4;
SELECT class, aa, a FROM a_star*;
! ERROR: Relation "a_star" does not exist
--
-- versions
--
***************
*** 443,670 ****
-- everyone else does nothing.
--
SELECT p.name, p.hobbies.name FROM ONLY person p;
! name | name
! -------+-------------
! mike | posthacking
! joe | basketball
! sally | basketball
! (3 rows)
!
--
-- as above, but jeff also does post_hacking.
--
SELECT p.name, p.hobbies.name FROM person* p;
! name | name
! -------+-------------
! mike | posthacking
! joe | basketball
! sally | basketball
! jeff | posthacking
! (4 rows)
!
--
-- the next two queries demonstrate how functions generate bogus duplicates.
-- this is a "feature" ..
--
SELECT DISTINCT hobbies_r.name, hobbies_r.equipment.name FROM hobbies_r;
! name | name
! -------------+---------------
! basketball | hightops
! posthacking | advil
! posthacking | peet's coffee
! skywalking | guts
! (4 rows)
!
SELECT hobbies_r.name, hobbies_r.equipment.name FROM hobbies_r;
! name | name
! -------------+---------------
! posthacking | advil
! posthacking | peet's coffee
! posthacking | advil
! posthacking | peet's coffee
! basketball | hightops
! basketball | hightops
! skywalking | guts
! (7 rows)
!
--
-- mike needs advil and peet's coffee,
-- joe and sally need hightops, and
-- everyone else is fine.
--
SELECT p.name, p.hobbies.name, p.hobbies.equipment.name FROM ONLY person p;
! name | name | name
! -------+-------------+---------------
! mike | posthacking | advil
! mike | posthacking | peet's coffee
! joe | basketball | hightops
! sally | basketball | hightops
! (4 rows)
!
--
-- as above, but jeff needs advil and peet's coffee as well.
--
SELECT p.name, p.hobbies.name, p.hobbies.equipment.name FROM person* p;
! name | name | name
! -------+-------------+---------------
! mike | posthacking | advil
! mike | posthacking | peet's coffee
! joe | basketball | hightops
! sally | basketball | hightops
! jeff | posthacking | advil
! jeff | posthacking | peet's coffee
! (6 rows)
!
--
-- just like the last two, but make sure that the target list fixup and
-- unflattening is being done correctly.
--
SELECT p.hobbies.equipment.name, p.name, p.hobbies.name FROM ONLY person p;
! name | name | name
! ---------------+-------+-------------
! advil | mike | posthacking
! peet's coffee | mike | posthacking
! hightops | joe | basketball
! hightops | sally | basketball
! (4 rows)
!
SELECT p.hobbies.equipment.name, p.name, p.hobbies.name FROM person* p;
! name | name | name
! ---------------+-------+-------------
! advil | mike | posthacking
! peet's coffee | mike | posthacking
! hightops | joe | basketball
! hightops | sally | basketball
! advil | jeff | posthacking
! peet's coffee | jeff | posthacking
! (6 rows)
!
SELECT p.hobbies.equipment.name, p.hobbies.name, p.name FROM ONLY person p;
! name | name | name
! ---------------+-------------+-------
! advil | posthacking | mike
! peet's coffee | posthacking | mike
! hightops | basketball | joe
! hightops | basketball | sally
! (4 rows)
!
SELECT p.hobbies.equipment.name, p.hobbies.name, p.name FROM person* p;
! name | name | name
! ---------------+-------------+-------
! advil | posthacking | mike
! peet's coffee | posthacking | mike
! hightops | basketball | joe
! hightops | basketball | sally
! advil | posthacking | jeff
! peet's coffee | posthacking | jeff
! (6 rows)
!
SELECT user_relns() AS user_relns
ORDER BY user_relns;
! user_relns
! ---------------------
! a
! a_star
! abstime_tbl
! aggtest
! arrtest
! b
! b_star
! box_tbl
! bprime
! bt_f8_heap
! bt_i4_heap
! bt_name_heap
! bt_txt_heap
! c
! c_star
! char_tbl
! check2_tbl
! check_seq
! check_tbl
! circle_tbl
! city
! copy_tbl
! d
! d_star
! date_tbl
! default_seq
! default_tbl
! defaultexpr_tbl
! dept
! e_star
! emp
! equipment_r
! f_star
! fast_emp4000
! float4_tbl
! float8_tbl
! func_index_heap
! hash_f8_heap
! hash_i4_heap
! hash_name_heap
! hash_txt_heap
! hobbies_r
! iexit
! ihighway
! inet_tbl
! insert_seq
! insert_tbl
! int2_tbl
! int4_tbl
! int8_tbl
! interval_tbl
! iportaltest
! lseg_tbl
! num_data
! num_exp_add
! num_exp_div
! num_exp_ln
! num_exp_log10
! num_exp_mul
! num_exp_power_10_ln
! num_exp_sqrt
! num_exp_sub
! num_result
! onek
! onek2
! path_tbl
! person
! point_tbl
! polygon_tbl
! ramp
! random_tbl
! real_city
! reltime_tbl
! road
! serialtest
! serialtest_f2_seq
! shighway
! slow_emp4000
! street
! stud_emp
! student
! subselect_tbl
! tenk1
! tenk2
! text_tbl
! time_tbl
! timestamp_tbl
! timestamptz_tbl
! timetz_tbl
! tinterval_tbl
! toyemp
! varchar_tbl
! xacttest
! (93 rows)
!
--SELECT name(equipment(hobby_construct(text 'skywalking', text 'mer'))) AS equip_name;
SELECT hobbies_by_name('basketball');
! hobbies_by_name
! -----------------
! joe
! (1 row)
!
--
-- check that old-style C functions work properly with TOASTed values
--
--- 157,210 ----
-- everyone else does nothing.
--
SELECT p.name, p.hobbies.name FROM ONLY person p;
! ERROR: Relation "person" does not exist
--
-- as above, but jeff also does post_hacking.
--
SELECT p.name, p.hobbies.name FROM person* p;
! ERROR: Relation "person" does not exist
--
-- the next two queries demonstrate how functions generate bogus duplicates.
-- this is a "feature" ..
--
SELECT DISTINCT hobbies_r.name, hobbies_r.equipment.name FROM hobbies_r;
! ERROR: Relation "hobbies_r" does not exist
SELECT hobbies_r.name, hobbies_r.equipment.name FROM hobbies_r;
! ERROR: Relation "hobbies_r" does not exist
--
-- mike needs advil and peet's coffee,
-- joe and sally need hightops, and
-- everyone else is fine.
--
SELECT p.name, p.hobbies.name, p.hobbies.equipment.name FROM ONLY person p;
! ERROR: Relation "person" does not exist
--
-- as above, but jeff needs advil and peet's coffee as well.
--
SELECT p.name, p.hobbies.name, p.hobbies.equipment.name FROM person* p;
! ERROR: Relation "person" does not exist
--
-- just like the last two, but make sure that the target list fixup and
-- unflattening is being done correctly.
--
SELECT p.hobbies.equipment.name, p.name, p.hobbies.name FROM ONLY person p;
! ERROR: Relation "person" does not exist
SELECT p.hobbies.equipment.name, p.name, p.hobbies.name FROM person* p;
! ERROR: Relation "person" does not exist
SELECT p.hobbies.equipment.name, p.hobbies.name, p.name FROM ONLY person p;
! ERROR: Relation "person" does not exist
SELECT p.hobbies.equipment.name, p.hobbies.name, p.name FROM person* p;
! ERROR: Relation "person" does not exist
SELECT user_relns() AS user_relns
ORDER BY user_relns;
! ERROR: Function 'user_relns()' does not exist
! Unable to identify a function that satisfies the given argument types
! You may need to add explicit typecasts
--SELECT name(equipment(hobby_construct(text 'skywalking', text 'mer'))) AS equip_name;
SELECT hobbies_by_name('basketball');
! ERROR: Function 'hobbies_by_name(unknown)' does not exist
! Unable to identify a function that satisfies the given argument types
! You may need to add explicit typecasts
--
-- check that old-style C functions work properly with TOASTed values
--
***************
*** 674,687 ****
insert into oldstyle_test values(1000,'12');
insert into oldstyle_test values(0, repeat('x', 50000));
select i, length(t), octet_length(t), oldstyle_length(i,t) from oldstyle_test;
! i | length | octet_length | oldstyle_length
! ------+--------+--------------+-----------------
! | | |
! 0 | 2 | 2 | 2
! 1000 | 2 | 2 | 1002
! 0 | 50000 | 50000 | 50000
! (4 rows)
!
drop table oldstyle_test;
--
-- functional joins
--- 214,222 ----
insert into oldstyle_test values(1000,'12');
insert into oldstyle_test values(0, repeat('x', 50000));
select i, length(t), octet_length(t), oldstyle_length(i,t) from oldstyle_test;
! ERROR: Function 'oldstyle_length(int4, text)' does not exist
! Unable to identify a function that satisfies the given argument types
! You may need to add explicit typecasts
drop table oldstyle_test;
--
-- functional joins
======================================================================
*** ./expected/select_views.out Wed Oct 17 15:16:43 2001
--- ./results/select_views.out Thu Mar 7 10:43:30 2002
***************
*** 3,1249 ****
-- test the views defined in CREATE_VIEWS
--
SELECT * FROM street;
! name | thepath | cname
! ------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+-----------
! Access Rd 25 | [(-121.9283,37.894),(-121.9283,37.9)] | Oakland
! Agua Fria Creek | [(-121.9254,37.922),(-121.9281,37.889)] | Oakland
! Andrea Cir | [(-121.733218,37.88641),(-121.733286,37.90617)] | Oakland
! Apricot Lane | [(-121.9471,37.401),(-121.9456,37.392)] | Oakland
! Arlington Dr | [(-121.8802,37.408),(-121.8807,37.394)] | Oakland
! Arlington Road | [(-121.7957,37.898),(-121.7956,37.906)] | Oakland
! Arroyo Las Positas | [(-121.7973,37.997),(-121.7957,37.005)] | Oakland
! Arroyo Seco | [(-121.7073,37.766),(-121.6997,37.729)] | Oakland
! Calaveras Creek | [(-121.8203,37.035),(-121.8207,37.931)] | Oakland
! Corriea Way | [(-121.9501,37.402),(-121.9505,37.398)] | Oakland
! Cowing Road | [(-122.0002,37.934),(-121.9772,37.782)] | Oakland
! Driscoll Road | [(-121.9482,37.403),(-121.948451,37.39995)] | Oakland
! Enos Way | [(-121.7677,37.896),(-121.7673,37.91)] | Oakland
! Fairview Ave | [(-121.999,37.428),(-121.9863,37.351)] | Oakland
! I- 580 | [(-121.9322,37.989),(-121.9243,37.006),(-121.9217,37.014)] | Oakland
! I- 580 | [(-122.018,37.019),(-122.0009,37.032),(-121.9787,37.983),(-121.958,37.984),(-121.9571,37.986)] | Oakland
! I- 580 Ramp | [(-121.8521,37.011),(-121.8479,37.999),(-121.8476,37.999),(-121.8456,37.01),(-121.8455,37.011)] | Oakland
! I- 580 Ramp | [(-121.8743,37.014),(-121.8722,37.999),(-121.8714,37.999)] | Oakland
! I- 580 Ramp | [(-121.9043,37.998),(-121.9036,37.013),(-121.902632,37.0174),(-121.9025,37.018)] | Oakland
! I- 580 Ramp | [(-121.9368,37.986),(-121.936483,37.98832),(-121.9353,37.997),(-121.93504,37.00035),(-121.9346,37.006),(-121.933764,37.00031),(-121.9333,37.997),(-121.9322,37.989)] | Oakland
! I- 580/I-680 Ramp | ((-121.9207,37.988),(-121.9192,37.016)) | Oakland
! I- 680 | ((-121.939,37.15),(-121.9387,37.145),(-121.9373,37.125),(-121.934242,37.07643),(-121.933886,37.0709),(-121.9337,37.068),(-121.933122,37.06139),(-121.932736,37.05698),(-121.93222,37.05108),(-121.931844,37.04678),(-121.930113,37.027),(-121.926829,37),(-121.9265,37.998),(-121.9217,37.96),(-121.9203,37.949),(-121.9184,37.934)) | Oakland
! I- 680 | [(-121.9101,37.715),(-121.911269,37.74682),(-121.9119,37.764),(-121.9124,37.776),(-121.9174,37.905),(-121.9194,37.957),(-121.9207,37.988)] | Oakland
! I- 680 | [(-121.9184,37.934),(-121.917,37.913),(-121.9122,37.83),(-121.9052,37.702)] | Oakland
! I- 680 Ramp | [(-121.8833,37.376),(-121.8833,37.392),(-121.883,37.4),(-121.8835,37.402),(-121.8852,37.422)] | Oakland
! I- 680 Ramp | [(-121.92,37.438),(-121.9218,37.424),(-121.9238,37.408),(-121.9252,37.392)] | Oakland
! I- 680 Ramp | [(-121.9238,37.402),(-121.9234,37.395),(-121.923,37.399)] | Oakland
! I- 880 | ((-121.9669,37.075),(-121.9663,37.071),(-121.9656,37.065),(-121.9618,37.037),(-121.95689,37),(-121.948,37.933)) | Oakland
! I- 880 | [(-121.948,37.933),(-121.9471,37.925),(-121.9467,37.923),(-121.946,37.918),(-121.9452,37.912),(-121.937,37.852)] | Oakland
! Johnson Dr | [(-121.9145,37.901),(-121.915,37.877)] | Oakland
! Juniper St | [(-121.7823,37.897),(-121.7815,37.9)] | Oakland
! Las Positas Road | [(-121.764488,37.99199),(-121.75569,37.02022)] | Oakland
! Livermore Ave | [(-121.7687,37.448),(-121.769,37.375)] | Oakland
! Livermore Ave | [(-121.772719,37.99085),(-121.7728,37.001)] | Oakland
! Mission Blvd | [(-121.918886,37),(-121.9194,37.976),(-121.9198,37.975)] | Oakland
! Mission Blvd | [(-122.0006,37.896),(-121.9989,37.88)] | Oakland
! Navajo Ct | [(-121.8779,37.901),(-121.8783,37.9)] | Oakland
! Paseo Padre Pkwy | [(-122.0021,37.639),(-121.996,37.628)] | Oakland
! Pimlico Dr | [(-121.8616,37.998),(-121.8618,37.008)] | Oakland
! Rosedale Ct | [(-121.9232,37.9),(-121.924,37.897)] | Oakland
! Saginaw Ct | [(-121.8803,37.898),(-121.8806,37.901)] | Oakland
! Sp Railroad | [(-121.893564,37.99009),(-121.897,37.016)] | Oakland
! Sp Railroad | [(-121.9565,37.898),(-121.9562,37.9)] | Oakland
! State Hwy 84 | [(-121.9565,37.898),(-121.956589,37.89911),(-121.9569,37.903),(-121.956,37.91),(-121.9553,37.919)] | Oakland
! Sunol Ridge Trl | [(-121.9419,37.455),(-121.9345,37.38)] | Oakland
! Tassajara Creek | [(-121.87866,37.98898),(-121.8782,37.015)] | Oakland
! Theresa Way | [(-121.7289,37.906),(-121.728,37.899)] | Oakland
! Tissiack Way | [(-121.920364,37),(-121.9208,37.995)] | Oakland
! Vallecitos Road | [(-121.8699,37.916),(-121.8703,37.891)] | Oakland
! Warm Springs Blvd | [(-121.933956,37),(-121.9343,37.97)] | Oakland
! Welch Creek Road | [(-121.7695,37.386),(-121.7737,37.413)] | Oakland
! Whitlock Creek | [(-121.74683,37.91276),(-121.733107,37)] | Oakland
! 1st St | [(-121.75508,37.89294),(-121.753581,37.90031)] | Oakland
! Apricot Lane | [(-121.9471,37.401),(-121.9456,37.392)] | Oakland
! Arden Road | [(-122.0978,37.177),(-122.1,37.177)] | Oakland
! Arlington Dr | [(-121.8802,37.408),(-121.8807,37.394)] | Oakland
! Arroyo Las Positas | [(-121.7973,37.997),(-121.7957,37.005)] | Oakland
! Ash St | [(-122.0408,37.31),(-122.04,37.292)] | Oakland
! Bridgepointe Dr | [(-122.0514,37.305),(-122.0509,37.299)] | Oakland
! Butterfield Dr | [(-122.0838,37.002),(-122.0834,37.987)] | Oakland
! Calaveras Creek | [(-121.8203,37.035),(-121.8207,37.931)] | Oakland
! Celia St | [(-122.0611,37.3),(-122.0616,37.299)] | Oakland
! Claremont Pl | [(-122.0542,37.995),(-122.0542,37.008)] | Oakland
! Corriea Way | [(-121.9501,37.402),(-121.9505,37.398)] | Oakland
! Crystaline Dr | [(-121.925856,37),(-121.925869,37.00527)] | Oakland
! Decoto Road | [(-122.0159,37.006),(-122.016,37.002),(-122.0164,37.993)] | Oakland
! Driscoll Road | [(-121.9482,37.403),(-121.948451,37.39995)] | Oakland
! Eden Creek | [(-122.022037,37.00675),(-122.0221,37.998)] | Oakland
! Fairview Ave | [(-121.999,37.428),(-121.9863,37.351)] | Oakland
! Hesperian Blvd | [(-122.097,37.333),(-122.0956,37.31),(-122.0946,37.293)] | Oakland
! I- 580 | [(-121.727,37.074),(-121.7229,37.093),(-121.722301,37.09522),(-121.721001,37.10005),(-121.7194,37.106),(-121.7188,37.109),(-121.7168,37.12),(-121.7163,37.123),(-121.7145,37.127),(-121.7096,37.148),(-121.707731,37.1568),(-121.7058,37.166),(-121.7055,37.168),(-121.7044,37.174),(-121.7038,37.172),(-121.7037,37.172),(-121.7027,37.175),(-121.7001,37.181),(-121.6957,37.191),(-121.6948,37.192),(-121.6897,37.204),(-121.6697,37.185)] | Oakland
! I- 580 | [(-121.9322,37.989),(-121.9243,37.006),(-121.9217,37.014)] | Oakland
! I- 580 | [(-122.018,37.019),(-122.0009,37.032),(-121.9787,37.983),(-121.958,37.984),(-121.9571,37.986)] | Oakland
! I- 580 Ramp | [(-121.8521,37.011),(-121.8479,37.999),(-121.8476,37.999),(-121.8456,37.01),(-121.8455,37.011)] | Oakland
! I- 580 Ramp | [(-121.8743,37.014),(-121.8722,37.999),(-121.8714,37.999)] | Oakland
! I- 580 Ramp | [(-121.9043,37.998),(-121.9036,37.013),(-121.902632,37.0174),(-121.9025,37.018)] | Oakland
! I- 580 Ramp | [(-121.9368,37.986),(-121.936483,37.98832),(-121.9353,37.997),(-121.93504,37.00035),(-121.9346,37.006),(-121.933764,37.00031),(-121.9333,37.997),(-121.9322,37.989)] | Oakland
! I- 580/I-680 Ramp | ((-121.9207,37.988),(-121.9192,37.016)) | Oakland
! I- 680 | ((-121.939,37.15),(-121.9387,37.145),(-121.9373,37.125),(-121.934242,37.07643),(-121.933886,37.0709),(-121.9337,37.068),(-121.933122,37.06139),(-121.932736,37.05698),(-121.93222,37.05108),(-121.931844,37.04678),(-121.930113,37.027),(-121.926829,37),(-121.9265,37.998),(-121.9217,37.96),(-121.9203,37.949),(-121.9184,37.934)) | Oakland
! I- 680 Ramp | [(-121.8833,37.376),(-121.8833,37.392),(-121.883,37.4),(-121.8835,37.402),(-121.8852,37.422)] | Oakland
! I- 680 Ramp | [(-121.92,37.438),(-121.9218,37.424),(-121.9238,37.408),(-121.9252,37.392)] | Oakland
! I- 680 Ramp | [(-121.9238,37.402),(-121.9234,37.395),(-121.923,37.399)] | Oakland
! I- 880 | ((-121.9669,37.075),(-121.9663,37.071),(-121.9656,37.065),(-121.9618,37.037),(-121.95689,37),(-121.948,37.933)) | Oakland
! I- 880 | [(-122.0612,37.003),(-122.0604,37.991),(-122.0596,37.982),(-122.0585,37.967),(-122.0583,37.961),(-122.0553,37.918),(-122.053635,37.89475),(-122.050759,37.8546),(-122.05,37.844),(-122.0485,37.817),(-122.0483,37.813),(-122.0482,37.811)] | Oakland
! I- 880 | [(-122.0831,37.312),(-122.0819,37.296),(-122.081,37.285),(-122.0786,37.248),(-122.078,37.24),(-122.077642,37.23496),(-122.076983,37.22567),(-122.076599,37.22026),(-122.076229,37.21505),(-122.0758,37.209)] | Oakland
! I- 880 Ramp | [(-122.0019,37.301),(-122.002,37.293)] | Oakland
! I- 880 Ramp | [(-122.0041,37.313),(-122.0018,37.315),(-122.0007,37.315),(-122.0005,37.313),(-122.0002,37.308),(-121.9995,37.289)] | Oakland
! I- 880 Ramp | [(-122.0041,37.313),(-122.0038,37.308),(-122.0039,37.284),(-122.0013,37.287),(-121.9995,37.289)] | Oakland
! I- 880 Ramp | [(-122.059,37.982),(-122.0577,37.984),(-122.0612,37.003)] | Oakland
! I- 880 Ramp | [(-122.0618,37.011),(-122.0631,37.982),(-122.0585,37.967)] | Oakland
! I- 880 Ramp | [(-122.085,37.34),(-122.0801,37.316),(-122.081,37.285)] | Oakland
! I- 880 Ramp | [(-122.085,37.34),(-122.0866,37.316),(-122.0819,37.296)] | Oakland
! Kildare Road | [(-122.0968,37.016),(-122.0959,37)] | Oakland
! Las Positas Road | [(-121.764488,37.99199),(-121.75569,37.02022)] | Oakland
! Livermore Ave | [(-121.7687,37.448),(-121.769,37.375)] | Oakland
! Livermore Ave | [(-121.772719,37.99085),(-121.7728,37.001)] | Oakland
! Mildred Ct | [(-122.0002,37.388),(-121.9998,37.386)] | Oakland
! Miramar Ave | [(-122.1009,37.025),(-122.099089,37.03209)] | Oakland
! Mission Blvd | [(-121.918886,37),(-121.9194,37.976),(-121.9198,37.975)] | Oakland
! Moores Ave | [(-122.0087,37.301),(-122.0094,37.292)] | Oakland
! Oakridge Road | [(-121.8316,37.049),(-121.828382,37)] | Oakland
! Paseo Padre Pkwy | [(-121.9143,37.005),(-121.913522,37)] | Oakland
! Periwinkle Road | [(-122.0451,37.301),(-122.044758,37.29844)] | Oakland
! Pimlico Dr | [(-121.8616,37.998),(-121.8618,37.008)] | Oakland
! Railroad Ave | [(-122.0245,37.013),(-122.0234,37.003),(-122.0223,37.993)] | Oakland
! Ranspot Dr | [(-122.0972,37.999),(-122.0959,37)] | Oakland
! Santa Maria Ave | [(-122.0773,37),(-122.0773,37.98)] | Oakland
! Sp Railroad | [(-121.893564,37.99009),(-121.897,37.016)] | Oakland
! Sp Railroad | [(-122.0734,37.001),(-122.0734,37.997)] | Oakland
! Stanton Ave | [(-122.100392,37.0697),(-122.099513,37.06052)] | Oakland
! Sunol Ridge Trl | [(-121.9419,37.455),(-121.9345,37.38)] | Oakland
! Tassajara Creek | [(-121.87866,37.98898),(-121.8782,37.015)] | Oakland
! Thackeray Ave | [(-122.072,37.305),(-122.0715,37.298)] | Oakland
! Tissiack Way | [(-121.920364,37),(-121.9208,37.995)] | Oakland
! Warm Springs Blvd | [(-121.933956,37),(-121.9343,37.97)] | Oakland
! Welch Creek Road | [(-121.7695,37.386),(-121.7737,37.413)] | Oakland
! Western Pacific Railroad Spur | [(-122.0394,37.018),(-122.0394,37.961)] | Oakland
! Whitlock Creek | [(-121.74683,37.91276),(-121.733107,37)] | Oakland
! Avenue 134th | [(-122.1823,37.002),(-122.1851,37.992)] | Oakland
! Avenue 140th | [(-122.1656,37.003),(-122.1691,37.988)] | Oakland
! B St | [(-122.1749,37.451),(-122.1743,37.443)] | Oakland
! Bancroft Ave | [(-122.15714,37.4242),(-122.156,37.409)] | Oakland
! Bancroft Ave | [(-122.1643,37.523),(-122.1631,37.508),(-122.1621,37.493)] | Oakland
! Birch St | [(-122.1617,37.425),(-122.1614,37.417)] | Oakland
! Birch St | [(-122.1673,37.509),(-122.1661,37.492)] | Oakland
! Blacow Road | [(-122.0179,37.469),(-122.0167,37.465)] | Oakland
! Broadmore Ave | [(-122.095,37.522),(-122.0936,37.497)] | Oakland
! Butterfield Dr | [(-122.0838,37.002),(-122.0834,37.987)] | Oakland
! C St | [(-122.1768,37.46),(-122.1749,37.435)] | Oakland
! Cameron Ave | [(-122.1316,37.502),(-122.1327,37.481)] | Oakland
! Cedar Blvd | [(-122.0282,37.446),(-122.0265,37.43)] | Oakland
! Chapman Dr | [(-122.0421,37.504),(-122.0414,37.498)] | Oakland
! Charles St | [(-122.0255,37.505),(-122.0252,37.499)] | Oakland
! Cherry St | [(-122.0437,37.42),(-122.0434,37.413)] | Oakland
! Claremont Pl | [(-122.0542,37.995),(-122.0542,37.008)] | Oakland
! Coliseum Way | [(-122.2001,37.47),(-122.1978,37.516)] | Oakland
! Cull Canyon Road | [(-122.0536,37.435),(-122.0499,37.315)] | Oakland
! D St | [(-122.1811,37.505),(-122.1805,37.497)] | Oakland
! Decoto Road | [(-122.0159,37.006),(-122.016,37.002),(-122.0164,37.993)] | Oakland
! Driftwood Dr | [(-122.0109,37.482),(-122.0113,37.477)] | Oakland
! E St | [(-122.1832,37.505),(-122.1826,37.498),(-122.182,37.49)] | Oakland
! Eden Ave | [(-122.1143,37.505),(-122.1142,37.491)] | Oakland
! Eden Creek | [(-122.022037,37.00675),(-122.0221,37.998)] | Oakland
! Gading Road | [(-122.0801,37.343),(-122.08,37.336)] | Oakland
! Harris Road | [(-122.0659,37.372),(-122.0675,37.363)] | Oakland
! Hegenberger Exwy | [(-122.1946,37.52),(-122.1947,37.497)] | Oakland
! Herrier St | [(-122.1943,37.006),(-122.1936,37.998)] | Oakland
! Hesperian Blvd | [(-122.097,37.333),(-122.0956,37.31),(-122.0946,37.293)] | Oakland
! I- 580 | [(-122.1108,37.023),(-122.1101,37.02),(-122.108103,37.00764),(-122.108,37.007),(-122.1069,37.998),(-122.1064,37.994),(-122.1053,37.982),(-122.1048,37.977),(-122.1032,37.958),(-122.1026,37.953),(-122.1013,37.938),(-122.0989,37.911),(-122.0984,37.91),(-122.098,37.908)] | Oakland
! I- 580 | [(-122.1543,37.703),(-122.1535,37.694),(-122.1512,37.655),(-122.1475,37.603),(-122.1468,37.583),(-122.1472,37.569),(-122.149044,37.54874),(-122.1493,37.546),(-122.1501,37.532),(-122.1506,37.509),(-122.1495,37.482),(-122.1487,37.467),(-122.1477,37.447),(-122.1414,37.383),(-122.1404,37.376),(-122.1398,37.372),(-122.139,37.356),(-122.1388,37.353),(-122.1385,37.34),(-122.1382,37.33),(-122.1378,37.316)] | Oakland
! I- 580 Ramp | [(-122.1086,37.003),(-122.1068,37.993),(-122.1066,37.992),(-122.1053,37.982)] | Oakland
! I- 580 Ramp | [(-122.1414,37.383),(-122.1407,37.376),(-122.1403,37.372),(-122.139,37.356)] | Oakland
! I- 880 | [(-122.0219,37.466),(-122.0205,37.447),(-122.020331,37.44447),(-122.020008,37.43962),(-122.0195,37.432),(-122.0193,37.429),(-122.0164,37.393),(-122.010219,37.34771),(-122.0041,37.313)] | Oakland
! I- 880 | [(-122.0375,37.632),(-122.0359,37.619),(-122.0358,37.616),(-122.034514,37.60409),(-122.031876,37.57965),(-122.031193,37.57332),(-122.03016,37.56375),(-122.02943,37.55698),(-122.028689,37.54929),(-122.027833,37.53908),(-122.025979,37.51698),(-122.0238,37.491)] | Oakland
! I- 880 | [(-122.0612,37.003),(-122.0604,37.991),(-122.0596,37.982),(-122.0585,37.967),(-122.0583,37.961),(-122.0553,37.918),(-122.053635,37.89475),(-122.050759,37.8546),(-122.05,37.844),(-122.0485,37.817),(-122.0483,37.813),(-122.0482,37.811)] | Oakland
! I- 880 | [(-122.0978,37.528),(-122.096,37.496),(-122.0931,37.453),(-122.09277,37.4496),(-122.090189,37.41442),(-122.0896,37.405),(-122.085,37.34)] | Oakland
! I- 880 | [(-122.1755,37.185),(-122.1747,37.178),(-122.1742,37.173),(-122.1692,37.126),(-122.167792,37.11594),(-122.16757,37.11435),(-122.1671,37.111),(-122.1655,37.1),(-122.165169,37.09811),(-122.1641,37.092),(-122.1596,37.061),(-122.158381,37.05275),(-122.155991,37.03657),(-122.1531,37.017),(-122.1478,37.98),(-122.1407,37.932),(-122.1394,37.924),(-122.1389,37.92),(-122.1376,37.91)] | Oakland
! I- 880 Ramp | [(-122.0236,37.488),(-122.0231,37.458),(-122.0227,37.458),(-122.0223,37.452),(-122.0205,37.447)] | Oakland
! I- 880 Ramp | [(-122.0238,37.491),(-122.0215,37.483),(-122.0211,37.477),(-122.0205,37.447)] | Oakland
! I- 880 Ramp | [(-122.059,37.982),(-122.0577,37.984),(-122.0612,37.003)] | Oakland
! I- 880 Ramp | [(-122.0618,37.011),(-122.0631,37.982),(-122.0585,37.967)] | Oakland
! I- 880 Ramp | [(-122.085,37.34),(-122.0801,37.316),(-122.081,37.285)] | Oakland
! I- 880 Ramp | [(-122.085,37.34),(-122.0866,37.316),(-122.0819,37.296)] | Oakland
! Kaiser Dr | [(-122.067163,37.47821),(-122.060402,37.51961)] | Oakland
! La Playa Dr | [(-122.1039,37.545),(-122.101,37.493)] | Oakland
! Locust St | [(-122.1606,37.007),(-122.1593,37.987)] | Oakland
! Logan Ct | [(-122.0053,37.492),(-122.0061,37.484)] | Oakland
! Magnolia St | [(-122.0971,37.5),(-122.0962,37.484)] | Oakland
! Mattos Dr | [(-122.0005,37.502),(-122.000898,37.49683)] | Oakland
! Maubert Ave | [(-122.1114,37.009),(-122.1096,37.995)] | Oakland
! McClure Ave | [(-122.1431,37.001),(-122.1436,37.998)] | Oakland
! Medlar Dr | [(-122.0627,37.378),(-122.0625,37.375)] | Oakland
! National Ave | [(-122.1192,37.5),(-122.1281,37.489)] | Oakland
! Newark Blvd | [(-122.0352,37.438),(-122.0341,37.423)] | Oakland
! Portsmouth Ave | [(-122.1064,37.315),(-122.1064,37.308)] | Oakland
! Railroad Ave | [(-122.0245,37.013),(-122.0234,37.003),(-122.0223,37.993)] | Oakland
! Ranspot Dr | [(-122.0972,37.999),(-122.0959,37)] | Oakland
! Redwood Road | [(-122.1493,37.98),(-122.1437,37.001)] | Oakland
! Santa Maria Ave | [(-122.0773,37),(-122.0773,37.98)] | Oakland
! Skyline Blvd | [(-122.1738,37.01),(-122.1714,37.996)] | Oakland
! Skyline Dr | [(-122.0277,37.5),(-122.0284,37.498)] | Oakland
! Sp Railroad | [(-122.0734,37.001),(-122.0734,37.997)] | Oakland
! Sp Railroad | [(-122.137792,37.003),(-122.1365,37.992),(-122.131257,37.94612)] | Oakland
! Sp Railroad | [(-122.1947,37.497),(-122.193328,37.4848)] | Oakland
! State Hwy 84 | [(-122.0671,37.426),(-122.07,37.402),(-122.074,37.37),(-122.0773,37.338)] | Oakland
! State Hwy 92 | [(-122.1085,37.326),(-122.1095,37.322),(-122.1111,37.316),(-122.1119,37.313),(-122.1125,37.311),(-122.1131,37.308),(-122.1167,37.292),(-122.1187,37.285),(-122.12,37.28)] | Oakland
! State Hwy 92 Ramp | [(-122.1086,37.321),(-122.1089,37.315),(-122.1111,37.316)] | Oakland
! Tennyson Road | [(-122.0891,37.317),(-122.0927,37.317)] | Oakland
! Western Pacific Railroad Spur | [(-122.0394,37.018),(-122.0394,37.961)] | Oakland
! Willimet Way | [(-122.0964,37.517),(-122.0949,37.493)] | Oakland
! Wisconsin St | [(-122.1994,37.017),(-122.1975,37.998),(-122.1971,37.994)] | Oakland
! 100th Ave | [(-122.1657,37.429),(-122.1647,37.432)] | Oakland
! 107th Ave | [(-122.1555,37.403),(-122.1531,37.41)] | Oakland
! 85th Ave | [(-122.1877,37.466),(-122.186,37.476)] | Oakland
! 89th Ave | [(-122.1822,37.459),(-122.1803,37.471)] | Oakland
! 98th Ave | [(-122.1568,37.498),(-122.1558,37.502)] | Oakland
! 98th Ave | [(-122.1693,37.438),(-122.1682,37.444)] | Oakland
! Allen Ct | [(-122.0131,37.602),(-122.0117,37.597)] | Berkeley
! Alvarado Niles Road | [(-122.0325,37.903),(-122.0316,37.9)] | Berkeley
! Arizona St | [(-122.0381,37.901),(-122.0367,37.898)] | Berkeley
! Avenue 134th | [(-122.1823,37.002),(-122.1851,37.992)] | Berkeley
! Avenue 140th | [(-122.1656,37.003),(-122.1691,37.988)] | Berkeley
! Avenue D | [(-122.298,37.848),(-122.3024,37.849)] | Berkeley
! Broadway | [(-122.2409,37.586),(-122.2395,37.601)] | Berkeley
! Buckingham Blvd | [(-122.2231,37.59),(-122.2214,37.606)] | Berkeley
! Butterfield Dr | [(-122.0838,37.002),(-122.0834,37.987)] | Berkeley
! California St | [(-122.2032,37.005),(-122.2016,37.996)] | Berkeley
! Campus Dr | [(-122.1704,37.905),(-122.1678,37.868),(-122.1671,37.865)] | Berkeley
! Carson St | [(-122.1846,37.9),(-122.1843,37.901)] | Berkeley
! Cedar St | [(-122.3011,37.737),(-122.2999,37.739)] | Berkeley
! Central Ave | [(-122.2343,37.602),(-122.2331,37.595)] | Berkeley
! Champion St | [(-122.214,37.991),(-122.2147,37.002)] | Berkeley
! Claremont Pl | [(-122.0542,37.995),(-122.0542,37.008)] | Berkeley
! Coliseum Way | [(-122.2113,37.626),(-122.2085,37.592),(-122.2063,37.568)] | Berkeley
! Cornell Ave | [(-122.2956,37.925),(-122.2949,37.906),(-122.2939,37.875)] | Berkeley
! Creston Road | [(-122.2639,37.002),(-122.2613,37.986),(-122.2602,37.978),(-122.2598,37.973)] | Berkeley
! Crow Canyon Creek | [(-122.043,37.905),(-122.0368,37.71)] | Berkeley
! Cull Creek | [(-122.0624,37.875),(-122.0582,37.527)] | Berkeley
! Decoto Road | [(-122.0159,37.006),(-122.016,37.002),(-122.0164,37.993)] | Berkeley
! Deering St | [(-122.2146,37.904),(-122.2126,37.897)] | Berkeley
! Dimond Ave | [(-122.2167,37.994),(-122.2162,37.006)] | Berkeley
! Donna Way | [(-122.1333,37.606),(-122.1316,37.599)] | Berkeley
! Eden Creek | [(-122.022037,37.00675),(-122.0221,37.998)] | Berkeley
! Euclid Ave | [(-122.2671,37.009),(-122.2666,37.987)] | Berkeley
! Foothill Blvd | [(-122.2414,37.9),(-122.2403,37.893)] | Berkeley
! Fountain St | [(-122.2306,37.593),(-122.2293,37.605)] | Berkeley
! Grizzly Peak Blvd | [(-122.2213,37.638),(-122.2127,37.581)] | Berkeley
! Grove Way | [(-122.0643,37.884),(-122.062679,37.89162),(-122.061796,37.89578),(-122.0609,37.9)] | Berkeley
! Herrier St | [(-122.1943,37.006),(-122.1936,37.998)] | Berkeley
! Hesperian Blvd | [(-122.1132,37.6),(-122.1123,37.586)] | Berkeley
! I- 580 | [(-122.1108,37.023),(-122.1101,37.02),(-122.108103,37.00764),(-122.108,37.007),(-122.1069,37.998),(-122.1064,37.994),(-122.1053,37.982),(-122.1048,37.977),(-122.1032,37.958),(-122.1026,37.953),(-122.1013,37.938),(-122.0989,37.911),(-122.0984,37.91),(-122.098,37.908)] | Berkeley
! I- 580 | [(-122.1543,37.703),(-122.1535,37.694),(-122.1512,37.655),(-122.1475,37.603),(-122.1468,37.583),(-122.1472,37.569),(-122.149044,37.54874),(-122.1493,37.546),(-122.1501,37.532),(-122.1506,37.509),(-122.1495,37.482),(-122.1487,37.467),(-122.1477,37.447),(-122.1414,37.383),(-122.1404,37.376),(-122.1398,37.372),(-122.139,37.356),(-122.1388,37.353),(-122.1385,37.34),(-122.1382,37.33),(-122.1378,37.316)] | Berkeley
! I- 580 | [(-122.2197,37.99),(-122.22,37.99),(-122.222092,37.99523),(-122.2232,37.998),(-122.224146,37.99963),(-122.2261,37.003),(-122.2278,37.007),(-122.2302,37.026),(-122.2323,37.043),(-122.2344,37.059),(-122.235405,37.06427),(-122.2365,37.07)] | Berkeley
! I- 580 Ramp | [(-122.093241,37.90351),(-122.09364,37.89634),(-122.093788,37.89212)] | Berkeley
! I- 580 Ramp | [(-122.0934,37.896),(-122.09257,37.89961),(-122.0911,37.906)] | Berkeley
! I- 580 Ramp | [(-122.0941,37.897),(-122.0943,37.902)] | Berkeley
! I- 580 Ramp | [(-122.096,37.888),(-122.0962,37.891),(-122.0964,37.9)] | Berkeley
! I- 580 Ramp | [(-122.101,37.898),(-122.1005,37.902),(-122.0989,37.911)] | Berkeley
! I- 580 Ramp | [(-122.1086,37.003),(-122.1068,37.993),(-122.1066,37.992),(-122.1053,37.982)] | Berkeley
! I- 880 | [(-122.0375,37.632),(-122.0359,37.619),(-122.0358,37.616),(-122.034514,37.60409),(-122.031876,37.57965),(-122.031193,37.57332),(-122.03016,37.56375),(-122.02943,37.55698),(-122.028689,37.54929),(-122.027833,37.53908),(-122.025979,37.51698),(-122.0238,37.491)] | Berkeley
! I- 880 | [(-122.0612,37.003),(-122.0604,37.991),(-122.0596,37.982),(-122.0585,37.967),(-122.0583,37.961),(-122.0553,37.918),(-122.053635,37.89475),(-122.050759,37.8546),(-122.05,37.844),(-122.0485,37.817),(-122.0483,37.813),(-122.0482,37.811)] | Berkeley
! I- 880 | [(-122.1365,37.902),(-122.1358,37.898),(-122.1333,37.881),(-122.1323,37.874),(-122.1311,37.866),(-122.1308,37.865),(-122.1307,37.864),(-122.1289,37.851),(-122.1277,37.843),(-122.1264,37.834),(-122.1231,37.812),(-122.1165,37.766),(-122.1104,37.72),(-122.109695,37.71094),(-122.109,37.702),(-122.108312,37.69168),(-122.1076,37.681)] | Berkeley
! I- 880 | [(-122.1755,37.185),(-122.1747,37.178),(-122.1742,37.173),(-122.1692,37.126),(-122.167792,37.11594),(-122.16757,37.11435),(-122.1671,37.111),(-122.1655,37.1),(-122.165169,37.09811),(-122.1641,37.092),(-122.1596,37.061),(-122.158381,37.05275),(-122.155991,37.03657),(-122.1531,37.017),(-122.1478,37.98),(-122.1407,37.932),(-122.1394,37.924),(-122.1389,37.92),(-122.1376,37.91)] | Berkeley
! I- 880 | [(-122.2214,37.711),(-122.2202,37.699),(-122.2199,37.695),(-122.219,37.682),(-122.2184,37.672),(-122.2173,37.652),(-122.2159,37.638),(-122.2144,37.616),(-122.2138,37.612),(-122.2135,37.609),(-122.212,37.592),(-122.2116,37.586),(-122.2111,37.581)] | Berkeley
! I- 880 | [(-122.2707,37.975),(-122.2693,37.972),(-122.2681,37.966),(-122.267,37.962),(-122.2659,37.957),(-122.2648,37.952),(-122.2636,37.946),(-122.2625,37.935),(-122.2617,37.927),(-122.2607,37.921),(-122.2593,37.916),(-122.258,37.911),(-122.2536,37.898),(-122.2432,37.858),(-122.2408,37.845),(-122.2386,37.827),(-122.2374,37.811)] | Berkeley
! I- 880 Ramp | [(-122.059,37.982),(-122.0577,37.984),(-122.0612,37.003)] | Berkeley
! I- 880 Ramp | [(-122.0618,37.011),(-122.0631,37.982),(-122.0585,37.967)] | Berkeley
! I- 880 Ramp | [(-122.1029,37.61),(-122.1013,37.587),(-122.0999,37.569)] | Berkeley
! I- 880 Ramp | [(-122.1379,37.891),(-122.1383,37.897),(-122.1377,37.902)] | Berkeley
! I- 880 Ramp | [(-122.1379,37.931),(-122.137597,37.92736),(-122.1374,37.925),(-122.1373,37.924),(-122.1369,37.914),(-122.1358,37.905),(-122.1365,37.908),(-122.1358,37.898)] | Berkeley
! I- 880 Ramp | [(-122.2536,37.898),(-122.254,37.902)] | Berkeley
! Jackson St | [(-122.0845,37.6),(-122.0842,37.606)] | Berkeley
! Joyce St | [(-122.0792,37.604),(-122.0774,37.581)] | Berkeley
! Keeler Ave | [(-122.2578,37.906),(-122.2579,37.899)] | Berkeley
! Laguna Ave | [(-122.2099,37.989),(-122.2089,37)] | Berkeley
! Lakehurst Cir | [(-122.284729,37.89025),(-122.286096,37.90364)] | Berkeley
! Lakeshore Ave | [(-122.2586,37.99),(-122.2556,37.006)] | Berkeley
! Linden St | [(-122.2867,37.998),(-122.2864,37.008)] | Berkeley
! Locust St | [(-122.1606,37.007),(-122.1593,37.987)] | Berkeley
! Marin Ave | [(-122.2741,37.894),(-122.272,37.901)] | Berkeley
! Martin Luther King Jr Way | [(-122.2712,37.608),(-122.2711,37.599)] | Berkeley
! Maubert Ave | [(-122.1114,37.009),(-122.1096,37.995)] | Berkeley
! McClure Ave | [(-122.1431,37.001),(-122.1436,37.998)] | Berkeley
! Miller Road | [(-122.0902,37.645),(-122.0865,37.545)] | Berkeley
! Mission Blvd | [(-122.0006,37.896),(-121.9989,37.88)] | Berkeley
! Oakland Inner Harbor | [(-122.2625,37.913),(-122.260016,37.89484)] | Berkeley
! Oneil Ave | [(-122.076754,37.62476),(-122.0745,37.595)] | Berkeley
! Parkridge Dr | [(-122.1438,37.884),(-122.1428,37.9)] | Berkeley
! Parkside Dr | [(-122.0475,37.603),(-122.0443,37.596)] | Berkeley
! Paseo Padre Pkwy | [(-122.0021,37.639),(-121.996,37.628)] | Berkeley
! Pearl St | [(-122.2383,37.594),(-122.2366,37.615)] | Berkeley
! Railroad Ave | [(-122.0245,37.013),(-122.0234,37.003),(-122.0223,37.993)] | Berkeley
! Ranspot Dr | [(-122.0972,37.999),(-122.0959,37)] | Berkeley
! Redding St | [(-122.1978,37.901),(-122.1975,37.895)] | Berkeley
! Redwood Road | [(-122.1493,37.98),(-122.1437,37.001)] | Berkeley
! Roca Dr | [(-122.0335,37.609),(-122.0314,37.599)] | Berkeley
! Sacramento St | [(-122.2799,37.606),(-122.2797,37.597)] | Berkeley
! Saddle Brook Dr | [(-122.1478,37.909),(-122.1454,37.904),(-122.1451,37.888)] | Berkeley
! San Andreas Dr | [(-122.0609,37.9),(-122.0614,37.895)] | Berkeley
! Santa Maria Ave | [(-122.0773,37),(-122.0773,37.98)] | Berkeley
! Shattuck Ave | [(-122.2686,37.904),(-122.2686,37.897)] | Berkeley
! Shoreline Dr | [(-122.2657,37.603),(-122.2648,37.6)] | Berkeley
! Skyline Blvd | [(-122.1738,37.01),(-122.1714,37.996)] | Berkeley
! Skywest Dr | [(-122.1161,37.62),(-122.1123,37.586)] | Berkeley
! Southern Pacific Railroad | [(-122.3002,37.674),(-122.2999,37.661)] | Berkeley
! Sp Railroad | [(-122.0734,37.001),(-122.0734,37.997)] | Berkeley
! Sp Railroad | [(-122.0914,37.601),(-122.087,37.56),(-122.086408,37.5551)] | Berkeley
! Sp Railroad | [(-122.137792,37.003),(-122.1365,37.992),(-122.131257,37.94612)] | Berkeley
! State Hwy 123 | [(-122.3004,37.986),(-122.2998,37.969),(-122.2995,37.962),(-122.2992,37.952),(-122.299,37.942),(-122.2987,37.935),(-122.2984,37.924),(-122.2982,37.92),(-122.2976,37.904),(-122.297,37.88),(-122.2966,37.869),(-122.2959,37.848),(-122.2961,37.843)] | Berkeley
! State Hwy 13 | [(-122.1797,37.943),(-122.179871,37.91849),(-122.18,37.9),(-122.179023,37.86615),(-122.1787,37.862),(-122.1781,37.851),(-122.1777,37.845),(-122.1773,37.839),(-122.177,37.833)] | Berkeley
! State Hwy 238 | ((-122.098,37.908),(-122.0983,37.907),(-122.099,37.905),(-122.101,37.898),(-122.101535,37.89711),(-122.103173,37.89438),(-122.1046,37.892),(-122.106,37.89)) | Berkeley
! State Hwy 238 Ramp | [(-122.1288,37.9),(-122.1293,37.895),(-122.1296,37.906)] | Berkeley
! Stuart St | [(-122.2518,37.6),(-122.2507,37.601),(-122.2491,37.606)] | Berkeley
! Tupelo Ter | [(-122.059087,37.6113),(-122.057021,37.59942)] | Berkeley
! West Loop Road | [(-122.0576,37.604),(-122.0602,37.586)] | Berkeley
! Western Pacific Railroad Spur | [(-122.0394,37.018),(-122.0394,37.961)] | Berkeley
! Wisconsin St | [(-122.1994,37.017),(-122.1975,37.998),(-122.1971,37.994)] | Berkeley
! Wp Railroad | [(-122.254,37.902),(-122.2506,37.891)] | Berkeley
! 19th Ave | [(-122.2366,37.897),(-122.2359,37.905)] | Berkeley
! 5th St | [(-122.296,37.615),(-122.2953,37.598)] | Berkeley
! 82nd Ave | [(-122.1695,37.596),(-122.1681,37.603)] | Berkeley
! Ada St | [(-122.2487,37.398),(-122.2496,37.401)] | Lafayette
! California St | [(-122.2032,37.005),(-122.2016,37.996)] | Lafayette
! Capricorn Ave | [(-122.2176,37.404),(-122.2164,37.384)] | Lafayette
! Chambers Dr | [(-122.2004,37.352),(-122.1972,37.368)] | Lafayette
! Chambers Lane | [(-122.2001,37.359),(-122.1975,37.371)] | Lafayette
! Champion St | [(-122.214,37.991),(-122.2147,37.002)] | Lafayette
! Coolidge Ave | [(-122.2007,37.058),(-122.1992,37.06)] | Lafayette
! Creston Road | [(-122.2639,37.002),(-122.2613,37.986),(-122.2602,37.978),(-122.2598,37.973)] | Lafayette
! Dimond Ave | [(-122.2167,37.994),(-122.2162,37.006)] | Lafayette
! Edgewater Dr | [(-122.201,37.379),(-122.2042,37.41)] | Lafayette
! Euclid Ave | [(-122.2671,37.009),(-122.2666,37.987)] | Lafayette
! Heartwood Dr | [(-122.2006,37.341),(-122.1992,37.338)] | Lafayette
! Hollis St | [(-122.2885,37.397),(-122.289,37.414)] | Lafayette
! I- 580 | [(-122.2197,37.99),(-122.22,37.99),(-122.222092,37.99523),(-122.2232,37.998),(-122.224146,37.99963),(-122.2261,37.003),(-122.2278,37.007),(-122.2302,37.026),(-122.2323,37.043),(-122.2344,37.059),(-122.235405,37.06427),(-122.2365,37.07)] | Lafayette
! I- 80 | ((-122.2937,37.277),(-122.3016,37.262)) | Lafayette
! I- 80 | ((-122.2962,37.273),(-122.3004,37.264)) | Lafayette
! I- 80 Ramp | [(-122.2962,37.413),(-122.2959,37.382),(-122.2951,37.372)] | Lafayette
! I- 880 Ramp | [(-122.2771,37.002),(-122.278,37)] | Lafayette
! Indian Way | [(-122.2066,37.398),(-122.2045,37.411)] | Lafayette
! Laguna Ave | [(-122.2099,37.989),(-122.2089,37)] | Lafayette
! Lakeshore Ave | [(-122.2586,37.99),(-122.2556,37.006)] | Lafayette
! Linden St | [(-122.2867,37.998),(-122.2864,37.008)] | Lafayette
! Mandalay Road | [(-122.2322,37.397),(-122.2321,37.403)] | Lafayette
! Proctor Ave | [(-122.2267,37.406),(-122.2251,37.386)] | Lafayette
! Sheridan Road | [(-122.2279,37.425),(-122.2253,37.411),(-122.2223,37.377)] | Lafayette
! State Hwy 13 | [(-122.2049,37.2),(-122.20328,37.17975),(-122.1989,37.125),(-122.198078,37.11641),(-122.1975,37.11)] | Lafayette
! State Hwy 13 Ramp | [(-122.2244,37.427),(-122.223,37.414),(-122.2214,37.396),(-122.2213,37.388)] | Lafayette
! State Hwy 24 | [(-122.2674,37.246),(-122.2673,37.248),(-122.267,37.261),(-122.2668,37.271),(-122.2663,37.298),(-122.2659,37.315),(-122.2655,37.336),(-122.265007,37.35882),(-122.264443,37.37286),(-122.2641,37.381),(-122.2638,37.388),(-122.2631,37.396),(-122.2617,37.405),(-122.2615,37.407),(-122.2605,37.412)] | Lafayette
! Taurus Ave | [(-122.2159,37.416),(-122.2128,37.389)] | Lafayette
! 14th St | [(-122.299,37.147),(-122.3,37.148)] | Lafayette
! 5th St | [(-122.278,37),(-122.2792,37.005),(-122.2803,37.009)] | Lafayette
! 98th Ave | [(-122.2001,37.258),(-122.1974,37.27)] | Lafayette
! (333 rows)
!
SELECT name, #thepath FROM iexit ORDER BY 1, 2;
! name | ?column?
! ------------------------------------+----------
! I- 580 | 2
! I- 580 | 2
! I- 580 | 2
! I- 580 | 2
! I- 580 | 2
! I- 580 | 2
! I- 580 | 2
! I- 580 | 2
! I- 580 | 2
! I- 580 | 2
! I- 580 | 2
! I- 580 | 3
! I- 580 | 3
! I- 580 | 3
! I- 580 | 3
! I- 580 | 3
! I- 580 | 3
! I- 580 | 3
! I- 580 | 3
! I- 580 | 3
! I- 580 | 3
! I- 580 | 3
! I- 580 | 3
! I- 580 | 3
! I- 580 | 3
! I- 580 | 3
! I- 580 | 3
! I- 580 | 3
! I- 580 | 3
! I- 580 | 4
! I- 580 | 4
! I- 580 | 4
! I- 580 | 4
! I- 580 | 5
! I- 580 | 5
! I- 580 | 5
! I- 580 | 5
! I- 580 | 5
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 6
! I- 580 | 7
! I- 580 | 7
! I- 580 | 7
! I- 580 | 7
! I- 580 | 7
! I- 580 | 7
! I- 580 | 7
! I- 580 | 8
! I- 580 | 8
! I- 580 | 8
! I- 580 | 8
! I- 580 | 8
! I- 580 | 8
! I- 580 | 8
! I- 580 | 8
! I- 580 | 8
! I- 580 | 9
! I- 580 | 9
! I- 580 | 9
! I- 580 | 9
! I- 580 | 9
! I- 580 | 12
! I- 580 | 12
! I- 580 | 12
! I- 580 | 12
! I- 580 | 12
! I- 580 | 12
! I- 580 | 12
! I- 580 | 12
! I- 580 | 12
! I- 580 | 12
! I- 580 | 13
! I- 580 | 13
! I- 580 | 13
! I- 580 | 13
! I- 580 | 13
! I- 580 | 13
! I- 580 | 14
! I- 580 | 14
! I- 580 | 14
! I- 580 | 14
! I- 580 | 14
! I- 580 | 14
! I- 580 | 14
! I- 580 | 14
! I- 580 | 18
! I- 580 | 18
! I- 580 | 18
! I- 580 | 18
! I- 580 | 18
! I- 580 | 18
! I- 580 | 21
! I- 580 | 21
! I- 580 | 21
! I- 580 | 21
! I- 580 | 21
! I- 580 | 21
! I- 580 | 21
! I- 580 | 21
! I- 580 | 21
! I- 580 | 21
! I- 580 | 22
! I- 580 | 22
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 2
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 3
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 4
! I- 580 Ramp | 5
! I- 580 Ramp | 5
! I- 580 Ramp | 5
! I- 580 Ramp | 5
! I- 580 Ramp | 5
! I- 580 Ramp | 5
! I- 580 Ramp | 5
! I- 580 Ramp | 5
! I- 580 Ramp | 5
! I- 580 Ramp | 5
! I- 580 Ramp | 5
! I- 580 Ramp | 5
! I- 580 Ramp | 5
! I- 580 Ramp | 5
! I- 580 Ramp | 6
! I- 580 Ramp | 6
! I- 580 Ramp | 6
! I- 580 Ramp | 7
! I- 580 Ramp | 8
! I- 580 Ramp | 8
! I- 580 Ramp | 8
! I- 580 Ramp | 8
! I- 580 Ramp | 8
! I- 580 Ramp | 8
! I- 580/I-680 Ramp | 2
! I- 580/I-680 Ramp | 2
! I- 580/I-680 Ramp | 2
! I- 580/I-680 Ramp | 2
! I- 580/I-680 Ramp | 2
! I- 580/I-680 Ramp | 2
! I- 580/I-680 Ramp | 4
! I- 580/I-680 Ramp | 4
! I- 580/I-680 Ramp | 4
! I- 580/I-680 Ramp | 4
! I- 580/I-680 Ramp | 5
! I- 580/I-680 Ramp | 6
! I- 580/I-680 Ramp | 6
! I- 580/I-680 Ramp | 6
! I- 680 | 2
! I- 680 | 2
! I- 680 | 2
! I- 680 | 2
! I- 680 | 2
! I- 680 | 2
! I- 680 | 2
! I- 680 | 3
! I- 680 | 3
! I- 680 | 3
! I- 680 | 4
! I- 680 | 4
! I- 680 | 4
! I- 680 | 5
! I- 680 | 5
! I- 680 | 5
! I- 680 | 7
! I- 680 | 7
! I- 680 | 7
! I- 680 | 7
! I- 680 | 8
! I- 680 | 8
! I- 680 | 8
! I- 680 | 8
! I- 680 | 10
! I- 680 | 10
! I- 680 | 10
! I- 680 | 10
! I- 680 | 10
! I- 680 | 10
! I- 680 | 10
! I- 680 | 16
! I- 680 | 16
! I- 680 | 16
! I- 680 | 16
! I- 680 | 16
! I- 680 | 16
! I- 680 | 16
! I- 680 | 16
! I- 680 Ramp | 2
! I- 680 Ramp | 2
! I- 680 Ramp | 2
! I- 680 Ramp | 2
! I- 680 Ramp | 2
! I- 680 Ramp | 2
! I- 680 Ramp | 2
! I- 680 Ramp | 2
! I- 680 Ramp | 2
! I- 680 Ramp | 2
! I- 680 Ramp | 2
! I- 680 Ramp | 2
! I- 680 Ramp | 2
! I- 680 Ramp | 2
! I- 680 Ramp | 2
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 3
! I- 680 Ramp | 4
! I- 680 Ramp | 4
! I- 680 Ramp | 4
! I- 680 Ramp | 5
! I- 680 Ramp | 5
! I- 680 Ramp | 5
! I- 680 Ramp | 5
! I- 680 Ramp | 5
! I- 680 Ramp | 5
! I- 680 Ramp | 6
! I- 680 Ramp | 6
! I- 680 Ramp | 6
! I- 680 Ramp | 6
! I- 680 Ramp | 7
! I- 680 Ramp | 7
! I- 680 Ramp | 7
! I- 680 Ramp | 7
! I- 680 Ramp | 8
! I- 680 Ramp | 8
! I- 680 Ramp | 8
! I- 680 Ramp | 8
! I- 80 | 2
! I- 80 | 2
! I- 80 | 2
! I- 80 | 2
! I- 80 | 2
! I- 80 | 2
! I- 80 | 2
! I- 80 | 2
! I- 80 | 2
! I- 80 | 2
! I- 80 | 2
! I- 80 | 2
! I- 80 | 2
! I- 80 | 2
! I- 80 | 3
! I- 80 | 3
! I- 80 | 3
! I- 80 | 4
! I- 80 | 4
! I- 80 | 4
! I- 80 | 4
! I- 80 | 4
! I- 80 | 5
! I- 80 | 5
! I- 80 | 5
! I- 80 | 5
! I- 80 | 5
! I- 80 | 5
! I- 80 | 5
! I- 80 | 5
! I- 80 | 5
! I- 80 | 11
! I- 80 | 11
! I- 80 | 11
! I- 80 | 11
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 2
! I- 80 Ramp | 3
! I- 80 Ramp | 3
! I- 80 Ramp | 3
! I- 80 Ramp | 3
! I- 80 Ramp | 3
! I- 80 Ramp | 3
! I- 80 Ramp | 3
! I- 80 Ramp | 3
! I- 80 Ramp | 3
! I- 80 Ramp | 4
! I- 80 Ramp | 4
! I- 80 Ramp | 4
! I- 80 Ramp | 4
! I- 80 Ramp | 5
! I- 80 Ramp | 5
! I- 80 Ramp | 5
! I- 80 Ramp | 5
! I- 80 Ramp | 5
! I- 80 Ramp | 5
! I- 80 Ramp | 5
! I- 80 Ramp | 7
! I- 80 Ramp | 7
! I- 80 Ramp | 7
! I- 80 Ramp | 7
! I- 880 | 2
! I- 880 | 2
! I- 880 | 2
! I- 880 | 2
! I- 880 | 2
! I- 880 | 5
! I- 880 | 5
! I- 880 | 5
! I- 880 | 5
! I- 880 | 5
! I- 880 | 5
! I- 880 | 6
! I- 880 | 6
! I- 880 | 6
! I- 880 | 6
! I- 880 | 6
! I- 880 | 6
! I- 880 | 6
! I- 880 | 6
! I- 880 | 6
! I- 880 | 6
! I- 880 | 6
! I- 880 | 6
! I- 880 | 6
! I- 880 | 6
! I- 880 | 7
! I- 880 | 7
! I- 880 | 7
! I- 880 | 7
! I- 880 | 7
! I- 880 | 7
! I- 880 | 7
! I- 880 | 9
! I- 880 | 9
! I- 880 | 9
! I- 880 | 9
! I- 880 | 9
! I- 880 | 9
! I- 880 | 9
! I- 880 | 10
! I- 880 | 10
! I- 880 | 10
! I- 880 | 10
! I- 880 | 10
! I- 880 | 10
! I- 880 | 10
! I- 880 | 10
! I- 880 | 10
! I- 880 | 10
! I- 880 | 10
! I- 880 | 10
! I- 880 | 12
! I- 880 | 12
! I- 880 | 12
! I- 880 | 12
! I- 880 | 12
! I- 880 | 12
! I- 880 | 12
! I- 880 | 12
! I- 880 | 12
! I- 880 | 12
! I- 880 | 12
! I- 880 | 13
! I- 880 | 13
! I- 880 | 13
! I- 880 | 13
! I- 880 | 13
! I- 880 | 13
! I- 880 | 13
! I- 880 | 13
! I- 880 | 13
! I- 880 | 13
! I- 880 | 13
! I- 880 | 13
! I- 880 | 14
! I- 880 | 14
! I- 880 | 14
! I- 880 | 14
! I- 880 | 14
! I- 880 | 14
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 17
! I- 880 | 19
! I- 880 | 19
! I- 880 | 19
! I- 880 | 19
! I- 880 | 19
! I- 880 | 19
! I- 880 | 19
! I- 880 | 19
! I- 880 | 19
! I- 880 | 19
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 2
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 3
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 4
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 5
! I- 880 Ramp | 6
! I- 880 Ramp | 6
! I- 880 Ramp | 6
! I- 880 Ramp | 6
! I- 880 Ramp | 6
! I- 880 Ramp | 6
! I- 880 Ramp | 6
! I- 880 Ramp | 6
! I- 880 Ramp | 6
! I- 880 Ramp | 6
! I- 880 Ramp | 6
! I- 880 Ramp | 6
! I- 880 Ramp | 6
! I- 880 Ramp | 6
! I- 880 Ramp | 6
! I- 880 Ramp | 6
! I- 880 Ramp | 8
! I- 880 Ramp | 8
! I- 880 Ramp | 8
! I- 980 | 2
! I- 980 | 2
! I- 980 | 2
! I- 980 | 2
! I- 980 | 2
! I- 980 | 2
! I- 980 | 2
! I- 980 | 2
! I- 980 | 3
! I- 980 | 3
! I- 980 | 3
! I- 980 | 3
! I- 980 | 3
! I- 980 | 3
! I- 980 | 3
! I- 980 | 3
! I- 980 | 3
! I- 980 | 4
! I- 980 | 4
! I- 980 | 5
! I- 980 | 5
! I- 980 | 7
! I- 980 | 7
! I- 980 | 7
! I- 980 | 7
! I- 980 | 12
! I- 980 Ramp | 3
! I- 980 Ramp | 3
! I- 980 Ramp | 3
! I- 980 Ramp | 7
! (896 rows)
!
SELECT * FROM toyemp WHERE name = 'sharon';
! name | age | location | annualsal
! --------+-----+----------+-----------
! sharon | 25 | (15,12) | 12000
! (1 row)
!
--- 3,10 ----
-- test the views defined in CREATE_VIEWS
--
SELECT * FROM street;
! ERROR: Relation "street" does not exist
SELECT name, #thepath FROM iexit ORDER BY 1, 2;
! ERROR: Relation "iexit" does not exist
SELECT * FROM toyemp WHERE name = 'sharon';
! ERROR: Relation "toyemp" does not exist
======================================================================
*** ./expected/alter_table.out Thu Mar 7 09:53:51 2002
--- ./results/alter_table.out Thu Mar 7 10:43:42 2002
***************
*** 96,272 ****
-- it might not. Therefore, vacuum first.
--
VACUUM ANALYZE tenk1;
ALTER TABLE tenk1 RENAME TO ten_k;
-- 20 values, sorted
SELECT unique1 FROM ten_k WHERE unique1 < 20;
! unique1
! ---------
! 0
! 1
! 2
! 3
! 4
! 5
! 6
! 7
! 8
! 9
! 10
! 11
! 12
! 13
! 14
! 15
! 16
! 17
! 18
! 19
! (20 rows)
!
-- 20 values, sorted
SELECT unique2 FROM ten_k WHERE unique2 < 20;
! unique2
! ---------
! 0
! 1
! 2
! 3
! 4
! 5
! 6
! 7
! 8
! 9
! 10
! 11
! 12
! 13
! 14
! 15
! 16
! 17
! 18
! 19
! (20 rows)
!
-- 100 values, sorted
SELECT hundred FROM ten_k WHERE hundred = 50;
! hundred
! ---------
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! 50
! (100 rows)
!
ALTER TABLE ten_k RENAME TO tenk1;
-- 5 values, sorted
SELECT unique1 FROM tenk1 WHERE unique1 < 5;
! unique1
! ---------
! 0
! 1
! 2
! 3
! 4
! (5 rows)
!
-- FOREIGN KEY CONSTRAINT adding TEST
CREATE TABLE tmp2 (a int primary key);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'tmp2_pkey' for table 'tmp2'
--- 96,118 ----
-- it might not. Therefore, vacuum first.
--
VACUUM ANALYZE tenk1;
+ WARNING: VACUUM: table not found
ALTER TABLE tenk1 RENAME TO ten_k;
+ ERROR: Relation "tenk1" does not exist
-- 20 values, sorted
SELECT unique1 FROM ten_k WHERE unique1 < 20;
! ERROR: Relation "ten_k" does not exist
-- 20 values, sorted
SELECT unique2 FROM ten_k WHERE unique2 < 20;
! ERROR: Relation "ten_k" does not exist
-- 100 values, sorted
SELECT hundred FROM ten_k WHERE hundred = 50;
! ERROR: Relation "ten_k" does not exist
ALTER TABLE ten_k RENAME TO tenk1;
+ ERROR: Relation "ten_k" does not exist
-- 5 values, sorted
SELECT unique1 FROM tenk1 WHERE unique1 < 5;
! ERROR: Relation "tenk1" does not exist
-- FOREIGN KEY CONSTRAINT adding TEST
CREATE TABLE tmp2 (a int primary key);
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index 'tmp2_pkey' for table 'tmp2'
======================================================================
*** ./expected/portals_p2.out Mon Jul 16 13:07:00 2001
--- ./results/portals_p2.out Thu Mar 7 10:43:31 2002
***************
*** 4,122 ****
BEGIN;
DECLARE foo13 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 50;
DECLARE foo14 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 51;
DECLARE foo15 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 52;
DECLARE foo16 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 53;
DECLARE foo17 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 54;
DECLARE foo18 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 55;
DECLARE foo19 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 56;
DECLARE foo20 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 57;
DECLARE foo21 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 58;
DECLARE foo22 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 59;
DECLARE foo23 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 60;
DECLARE foo24 CURSOR FOR
SELECT * FROM onek2 WHERE unique1 = 50;
DECLARE foo25 CURSOR FOR
SELECT * FROM onek2 WHERE unique1 = 60;
FETCH all in foo13;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 50 | 253 | 0 | 2 | 0 | 10 | 0 | 50 | 50 | 50 | 50 | 0 | 1 | YBAAAA | TJAAAA | HHHHxx
! (1 row)
!
FETCH all in foo14;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 51 | 76 | 1 | 3 | 1 | 11 | 1 | 51 | 51 | 51 | 51 | 2 | 3 | ZBAAAA | YCAAAA | AAAAxx
! (1 row)
!
FETCH all in foo15;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 52 | 985 | 0 | 0 | 2 | 12 | 2 | 52 | 52 | 52 | 52 | 4 | 5 | ACAAAA | XLBAAA | HHHHxx
! (1 row)
!
FETCH all in foo16;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 53 | 196 | 1 | 1 | 3 | 13 | 3 | 53 | 53 | 53 | 53 | 6 | 7 | BCAAAA | OHAAAA | AAAAxx
! (1 row)
!
FETCH all in foo17;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 54 | 356 | 0 | 2 | 4 | 14 | 4 | 54 | 54 | 54 | 54 | 8 | 9 | CCAAAA | SNAAAA | AAAAxx
! (1 row)
!
FETCH all in foo18;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 55 | 627 | 1 | 3 | 5 | 15 | 5 | 55 | 55 | 55 | 55 | 10 | 11 | DCAAAA | DYAAAA | VVVVxx
! (1 row)
!
FETCH all in foo19;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 56 | 54 | 0 | 0 | 6 | 16 | 6 | 56 | 56 | 56 | 56 | 12 | 13 | ECAAAA | CCAAAA | OOOOxx
! (1 row)
!
FETCH all in foo20;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 57 | 942 | 1 | 1 | 7 | 17 | 7 | 57 | 57 | 57 | 57 | 14 | 15 | FCAAAA | GKBAAA | OOOOxx
! (1 row)
!
FETCH all in foo21;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 58 | 114 | 0 | 2 | 8 | 18 | 8 | 58 | 58 | 58 | 58 | 16 | 17 | GCAAAA | KEAAAA | OOOOxx
! (1 row)
!
FETCH all in foo22;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 59 | 593 | 1 | 3 | 9 | 19 | 9 | 59 | 59 | 59 | 59 | 18 | 19 | HCAAAA | VWAAAA | HHHHxx
! (1 row)
!
FETCH all in foo23;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 60 | 483 | 0 | 0 | 0 | 0 | 0 | 60 | 60 | 60 | 60 | 0 | 1 | ICAAAA | PSAAAA | VVVVxx
! (1 row)
!
FETCH all in foo24;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 50 | 253 | 0 | 2 | 0 | 10 | 0 | 50 | 50 | 50 | 50 | 0 | 1 | YBAAAA | TJAAAA | HHHHxx
! (1 row)
!
FETCH all in foo25;
! unique1 | unique2 | two | four | ten | twenty | hundred | thousand | twothousand | fivethous | tenthous | odd | even | stringu1 | stringu2 | string4
! ---------+---------+-----+------+-----+--------+---------+----------+-------------+-----------+----------+-----+------+----------+----------+---------
! 60 | 483 | 0 | 0 | 0 | 0 | 0 | 60 | 60 | 60 | 60 | 0 | 1 | ICAAAA | PSAAAA | VVVVxx
! (1 row)
!
CLOSE foo13;
CLOSE foo14;
CLOSE foo15;
CLOSE foo16;
CLOSE foo17;
CLOSE foo18;
CLOSE foo19;
CLOSE foo20;
CLOSE foo21;
CLOSE foo22;
CLOSE foo23;
CLOSE foo24;
CLOSE foo25;
END;
--- 4,96 ----
BEGIN;
DECLARE foo13 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 50;
+ ERROR: Relation "onek" does not exist
DECLARE foo14 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 51;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo15 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 52;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo16 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 53;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo17 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 54;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo18 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 55;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo19 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 56;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo20 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 57;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo21 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 58;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo22 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 59;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo23 CURSOR FOR
SELECT * FROM onek WHERE unique1 = 60;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo24 CURSOR FOR
SELECT * FROM onek2 WHERE unique1 = 50;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
DECLARE foo25 CURSOR FOR
SELECT * FROM onek2 WHERE unique1 = 60;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH all in foo13;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH all in foo14;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH all in foo15;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH all in foo16;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH all in foo17;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH all in foo18;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH all in foo19;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH all in foo20;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH all in foo21;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH all in foo22;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH all in foo23;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH all in foo24;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
FETCH all in foo25;
! WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo13;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo14;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo15;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo16;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo17;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo18;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo19;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo20;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo21;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo22;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo23;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo24;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
CLOSE foo25;
+ WARNING: current transaction is aborted, queries ignored until end of transaction block
END;
======================================================================
*** ./expected/rules.out Tue Mar 5 12:08:42 2002
--- ./results/rules.out Thu Mar 7 10:43:46 2002
***************
*** 1266,1272 ****
SELECT viewname, definition FROM pg_views ORDER BY viewname;
viewname | definition
--------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- iexit | SELECT ih.name, ih.thepath, interpt_pp(ih.thepath, r.thepath) AS exit FROM ihighway ih, ramp r WHERE (ih.thepath ## r.thepath);
pg_indexes | SELECT c.relname AS tablename, i.relname AS indexname, pg_get_indexdef(x.indexrelid) AS indexdef FROM pg_index x, pg_class c, pg_class i WHERE ((((c.relkind = 'r'::"char") AND (i.relkind = 'i'::"char")) AND (c.oid = x.indrelid)) AND (i.oid = x.indexrelid));
pg_rules | SELECT c.relname AS tablename, r.rulename, pg_get_ruledef(r.rulename) AS definition FROM pg_rewrite r, pg_class c WHERE ((r.rulename !~ '^_RET'::text) AND (c.oid = r.ev_class));
pg_stat_activity | SELECT d.oid AS datid, d.datname, pg_stat_get_backend_pid(s.backendid) AS procpid, pg_stat_get_backend_userid(s.backendid) AS usesysid, u.usename, pg_stat_get_backend_activity(s.backendid) AS current_query FROM pg_database d, (SELECT pg_stat_get_backend_idset() AS backendid) s, pg_shadow u WHERE ((pg_stat_get_backend_dbid(s.backendid) = d.oid) AND (pg_stat_get_backend_userid(s.backendid) = u.usesysid));
--- 1266,1271 ----
***************
*** 1302,1310 ****
shoelace | SELECT s.sl_name, s.sl_avail, s.sl_color, s.sl_len, s.sl_unit, (s.sl_len * u.un_fact) AS sl_len_cm FROM shoelace_data s, unit u WHERE (s.sl_unit = u.un_name);
shoelace_candelete | SELECT shoelace_obsolete.sl_name, shoelace_obsolete.sl_avail, shoelace_obsolete.sl_color, shoelace_obsolete.sl_len, shoelace_obsolete.sl_unit, shoelace_obsolete.sl_len_cm FROM shoelace_obsolete WHERE (shoelace_obsolete.sl_avail = 0);
shoelace_obsolete | SELECT shoelace.sl_name, shoelace.sl_avail, shoelace.sl_color, shoelace.sl_len, shoelace.sl_unit, shoelace.sl_len_cm FROM shoelace WHERE (NOT (EXISTS (SELECT shoe.shoename FROM shoe WHERE (shoe.slcolor = shoelace.sl_color))));
! street | SELECT r.name, r.thepath, c.cname FROM ONLY road r, real_city c WHERE (c.outline ## r.thepath);
! toyemp | SELECT emp.name, emp.age, emp."location", (12 * emp.salary) AS annualsal FROM emp;
! (38 rows)
SELECT tablename, rulename, definition FROM pg_rules
ORDER BY tablename, rulename;
--- 1301,1307 ----
shoelace | SELECT s.sl_name, s.sl_avail, s.sl_color, s.sl_len, s.sl_unit, (s.sl_len * u.un_fact) AS sl_len_cm FROM shoelace_data s, unit u WHERE (s.sl_unit = u.un_name);
shoelace_candelete | SELECT shoelace_obsolete.sl_name, shoelace_obsolete.sl_avail, shoelace_obsolete.sl_color, shoelace_obsolete.sl_len, shoelace_obsolete.sl_unit, shoelace_obsolete.sl_len_cm FROM shoelace_obsolete WHERE (shoelace_obsolete.sl_avail = 0);
shoelace_obsolete | SELECT shoelace.sl_name, shoelace.sl_avail, shoelace.sl_color, shoelace.sl_len, shoelace.sl_unit, shoelace.sl_len_cm FROM shoelace WHERE (NOT (EXISTS (SELECT shoe.shoename FROM shoe WHERE (shoe.slcolor = shoelace.sl_color))));
! (35 rows)
SELECT tablename, rulename, definition FROM pg_rules
ORDER BY tablename, rulename;
======================================================================
*** ./expected/limit.out Tue Oct 23 15:10:30 2001
--- ./results/limit.out Thu Mar 7 10:43:49 2002
***************
*** 5,110 ****
SELECT ''::text AS two, unique1, unique2, stringu1
FROM onek WHERE unique1 > 50
ORDER BY unique1 LIMIT 2;
! two | unique1 | unique2 | stringu1
! -----+---------+---------+----------
! | 51 | 76 | ZBAAAA
! | 52 | 985 | ACAAAA
! (2 rows)
!
SELECT ''::text AS five, unique1, unique2, stringu1
FROM onek WHERE unique1 > 60
ORDER BY unique1 LIMIT 5;
! five | unique1 | unique2 | stringu1
! ------+---------+---------+----------
! | 61 | 560 | JCAAAA
! | 62 | 633 | KCAAAA
! | 63 | 296 | LCAAAA
! | 64 | 479 | MCAAAA
! | 65 | 64 | NCAAAA
! (5 rows)
!
SELECT ''::text AS two, unique1, unique2, stringu1
FROM onek WHERE unique1 > 60 AND unique1 < 63
ORDER BY unique1 LIMIT 5;
! two | unique1 | unique2 | stringu1
! -----+---------+---------+----------
! | 61 | 560 | JCAAAA
! | 62 | 633 | KCAAAA
! (2 rows)
!
SELECT ''::text AS three, unique1, unique2, stringu1
FROM onek WHERE unique1 > 100
ORDER BY unique1 LIMIT 3 OFFSET 20;
! three | unique1 | unique2 | stringu1
! -------+---------+---------+----------
! | 121 | 700 | REAAAA
! | 122 | 519 | SEAAAA
! | 123 | 777 | TEAAAA
! (3 rows)
!
SELECT ''::text AS zero, unique1, unique2, stringu1
FROM onek WHERE unique1 < 50
ORDER BY unique1 DESC LIMIT 8 OFFSET 99;
! zero | unique1 | unique2 | stringu1
! ------+---------+---------+----------
! (0 rows)
!
SELECT ''::text AS eleven, unique1, unique2, stringu1
FROM onek WHERE unique1 < 50
ORDER BY unique1 DESC LIMIT 20 OFFSET 39;
! eleven | unique1 | unique2 | stringu1
! --------+---------+---------+----------
! | 10 | 520 | KAAAAA
! | 9 | 49 | JAAAAA
! | 8 | 653 | IAAAAA
! | 7 | 647 | HAAAAA
! | 6 | 978 | GAAAAA
! | 5 | 541 | FAAAAA
! | 4 | 833 | EAAAAA
! | 3 | 431 | DAAAAA
! | 2 | 326 | CAAAAA
! | 1 | 214 | BAAAAA
! | 0 | 998 | AAAAAA
! (11 rows)
!
SELECT ''::text AS ten, unique1, unique2, stringu1
FROM onek
ORDER BY unique1 OFFSET 990;
! ten | unique1 | unique2 | stringu1
! -----+---------+---------+----------
! | 990 | 369 | CMAAAA
! | 991 | 426 | DMAAAA
! | 992 | 363 | EMAAAA
! | 993 | 661 | FMAAAA
! | 994 | 695 | GMAAAA
! | 995 | 144 | HMAAAA
! | 996 | 258 | IMAAAA
! | 997 | 21 | JMAAAA
! | 998 | 549 | KMAAAA
! | 999 | 152 | LMAAAA
! (10 rows)
!
SELECT ''::text AS five, unique1, unique2, stringu1
FROM onek
ORDER BY unique1 OFFSET 990 LIMIT 5;
! five | unique1 | unique2 | stringu1
! ------+---------+---------+----------
! | 990 | 369 | CMAAAA
! | 991 | 426 | DMAAAA
! | 992 | 363 | EMAAAA
! | 993 | 661 | FMAAAA
! | 994 | 695 | GMAAAA
! (5 rows)
!
SELECT ''::text AS five, unique1, unique2, stringu1
FROM onek
ORDER BY unique1 LIMIT 5 OFFSET 900;
! five | unique1 | unique2 | stringu1
! ------+---------+---------+----------
! | 900 | 913 | QIAAAA
! | 901 | 931 | RIAAAA
! | 902 | 702 | SIAAAA
! | 903 | 641 | TIAAAA
! | 904 | 793 | UIAAAA
! (5 rows)
!
--- 5,40 ----
SELECT ''::text AS two, unique1, unique2, stringu1
FROM onek WHERE unique1 > 50
ORDER BY unique1 LIMIT 2;
! ERROR: Relation "onek" does not exist
SELECT ''::text AS five, unique1, unique2, stringu1
FROM onek WHERE unique1 > 60
ORDER BY unique1 LIMIT 5;
! ERROR: Relation "onek" does not exist
SELECT ''::text AS two, unique1, unique2, stringu1
FROM onek WHERE unique1 > 60 AND unique1 < 63
ORDER BY unique1 LIMIT 5;
! ERROR: Relation "onek" does not exist
SELECT ''::text AS three, unique1, unique2, stringu1
FROM onek WHERE unique1 > 100
ORDER BY unique1 LIMIT 3 OFFSET 20;
! ERROR: Relation "onek" does not exist
SELECT ''::text AS zero, unique1, unique2, stringu1
FROM onek WHERE unique1 < 50
ORDER BY unique1 DESC LIMIT 8 OFFSET 99;
! ERROR: Relation "onek" does not exist
SELECT ''::text AS eleven, unique1, unique2, stringu1
FROM onek WHERE unique1 < 50
ORDER BY unique1 DESC LIMIT 20 OFFSET 39;
! ERROR: Relation "onek" does not exist
SELECT ''::text AS ten, unique1, unique2, stringu1
FROM onek
ORDER BY unique1 OFFSET 990;
! ERROR: Relation "onek" does not exist
SELECT ''::text AS five, unique1, unique2, stringu1
FROM onek
ORDER BY unique1 OFFSET 990 LIMIT 5;
! ERROR: Relation "onek" does not exist
SELECT ''::text AS five, unique1, unique2, stringu1
FROM onek
ORDER BY unique1 LIMIT 5 OFFSET 900;
! ERROR: Relation "onek" does not exist
======================================================================