2000-01-05 18:31:08 +01:00
|
|
|
--
|
2000-01-06 07:40:54 +01:00
|
|
|
-- ERRORS
|
2000-01-05 18:31:08 +01:00
|
|
|
--
|
|
|
|
-- bad in postquel, but ok in postsql
|
2002-09-02 08:05:16 +02:00
|
|
|
select 1;
|
|
|
|
?column?
|
|
|
|
----------
|
|
|
|
1
|
|
|
|
(1 row)
|
|
|
|
|
2000-01-05 18:31:08 +01:00
|
|
|
--
|
|
|
|
-- UNSUPPORTED STUFF
|
|
|
|
|
|
|
|
-- doesn't work
|
|
|
|
-- attachas nonesuch
|
|
|
|
--
|
|
|
|
-- doesn't work
|
|
|
|
-- notify pg_class
|
|
|
|
--
|
|
|
|
--
|
2003-03-11 22:01:33 +01:00
|
|
|
-- SELECT
|
2000-01-05 18:31:08 +01:00
|
|
|
|
|
|
|
-- missing relation name
|
2002-09-02 08:05:16 +02:00
|
|
|
select;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near ";" at character 7
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such relation
|
1997-04-27 05:57:34 +02:00
|
|
|
select * from nonesuch;
|
2003-07-21 03:59:11 +02:00
|
|
|
ERROR: relation "nonesuch" does not exist
|
2002-09-02 08:05:16 +02:00
|
|
|
-- missing target list
|
|
|
|
select from pg_database;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near "from" at character 8
|
2000-01-05 18:31:08 +01:00
|
|
|
-- bad name in target list
|
|
|
|
select nonesuch from pg_database;
|
2003-09-25 08:58:07 +02:00
|
|
|
ERROR: column "nonesuch" does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
-- bad attribute name on lhs of operator
|
|
|
|
select * from pg_database where nonesuch = pg_database.datname;
|
2003-09-25 08:58:07 +02:00
|
|
|
ERROR: column "nonesuch" does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
-- bad attribute name on rhs of operator
|
|
|
|
select * from pg_database where pg_database.datname = nonesuch;
|
2003-09-25 08:58:07 +02:00
|
|
|
ERROR: column "nonesuch" does not exist
|
2000-01-27 19:11:50 +01:00
|
|
|
-- bad select distinct on syntax, distinct attribute missing
|
|
|
|
select distinct on (foobar) from pg_database;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near "from" at character 29
|
2000-01-05 18:31:08 +01:00
|
|
|
-- bad select distinct on syntax, distinct attribute not in target list
|
2000-01-27 19:11:50 +01:00
|
|
|
select distinct on (foobar) * from pg_database;
|
2003-09-25 08:58:07 +02:00
|
|
|
ERROR: column "foobar" does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
--
|
|
|
|
-- DELETE
|
|
|
|
|
|
|
|
-- missing relation name (this had better not wildcard!)
|
|
|
|
delete from;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near ";" at character 12
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such relation
|
|
|
|
delete from nonesuch;
|
2003-07-21 03:59:11 +02:00
|
|
|
ERROR: relation "nonesuch" does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
--
|
2003-03-11 22:01:33 +01:00
|
|
|
-- DROP
|
2000-01-05 18:31:08 +01:00
|
|
|
|
|
|
|
-- missing relation name (this had better not wildcard!)
|
|
|
|
drop table;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near ";" at character 11
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such relation
|
|
|
|
drop table nonesuch;
|
2000-10-23 01:32:48 +02:00
|
|
|
ERROR: table "nonesuch" does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
--
|
2003-03-11 22:01:33 +01:00
|
|
|
-- ALTER TABLE
|
2000-01-05 18:31:08 +01:00
|
|
|
|
|
|
|
-- relation renaming
|
|
|
|
-- missing relation name
|
|
|
|
alter table rename;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near ";" at character 19
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such relation
|
|
|
|
alter table nonesuch rename to newnonesuch;
|
2003-07-21 03:59:11 +02:00
|
|
|
ERROR: relation "nonesuch" does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such relation
|
|
|
|
alter table nonesuch rename to stud_emp;
|
2003-07-21 03:59:11 +02:00
|
|
|
ERROR: relation "nonesuch" does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
-- conflict
|
|
|
|
alter table stud_emp rename to aggtest;
|
2003-07-20 23:56:35 +02:00
|
|
|
ERROR: relation "aggtest" already exists
|
2000-01-05 18:31:08 +01:00
|
|
|
-- self-conflict
|
|
|
|
alter table stud_emp rename to stud_emp;
|
2003-07-20 23:56:35 +02:00
|
|
|
ERROR: relation "stud_emp" already exists
|
2000-01-05 18:31:08 +01:00
|
|
|
-- attribute renaming
|
|
|
|
-- no such relation
|
|
|
|
alter table nonesuchrel rename column nonesuchatt to newnonesuchatt;
|
2003-07-21 03:59:11 +02:00
|
|
|
ERROR: relation "nonesuchrel" does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such attribute
|
|
|
|
alter table emp rename column nonesuchatt to newnonesuchatt;
|
2003-09-25 08:58:07 +02:00
|
|
|
ERROR: column "nonesuchatt" does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
-- conflict
|
|
|
|
alter table emp rename column salary to manager;
|
2003-09-25 08:58:07 +02:00
|
|
|
ERROR: column "manager" of relation "stud_emp" already exists
|
2000-01-05 18:31:08 +01:00
|
|
|
-- conflict
|
|
|
|
alter table emp rename column salary to oid;
|
2003-09-25 08:58:07 +02:00
|
|
|
ERROR: column "oid" of relation "stud_emp" already exists
|
2000-01-05 18:31:08 +01:00
|
|
|
--
|
|
|
|
-- TRANSACTION STUFF
|
|
|
|
|
|
|
|
-- not in a xact
|
|
|
|
abort;
|
2003-07-21 22:29:40 +02:00
|
|
|
WARNING: there is no transaction in progress
|
2000-01-05 18:31:08 +01:00
|
|
|
-- not in a xact
|
|
|
|
end;
|
2003-07-21 22:29:40 +02:00
|
|
|
WARNING: there is no transaction in progress
|
2000-01-05 18:31:08 +01:00
|
|
|
--
|
2003-03-11 22:01:33 +01:00
|
|
|
-- CREATE AGGREGATE
|
2000-01-05 18:31:08 +01:00
|
|
|
-- sfunc/finalfunc type disagreement
|
2000-07-17 05:05:41 +02:00
|
|
|
create aggregate newavg2 (sfunc = int4pl,
|
1997-04-27 05:57:34 +02:00
|
|
|
basetype = int4,
|
2000-07-17 05:05:41 +02:00
|
|
|
stype = int4,
|
|
|
|
finalfunc = int2um,
|
|
|
|
initcond = '0');
|
2003-07-04 04:51:34 +02:00
|
|
|
ERROR: function int2um(integer) does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
-- left out basetype
|
2000-07-17 05:05:41 +02:00
|
|
|
create aggregate newcnt1 (sfunc = int4inc,
|
|
|
|
stype = int4,
|
|
|
|
initcond = '0');
|
2003-07-20 23:56:35 +02:00
|
|
|
ERROR: aggregate basetype must be specified
|
2000-01-05 18:31:08 +01:00
|
|
|
--
|
2003-03-11 22:01:33 +01:00
|
|
|
-- DROP INDEX
|
2000-01-05 18:31:08 +01:00
|
|
|
|
|
|
|
-- missing index name
|
|
|
|
drop index;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near ";" at character 11
|
2000-01-05 18:31:08 +01:00
|
|
|
-- bad index name
|
|
|
|
drop index 314159;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near "314159" at character 12
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such index
|
|
|
|
drop index nonesuch;
|
2000-10-23 01:32:48 +02:00
|
|
|
ERROR: index "nonesuch" does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
--
|
2003-03-11 22:01:33 +01:00
|
|
|
-- DROP AGGREGATE
|
2000-01-05 18:31:08 +01:00
|
|
|
|
|
|
|
-- missing aggregate name
|
|
|
|
drop aggregate;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near ";" at character 15
|
2000-01-05 18:31:08 +01:00
|
|
|
-- missing aggregate type
|
|
|
|
drop aggregate newcnt1;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near ";" at character 23
|
2001-10-03 22:54:22 +02:00
|
|
|
-- bad aggregate name
|
|
|
|
drop aggregate 314159 (int);
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near "314159" at character 16
|
2000-01-05 18:31:08 +01:00
|
|
|
-- bad aggregate type
|
2001-10-03 22:54:22 +02:00
|
|
|
drop aggregate newcnt (nonesuch);
|
2003-07-19 22:20:53 +02:00
|
|
|
ERROR: type "nonesuch" does not exist
|
2001-10-03 22:54:22 +02:00
|
|
|
-- no such aggregate
|
|
|
|
drop aggregate nonesuch (int4);
|
2003-07-04 04:51:34 +02:00
|
|
|
ERROR: aggregate nonesuch(integer) does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such aggregate for type
|
2001-10-03 22:54:22 +02:00
|
|
|
drop aggregate newcnt (float4);
|
2003-07-04 04:51:34 +02:00
|
|
|
ERROR: aggregate newcnt(real) does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
--
|
2003-03-11 22:01:33 +01:00
|
|
|
-- DROP FUNCTION
|
2000-01-05 18:31:08 +01:00
|
|
|
|
|
|
|
-- missing function name
|
|
|
|
drop function ();
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near "(" at character 15
|
2000-01-05 18:31:08 +01:00
|
|
|
-- bad function name
|
|
|
|
drop function 314159();
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near "314159" at character 15
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such function
|
|
|
|
drop function nonesuch();
|
2003-07-04 04:51:34 +02:00
|
|
|
ERROR: function nonesuch() does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
--
|
2003-03-11 22:01:33 +01:00
|
|
|
-- DROP TYPE
|
2000-01-05 18:31:08 +01:00
|
|
|
|
|
|
|
-- missing type name
|
|
|
|
drop type;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near ";" at character 10
|
2000-01-05 18:31:08 +01:00
|
|
|
-- bad type name
|
|
|
|
drop type 314159;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near "314159" at character 11
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such type
|
|
|
|
drop type nonesuch;
|
2003-07-20 23:56:35 +02:00
|
|
|
ERROR: type "nonesuch" does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
--
|
|
|
|
-- DROP OPERATOR
|
|
|
|
|
|
|
|
-- missing everything
|
|
|
|
drop operator;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near ";" at character 14
|
2000-01-05 18:31:08 +01:00
|
|
|
-- bad operator name
|
|
|
|
drop operator equals;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near ";" at character 21
|
2000-01-05 18:31:08 +01:00
|
|
|
-- missing type list
|
|
|
|
drop operator ===;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near ";" at character 18
|
2000-01-05 18:31:08 +01:00
|
|
|
-- missing parentheses
|
|
|
|
drop operator int4, int4;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near "," at character 19
|
2000-01-05 18:31:08 +01:00
|
|
|
-- missing operator name
|
|
|
|
drop operator (int4, int4);
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near "(" at character 15
|
2000-01-05 18:31:08 +01:00
|
|
|
-- missing type list contents
|
|
|
|
drop operator === ();
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near ")" at character 20
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such operator
|
|
|
|
drop operator === (int4);
|
2003-09-16 01:25:31 +02:00
|
|
|
ERROR: missing argument
|
|
|
|
HINT: Use NONE to denote the missing argument of a unary operator.
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such operator by that name
|
|
|
|
drop operator === (int4, int4);
|
2003-07-04 04:51:34 +02:00
|
|
|
ERROR: operator does not exist: integer === integer
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such type1
|
|
|
|
drop operator = (nonesuch);
|
2003-09-16 01:25:31 +02:00
|
|
|
ERROR: missing argument
|
|
|
|
HINT: Use NONE to denote the missing argument of a unary operator.
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such type1
|
|
|
|
drop operator = ( , int4);
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near "," at character 19
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such type1
|
|
|
|
drop operator = (nonesuch, int4);
|
2003-07-04 04:51:34 +02:00
|
|
|
ERROR: type nonesuch does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such type2
|
|
|
|
drop operator = (int4, nonesuch);
|
2003-07-04 04:51:34 +02:00
|
|
|
ERROR: type nonesuch does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such type2
|
|
|
|
drop operator = (int4, );
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near ")" at character 24
|
2000-01-05 18:31:08 +01:00
|
|
|
--
|
|
|
|
-- DROP RULE
|
|
|
|
|
|
|
|
-- missing rule name
|
|
|
|
drop rule;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near ";" at character 10
|
2000-01-05 18:31:08 +01:00
|
|
|
-- bad rule name
|
|
|
|
drop rule 314159;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near "314159" at character 11
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such rule
|
2002-04-18 22:01:11 +02:00
|
|
|
drop rule nonesuch on noplace;
|
2003-07-21 03:59:11 +02:00
|
|
|
ERROR: relation "noplace" does not exist
|
2000-01-05 18:31:08 +01:00
|
|
|
-- bad keyword
|
|
|
|
drop tuple rule nonesuch;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near "tuple" at character 6
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such rule
|
2002-04-18 22:01:11 +02:00
|
|
|
drop instance rule nonesuch on noplace;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near "instance" at character 6
|
2000-01-05 18:31:08 +01:00
|
|
|
-- no such rule
|
|
|
|
drop rewrite rule nonesuch;
|
2003-05-29 22:40:36 +02:00
|
|
|
ERROR: syntax error at or near "rewrite" at character 6
|
2003-03-11 22:01:33 +01:00
|
|
|
--
|
|
|
|
-- Check that division-by-zero is properly caught.
|
|
|
|
--
|
|
|
|
select 1/0;
|
|
|
|
ERROR: division by zero
|
|
|
|
select 1::int8/0;
|
|
|
|
ERROR: division by zero
|
|
|
|
select 1/0::int8;
|
|
|
|
ERROR: division by zero
|
|
|
|
select 1::int2/0;
|
|
|
|
ERROR: division by zero
|
|
|
|
select 1/0::int2;
|
|
|
|
ERROR: division by zero
|
|
|
|
select 1::numeric/0;
|
|
|
|
ERROR: division by zero
|
|
|
|
select 1/0::numeric;
|
|
|
|
ERROR: division by zero
|
|
|
|
select 1::float8/0;
|
|
|
|
ERROR: division by zero
|
|
|
|
select 1/0::float8;
|
|
|
|
ERROR: division by zero
|
|
|
|
select 1::float4/0;
|
|
|
|
ERROR: division by zero
|
|
|
|
select 1/0::float4;
|
|
|
|
ERROR: division by zero
|