"D:\Replicator_1_beta\Client\TEMPLATE.GDB" Previous topic Chapter index Next topic

CLEAR_DEL_LOGS

 

 

Descriptions

Вызывается фоновым процессом. Удаляет из таблиц регистрации записи об удалениях (IS_DELETED = 1), если об удалениях знают все клиенты

 

Input Parameters

There are no input parameters for procedure CLEAR_DEL_LOGS

 

Output Parameters

There are no output parameters for procedure CLEAR_DEL_LOGS

 

Definition


CREATE PROCEDURE CLEAR_DEL_LOGS 
AS
 BEGIN
   DELETE
     FROM LOG_DB_PROFILE L
     WHERE
       LOG_IS_DELETED <> 0 /*Запись удалена*/
       AND  LOG_UPD_GEN IS NOT NULL /*Поколение установлено*/
       AND  ( LOG_UPD_GEN <= ( SELECT MIN( C.GEN ) FROM CLIENT C  WHERE C.DB_ID <> L.LOG_DB_ID )/*Поколение записи меньше минимального поколения клиентов, исклю÷ая влядельца(все клиенты знают об удалении)*/
              OR ( SELECT COUNT(*) FROM CLIENT C  WHERE C.DB_ID <> L.LOG_DB_ID ) = 0/*О записи знает только владелец*/
            );
   /*====================Scema specific=============================*/
   DELETE
     FROM LOG_MASTER L
     WHERE
       LOG_IS_DELETED <> 0 /*Запись удалена*/
       AND  LOG_UPD_GEN IS NOT NULL /*Поколение установлено*/
       AND  ( LOG_UPD_GEN <= ( SELECT MIN( C.GEN ) FROM CLIENT C  WHERE C.DB_ID <> L.LOG_DB_ID )/*Поколение записи меньше минимального поколения клиентов, исклю÷ая влядельца(все клиенты знают об удалении)*/
              OR ( SELECT COUNT(*) FROM CLIENT C  WHERE C.DB_ID <> L.LOG_DB_ID ) = 0/*О записи знает только владелец*/
            );
   /*---------------------------------------------------------------*/
   DELETE
     FROM LOG_DETAIL L
     WHERE
       LOG_IS_DELETED <> 0 /*Запись удалена*/
       AND  LOG_UPD_GEN IS NOT NULL /*Поколение установлено*/
       AND  ( LOG_UPD_GEN <= ( SELECT MIN( C.GEN ) FROM CLIENT C  WHERE C.DB_ID <> L.LOG_DB_ID )/*Поколение записи меньше минимального поколения клиентов, исклю÷ая влядельца(все клиенты знают об удалении)*/
              OR ( SELECT COUNT(*) FROM CLIENT C  WHERE C.DB_ID <> L.LOG_DB_ID ) = 0/*О записи знает только владелец*/
            );
   /*===============================================================*/
 END

    This file was generated with EMS InterBase/FireBird Manager (www.ibmanager.com) at 11/13/2006 10:51 PM Previous topic Chapter index Next topic

 

Хостинг от uCoz