| Subject | Re: [Firebird-Architect] rfc: TRUNCATE TABLE | 
|---|---|
| Author | Adriano dos Santos Fernandes | 
| Post date | 2008-10-19T01:39:21Z | 
Jim Starkey wrote:
DDL (non transactional).
So my proposal of allow truncate on tables that is master part of
foreign key constraints is to take advantage on how FB deferred work works.
Adriano
            > Adriano dos Santos Fernandes wrote:I didn't want transactional truncate. In fact, I manifested in favor of
>
>> Vlad Khorsun wrote:
>>
>>
>>> c) Syntax rule 3 means truncated table must not participate in FOREIGN KEY constraints as
>>> master table.
>>> ORACLE relaxed this rule and allow self-referenced constraints. I think we can follow it.
>>>
>>>
>>>
>> Can't we also allow it when all detail tables are being truncated on the
>> same transaction?
>>
>>
>>
>>
>
> There are serious problems making TRUNCATE transactional. For example,
> what happens when a transaction does TRUNCATE then an insert into the
> table, then rolls back. It can be handled -- anything can with enough
> effort, resource, and time -- but is it feasible? Database systems
> built around logs can be made to handle this, but Firebird doesn't have
> a log.
DDL (non transactional).
So my proposal of allow truncate on tables that is master part of
foreign key constraints is to take advantage on how FB deferred work works.
Adriano