WL#3821: TRUNCATE for VIEWs

Affects: Server-7.1   —   Status: Un-Assigned

TRUNCATE is an Oracle compatibility feature.
It is defined as a DDL, an atomic DROP+CREATE (but without removing
dependencies, e.g. triggers).
As such it
- is not part of the transaction, cannot be rolled back
- requires DROP privilege
- does not fire ON DELETE triggers
- does not work for views (DROP+CREATE for a view makes no sense)

Note that TRUNCATE is *not* a DELETE, otherwise it'd be part of the transaction,
could've been rolled back, would require DELETE privilege, and would fire ON
DELETE triggers.

Anyway, Monty thinks it may make sense to support TRUNCATE for views in certain
cases. "For views without a where clause and only uses one table it would be
nice to have truncate". But to solve the question of privileges we'll need a
dedicated TRUNCATE privilege, says Monty.

So, the subject of this WL is:
- add a TRUNCATE privilege
- support TRUNCATE for "table-wrapper" views, that is views that only use one
table and don't have a WHERE clause (and are updatable)