2000-01-06 06:40:54 +00:00

262 lines
7.3 KiB
Plaintext

--
-- 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: All fields in the UNIQUE ON clause must appear in the target list
--
-- 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: Relation '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" nonexistent
-- 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
NOTICE: UserAbortTransactionBlock and not in in-progress state
abort;
-- not in a xact
NOTICE: EndTransactionBlock and not inprogress/abort state
end;
--
-- DEFINE AGGREGATE
-- left out finalfunc
create aggregate newavg1 (sfunc1 = int4pl,
basetype = int4,
stype1 = int4,
sfunc2 = int4inc,
stype2 = int4,
initcond1 = '0',
initcond2 = '0');
ERROR: AggregateCreate: Aggregate must have final function with both transition functions
-- sfunc return type disagreement
create aggregate newavg2 (sfunc1 = int4pl,
basetype = int4,
stype1 = int4,
sfunc2 = int2inc,
stype2 = int2,
finalfunc = int4div,
initcond1 = '0',
initcond2 = '0');
ERROR: AggregateCreate: 'int4div'('int4','int2') does not exist
-- sfunc/finalfunc type disagreement
create aggregate newavg3 (sfunc1 = int4pl,
basetype = int4,
stype1 = int4,
sfunc2 = int4inc,
stype2 = int4,
finalfunc = int2div,
initcond1 = '0',
initcond2 = '0');
ERROR: AggregateCreate: 'int2div'('int4','int4') does not exist
-- left out basetype
create aggregate newcnt1 (sfunc2 = int4inc,
stype2 = int4,
initcond2 = '0');
ERROR: Define: "basetype" unspecified
-- left out initcond2 (for sfunc2)
create aggregate newcnt1 (sfunc2 = int4inc,
basetype = int4,
stype2 = int4);
ERROR: AggregateCreate: transition function 2 MUST have an initial value
--
-- 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" nonexistent
--
-- REMOVE AGGREGATE
-- missing aggregate name
drop aggregate;
ERROR: parser: parse error at or near ""
-- bad aggregate name
drop aggregate 314159;
ERROR: parser: parse error at or near "314159"
-- no such aggregate
drop aggregate nonesuch;
ERROR: parser: parse error at or near ""
-- missing aggregate type
drop aggregate newcnt1;
ERROR: parser: parse error at or near ""
-- bad aggregate type
drop aggregate newcnt nonesuch;
ERROR: RemoveAggregate: type 'nonesuch' does not exist
-- no such aggregate for type
drop aggregate newcnt float4;
ERROR: RemoveAggregate: aggregate 'newcnt' for 'float4' 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"