currently, purgedata(or truncate) is a non-transactional operation.
It is performed by truncating the underlying traf/hbase object.
That truncate operation cannot be undone or rolled back as
it is not protected by traf transactional layer (dtm).

'drop table' on the other hand, is a transactional operation.
One can 'rollback' a 'drop table' and get the table back.

anoop


-----Original Message-----
From: Liu, Yuan (Yuan) [mailto:[email protected]] 
Sent: Thursday, January 11, 2018 8:15 PM
To: [email protected]
Subject: purgedata can not be put in a transaction?

Hi Trafodioneers,

I found that purgedata can not be put in a transaction. If we put below rows 
after begin transaction, error 20123 occurred.

>> begin;
>>purgedata test1;

*** ERROR[20123] A user-defined transaction has been started.

This DDL operation cannot be performed.

However, "drop" and "delete with no rollback form" can run normally. From my 
side, I think both drop and purgedata are non-transactional, but why they 
behave different?
Is there any that we can workaournd this error?


Best regards,
Yuan

Reply via email to