MobiLink Synchronization User's Guide
The CustDB Sample Application
Maintaining the customer and order primary key pools
The following scripts are defined in the ULCustomerIDPool table:
download_cursor The download_cursor script for CustDB is as follows:
SELECT pool_cust_id FROM ULCustomerIDPool
WHERE last_modified > ?
AND pool_emp_id = ?upload_insert The upload_insert script for CustDB is as follows:
INSERT INTO ULCustomerIDPool ( pool_cust_id ) VALUES( ? )
upload_delete The upload_delete script for CustDB is as follows:
DELETE FROM ULCustomerIDPool WHERE pool_cust_id = ?
end_upload This end_upload script ensures that after each upload 20 customer IDs remain in the customer ID pool:
CALL ULCustomerIDPool_maintain( ? )
The UL_CustomerIDPool_maintain procedure for CustDB is as follows:
ALTER PROCEDURE ULCustomerIDPool_maintain ( IN syncuser_id INTEGER )
BEGIN
DECLARE pool_count INTEGER;
-- Determine how many ids to add to the pool
SELECT COUNT(*) INTO pool_count
FROM ULCustomerIDPool
WHERE pool_emp_id = syncuser_id;
-- Top up the pool with new ids
WHILE pool_count < 20 LOOP
INSERT INTO ULCustomerIDPool ( pool_emp_id )
VALUES ( syncuser_id );
SET pool_count = pool_count + 1;
END LOOP;
END