/*
 * The view definition is expanded to the following commands:
 */

create emp2(salary = int4, dept = char16,
		location = point, age = int4, name = char16)
\p
\r
create emp2_added(salary = int4, dept = char16,
		location = point, age = int4, name = char16)
\p
\r
create emp2_del(DOID = oid)
\p
\r
define rewrite rule emp2_retrieve is on retrieve to emp2 do instead
retrieve(emp2_1.oid, emp2_1.all)
from _emp in emp, emp2_1 in (emp2_added | _emp)
where _emp.oid !!= "emp2_del.DOID"
\p
\r
define rewrite rule emp2_append is on append to emp2 do instead
append emp2_added(salary = new.salary, dept = new.dept,
		location = new.location, age = new.age, name = new.name)
\p
\r
define rewrite rule emp2_delete1 is on delete to emp2 do
delete emp2_added where current.oid = emp2_added.oid
\p
\r
define rewrite rule emp2_delete2 is on delete to emp2 do instead
append emp2_del(DOID = current.oid) where current.oid = emp.oid
\p
\r
define rewrite rule emp2_replace1 is on replace to emp2 do
replace emp2_added(salary = new.salary, dept = new.dept,
		location = new.location, age = new.age, name = new.name)
where current.oid = emp2_added.oid
\p
\r
define rewrite rule emp2_replace2 is on replace to emp2 do
append emp2_del(DOID = current.oid) where current.oid = emp.oid
\p
\r
define rewrite rule emp2_replace3 is on replace to emp2 do instead
append emp2_added(salary = new.salary, dept = new.dept,
		location = new.location, age = new.age, name = new.name)
where current.oid !!= "emp2_added.oid" and current.oid = emp.oid
\p
\r


